Konference: Počítač SHARP MZ-800 a emulátory
Od: | Petr Žydek |
Datum: | 2.7.2003 13:48 |
Předmět: | jak na to |
jak na to: |
Je to prosté, držel jsem se přesně definice portů,
jak byla uvedena ve schematu 8bit IDE, tj. porty
78h-7Fh. 16ti bitový přenos má smysl jen pro port
78h. Samozřejmě jdou dva bajty po sobě, nultý
bajt jde na DD0-DD7 HDD, první bajt jde na
DD8-DD15 HDD atd. Tím se přenese jedna 16tice.
Sudá hodnota registru B uvozuje nultý bajt,
lichá hodnota první bajt. Z toho vyplývá nutnost
používat pro 16to bitový datový přenos instrukce
IN/OUT (C),A s vhodně nastaveným BC a HL. Při užití
OUTI, OTIR se hodnota B mění automaticky, takže
přenos 256 bajtů (128 16tic) může vypadat takto:
"nastav registry hlav, stopy, atd."
"zadej příkaz zápis sektoru"
ld hl,"odkud"
ld bc,00h
otir
"osmibitově" zapsaný disk se přečte úplně normálně,
jen je třeba zajistit čtení přes IN A,(C). B musí
být vždy sudé, při použití INI musí následovat
DEC B navíc.
Petr de Zviqov
Ostatní příspěvky vlákna:
[2003/1 (22)] [2003/2 (25)] [2003/3 (14)] [2003/4 (20)] [2003/5 (73)] [2003/6 (108)] [2003/7 (88)] [2003/8 (81)] [2003/9 (146)] [2003/10 (60)] [2003/11 (12)] [2003/12 (5)]