Tak příběh AMOS má pokračování částí s názvem "PASCAL". Jak jsem uvedl dříve, pokusil jsem EPROM 2716 nahradit 2732 a modul nakonfigurovat tak, aby v 1 fyzickém modulu byly 2 paměťové prostory (PASCAL a PASCAL1).
Prostá výměna EPROM a nastavení spínačů pochopitelně nefungovalo
. Provedl jsem tedy myšlenkovou gymnastiku nad výpisem 74188 sloužící jako dekodér, technickou dokumentací modulu a schématem. Nevím, co u toho zobali, ale je to dost šílené
. Při té příležitosti jsem se snažil pochopit systém nadřízený/podřízený/pomocný modul a to je taky docela mazec
. Zvláště signál '48' je VELMI výživný
. Ale o tom třeba někdy příště (pokud to pochopím).
Nicméně jsem dospěl k několika závěrům:
1. do 74188 je zadrátovaná A11, která je ale u 2732 připojená na příslušný adresový pin. Z toho vyplynulo, že je nutné obsah dekodéru změnit tak, aby A11 ignoroval.
2. obě sady EPROM (0..3 a 4..7) se musí mapovat do stejného adresového prostoru CPU a to, která sada bude "u lizu" řídí IC4 a IC5.
3. z důvodu bodu 2 není možné, aby piny 18 u všech EPROM byly vzájemně propojeny s pinem 1 u IC5 (u Petra, EC1045 na DPS žlutě šrafovaný drátek). Jeden zakoupený modul tento drátek neměl, ale byly u něj u každé EPROM zvlášť vzájemně propojeny piny 18 a 20.
Zpracoval jsem tedy nový obsah PROM a naprogramoval ji, naprogramoval a vyměnil EPROM, chvíli žongloval s nastavením přepínačů a zadařilo se a modul PASCAL obsahující obě své části (AMOS PASCAL a PASCAL1 s překladačem) se rozběhl
. Look mi napsal krátký PASCALovský prográmek
, který jsem přepsal do EDItoru, přeložil PAScalem a úspěšně spustil.
Veškeré poznatky jsou shrnuty níže (použité názvy a číslování se vztahují ke schématům/deskám modulů na sapi.cz - díky EC1045
):
Kód:
Přepínač S1 (spřažený) povoluje signály /CSx přes 3216-ky podle paměťových prostorů a osazených EPROM
Pro 2716 propouští všechny /CSx přes obě 3216
Pro 2732 propouští /CS0../CS3 pro paměťový prostor x0 (případně x1 - dle S3)
/CS4../CS7 pro paměťový prostor x1 (případně x0 - dle S3)
Přepínač S2 (spřažený) přepíná signál na pinu 21 EPROM - Vcc pro 2716 nebo A11 pro 2732
Přepínač S3 (dělený) nastavuje číslo paměťového prostoru karty: 000h..003h
Přepínač S4 (spřažený) přepíná rozsah adres pro OUT řídící přepínání paměťového prostoru:
signál A10 - adresy 0E8h..0EBh nebo 0ECh..0EFh
--------------------------------------------------------------------------------
Pro EPROM 2716 - 1 paměťový prostor
Modul může mít vzájemně propojeny piny 18 EPROM (/CEx) a pin 1 IC5 (/CS), nebo může mít
u každé EPROM zvlášť propojeny piny 18 (/CE) a 20 (/OE)
Modul je propojkami nastaven jako NADŘÍZENÝ
Adresové vstupy PROM MH74188
A=/IOW
B=A11
C=A12
D=A13
E=A14
EN=A15 AND (/IOW OR /MR)
Paměti EPROM 2716 jsou adresovány:
/CS0 = 08000h..087FFh
/CS1 = 08800h..08FFFh
/CS2 = 09000h..097FFh
/CS3 = 09800h..09FFFh
/CS4 = 0A000h..0A7FFh
/CS5 = 0A800h..0AFFFh
/CS6 = 0B000h..0B7FFh
/CS7 = 0B800h..0BFFFh
Obsah PROM MH74188
:20000000FFFEFFFDFFFBFFF7FFEFFFDFFFBFFF7FFFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF7F
AAAAI
1111O
4321W
00000 0FFh 011111111b
00001 0FEh 011111110b /CS0 08000h..087FFh
00010 0FFh 011111111b
00011 0FDh 011111101b /CS1 08800h..08FFFh
00100 0FFh 011111111b
00101 0FBh 011111011b /CS2 09000h..097FFh
00110 0FFh 011111111b
00111 0F7h 011110111b /CS3 09800h..09FFFh
01000 0FFh 011111111b
01001 0EFh 011101111b /CS4 0A000h..0A7FFh
01010 0FFh 011111111b
01011 0DFh 011011111b /CS5 0A800h..0AFFFh
01100 0FFh 011111111b
01101 0BFh 010111111b /CS6 0B000h..0B7FFh
01110 0FFh 011111111b
01111 07Fh 001111111b /CS7 0B800h..0BFFFh
10000 0FFh 011111111b
10001 0FFh 011111111b
10010 0FFh 011111111b
10011 0FFh 011111111b
10100 0FFh 011111111b
10101 0FFh 011111111b
10110 0FFh 011111111b
10111 0FFh 011111111b
11000 0FFh 011111111b
11001 0FFh 011111111b
11010 07Fh 001111111b aktivní IOW - přepínání paměťového prostoru
11011 0FFh 011111111b
11100 0FFh 011111111b
11101 0FFh 011111111b
11110 0FFh 011111111b
11111 0FFh 011111111b
Přepínače:
S1 - dolů S1.1=0 - bit D1 není připojen nikam - je nevýznamný
S1.2=1 - bit D0 ovládá zároveň obě 3216 - prochází všechny signály /CSx najednou
S2 - dolů na pinu 21 EPROM je Vcc
S3 - levý nahoru, pravý dolů adresa modulu je 10
S4 - vpravo adresa pro OUT v rozsahu 0E8h..0EBh
--------------------------------------------------------------------------------
Pro EPROM 2732 - 2 adresové prostory. Příslušný prostor se vybírá pomocí D0 konfiguračního byte
Modul nesmí mít vzájemně propojeny piny 18 EPROM (/CEx) a pin 1 IC5 (/CS). Naopak musí mít
u každé EPROM zvlášť propojeny piny 18 (/CE) a 20 (/OE)
Modul je propojkami nastaven jako PODŘÍZENÝ
V EPROM0..3 je obsažen PASCAL, v EPROM4..7 je obsažen PASCAL0
Adresové vstupy PROM MH74188
A=/IOW
B=A11
C=A12
D=A13
E=A14
ENABLE=A15 AND (/IOW OR /MR)
Paměti EPROM 2732 jsou adresovány:
/CS0 a /CS4 = 08000h..08FFFh výběr platného /CSx (např /CS0 vs /CS4) se provádí datovým
/CS1 a /CS5 = 09000h..09FFFh bitem D0, který ovládá povolovací vstupy 3216 a nastavením přepínače S1
/CS2 a /CS6 = 0A000h..0AFFFh
/CS3 a /CS7 = 0B000h..0BFFFh
Obsah PROM MH74188
:20000000FFEEFFEEFFDDFFDDFFBBFFBBFF77FF77FFFFFFFFFFFFFFFFFFFF7FFFFFFFFFFF7E
AAAAI
1111O
4321W
00000 0FFh 011111111b
00001 0EEh 011101110b /CS0 a /CS4 08000h..08FFFh
00010 0FFh 011111111b
00011 0EEh 011101110b /CS0 a /CS4 08000h..08FFFh
00100 0FFh 011111111b
00101 0DDh 011011101b /CS1 a /CS5 09000h..09FFFh
00110 0FFh 011111111b
00111 0DDh 011011101b /CS1 a /CS5 09000h..09FFFh
01000 0FFh 011111111b
01001 0BBh 010111011b /CS2 a /CS6 0A000h..0AFFFh
01010 0FFh 011111111b
01011 0BBh 010111011b /CS2 a /CS6 0A000h..0AFFFh
01100 0FFh 011111111b
01101 077h 001110111b /CS3 a /CS7 0B000h..0BFFFh
01110 0FFh 011111111b
01111 077h 001110111b /CS3 a /CS7 0B000h..0BFFFh
10000 0FFh 011111111b
10001 0FFh 011111111b
10010 0FFh 011111111b
10011 0FFh 011111111b
10100 0FFh 011111111b
10101 0FFh 011111111b
10110 0FFh 011111111b
10111 0FFh 011111111b
11000 0FFh 011111111b
11001 0FFh 011111111b
11010 07Fh 001111111b aktivní IOW - přepínání paměťového prostoru
11011 0FFh 011111111b
11100 0FFh 011111111b
11101 0FFh 011111111b
11110 0FFh 011111111b
11111 0FFh 011111111b
Přepínače:
S1 - nahoru S1.1=1 - výstupy z IO14 povolují jednotlivě 3216, čímž do stejného adresového prostoru
S1.2=0 \ připínají EPROM0..3 nebo EPROM4..7
S2 - nahoru na pinu 21 EPROM je A11
S3 - oba dolů adresa modulu je 00
S4 - vpravo adresa pro OUT v rozsahu 0E8h..0EBh
Screenshoty (mizerné) jsou
tady. Až bude volněji, udělám lepší a s VIDEO64. Pokud budu vědět, případné dotazy rád zodpovím. Snad jsem tam nenasekal moc chyb a napsal to alespoň trochu srozumitelně.
Petr
P.S. pro Petra EC1045: - nevím, jestli to má pro Tebe nějakou cenu, ale použitý modul vypadá opravdu jako z vývoje - jsou na něm nějaké chyby v zapojení opravené přeškraby a drátky. Ale číslo na desce souhlasí s deskou, kde již tyto chyby nejsou. Pokud máš zájem, kontaktuj mě. Oskenuju nebo fyzicky pošlu.
P.