Konference: Počítač SHARP MZ-800 a emulátory

Od: Petr Žydek
Datum: 2.7.2003 15: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)]


[1999 (1)] [2000 (168)] [2001 (733)] [2002 (459)] [2003 (654)] [2004 (224)] [2005 (105)] [2006 (182)] [2007 (201)] [2008 (294)] [2009 (363)] [2010 (782)] [2011 (522)] [2012 (642)] [2013 (442)]