Konference: Počítač SHARP MZ-800 a emulátory
Od: | Petr Žydek |
Datum: | 23.3.2012 20: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)]