Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Zpět na zprávu

Celé vlákno · 6 zpráv

[SharpMZ] Zajimavost - chyba v JSS ROM

Michal Hucik - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800


Ahoj,

pokud jste nekdy v emulatoru experimentovali s JSS ROM, tak jste si mozna vsimli, ze se zapnutym CMT patchem Sharp s touto ROM nenabootuje - zustane v neinicializovanem screenu. Jenomze proc, kdyz se prece CMT patch instaluje na mista, ktera jsou v JSS shodna se standardni Sharp ROM a tedy se tim nic neocekavaneho neprepsalo?

Ponekud vice se da zjistit tehdy, pokud emulator s JSS nabootujete nejprve bez CMT hacku, nasledne zaskrtnete jeho instalaci a pomoci F12 provedete reset. V tu chvili se na obrazovku vypise "CHECK SUM ER."... Ha!

JSS ma totiz na adrese 0xf3bb kontrolni rutinu, ktera sjede xorem obsah dolniho a horniho monitoru. Vyslednou hodnotu si pak porovna s jednobajtovym cislem, ktere ma ulozeno na 0xe840. Pokud se hodnoty neshoduji, tak pomoci sluzby RST 0x18 vypise vyse uvedene chybove hlaseni a pak provede dvojkombinaci DI a HALT...  No ... vypise ... nevypise, spise se pokusi vypsat, nebot sluzba RST 0x18 predpoklada, ze jiz mame v CG-RAM nakopirovanou nejakou znakovou sadu, coz bohuzel po cistem staru Sharpa nemame a proto pocitac zustane tuhy v neinicializovanem screenu.


BTW: uz jsem se tady kdysi poptaval, nicmene nemate nekdo nejake dalsi verze JSS, nez 1.2 a 1.6A? Pripadne vite jaky je mezi nimi rozdil? Mate jeste nejake jine upravene ROM, nez JSS a WILLY?

Michal

Re: [SharpMZ] Zajimavost - chyba v JSS ROM

Michal Hucik - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800

Nenapada mne jak by se bez zdrojaku dalo zjistit misto na kterem se 
nachazi hodnota, kterou pan Svehla puvodne korigoval vysledny XOR - ten 
se vzdy se totiz musi rovnat 0xed.

Jediny zpusob jak to odhadnout je asi to, ze se binarne porovnaji 
rozdily mezi jednotlivyma JSS ROM. Mista ve kterych budou rozdilne, pak 
protahnout disassemblerem a ten nejvice nesmyslny (osamoceny) bajt bude 
zrejme korekce toho xoru. To je asi celkem sci-fi neco takoveho hledat.

Ja jsem to prozatim v emulatoru vyresil tak, ze jsem CMT patch rozsiril 
o jeden bajt ve kterem delam korekci tech hodnot z patche. Jednodussi by 
zrejme bylo tu kontrolu na zacatku uplne preskocit.

Michal


Re: [SharpMZ] Zajimavost - chyba v JSS ROM

" Michal Medek" <Michal.Bruntal@[doména skryta]> SHARP MZ-800

Ahoj,

nekolikrat jsem uz tady posilal zdrojaky MZ-800 ROMky. Jsou tam i nektere disassemblovane rutiny ze spodni casti JSS. Vznikly prave tim porovnanim binarek a disassemblovanim rozdilu, ale na horni monitor jsem uz nemel silu. Je tam zrusena podpora QD a misto ni je dost jine funkcionality.
Najit tu rutinu a zrusit/preskocit ji by nemel byt velky problem.
A co se tyka verzi, tak mam presne to stejne, verzi 1.2 a verzi 1.6. Je to pouze pro Pezikuv ramdisk. Sam bych privital tu verzi pro standardni/zalohovany ramdisk.

Mikes
Zobrazit citovaný text

---------- Původní zpráva ----------
Od: Michal Hucik - ORDOZ <ordoz[doména skryta]>
Komu: sharpmzmail.ordoz.com
Datum: 21. 2. 2016 17:45:49
Předmět: Re: [SharpMZ] Zajimavost - chyba v JSS ROM


Nenapada mne jak by se bez zdrojaku dalo zjistit misto na kterem se
nachazi hodnota, kterou pan Svehla puvodne korigoval vysledny XOR - ten
se vzdy se totiz musi rovnat 0xed.

Jediny zpusob jak to odhadnout je asi to, ze se binarne porovnaji
rozdily mezi jednotlivyma JSS ROM. Mista ve kterych budou rozdilne, pak
protahnout disassemblerem a ten nejvice nesmyslny (osamoceny) bajt bude
zrejme korekce toho xoru. To je asi celkem sci-fi neco takoveho hledat.

Ja jsem to prozatim v emulatoru vyresil tak, ze jsem CMT patch rozsiril
o jeden bajt ve kterem delam korekci tech hodnot z patche. Jednodussi by
zrejme bylo tu kontrolu na zacatku uplne preskocit.

Michal


_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz

Re: [SharpMZ] Zajimavost - chyba v JSS ROM

" Michal Medek" <Michal.Bruntal@[doména skryta]> SHARP MZ-800

Jo, rozdil mezi verzi 1.3 a 1.6A je presne 313 bytu ;-)

Mikes
Zobrazit citovaný text

---------- Původní zpráva ----------
Od: Michal Medek <Michal.Bruntal[doména skryta]>
Komu: Počítače SHARP MZ a jejich emulátory <sharpmzmail.ordoz.com>
Datum: 22. 2. 2016 7:00:32
Předmět: Re: [SharpMZ] Zajimavost - chyba v JSS ROM


Ahoj,

nekolikrat jsem uz tady posilal zdrojaky MZ-800 ROMky. Jsou tam i nektere disassemblovane rutiny ze spodni casti JSS. Vznikly prave tim porovnanim binarek a disassemblovanim rozdilu, ale na horni monitor jsem uz nemel silu. Je tam zrusena podpora QD a misto ni je dost jine funkcionality.
Najit tu rutinu a zrusit/preskocit ji by nemel byt velky problem.
A co se tyka verzi, tak mam presne to stejne, verzi 1.2 a verzi 1.6. Je to pouze pro Pezikuv ramdisk. Sam bych privital tu verzi pro standardni/zalohovany ramdisk.

Mikes

---------- Původní zpráva ----------
Od: Michal Hucik - ORDOZ <ordoz[doména skryta]>
Komu: sharpmzmail.ordoz.com
Datum: 21. 2. 2016 17:45:49
Předmět: Re: [SharpMZ] Zajimavost - chyba v JSS ROM


Nenapada mne jak by se bez zdrojaku dalo zjistit misto na kterem se
nachazi hodnota, kterou pan Svehla puvodne korigoval vysledny XOR - ten
se vzdy se totiz musi rovnat 0xed.

Jediny zpusob jak to odhadnout je asi to, ze se binarne porovnaji
rozdily mezi jednotlivyma JSS ROM. Mista ve kterych budou rozdilne, pak
protahnout disassemblerem a ten nejvice nesmyslny (osamoceny) bajt bude
zrejme korekce toho xoru. To je asi celkem sci-fi neco takoveho hledat.

Ja jsem to prozatim v emulatoru vyresil tak, ze jsem CMT patch rozsiril
o jeden bajt ve kterem delam korekci tech hodnot z patche. Jednodussi by
zrejme bylo tu kontrolu na zacatku uplne preskocit.

Michal


_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz
_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz

Re: [SharpMZ] Zajimavost - chyba v JSS ROM

<tlc@[doména skryta]> SHARP MZ-800

Ahoj.
Já mám verzi 1.5C - pro zálohovaný ramdisk, posílám v příloze.
Také jsem kdysi zkoušel ten xor přímo v romce dopočítat/obejít, ale nakonec jsem to vzdal.
Jak píše Michal, jednodušší by asi bylo tu kontrolu úplně přeskočit.

Tomáš

Zobrazit citovaný text

---------- Původní zpráva ----------
Od: Michal Medek <Michal.Bruntal[doména skryta]>
Komu: Počítače SHARP MZ a jejich emulátory <sharpmzmail.ordoz.com>
Datum: 22. 2. 2016 7:00:32
Předmět: Re: [SharpMZ] Zajimavost - chyba v JSS ROM


Ahoj,

