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

[SharpMZ] zaludnosti emulace - chyba pri nacitani z CMT

Michal Hučík - ORDOZ <ordoz@[doména skryta]> SHARP MZ-800

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


Zobrazit původní podobu

Vlákno · 2 zprávy

Zobrazit celé vlákno na jedné stránce

  1. [SharpMZ] zaludnosti emulace - chyba pri nacitani z CMT Michal Hučík - ORDOZ <ordoz@[doména skryta]>
  2. Re: [SharpMZ] zaludnosti emulace - chyba pri nacitani z CMT Michal Hučík - ORDOZ <ordoz@[doména skryta]>