A Referencia kézikönyvben ilyen megjegyzés szerepel a szektor írás/olvasás rutinoknál:
"Software-ből származó hibakódok: a software ellenőrzi, hogy pontosan 256 byte beolvasása ill. írása történik-e. Ha ez nem biztosítható, akkor a művelettől és az eltérés előjelétől függően a következő hibakódok keletkeznek:
ERROR 70 READ UNDERRUN byteszám < 256 olvasásnál
ERROR 71 WRITE UNDERRUN byteszám < 256 írásnál
ERROR 72 READ OVERRUN byteszám > 256 olvasásnál
ERROR 73 WRITE UNDERRUN byteszám > 256 írásnál
Megjegyzendő, hogy a software semmilyen esetben nem ír felül 256 byte-bál többet az FDC felé."
Ez azt jelenti, hogy a ROM rutinokkal nem lehet 512 bájtos szektorokat kezelni? Vagy a 256 bájt helyett szektorméret értendő?
A HxC floppy emulátor vezérlése speciális (255. sávon lévő) szektorok írásával/olvasásával történik, és ezek a szektorok 512 bájtosak.
Ha ezt nem lehet a gyári ROM rutinokkal kezelni, kénytelen leszek saját WD rutinokat alkalmazni...
SpeccyDOS programozás
- leslie.wss
- Hozzászólások: 75
- Csatlakozott: 2012.01.18. 22:36
Re: SpeccyDOS programozás
Az "ERROR 73 WRITE UNDERRUN" amúgy hibás a szövegben, hiszen OVERRUN-nak kellene lennie.
A PDF szkennelt anyagban (SpeccyDOS - Referencia adatok gépi kódú felhasználói programokhoz (kézirat)) jól is van, csak a http://www.ep128.hu/Sp_Konyv/SpeccyDos_Referencia.htm oldalon rossz a szöveg.
A PDF-ben a 'Megjegyzendő...' rész is értelmesebben van megfogalmazva.
A PDF szkennelt anyagban (SpeccyDOS - Referencia adatok gépi kódú felhasználói programokhoz (kézirat)) jól is van, csak a http://www.ep128.hu/Sp_Konyv/SpeccyDos_Referencia.htm oldalon rossz a szöveg.
A PDF-ben a 'Megjegyzendő...' rész is értelmesebben van megfogalmazva.
- leslie.wss
- Hozzászólások: 75
- Csatlakozott: 2012.01.18. 22:36
Re: SpeccyDOS programozás
Az SCWRIT-nél (ha jól látom) nem is lehet megadni, hogy mennyi bájtot akarok kiírni. Akkor honnan tudja, hogy mennyit akarok kiírni, és azt hogy ellenőrzi a szoftver?
Re: SpeccyDOS programozás
Nem is lehetne megadni, azt a WD várja a szektorfejlécből kiolvasott szektorméret alapján, ha nem küldesz ki elég bájtot, akkor 0-val tölti fel, és adatvesztés hibát jelez.leslie.wss írta:Az SCWRIT-nél (ha jól látom) nem is lehet megadni, hogy mennyi bájtot akarok kiírni. Akkor honnan tudja, hogy mennyit akarok kiírni, és azt hogy ellenőrzi a szoftver?
De ebből a szövegből lehetne arra következtetni, hogy van egy számláló a programciklusban, és 256 bájt után nem foglalkozik a WD DRQ-jával.
Re: SpeccyDOS programozás
Arra van valami ötlet, hogy PC-n lefordított programkódot hogyan lehetne SpeccyDOS lemezre vinni?
Nekem olyan ötletem van, hogy csinálni egy jó nagy üres CODE blokkot a lemezre, majd utána a lemezképben hex editorral bemásolni az üres helyre a programkódot.
Nekem olyan ötletem van, hogy csinálni egy jó nagy üres CODE blokkot a lemezre, majd utána a lemezképben hex editorral bemásolni az üres helyre a programkódot.
- Bali
- Alapító tag
- Hozzászólások: 2503
- Csatlakozott: 2012.01.06. 12:34
- Tartózkodási hely: Budapest III.
- Kapcsolat:
Re: SpeccyDOS programozás
-= Bali =-
(c) 1983-2017 Evil-Soft
(c) 1983-2017 Evil-Soft
Re: SpeccyDOS programozás
A ROM rutinok megnézése alapján: igen, azt jelentiZozosoft írta: Ez azt jelenti, hogy a ROM rutinokkal nem lehet 512 bájtos szektorokat kezelni?
