Obsadenie vstupno výstupných adries PMD 85
Z PMD 85 Infoserver
(rekat) |
(Doplnené ďalšie periférie, upravená a doplnená tabuľka) |
||
| Riadok 4: | Riadok 4: | ||
|- | |- | ||
! width="4%" height="26" | | ! width="4%" height="26" | | ||
| - | ! width="6%" | | + | ! width="6%" | 0x |
| - | ! width="6%" | | + | ! width="6%" | 1x |
| - | ! width="6%" | | + | ! width="6%" | 2x |
| - | ! width="6%" | | + | ! width="6%" | 3x |
| - | ! width="6%" | | + | ! width="6%" | 4x |
| - | ! width="6%" | | + | ! width="6%" | 5x |
| - | ! width="6%" | | + | ! width="6%" | 6x |
| - | ! width="6%" | | + | ! width="6%" | 7x |
| - | ! width="6%" | | + | ! width="6%" | 8x |
| - | ! width="6%" | | + | ! width="6%" | 9x |
| - | ! width="6%" | | + | ! width="6%" | Ax |
| - | ! width="6%" | | + | ! width="6%" | Bx |
| - | ! width="6%" | | + | ! width="6%" | Cx |
| - | ! width="6%" | | + | ! width="6%" | Dx |
| - | ! width="6%" | | + | ! width="6%" | Ex |
| - | ! width="6%" | | + | ! width="6%" | Fx |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x0 |
| colspan="16" rowspan="4" align="center" valign="middle" nowrap="nowrap" | '''Zakázaná oblasť'''<br />Koliduje so systémovým PIO a ROM modulom <tt>( A3 = A2 = L )</tt><br />Pre <tt>A7 = L</tt> koliduje s internými IF | | colspan="16" rowspan="4" align="center" valign="middle" nowrap="nowrap" | '''Zakázaná oblasť'''<br />Koliduje so systémovým PIO a ROM modulom <tt>( A3 = A2 = L )</tt><br />Pre <tt>A7 = L</tt> koliduje s internými IF | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x1 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x2 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x3 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x4 |
| colspan="8" rowspan="8" align="center" valign="middle" nowrap="nowrap" | '''Zakázaná oblasť'''<br />Koliduje s internými IF<br />systémovým PIO a ROM modulom | | colspan="8" rowspan="8" align="center" valign="middle" nowrap="nowrap" | '''Zakázaná oblasť'''<br />Koliduje s internými IF<br />systémovým PIO a ROM modulom | ||
| colspan="8" rowspan="4" align="center" valign="middle" nowrap="nowrap" | Systémový PIO<br />''(8255)'' | | colspan="8" rowspan="4" align="center" valign="middle" nowrap="nowrap" | Systémový PIO<br />''(8255)'' | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x5 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x6 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x7 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x8 |
| colspan="8" rowspan="4" align="center" valign="middle" nowrap="nowrap" | ROM modul<br />''(8255)'' | | colspan="8" rowspan="4" align="center" valign="middle" nowrap="nowrap" | ROM modul<br />''(8255)'' | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | x9 |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xA |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xB |
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xC |
| rowspan="4" | | | rowspan="4" | | ||
| rowspan="4" align="center" valign="middle" nowrap="nowrap" | MGF,<br />IRPS<br />''(8251)'' | | rowspan="4" align="center" valign="middle" nowrap="nowrap" | MGF,<br />IRPS<br />''(8251)'' | ||
| Riadok 56: | Riadok 56: | ||
| rowspan="4" align="center" valign="middle" nowrap="nowrap" | GPIO<br />''(8255)'' | | rowspan="4" align="center" valign="middle" nowrap="nowrap" | GPIO<br />''(8255)'' | ||
| rowspan="4" align="center" valign="middle" nowrap="nowrap" | Časovač<br />''(8253)'' | | rowspan="4" align="center" valign="middle" nowrap="nowrap" | Časovač<br />''(8253)'' | ||
| - | | | + | | align="center" valign="middle" nowrap="nowrap" | VGA-C |
| rowspan="4" align="center" valign="middle" nowrap="nowrap" | IMS-2<br />''(8255)'' | | rowspan="4" align="center" valign="middle" nowrap="nowrap" | IMS-2<br />''(8255)'' | ||
| align="center" valign="middle" nowrap="nowrap" | Myš | | align="center" valign="middle" nowrap="nowrap" | Myš | ||
| - | | colspan=" | + | | colspan="5" rowspan="4" align="center" valign="middle" nowrap="nowrap" | Uživateľská oblasť<br />(aplikačný konektor) |
| + | | align="center" valign="middle" nowrap="nowrap" | MIF 85 | ||
| rowspan="4" align="center" valign="middle" nowrap="nowrap" | IF Musica<br />''(8253)'' | | rowspan="4" align="center" valign="middle" nowrap="nowrap" | IF Musica<br />''(8253)'' | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xD |
| - | | | + | | rowspan="2" | |
| + | | rowspan="3" | | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xE |
| + | | rowspan="2" align="center" valign="middle" nowrap="nowrap" | MIF 85 | ||
|- | |- | ||
| - | ! height="32" | | + | ! height="32" | xF |
| + | | align="center" valign="middle" nowrap="nowrap" | RMM | ||
|} | |} | ||
| + | |||
| + | {{-}} | ||
| + | |||
| + | ''V nasledujúcom popise je ku každej periférii uvedená tzv. '''Maska adresy portu''' v tvare M/A, kde M je maska portu a A je adresa po aplikovaní masky na požadovanú adresu portu v inštrukciách IN a OUT. Jednotkové bity v maske portu vlastne označujú adresové bity, ktoré sú použité adresovým dekodérom pre výber periférie (ak nejde o masku s hodnotou 0FFh, hovorí sa o neúplnej adresácii portu). Emulátor tieto informácie používa pre "nájdenie" periférie, ktorá má dodať byte pri inštrukcii IN, resp. do ktorej periférie sa má poslať byte pri inštrukcii OUT.'' | ||
{{-}} | {{-}} | ||
| Riadok 74: | Riadok 82: | ||
'''Systémový PIO''' | '''Systémový PIO''' | ||
* klávesnica, zvukový výstup a stránkovanie | * klávesnica, zvukový výstup a stránkovanie | ||
| - | * obvod 8255 je vyberaný iba adresným bitom A3 v L, ale vyžaduje sa aj A7=H a A2=H | + | * obvod 8255 je vyberaný iba adresným bitom A3 v L, ale vyžaduje sa aj A7=H a A2=H (maska portu: 8Ch/84h) |
* adresné bity A1 a A0 vyberajú príslušný register 8255 | * adresné bity A1 a A0 vyberajú príslušný register 8255 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 0F4h až 0F7h. BASIC programy používajú adresu 86h (134d) pre zápis na port C 8255 |
'''ROM modul''' | '''ROM modul''' | ||
* sada EPROM adresovaná cez PIO 8255 | * sada EPROM adresovaná cez PIO 8255 | ||
| - | * obvod 8255 je vyberaný iba adresným bitom A2 v L, ale vyžaduje sa aj A7=H a A3=H | + | * obvod 8255 je vyberaný iba adresným bitom A2 v L, ale vyžaduje sa aj A7=H a A3=H (maska portu: 8Ch/88h) |
* adresné bity A1 a A0 vyberajú príslušný register 8255 | * adresné bity A1 a A0 vyberajú príslušný register 8255 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 0F8h až 0FBh |
| - | * systémový konektor, na ktorom je pripojený ROM modul nemá, na rozdiel od aplikačného | + | * systémový konektor, na ktorom je pripojený ROM modul nemá, na rozdiel od aplikačného konektora, obmedzenia na rozsah I/O adries, takže je možné použiť aj adresy z užívateľskej oblasti alebo z oblasti interných interfejsov, ktoré nie sú ešte použité. Toto využívajú moduly [[PMD 40]] (Programátor EPROM) a [[PMD 50]] (Emulátor 8048/8748). |
'''MGF, IRPS''' | '''MGF, IRPS''' | ||
* IF magnetofónu a sériová linka (prúdová slučka) s obvodom USART 8251 | * IF magnetofónu a sériová linka (prúdová slučka) s obvodom USART 8251 | ||
| - | * obvod 8251 je vyberaný adresovými bitmi A7=A6=A5=L, A4=H. Vyžaduje sa A3=A2 | + | * obvod 8251 je vyberaný adresovými bitmi A7=A6=A5=L, A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/1Ch) |
* adresný bit A0 vyberá príslušný register 8251 | * adresný bit A0 vyberá príslušný register 8251 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 1Eh a 1Fh |
'''GPIO''' | '''GPIO''' | ||
* paralelný vstup / výstup s PIO 8255 | * paralelný vstup / výstup s PIO 8255 | ||
| - | * obvod 8255 je vyberaný adresnými bitmi A7=A5=A4=L, A6=H. Vyžaduje sa A3=A2=H | + | * obvod 8255 je vyberaný adresnými bitmi A7=A5=A4=L, A6=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/4Ch) |
* adresné bity A1 a A0 vyberajú príslušný register 8255 | * adresné bity A1 a A0 vyberajú príslušný register 8255 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 4Ch až 4Fh |
'''Časovač''' | '''Časovač''' | ||
* trojica časovačov s obvodom PIT 8253 | * trojica časovačov s obvodom PIT 8253 | ||
| - | * obvod 8253 je vyberaný adresnými bitmi A7=A5=L, A6=A4=H. Vyžaduje sa A3=A2=H | + | * obvod 8253 je vyberaný adresnými bitmi A7=A5=L, A6=A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/5Ch) |
* adresné bity A1 a A0 vyberajú príslušný register 8253 | * adresné bity A1 a A0 vyberajú príslušný register 8253 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 5Ch až 5Fh |
'''IMS-2''' | '''IMS-2''' | ||
* prístrojový IF HP-IB s PIO 8255 | * prístrojový IF HP-IB s PIO 8255 | ||
| - | * obvod 8255 je vyberaný adresnými bitmi A7=L, A6=A5=A4=H. Vyžaduje sa A3=A2=H | + | * obvod 8255 je vyberaný adresnými bitmi A7=L, A6=A5=A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/7Ch) |
* adresné bity A1 a A0 vyberajú príslušný register 8255 | * adresné bity A1 a A0 vyberajú príslušný register 8255 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 7Ch až 7Fh |
'''Aplikačný konektor - užívateľská oblasť''' | '''Aplikačný konektor - užívateľská oblasť''' | ||
* dátová zbernica je uvoľnená iba pre A7=A3=A2=H | * dátová zbernica je uvoľnená iba pre A7=A3=A2=H | ||
| - | * je teda voľných 32 I/O adries ( | + | * je teda voľných 32 I/O adries (8Ch-8Fh, 9Ch-9Fh, ..., 0FCh-0FFh) |
'''IF Musica''' (na aplikačnom konektore) | '''IF Musica''' (na aplikačnom konektore) | ||
| - | * zvukový IF pre program MUSICA s obvodom PIT 8253 | + | * zvukový IF pre program [[MUSICA]] s obvodom PIT 8253 |
| - | * obvod 8253 je vyberaný adresnými bitmi A7=A6=A5=A4=A3=A2=H | + | * obvod 8253 je vyberaný adresnými bitmi A7=A6=A5=A4=A3=A2=H (maska portu: 0FCh/FCh) |
* adresné bity A1 a A0 vyberajú príslušný register 8253 | * adresné bity A1 a A0 vyberajú príslušný register 8253 | ||
* je možný iba zápis do registrov 8253 | * je možný iba zápis do registrov 8253 | ||
| - | * používajú sa adresy | + | * používajú sa adresy 0FCh až 0FFh |
'''Myš 602''' (na aplikačnom konektore) | '''Myš 602''' (na aplikačnom konektore) | ||
| - | * paralelná myš na porte | + | * port je vyberaný adresnými bitmi A7=A3=A2=H (maska portu: 08Ch/8Ch) |
| - | * myš využíva pre vyvolanie prerušenia zreťazené časovače CT0 a CT1 (porty | + | * paralelná myš na porte 8Ch |
| + | * myš využíva pre vyvolanie prerušenia zreťazené časovače CT0 a CT1 (porty 5Ch, 5Dh a 5Fh) | ||
'''Myš Poly-08''' (na aplikačnom konektore) | '''Myš Poly-08''' (na aplikačnom konektore) | ||
| - | * sériová myš na porte | + | * port je vyberaný adresnými bitmi A7=A3=A2=H (maska portu: 08Ch/8Ch) |
| + | * sériová myš na porte 8Ch (dáta sú na bite DB7), rýchlosť 4800Bd, 8N1 | ||
* myš vyvoláva prerušenie zhruba každých 10ms - v obsluhe prerušenia sa musí prečítať 3 bytový stav myši | * myš vyvoláva prerušenie zhruba každých 10ms - v obsluhe prerušenia sa musí prečítať 3 bytový stav myši | ||
| + | |||
| + | '''VGA-C''' (umiestnený v počítači) | ||
| + | * [[VGA Konvertor]] - [http://www.8bit.8u.cz/Files/Faudraj/index.htm Faudraj v3.1] | ||
| + | * je využitý interný adresový dekodér a VGA Konvertor je vyberaný adresnými bitmi A7=A4=A1=A0=L, A6=A5=H. Vyžaduje sa A3=A2=H (maska portu: 0FFh/6Ch) | ||
| + | * používa sa adresa 6Ch | ||
| + | |||
| + | '''RMM''' (namiesto ROM Modulu) | ||
| + | * [http://www.nostalcomp.cz/pmd_megamodul.php ROM MEGAmodul] postavil Jiří Koutný ([http://www.nostalcomp.cz NOSTALCOMP]) - až 1MB EPROM - 2 x 16 stránok po 32kB. | ||
| + | * obvod 8255 je vyberaný iba adresným bitom A2 v L, ale vyžaduje sa aj A7=H a A3=H (maska portu: 8Ch/88h) | ||
| + | * adresné bity A1 a A0 vyberajú príslušný register 8255 | ||
| + | * port pre voľbu stránky je vyberaný adresnými bitmi A7=A4=L, A6=A5=A3=A2=A1=A0=H (maska portu: 0FFh/6Fh) | ||
| + | * používajú sa adresy 0F8h až 0FBh a 6Fh | ||
| + | |||
| + | '''[[MIF 85]]''' (na aplikačnom konektore) | ||
| + | * Zvukový (hudobný) interfejs s SAA1099P | ||
| + | * interfejs je vyberaný adresnými bitmi A7=A6=A5=A3=A2=H, A4=L (maska portu: 0FCh/0ECh) | ||
| + | * adresné bity A1 a A0 vyberajú príslušný interfejsu | ||
| + | * interfejs využíva aj interný časovač 0 pre pravidelné generovanie prerušenia | ||
| + | * používajú sa adresy 0ECh, 0EEh, 0EFh, 5Ch a 5Fh | ||
| + | |||
[[Category:Hardvér]] | [[Category:Hardvér]] | ||
[[Category:Detaily o PMD 85 a kompatibilných]] | [[Category:Detaily o PMD 85 a kompatibilných]] | ||
Verzia zo dňa a času 21:22, 22. december 2013
Tabuľka obsadenia vstupno / výstupných adries na PMD 85
| 0x | 1x | 2x | 3x | 4x | 5x | 6x | 7x | 8x | 9x | Ax | Bx | Cx | Dx | Ex | Fx | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| x0 | Zakázaná oblasť Koliduje so systémovým PIO a ROM modulom ( A3 = A2 = L ) Pre A7 = L koliduje s internými IF | |||||||||||||||
| x1 | ||||||||||||||||
| x2 | ||||||||||||||||
| x3 | ||||||||||||||||
| x4 | Zakázaná oblasť Koliduje s internými IF systémovým PIO a ROM modulom | Systémový PIO (8255) | ||||||||||||||
| x5 | ||||||||||||||||
| x6 | ||||||||||||||||
| x7 | ||||||||||||||||
| x8 | ROM modul (8255) | |||||||||||||||
| x9 | ||||||||||||||||
| xA | ||||||||||||||||
| xB | ||||||||||||||||
| xC | MGF, IRPS (8251) | GPIO (8255) | Časovač (8253) | VGA-C | IMS-2 (8255) | Myš | Uživateľská oblasť (aplikačný konektor) | MIF 85 | IF Musica (8253) | |||||||
| xD | ||||||||||||||||
| xE | MIF 85 | |||||||||||||||
| xF | RMM | |||||||||||||||
V nasledujúcom popise je ku každej periférii uvedená tzv. Maska adresy portu v tvare M/A, kde M je maska portu a A je adresa po aplikovaní masky na požadovanú adresu portu v inštrukciách IN a OUT. Jednotkové bity v maske portu vlastne označujú adresové bity, ktoré sú použité adresovým dekodérom pre výber periférie (ak nejde o masku s hodnotou 0FFh, hovorí sa o neúplnej adresácii portu). Emulátor tieto informácie používa pre "nájdenie" periférie, ktorá má dodať byte pri inštrukcii IN, resp. do ktorej periférie sa má poslať byte pri inštrukcii OUT.
Systémový PIO
- klávesnica, zvukový výstup a stránkovanie
- obvod 8255 je vyberaný iba adresným bitom A3 v L, ale vyžaduje sa aj A7=H a A2=H (maska portu: 8Ch/84h)
- adresné bity A1 a A0 vyberajú príslušný register 8255
- používajú sa adresy 0F4h až 0F7h. BASIC programy používajú adresu 86h (134d) pre zápis na port C 8255
ROM modul
- sada EPROM adresovaná cez PIO 8255
- obvod 8255 je vyberaný iba adresným bitom A2 v L, ale vyžaduje sa aj A7=H a A3=H (maska portu: 8Ch/88h)
- adresné bity A1 a A0 vyberajú príslušný register 8255
- používajú sa adresy 0F8h až 0FBh
- systémový konektor, na ktorom je pripojený ROM modul nemá, na rozdiel od aplikačného konektora, obmedzenia na rozsah I/O adries, takže je možné použiť aj adresy z užívateľskej oblasti alebo z oblasti interných interfejsov, ktoré nie sú ešte použité. Toto využívajú moduly PMD 40 (Programátor EPROM) a PMD 50 (Emulátor 8048/8748).
MGF, IRPS
- IF magnetofónu a sériová linka (prúdová slučka) s obvodom USART 8251
- obvod 8251 je vyberaný adresovými bitmi A7=A6=A5=L, A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/1Ch)
- adresný bit A0 vyberá príslušný register 8251
- používajú sa adresy 1Eh a 1Fh
GPIO
- paralelný vstup / výstup s PIO 8255
- obvod 8255 je vyberaný adresnými bitmi A7=A5=A4=L, A6=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/4Ch)
- adresné bity A1 a A0 vyberajú príslušný register 8255
- používajú sa adresy 4Ch až 4Fh
Časovač
- trojica časovačov s obvodom PIT 8253
- obvod 8253 je vyberaný adresnými bitmi A7=A5=L, A6=A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/5Ch)
- adresné bity A1 a A0 vyberajú príslušný register 8253
- používajú sa adresy 5Ch až 5Fh
IMS-2
- prístrojový IF HP-IB s PIO 8255
- obvod 8255 je vyberaný adresnými bitmi A7=L, A6=A5=A4=H. Vyžaduje sa A3=A2=H (maska portu: 0FCh/7Ch)
- adresné bity A1 a A0 vyberajú príslušný register 8255
- používajú sa adresy 7Ch až 7Fh
Aplikačný konektor - užívateľská oblasť
- dátová zbernica je uvoľnená iba pre A7=A3=A2=H
- je teda voľných 32 I/O adries (8Ch-8Fh, 9Ch-9Fh, ..., 0FCh-0FFh)
IF Musica (na aplikačnom konektore)
- zvukový IF pre program MUSICA s obvodom PIT 8253
- obvod 8253 je vyberaný adresnými bitmi A7=A6=A5=A4=A3=A2=H (maska portu: 0FCh/FCh)
- adresné bity A1 a A0 vyberajú príslušný register 8253
- je možný iba zápis do registrov 8253
- používajú sa adresy 0FCh až 0FFh
Myš 602 (na aplikačnom konektore)
- port je vyberaný adresnými bitmi A7=A3=A2=H (maska portu: 08Ch/8Ch)
- paralelná myš na porte 8Ch
- myš využíva pre vyvolanie prerušenia zreťazené časovače CT0 a CT1 (porty 5Ch, 5Dh a 5Fh)
Myš Poly-08 (na aplikačnom konektore)
- port je vyberaný adresnými bitmi A7=A3=A2=H (maska portu: 08Ch/8Ch)
- sériová myš na porte 8Ch (dáta sú na bite DB7), rýchlosť 4800Bd, 8N1
- myš vyvoláva prerušenie zhruba každých 10ms - v obsluhe prerušenia sa musí prečítať 3 bytový stav myši
VGA-C (umiestnený v počítači)
- VGA Konvertor - Faudraj v3.1
- je využitý interný adresový dekodér a VGA Konvertor je vyberaný adresnými bitmi A7=A4=A1=A0=L, A6=A5=H. Vyžaduje sa A3=A2=H (maska portu: 0FFh/6Ch)
- používa sa adresa 6Ch
RMM (namiesto ROM Modulu)
- ROM MEGAmodul postavil Jiří Koutný (NOSTALCOMP) - až 1MB EPROM - 2 x 16 stránok po 32kB.
- obvod 8255 je vyberaný iba adresným bitom A2 v L, ale vyžaduje sa aj A7=H a A3=H (maska portu: 8Ch/88h)
- adresné bity A1 a A0 vyberajú príslušný register 8255
- port pre voľbu stránky je vyberaný adresnými bitmi A7=A4=L, A6=A5=A3=A2=A1=A0=H (maska portu: 0FFh/6Fh)
- používajú sa adresy 0F8h až 0FBh a 6Fh
MIF 85 (na aplikačnom konektore)
- Zvukový (hudobný) interfejs s SAA1099P
- interfejs je vyberaný adresnými bitmi A7=A6=A5=A3=A2=H, A4=L (maska portu: 0FCh/0ECh)
- adresné bity A1 a A0 vyberajú príslušný interfejsu
- interfejs využíva aj interný časovač 0 pre pravidelné generovanie prerušenia
- používajú sa adresy 0ECh, 0EEh, 0EFh, 5Ch a 5Fh