Položka | Počet | Cena za kus | Cena celkem | Zdroj |
---|---|---|---|---|
74LS02 | 1 ks | 8,- | 8,- | GM Elektronic |
74LS04 | 1 ks | 6,- | 6,- | GM Elektronic |
74LS10 | 1 ks | 7,- | 7,- | GM Elektronic |
7489 | 2 ks | 22,- | 44,- | Jaromír Buček |
74LS138 | 1 ks | 6,- | 6,- | GM Elektronic |
74LS157 | 1 ks | 8,- | 8,- | GM Elektronic |
29F040 | 1 ks | 58,- | 58,- | GM Elektronic |
628512 | 1 ks | 145,- | 145,- | GM Elektronic |
DIL32 | 2 ks | 18,- | 36,- | GM Elektronic |
DIL28 - spojka | 1 ks | 40,- | 40,- | GM Elektronic |
Plošný spoj | 1 ks | 130,- | 130,- | Jaromír Buček |
kondenzátory a odpory | 12,- | |||
CELKEM | 500,- |
0000h | JP 748h | C3 48 07 | úprava počátečního skoku |
0748h | LD BC, 0E7h | 01 E7 00 | B=0 adresa stránkovací paměti, C=IO port stránkování |
074Bh | LD E, Bh | 58 | E=0 hodnota stránkovaní |
074Ch | OUT (C), E | ED 59 | ulož hodnotu pro stránkovaní |
074Eh | INC E | 1C | zvýšení hodnoty pro stránkovací paměť |
074Fh | LD A, B | 78 | zvýšení adresy stránkovací paměti |
0750h | ADD A, 10h | C6 10 | |
0752h | LD B, A | 47 | |
0753h | JR NZ, 074Ch | 20 F7 | smyčka poběží celkem 16x |
0755h | JP E800h | C3 00 E8 | pokračovat na IPL |
Přistránkování FLASH | ||
---|---|---|
4000h | LD BC, 30E7h | B=30 (logická paměť 3000-3FFF), C=port stránkování |
4003h | LD A, 0A3h | A=A3 (stránka FLASH A3) |
4005h | OUT (C), A | nastav stránkování |
Hlavní smyčka | ||
4007h | LD HL, 2000h | HL=data adresa zdroje |
400Ah | LD DE, 3000h | DE=data adresa cíle (programování) |
400Dh | LD A, 0F0h | RESET OBVODU FLASH - zápis bajtu F0 kamkoli |
400Fh | LD (DE), A | |
4010h | LD A, (DE) | Čte bajt z FLASH |
4011h | CP (HL) | a pokud to není stejné s tím co tam máme dát skočíme na programování |
4012h | JR NZ,401Ch | |
4014h | INC HL | další adresy |
4015h | INC DE | |
4016h | LD A, H | test jestli to už není vše |
4017h | CP 30h | |
4019h | JR NZ, 4010h | |
401Bh | RET | |
Programování bajtu | ||
401Ch | AND (HL) | kontrola zda bajt může být naprogramován: nelze programovat log "1" na log "0" pokud nelze musí se sektor paměti FLASH nejprve vymazat |
401Dh | CP (HL) | |
401Eh | JR NZ,403Bh | |
4020h | LD A, 0AAh | Sequence programování - krok 1 na adresu ve FLASH xx555 zapiš AA |
4022h | LD (3555h), A | |
4025h | CPL | Sequence programování - krok 2 na adresu ve FLASH xx2AA zapiš 55 |
4026h | LD (32AAh), A | |
4029h | LD A, 0A0h | Sequence programování - krok 3 na adresu ve FLASH xx555 zapiš A0 |
402Bh | LD (3555h), A | |
402Eh | LD A, (HL) | Sequence programování - krok 4 na správnou adresu zapiš správný bajt |
402Fh | LD (DE), A | |
4030h | LD C, A | bajt dej i do C |
4031h | LD A, (DE) | čti bajt z FLASH |
4032h | CP C | pokud jsou tam správná data konec programování bajtu |
4033h | JR Z, 400Dh | |
4035h | BIT 5, A | pokud je konec časového limitu konec programování bajtu |
4037h | JR Z, 400Dh | |
4039h | JR 4031h | další průchod čtením a testováním |
Mazání sektoru FLASH (!!! pozor maže celý sektor FLASH to je 16 stránek !!!) | ||
403Bh | LD A, 0AAh | Sequence sektor erase - krok 1 na adresu ve FLASH xx555 zapiš AA |
403Dh | LD (3555h), A | |
4040h | CPL | Sequence sektor erase - krok 2 na adresu ve FLASH xx2AA zapiš 55 |
4041h | LD (32AAh), A | |
4044h | LD A, 80h | Sequence sektor erase - krok 3 na adresu ve FLASH xx555 zapiš 80 |
4046h | LD (3555h), A | |
4049h | LD A, 0AAh | Sequence sektor erase - krok 4 na adresu ve FLASH xx555 zapiš AA |
404Bh | LD (3555h), A | |
404Eh | CPL | Sequence sektor erase - krok 5 na adresu ve FLASH xx2AA zapiš 55 |
404Fh | LD (32AAh), A | |
4052h | LD A, 30h | Sequence sektor erase - krok 6 na nějakou adresu ve správném sektoru zapiš 30 |
4054h | LD (DE), A | |
4055h | LD B, 0 | chvilku počkej |
4057h | EX (SP), HL | |
4058h | DJNZ 4057h | |
405Ah | LD A, (DE) | a pokud sektor není vymazán čekej dál |
405Bh | INC A | |
405Ch | JR NZ, 4057h | |
405Eh | JR 4007h | vše znova od začátku |
Skutečná adresa FLASH | Adresa FLASH v MZ800 | Stránkovací adresa | Mapování BIOSu |
---|---|---|---|
00000h | 60000h | E0:000h | |
10000h | 70000h | F0:000h | |
20000h | 40000h | C0:000h | |
30000h | 50000h | D0:000h | |
40000h | 20000h | A0:000h | |
50000h | 30000h | B0:000h | |
60000h | 00000h | 80:000h | mód MZ800 stránky 80h, 81h, 82h a 83h |
70000h | 10000h | 90:000h | mód MZ700 stránky 90h, 91h, 92h a 93h |