Forum

Z PMD 85 Infoserver

:: späť na zoznam tém ::
Správa
Autor  Autor ::  Zdeněk
Poslaná  Poslaná ::  27.07.2010 10:28:04
Predmet  Predmet ::  Chyba v ALLRAM
Ahoj, schválně si vyzkoušejte toto v PMD85-2A (možná i v jiných):

Nahrajte si AllRam program a spusťte ho.
Stiskněte K0 (F1)
Napište písmeno A
Nevypadá trošku zvláštně? ;-)

Příčinu neuvedu, jen rychlé řešení:
- po zkopírování ROM do RAM změňte na adrese 8832H hodnotu z 3AH na 21H.
 
Správa
Autor  Autor ::  Roman Bórik
Poslaná  Poslaná ::  27.07.2010 11:04:03
Predmet  Predmet ::  Re: Chyba v ALLRAM
Toto nie je chyba AllRAM módu v zmysle jeho emulácie, ale chyba v ROM, resp. v tom akú inštrukciu použil autor na preskočenie inštrukcie MVI C,87h na adrese 8833h. Na preskočenie tejto inštrukcie je na adrese 8832h inštrukcia STA xxxx (32h), kde xxxx je adresa 870Eh, teda vlastne vyššie zmienená inštrukcia. Na adrese 870Eh je font a konkrétne práve písmeno A. V prípade ROM to nevadí. Ale po prekopírovaní obsahu ROM do RAM, čo sa deje pri prechode do AllRAM módu, sa stane inštrukcia STA 870Eh deštrukčná a po stlačení ktorejkoľvek kľúčovej klávesy poškodí písmeno A.
Chybu obsahujú Monitory PMD 85-2, 2A a Maťo. V prípade PMD 85-2 a Maťa to nevadí.
Chyba je odstránená v Monitoroch PMD 85-3, Consul 2717 a aj Didaktik Alfa 2 tým, že je deštruktívna inštrukcia STA xxxx (32h) nahradená nedeštruktívnou LDA xxxx (3Ah).
Najideálnejším riešením teda bude pridať na koniec AllRAM rutinky:
    MVI  A,3Ah
    STA  8832h
 
Správa
Autor  Autor ::  Zdeněk
Poslaná  Poslaná ::  27.07.2010 14:00:01
Predmet  Predmet ::  Re: Chyba v ALLRAM
Ano, správně jsem měl napsat chyba v ROM v režimu AllRam. Děkuji za vyčerpávající popis.
:: späť na zoznam tém ::