C 64
Grafik

Das 64’er EPROM-Programmiergerät

Nach der Fertigstellung der Hardware in der letzten Ausgabe, bringen wir nun die Software des 64’er EPROM-Programmiergerätes. Damit ist der EPROM-Brenner vollständig und einsatzbereit.

Auf geht’s zum letzten Teil des 64’er EPROM-Brenners. Der Software. Da die Programmbeschreibung schon in der letzten Ausgabe erschienen ist, bleibt dem Programm nicht mehr allzuviel hinzuzufügen.

Es wurden lediglich noch einige minimale Änderungen im Programm vorgenommen, so daß ein paar Kleinigkeiten ergänzt werden müssen. Der Menüpunkt »(T)ype wählen« bleibt auch bei Schalterstellung (2532) im Menü. Drückt man dann die »T«-Taste, so passiert nichts. Zeigt der Schalter vom Computer weg (Stellung 27xxx), kann mit Hilfe der »T«-Taste, durch»blättern« das gewünschte EPROM aus der 27er-Familie ausgewählt werden. Der jeweils aktuelle EPROM-Typ erscheint am Bildschirm rechts oben.

Interessant und wichtig ist noch das Register für den CIA 1, Port B. Dieses Register steuert die Kontroll-Logik zum Programmieren beziehungsweise Lesen der verschiedenen EPROM-Typen. Aus der Tabelle kann man den Zusammenhang zwischen EPROM-Typ, Registerinhalt und Schalterstellung entnehmen.

EPROM Bit Schalterstellung
0 1 2 3 4 5 6 7
2532 0 1 0 0 0 0 1 zum Computer hin ↓
2732 0 0 0 0 0 0 0 vom Computer weg ↑
2764 0 1 0 0 1 0 0 vom Computer weg ↑
27128 0 1 0 0 1 0 0 vom Computer weg ↑
27256 1 1 0 1 1 0 0 vom Computer weg ↑
27512 0 0 1 1 1 0 0 vom Computer weg ↑
Höhe der Programmierspannung Umschalter zwischen Vpp und A15 an Pin 1
(Bild 6, 12/85)
Umschalter zwischen PGM und A14 an Pin 27
(Bild 7, 12/85)
Umschalter zwischen +5V und A13 an Pin 26
(Bild 8, 12/85)
Pin 20 Schalterstellung Programmierspannung
Tabelle. Die Bedeutung der Bits, die das EPROM-Programmiergerät verwendet

Bit 0 und Bit 1 bestimmen die Programmierspannung:

REGISTERINHALTSPANNUNG
00=24,0 V—Masse
01=12,5 V—Masse
10=24,0 V—5V
11=12,5 V—5V

Bit 2 steuert Pin 1 des Textoolsockels. Ist Bit 2 nicht gesetzt, dann liegt an diesem Pin die Programmierspannung an. Für das EPROM 27512 ist dort aber die Leitung A15 angeschlossen. Bit 3 kontrolliert den Umschalter zwischen PGM und A14 an Pin 27 des EPROM-Sockels. Ist das Bit gesetzt, liegt Pin 27 auf A14. Bit 4 programmiert den Umschalter zwischen +5V und A13 am Pin 26. Ist das Bit gesetzt, so liegt Pin 26 an A13. Bit 5 ist in unserem Fall unwichtig. Bit 6 ist gesetzt, wenn der Schalter auf Stellung 2532 steht (zum Computer hin). Bit 7 steuert zu guter Letzt die Programmierspannung.

EPROM-bedingte Veränderungen der Software

Beim Durchtesten aller handelsüblichen EPROMs stellten wir fest, daß das 16-KByte-EPROM (27128) von Mitsubishi nicht richtig programmiert werden kann! Alle anderen 16-KByte-EPROMs sind aber einwandfrei zu programmieren. Beim Programmieren des 2532 von Texas Instruments mußten wir feststellen, daß beim unmittelbaren Überprüfen des beschriebenen Bytes immer ein VERIFY-Fehler angezeigt wird. Trotzdem wurde das EPROM aber richtig programmiert. Der Fehler läßt sich dadurch erklären, daß dieses EPROM zu lange braucht um von Schreiben auf Lesen umzuschalten. Abhilfe läßt sich durch Abschalten des unmittelbaren Verify erreichen. Dies geht mit einem einfachen POKE-Befehl (nach dem Laden des Maschinenprogramms): POKE 49419,23

