[SharpMZ] zaludnosti emulace - chyba pri nacitani z CMT
Michal Hučík - ORDOZ
ordoz na ordoz.com
Úterý Leden 22 12:15:48 CET 2019
Ahoj,
Vasek mi ted reportoval zajimavy problem s emulatorem. Poslal mi
kraticky program, ktery se startuje na 0x2000... Pri nacteni RESET+C (s
CMT hackem) se to vzdy zbori a pocitac na startovaci adresu 0x2000 nikdy
nedorazi. Pokud se vsak program nahrava z monitoru prikazem "L", nebo
pokud se nacita pres virtual CMT, tak je vse OK. Stejne se program chova
i u Zdenka.
Zjistil jsem, ze primarni pricinou chyby je chybejici terminator 0x0d za
nazvem v MZF headeru.
Nahravaci rutina v ROM zacina na 0xE945. Jakmile se nacte header, tak se
smaze obrazovka, napise se "IPL is loading " a nasleduje vypsani jmena
programu, ktere zacina na adrese 0x10F1 - zavolani teto rutiny zacina na
0xE989, pres RST 0x18. Diky chybejicimu terminatoru se to vsak odsud uz
nikdy nevrati ...
Nicmene ta prava zaludnost je v tom, ze kdyz program nacitame z virtual
CMT, nebo prikazem z monitoru, tak se zrejme v zasobniku objevi "repair
code", diky kteremu se nam to z te print rutiny prati a pokracuje se
nacitanim tela programu :)
Michal
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://mail.ordoz.com/pipermail/sharpmz/attachments/20190122/eb000124/attachment.html>
Další informace o konferenci SharpMZ