nekolikrat jsem uz tady posilal zdrojaky MZ-800 ROMky. Jsou tam i nektere disassemblovane rutiny ze spodni casti JSS. Vznikly prave tim porovnanim binarek a disassemblovanim rozdilu, ale na horni monitor jsem uz nemel silu. Je tam zrusena podpora QD a misto ni je dost jine funkcionality.
Najit tu rutinu a zrusit/preskocit ji by nemel byt velky problem.
A co se tyka verzi, tak mam presne to stejne, verzi 1.2 a verzi 1.6. Je to pouze pro Pezikuv ramdisk. Sam bych privital tu verzi pro standardni/zalohovany ramdisk.

Mikes

---------- Původní zpráva ----------
Od: Michal Hucik - ORDOZ <ordoz[doména skryta]>
Komu: sharpmzmail.ordoz.com
Datum: 21. 2. 2016 17:45:49
Předmět: Re: [SharpMZ] Zajimavost - chyba v JSS ROM


Nenapada mne jak by se bez zdrojaku dalo zjistit misto na kterem se
nachazi hodnota, kterou pan Svehla puvodne korigoval vysledny XOR - ten
se vzdy se totiz musi rovnat 0xed.

Jediny zpusob jak to odhadnout je asi to, ze se binarne porovnaji
rozdily mezi jednotlivyma JSS ROM. Mista ve kterych budou rozdilne, pak
protahnout disassemblerem a ten nejvice nesmyslny (osamoceny) bajt bude
zrejme korekce toho xoru. To je asi celkem sci-fi neco takoveho hledat.

Ja jsem to prozatim v emulatoru vyresil tak, ze jsem CMT patch rozsiril
o jeden bajt ve kterem delam korekci tech hodnot z patche. Jednodussi by
zrejme bylo tu kontrolu na zacatku uplne preskocit.

Michal


_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz
_______________________________________________
SharpMZ mailing list
SharpMZmail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz

Přílohy

  • JSS_ROM_V1-5C.ZIP
    application/zip · 12 kB

Re: [SharpMZ] Zajimavost - chyba v JSS ROM

Michal Hucik - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800



Ahoj,

tak jsem ted proletel archivem a nejak ty zminene zdojaky tady nemohu nikde najit :(

Najit a zablokovat kontrolni rutinu neni problem, ta zacina na adrese 0xf3bb. Kdyz by se tam dal RET, tak je problem vyresen. Jsem ale puntickar a vadi mi, ze by se v ROM melo zacit mnozit smeti.

 Pan Svehla si v ROM urcil nejaky kontrolni bajt u ktereho predpokladal, ze zrejme nikdy nezmeni svou hodnotu 0xe840 => 0xed. Nasledne si nekde jinde v ROM - zrejme v mistech, kde byl kdysi QD vyclenil jeden bajt, ktery mu mel slouzit jako korekce.
Korekcni bajt vynuloval a udelal xor cele rom. Vysledek vyxoroval s kontrolni hodnotou 0xed a to co mu vyslo ulozil finalne na asresu toho korekcniho bajtu.

Zatim jsem sii vsimnul, ze verze 1.3 pouziva standardni Sharp CGROM a pracuje s Pezikem, tak jako 1.6A. Pokud je mezi tema dvema verzema rozdil cca 300 bajtu, tak by to mozna prece jen slo dohledat. Na druhou stranu si rikam, ze pokud se neopravi i ta chyba s neinicializovanou CG-RAM, tak bude lepsi jak tu kontrolu, tak i ten korekcni bajt z ROM trvale odstranit.

PS: alespon jsem mel moznost konecne na necem otestovat emulaci Pezik a opravil jsem chyby v port.c

Michal

Dne 22.2.2016 v 7:00 Michal Medek napsal(a):
Ahoj,

nekolikrat jsem uz tady posilal zdrojaky MZ-800 ROMky. Jsou tam i nektere disassemblovane rutiny ze spodni casti JSS. Vznikly prave tim porovnanim binarek a disassemblovanim rozdilu, ale na horni monitor jsem uz nemel silu. Je tam zrusena podpora QD a misto ni je dost jine funkcionality.
Najit tu rutinu a zrusit/preskocit ji by nemel byt velky problem.
A co se tyka verzi, tak mam presne to stejne, verzi 1.2 a verzi 1.6. Je to pouze pro Pezikuv ramdisk. Sam bych privital tu verzi pro standardni/zalohovany ramdisk.

Mikes