Das EPROM kann aber trotzdem nach Beendigung des Programmiervorgangs mit (V)erify überprüft werden. Eine weitere Möglichkeit bietet die Verlängerung der Pause zwischen Programmier- und Lesezyklus. POKEt man in die Speicherstelle 49551 einen Wert größer 3 (zum Beispiel 5 oder 6), dürfte je nach EPROM kein VERIFY-Fehler mehr auftreten. In unserem Fall reichte der Wert 4 schon aus.

Das Programm (siehe Listing) tippen Sie bitte mit dem MSE ab. Beim EPROM-Brenner-Bausatz, beziehungsweise Fertiggerät des 64’er Hardware-Service, ist das Programm bereits enthalten.

(M.Frank/C. Q. Spitzner/og)
PROGRAMM : 64EREPR        C000 C800
-----------------------------------
C000 : 20 5B C3 A2 00 A9 93 20   EF
C008 : D2 FF 20 54 C2 20 E4 FF   2D
C010 : C9 50 D0 03 20 CE C0 C9   A5
C018 : 4C D0 03 20 53 C0 C9 46   80
C020 : D0 03 4C D5 C3 C9 41 D0   71
C028 : 03 20 8A C0 C9 56 D0 03   8F
C030 : 20 C0 C2 C9 57 D0 03 20   E2
C038 : A2 C2 C9 54 D0 03 20 81   E1
C040 : C4 C9 4D F0 BE C9 45 D0   4B
C048 : 01 60 20 A4 C3 20 94 C4   2F
C050 : 4C 0D C0 20 0A C2 20 28   DF
C058 : C2 A9 00 AA A8 AD 0C DF   2C
C060 : C9 FF D0 17 E8 D0 01 C8   EA
C068 : 20 31 C2 C0 FF D0 EE E0   ED
C070 : FF D0 EA A2 02 20 79 C1   71
C078 : A9 00 60 86 FA 84 FB A2   13
C080 : 01 20 79 C1 20 47 C1 A9   BE
C088 : 00 60 A2 03 20 62 C2 20   22
C090 : 0A C2 20 96 C1 A2 07 20   64
C098 : 79 C1 20 CF FF C9 0D F0   58
C0A0 : 03 A9 4D 60 20 28 C2 20   66
C0A8 : B5 C2 20 36 C1 20 F8 C1   12
C0B0 : D0 03 A9 4D 60 A0 00 AD   7C
C0B8 : 0C DF 91 FA E6 FA D0 02   05
C0C0 : E6 FB E6 FE D0 02 E6 FF   F6
C0C8 : 20 31 C2 4C AD C0 A2 08   36
C0D0 : 20 62 C2 20 0A C2 20 96   3A
C0D8 : C1 A2 07 20 79 C1 20 CF   76
C0E0 : FF C9 0D F0 03 A9 4D 60   99
C0E8 : 20 B5 C2 20 36 C1 20 F8   7B
C0F0 : C1 D0 03 A9 4D 60 A0 00   6A
C0F8 : 20 18 C2 B1 FA C9 FF F0   EB
C100 : 09 8D 0C DF 20 43 C2 20   36
C108 : 95 C3 20 0A C2 20 8E C1   B3
C110 : A0 00 AD 0C DF D1 FA D0   B7
C118 : 12 20 31 C2 E6 FA D0 02   6C
C120 : E6 FB E6 FE D0 02 E6 FF   56
C128 : 4C EE C0 A2 09 20 79 C1   6B
C130 : 20 48 C1 A9 00 60 A5 FE   B1
C138 : 8D 08 DF A5 FF 8D 0A DF   CA
C140 : A9 00 85 FE 85 FF 60 EA   DA
C148 : A2 01 B5 FA 48 4A 4A 4A   CC
C150 : 4A 38 E9 0A 30 03 18 69   C0
C158 : 07 18 69 3A 20 D2 FF 68   76
C160 : 29 0F 38 E9 0A 30 03 18   BA
C168 : 69 07 18 69 3A 20 D2 FF   78
C170 : CA 10 D7 60 A9 93 20 D2   A2
C178 : FF BD E1 C4 AA BD F0 C4   4D
C180 : 48 29 FF 20 D2 FF E8 68   02
C188 : 10 F3 20 D5 C4 60 A0 03   2C
C190 : 20 99 C3 A0 00 60 A0 00   07
C198 : A2 04 8A 48 20 79 C1 A2   02
C1A0 : 00 20 CF FF C9 0D F0 0F   8B
C1A8 : 9D 44 03 E8 E0 04 D0 F1   9B
C1B0 : 20 CF FF C9 0D D0 F9 8A   45
C1B8 : F0 04 BD 43 03 CA 20 EA   5F
C1C0 : C1 99 FA 00 8A F0 04 BD   C8
C1C8 : 43 03 CA 20 EA C1 0A 0A   3C
C1D0 : 0A 0A 19 FA 00 99 FA 00   3E
C1D8 : C8 98 49 00 29 01 09 00   FD
C1E0 : D0 D5 68 AA E8 E0 07 D0   5D
C1E8 : B1 60 0A 30 04 4A 29 0F   A7
C1F0 : 60 4A 18 69 09 29 0F 60   7F
C1F8 : A5 FE C5 FC D0 09 A5 FF   19
C200 : C5 FD D0 03 A9 00 60 A9   C8
C208 : 01 60 A9 00 8D 0D DF 8D   80
C210 : 0C DF A9 04 8D 0D DF 60   78
C218 : A9 00 8D 0D DF A9 FF 8D   2D
C220 : 0C DF A9 04 8D 0D DF 60   88
C228 : A9 00 8D 08 DF 8D 0A DF   88
C230 : 60 18 AD 08 DF 69 01 8D   71
C238 : 08 DF AD 0A DF 69 00 8D   41
C240 : 0A DF 60 AD 0E DF 09 80   0D
C248 : 8D 0E DF AD 0E DF 29 7F   0D
C250 : 8D 0E DF 60 A2 00 BD E1   CD
C258 : C5 48 20 D2 FF E8 68 10   AD
C260 : F5 60 8A 48 A9 18 85 FA   98
C268 : 85 FC A9 05 85 FD A9 D9   19
C270 : 85 FB A0 00 A2 20 AD 21   3F
C278 : D0 29 0F 91 FA 8A 91 FC   17
C280 : E6 FA E6 FC D0 F0 E6 FB   65
C288 : E6 FD A5 FD C9 08 D0 E6   84
C290 : A9 13 20 D2 FF A9 0D 20   E7
C298 : D2 FF 20 D2 FF 68 AA 4C   53
C2A0 : 74 C1 A2 08 20 62 C2 20   FF
C2A8 : 0A C2 20 25 C3 D0 03 4C   27
C2B0 : E8 C0 4C D6 C0 A2 05 B5   87
C2B8 : FA 9D 49 03 CA 10 F8 60   05
C2C0 : A2 0A 20 62 C2 20 0A C2   97
C2C8 : 20 25 C3 F0 12 20 96 C1   8A
C2D0 : A2 07 20 79 C1 20 CF FF   89
C2D8 : C9 0D F0 03 A9 4D 60 20   8B
C2E0 : B5 C2 20 36 C1 20 F8 C1   4A
C2E8 : D0 03 A9 4D 60 A0 00 AD   B4
C2F0 : 0C DF D1 FA D0 1C E6 FA   3F
C2F8 : D0 02 E6 FB E6 FE D0 02   B0
C300 : E6 FF 20 31 C2 20 F8 C1   A9
C308 : D0 E3 A2 0C 20 79 C1 A9   1C
C310 : 00 60 A9 0D 20 D2 FF 20   25
C318 : D2 FF A2 0B 20 79 C1 20   09
C320 : 47 C1 A9 00 60 A0 00 A2   03
C328 : 04 8A 48 20 79 C1 68 AA   24
C330 : B9 49 03 85 FA B9 4A 03   AC
C338 : 85 FB 8A 48 20 47 C1 68   7B
C340 : AA C8 C8 E8 E0 07 D0 E1   EB
C348 : 20 79 C1 A2 05 BD 49 03   53
C350 : 95 FA CA 10 F8 20 CF FF   E7
C358 : C9 0D 60 A9 00 8D 0D DF   55
C360 : 8D 0C DF 8D 0F DF 8D 09   D5
C368 : DF 8D 0B DF A9 FF 8D 08   AD
C370 : DF 8D 0A DF A9 BF 8D 0E   7F
C378 : DF A9 04 8D 0D DF 8D 0F   03
C380 : DF 8D 09 DF 8D 0B DF A9   68
C388 : 00 8D 08 DF 8D 0A DF A9   49
C390 : 12 8D 0E DF 60 A2 5F A0   C2
C398 : 22 CA E0 00 D0 FB 88 C0   E8
C3A0 : 00 D0 F6 60 C9 85 D0 03   E4
C3A8 : EE 20 D0 C9 86 D0 03 EE   EC
C3B0 : 21 D0 C9 87 D0 03 4C BA   68
C3B8 : C3 60 AE CE C6 E0 10 D0   86
C3C0 : 05 A2 00 8E CE C6 EE CE   65
C3C8 : C6 E8 BD CE C6 20 D2 FF   04
C3D0 : 68 68 4C 03 C0 A2 0D 20   75
C3D8 : 62 C2 20 E4 FF C9 4F D0   6D
C3E0 : 03 4C F3 C3 C9 48 D0 03   A7
C3E8 : 4C 06 C4 C9 0D F0 03 4C   9F
C3F0 : DA C3 60 A9 01 8D DF C6   83
C3F8 : A9 FF 8D E0 C6 8D E1 C6   0E
C400 : 20 1B C4 4C 34 C4 A9 00   79
C408 : 8D DF C6 A9 00 8D E0 C6   E9
C410 : A9 10 8D E1 C6 20 1B C4   C4
C418 : 4C 34 C4 A2 0E 20 79 C1   4F
C420 : A0 00 20 CF FF C9 0D D0   E6
C428 : 04 8C E2 C6 60 99 E5 C6   FC
C430 : C8 4C 22 C4 A9 02 A2 08   85
C438 : AC DF C6 20 BA FF AD E2   B2
C440 : C6 AE E3 C6 AC E4 C6 20   7C
C448 : BD FF A9 00 AE E0 C6 AC   D6
C450 : E1 C6 20 D5 FF 8E F9 C6   41
C458 : 8C FA C6 AD DF C6 D0 1E   7C
C460 : AD F9 C6 8D 4B 03 AD FA   E7
C468 : C6 29 EF 8D 4C 03 A9 00   F4
C470 : 8D 49 03 8D 4D 03 8D 4E   D4
C478 : 03 A9 10 8D 4A 03 4C 03   FA
C480 : C0 AD FB C6 C9 04 D0 05   F8
C488 : A9 00 8D FB C6 EE FB C6   75
C490 : 20 94 C4 60 AD 0E DF 29   55
C498 : 40 F0 08 A9 00 8D FB C6   72
C4A0 : 4C AD C4 AE FB C6 D0 05   0D
C4A8 : E8 E8 8E FB C6 AE FB C6   87
C4B0 : AD 0E DF 29 40 1D 04 C7   0E
C4B8 : 8D 0E DF 8A 18 2A 2A 2A   65
C4C0 : AA A0 00 BD 09 C7 99 FC   A1
C4C8 : C6 E8 C8 C0 08 D0 F4 20   68
C4D0 : D5 C4 A9 00 60 A2 07 BD   24
C4D8 : FC C6 9D 1F 04 CA 10 F7   49
C4E0 : 60 00 A4 98 8D 28 42 5B   56
C4E8 : 74 18 00 B5 00 BE C2 E5   EC
C4F0 : 0D 50 52 4F 47 52 41 4D   4A
C4F8 : 4D 49 45 52 46 45 48 4C   CE
C500 : 45 52 20 49 4E 20 24 A0   57
C508 : 0D 0D 50 52 4F 47 52 41   F5
C510 : 4D 4D 49 45 52 45 4E 8D   A2
C518 : 0D 0D 45 52 53 54 45 53   DB
C520 : 20 53 50 45 49 43 48 45   01
C528 : 52 42 59 54 45 20 3F 20   0F
C530 : 24 A0 0D 41 4E 5A 41 48   5D
C538 : 4C 20 44 45 52 20 42 59   30
C540 : 54 45 53 20 20 20 20 3F   12
C548 : 20 24 A0 0D 53 54 41 52   C6
C550 : 54 42 59 54 45 20 49 4D   BB
C558 : 20 45 50 52 4F 4D 20 20   99
C560 : 3F 20 24 A0 0D 41 4C 4C   71
C568 : 45 53 20 52 49 43 48 54   22
C570 : 49 47 20 28 5F 2F 4E 29   65
C578 : 20 3F 20 20 A0 0D 0D 41   6D
C580 : 55 53 4C 45 53 45 4E 8D   EE
C588 : 0D 45 50 52 4F 4D 20 4C   0F
C590 : 45 45 52 8D 0D 45 50 52   9F
C598 : 4F 4D 20 56 4F 4C 4C 20   2A
C5A0 : 41 42 20 24 A0 0D 0D 56   E2
C5A8 : 45 52 49 46 59 8D 0D 4F   06
C5B0 : 4B 8D 0D 0D 4C 41 44 45   11
C5B8 : 4E 0D 3C 4F 3E 52 49 47   B0
C5C0 : 49 4E 41 4C 41 44 52 2E   E6
C5C8 : 0D 3C 48 3E 45 58 20 24   AD
C5D0 : 31 30 30 30 8D 0D 46 49   18
C5D8 : 4C 45 4E 41 4D 45 20 3A   77
C5E0 : A0 0D 0D 20 20 20 20 36   3E
C5E8 : 34 45 52 20 45 50 52 4F   16
C5F0 : 4D 2D 50 52 4F 47 52 41   2D
C5F8 : 4D 4D 49 45 52 45 52 0D   9A
C600 : 0D 0D 20 20 20 20 4D 2E   35
C608 : 46 52 41 4E 4B 20 20 20   08
C610 : 28 43 29 20 36 34 45 52   E7
C618 : 0D 0D 0D 20 20 20 20 3C   EF
C620 : 50 3E 52 4F 47 52 41 4D   B4
C628 : 4D 49 45 52 45 4E 0D 20   F1
C630 : 20 20 20 3C 41 3E 55 53   F2
C638 : 4C 45 53 45 4E 0D 20 20   B2
C640 : 20 20 3C 4C 3E 45 45 52   D1
C648 : 54 45 53 54 0D 20 20 20   31
C650 : 20 3C 56 3E 45 52 49 46   84
C658 : 49 5A 49 45 52 45 4E 0D   6C
C660 : 20 20 20 20 3C 57 3E 49   A7
C668 : 45 44 45 52 48 4F 4C 45   26
C670 : 4E 0D 20 20 20 20 3C 4D   E0
C678 : 3E 45 4E 55 45 0D 20 20   15
C680 : 20 20 3C 45 3E 4E 44 45   5A
C688 : 0D 20 20 20 20 3C 46 3E   2B
C690 : 49 4C 45 20 4C 41 44 45   BF
C698 : 4E 0D 20 20 20 20 3C 54   16
C6A0 : 3E 59 50 45 20 57 41 45   94
C6A8 : 48 4C 45 4E 0D 0D 0D 20   DF
C6B0 : 20 20 20 47 45 57 55 45   C0
C6B8 : 4E 53 43 48 54 45 20 54   22
C6C0 : 41 53 54 45 20 44 52 55   81
C6C8 : 45 43 4B 45 4E 8D 01 05   8A
C6D0 : 1C 1E 1F 90 95 81 96 97   C4
C6D8 : 98 99 9A 9B 9C 9E 9F 00   94
C6E0 : FF FF 00 E5 C6 FF 00 00   08
C6E8 : FF FF 00 00 FF FF 00 00   E7
C6F0 : FF FF 00 00 FF FF 00 00   EF
C6F8 : FF 00 00 02 FF FF 00 00   38
C700 : 00 00 FF FF 02 00 12 1B   9F
C708 : 1C 32 35 33 32 20 20 20   D6
C710 : 20 32 37 33 32 20 20 20   63
C718 : 20 32 37 36 34 2F 31 32   CC
C720 : 38 32 37 32 35 36 20 20   4B
C728 : 20 32 37 35 31 32 20 20   3B
C730 : 20 00 FF FF 00 00 FF FF   50
C738 : 00 00 FF FF 00 00 FF FF   38
C740 : 00 00 FF FF 00 00 FF FF   40
C748 : 00 00 FF FF 00 00 FF FF   48
C750 : 00 00 FF FF 00 00 FF FF   50
C758 : 00 00 FF FF 00 00 FF FF   58
C760 : 00 00 FF FF 00 00 FF FF   60
C768 : 00 00 FF FF 00 00 FF FF   68
C770 : 00 00 FF FF 00 00 FF FF   70
C778 : 00 00 FF FF 00 00 FF FF   78
C780 : 00 00 FF FF 00 00 FF FF   80
C788 : 00 00 FF FF 00 00 FF FF   88
C790 : 00 00 FF FF 00 00 FF FF   90
C798 : 00 00 FF FF 00 00 FF FF   98
C7A0 : 00 00 FF FF 00 00 FF FF   A0
C7A8 : 00 00 FF FF 00 00 FF FF   A8
C7B0 : 00 00 FF FF 00 00 FF FF   B0
C7B8 : 00 00 FF FF 00 00 FF FF   B8
C7C0 : 00 00 FF FF 00 00 FF FF   C0
C7C8 : 00 00 FF FF 00 00 FF FF   C8
C7D0 : 00 00 FF FF 00 00 FF FF   D0
C7D8 : 00 00 FF FF 00 00 FF FF   D8
C7E0 : 00 00 FF FF 00 00 FF FF   E0
C7E8 : 00 00 FF FF 00 00 FF FF   E8
C7F0 : 00 00 FF FF 00 00 FF FF   F0
C7F8 : 00 00 FF FF 00 00 FF FF   F8
Listing des EPROM-Programmes. Geben Sie dieses Listing bitte mit dem MSE auf Seite 57 ein. Die Beschreibung finden Sie in Ausgabe 1/86.
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →