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

Od: Petr Žydek
Datum: 23.3.2012 19:59
Předmět: Re: Re: Plán práce na rok 2012

Re: Re: Plán práce na rok 2012:

Tak nějak postupně (dle předchozího příspěvku):

Vývod 32 podle mě nepoužívá "žádná" periferie, neznám totiž žádný
 další integráč z rodiny Z80 xxx, který by informaci "tahat za INT
dovoleno" od Z80 SIO přebíral. Takže pokud bych získal originál kartu s
porty RS232, spojení mezi SIO a vývodem 32 na hranovém konektoru bych
okamžitě přeškrábnul. Signál není komu předávat. A rázem mám vývod
volný. :-)
Karta SIO vlastní konstrukce (plus něco navíc, jelikož je místo) obvodem
SIO vývod 32 okupovat nebude.
Ostatní periferie (mající možnost používat přerušení) na stav na
vývodu 30 (IEI alias "IEO obvodu PIO") vůbec nekoukají a za INT mohou tahat
teoreticky kdykoli se jim zachce (Unicard, floppy - HD disketa, můj Epromer).

Význam volných vývodů se dá samozřejmě změnit, ale I2C mě napadlo jako 
první a až potom jsem uvažoval o těch zbylých. Jde tu spíš o jednoduchost
návrhu - "Interrupt ports" jsou vedle sebe a protože jde o primitivní
řešení (napůl SW, napůl HW), záleželo mi na jednoduchosti zapojení.

Proč mě napadlo něco jako "řadič přerušení"? Vždyť jste tu pořád
spekulovali o využití INT z více periferií! Nezmiňoval ses např. o
přerušení od IDE? Co non floppy periferie Unicard (LAN, autonomní SIO)? Tam 
by to bylo celkem efektivní. Při hovorech jak by měla vypadat Unicard II.
padaly různé návrhy. Mě by se líbil port PS/2 - řešení existuje na ZX a 
taková "bohatá" klávesnice z PeCe a hlavně myška bez nutnosti používat
převodník serial->Atari paralel, ta by se hodila zvláště. Teď, když se
vynořují zapálení systémoví programátoři? Jednoznačně ano. Apropos -
konečník USB mini má Unicard tuším jen pro programování firmware, takže 
proč by onen nemohl být na desce někde jinde a uvolnit místo PS dvojce?

Periferie, které s INT z principu nepočítají:
- joysticky
- standardní floppy
- floppy s čipem z PC (DP8473, W83765, WD37C65), podle mě INT netřeba
- jakýkoli ramdisk (čistě SW řízení, časově nekritické)
- má "multimedia card" (SAA1099 a M50555 jen pro zápis, SAA5246 -> I2C)
- řadič I2C, P'n'P

Periferie, které by INT využívat mohly
- floppy ála J. Koštial (nutnost v režimu 1.44MB)
- SIO (originál)
- LAN (Unicard)
- SIO (Unicard)
- PS/2 (Unicard) - periferie, která by se mi "líbila"
- VGA Realtek RTG3105
- sound card (čipy původem z PC ISA)
- IDE (dva rozsahy adres)

Tohle všechno se do dvou slotů narvat nedá, ale i tak se oněch šest
dostupných vývodů díky víceúčelovým kartám snadno "obsadí".
IM2 je nativně pro obvody z řady Z80 xxx - jak zařídit aby vyjmenované
periferie v cyklu M1 šouply na sběrnici část adresy obslužného programu?
Nesnadno. Jak předávat dál informaci "přerušení pro vás další
dovoleno", když se navíc jedná o zařízení na různých kartách? Iks
dvoulinkami od integráče k integáči? To bych považoval za komplikované.
Zatímco přečíst stav jediného portu a rozhodnout, která z periferií 
současně za INT právě tahajících se bude obsluhovat, to se dá programově
docela dobře zařídit. I ve výchozím IM1.
Na nahrazení cyklického očuchávání jednotlivých periferií, jestli něco 
nepotřebujou, by to stačilo určitě. Jedinou výjimkou je časově kritické 
čtění/zápis sektoru floppy v režimu "HD disketa". Zaplněný buffer SIO
taky nepočká. Prázdný DMA buffer sound card při "play DMA" taky ne. Ale
"pomaloběžným" (PS/2) nebo "pozastavitelným" (IDE) periferiím je to jedno, 
ty počkají. Hlavně, že se "dovolají" a že na ně vůbec dojde.

A vo vo vo tom to je.

K poslednímu bodu - raději dvě multifunkční (plné různých periferií)
interní karty bez potřeby externí krabičky a plotter napájený z externího
zdroje 5V, nežli naopak (můj názor).

Petr de Zviqov

Ostatní příspěvky vlákna:

 
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]


[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)]