SpeccyDOS programozás

Módszerek, módszertanok alkalmazása Spectrumon...
Avatar
Zozosoft
Speccyalista
Hozzászólások: 806
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

SpeccyDOS programozás

Hozzászólás Szerző: Zozosoft »

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...
Avatar
leslie.wss
Hozzászólások: 75
Csatlakozott: 2012.01.18. 22:36

Re: SpeccyDOS programozás

Hozzászólás Szerző: leslie.wss »

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.
Avatar
leslie.wss
Hozzászólások: 75
Csatlakozott: 2012.01.18. 22:36

Re: SpeccyDOS programozás

Hozzászólás Szerző: leslie.wss »

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?
Avatar
Zozosoft
Speccyalista
Hozzászólások: 806
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: SpeccyDOS programozás

Hozzászólás Szerző: Zozosoft »

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?
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.
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.
Avatar
Zozosoft
Speccyalista
Hozzászólások: 806
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: SpeccyDOS programozás

Hozzászólás Szerző: Zozosoft »

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.
Avatar
Bali
Alapító tag
Hozzászólások: 2537
Csatlakozott: 2012.01.06. 12:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: SpeccyDOS programozás

Hozzászólás Szerző: Bali »

Na ugye, hogy van erre igény!!! Hát pont erre agitálom Leslie-t. :)

viewtopic.php?f=15&t=280
-= Bali =-
(c) 1983-2017 Evil-Soft
Avatar
Zozosoft
Speccyalista
Hozzászólások: 806
Csatlakozott: 2012.01.06. 13:03
Kapcsolat:

Re: SpeccyDOS programozás

Hozzászólás Szerző: Zozosoft »

Zozosoft írta: Ez azt jelenti, hogy a ROM rutinokkal nem lehet 512 bájtos szektorokat kezelni?
A ROM rutinok megnézése alapján: igen, azt jelenti :-(
Válasz küldése

Vissza: “Programozástechnika”