[SharpMZ] Podivnost v driveru QD
bohumil.novacek na email.cz
bohumil.novacek na email.cz
ter erven 21 19:39:14 CEST 2016
Ahoj,
žádné špinavosti v tom nejsou, při volání QD rutiny se SP uloží na 1148h a
pokud dojde k chybě v libovolně zanořeném podprogramu, SP se obnoví na
hodnotu prvního volání a vrátí se chybový kód. Ta 21h je v tabulce opravdu
jen na přeskočení nastavení jiných hodnot než té první (JR 02h by udělalo to
samé bez přepisu HL, ale zabralo by o byte víc a těch je v ROMce vždy málo),
HL se změní, ale nemá žádný význam jako návratová hodnota.
Bohouš
---------- Původní zpráva ----------
Od: Vaclav Peroutka <vaclavpe na seznam.cz>
Komu: sharpmz na mail.ordoz.com
Datum: 21. 6. 2016 19:25:56
Předmět: [SharpMZ] Podivnost v driveru QD
"
Ahoj,
zkoumám driver QD a srovnávám ho s tím v MZ-1500. Jsou skoro shodné, nicméně
našel jsem v ROMkodu MZ800 jednu podivnost, a to tuhle tabulku:
0753 E400 3E29 QIOE41: LD A,41 ; Hard error
0754 E402 21 DEFB 21H
0755 E403 3E2E QIOE46: LD A,46 ; poruseni ochrany
0756 E405 21 DEFB 21H
0757 E406 3E32 QIOE50: LD A,50 ; disk neni pripraven
0758 E408 21 DEFB 21H
0759 E409 3E35 QIOE53: LD A,53 ; neni misto na disku
0760 E40B 21 DEFB 21H
0761 E40C 3E36 QIOE54: LD A,54 ; nenaformatovano
0762 E40E ED7B4811 LD SP,(OLDSP)
0763 E412 37 SCF
0764 E413 C9 RET
Na ta návěští QIOE se skáče pomocí JP a JR. A "DEFB 21h" se samozřejmě
disassembluje jako "LD HL,"
Trochu mi uniká smysl, se musím přiznat. Podezírám, že se dějí nějaké
špinavosti se Stack Pointerem a HL se prostě zahazuje. jen nevím, kde.
Vašek
PS. Jo a je to i v ROMkodu MZ1500...
_______________________________________________
SharpMZ mailing list
SharpMZ na mail.ordoz.com
http://mail.ordoz.com/mailman/listinfo/sharpmz"
------------- dal st ---------------
HTML příloha byla odstraněna...
URL: http://mail.ordoz.com/pipermail/sharpmz/attachments/20160621/09a5936d/attachment.html
Dal informace o konferenci SharpMZ