Mapování IQ151, všechny adresy jsou hexadekadicky pokud není uvedeno jinak

Přestože většinu těchto informací lze nalézt v jiných zdrojích, zejména [1], považuji za užitečné je přehledně soustředit na jednom místě.

Paměť

0000 - 07FF  zrcadlo monitor EPROM čipu MON1, je-li aktivováno I/O portem 80.
0000 - 7FFF  RAM
8000 - BFFF  EPROM AMOS (vždy jedna z 16KB stránek), POZOR! konflikt s modulem BASIC G, je na to upozorněno i v manuálech modulů AMOS
B000 - BFFF  EPROM BASIC G dolní část (4KB), POZOR! konflikt s moduly AMOS
A800?- ????  modul G
C000 - C7FF  EPROM modul MS151A (2KB)
C800 - E7FF  EPROM modulu BASIC 6 nebo BASIC G horní část (8KB)
E800 - EFFF  videoram modulu VIDEO64 (2KB)
EC00 - EFFF  videoram modulu VIDEO32 (1KB)
F000 - F7FF  monitor EPROM (2KB), čip MON0
F800 - FFFF  monitor EPROM (2KB), čip MON1
Některé počítače IQ151 mají navíc osazenou RAM v oblasti 8000-FFFF, moduly mohou využít určitou oblast adres pro sebe a v případě přístupu na tyto adresy blokovat RAM signálem RAM* na sběrnici.

I/O porty

80  obvod 3212 na základní desce, nejnižším bitem se ovládá zrcadlení monitor EPROM:
	0 = zrcadlení čipu MON1 v oblasti 0000-07FF
	1 = zrcadlo vypnuto

84-87  obvod 8255 na základní desce:
    84 - brána A - zápis sloupce při zjišťování stavu klávesnice
    85 - brána B - čtení řádku při zjišťování stavu klávesnice
    86 - brána C - klávesy shift, ctrl, fa, fb, reproduktor, magnetofon
        D7    klávesa FB (stav 0 při stisknuté klávese)
        D6    klávesa FA (stav 0 při stisknuté klávese)
        D5    klávesa CTRL (stav 0 při stisknuté klávese)
        D4    klávesy SHIFT (obě klávesy SHIFT jsou paralelně spojeny, stav 0 pokud je stiskunta kterákoliv z nich;
              nelze žádným způsobem rozlišit, která z kláves SHIFT je stisknuta popř. zda jsou stisknuty obě)

        D3    reproduktor
        D2    ovládání magnetofonu 2 (není vyvedeno na konektor)
        D1    ovládání magnetofonu 1 (není vyvedeno na konektor)
        D0    výstup pro magnetofon

        Pokud D2=1 nebo D1=1, mají horní 4 bity jiný význam:
        D7    vstup z magnetofonu 1
        D6    vstup z magnetofonu 2
        D5    kmitočet 1kHz
        D4    uzeměno
	
        Defaultně čtená hodnota je %248 = $F8 = !1111 1000
    87 - řídicí registr 8255

88,89  řadič přerušení 8259

D0-D4  modul grafik:
    D0 brána A 8255 - poloha X
    D1 brána B 8255 - poloha Y
    D2 brána C 8255 - řídicí signály
    D3 řídicí registr 8255
    D4 datová komunikace

EC-EF  modul AMOS, adresy jsou ekvivalentní, jen zápis:
    stránkování: 00=pascal runtime a editor, 01=pascal překladač, 10=assembler.
    POZOR ! v originálním popise modulu je chyba a chybně se zde uvádí oblast E0-EF

F0-F4  souřadnicový zapisovač

F8-FB  modul staper, obvod 8255
    F8 byte čtený ze čtečky
    F9 byte posílaný na tiskárnu nebo děrovačku
    FA řízení 
    FB řídicí registr 8255

FC-FF  modul video 64, adresy jsou ekvivalentní
    čtení: hodnota FE pokud je modul přítomen, FF pokud ne
    zápis: 0 zakazuje, 1 povoluje zobrazení znaků ve dvojnásobné šířce

Klávesnice

Klávesy jsou zapojeny do matice 8x8. 8 sloupců je zapojeno na 8 bitů portu A obvodu 8255 na základní desce, port má adresu 84. 8 řad je propojeno s 8 bity portu B obvodu 8255 na základní desce, port má adresu 85. Všechny linky jsou vybaveny pull-up rezistory. Signály jsou aktivní v úrovni L. Scanování probíhá tak, že se zápisem na port 84 vybere sloupec tak, že zde zapíšeme byte, který se skládá z jedniček, jen na místě vybraného sloupce má nulu. Z portu 85 pak přečteme stav kláves v příslušném sloupci, na bitech odpovídajících stisknuté klávese je čtená 0, ostatní bity mají hodnotu 1.
bit 01234567
hodnota hexFEFDFBF7EFDFBF7F
bithodnota hexhodnota dek254253251247239223191127
0FE25412345678
1FD253QWERTYUI
2FB251ASDFGHJK
37F247ZXCVBNM,
4EF2399OL.CRDCICF1
5DF2230P;\/DLLEFTF2
6BF191^[]DOWNF5ILHOMEF4
77F127-@:SP_UPLEFTF3
Příklad: Je stisknutá klávesa X. Do portu 84 zapíšeme FD. Z portu 85 je pak čtená hodnota 7F.

Dále bylo zjištěno, že je rozdíl v klávesnici verze 1 a klávesnici verze G. Klávesnice verze 1 má jednu souvislou kontaktní fólii pro všechny klávesy. Klávesnice verze G má samostatnou kontaktní plošku pro každou klávesu. Z toho plyne, že chování klávesnic bude různé při současném stisku více kláves.

Rozšířený monitor

DH dump hex
DM disassembler

Použitá literatura

[1] Ing. Pavel Přívětivý, Školní mikropočítač IQ151, SPN 1988
[2] Technický popis modulu Grafik
[3] Technický popis modulu Video64
[4] Technický popis modulu Staper
[5] Technický popis modulu AMOS

Některé informace byly zjištěny vlastním "výzkumem" - pokusným zapisováním a čtením portů, apod., zásadně na reálném počítači, nikdy v emulátoru.
Zpět