Eben kurz den aktuellen Stand festhalten,
nachdem in der bisherigen Version ein Bug gefunden wurde, habe ich mich ziemlich geärgert, weil ich das GAL nicht updaten konnte.
Aus-, und Einlöten hat auch nicht wirklich funktioniert, also habe ich die Platine angepasst, neu hinzugekommen sind nur die Lötpads
an der Unterkante, so lässt sich das GAL, über einen Adapter programmieren.
Der Adapter hat mir echt Kopfschmerzen bereitet, der Footprint des GAL's ist gespiegelt, der MegaBit-Adapter wird Ăśberkopf gesteckt,
zusätzlich müssen noch 3 Verbindungen gesteckt werden.
Und dann ist mir aufgefallen das ich, mit kleinen Anpassungen am JEDEC, nicht nur das EPROM ST27C801 (8MBit, 1MB x8 ), sondern
auch den Flash AT29C040 (4MBit, 512KB x8 ) unterstĂĽtzen kann, die Pinbelegung unterscheidet sich zwar geringfĂĽgig, aber das kann
ich ĂĽber das GAL regeln.
Der Flash hat zwar nur 512KB, damit läuft das originale "megabit-help.bin" NICHT, aber für eigene ROM's, erstellt mit dem UC-Builder
von Diddl ist das völlig ausreichend, vor allem in der Testphase spart so ein Flash einiges an Zeit.
Please login to see this attachment.Please login to see this attachment.Please login to see this attachment.
Neben den Gerber-Files für den Megabit-Adapter, und den Programmieradapter, hänge ich auch die Source der JEDEC-Datei an, Zeile 32
gibt vor ob ein EPROM (MODE ='b'0), oder ein Flash (MODE ='b'1) verwendet wird.
Die JEDEC unterstützt noch eine 3. Version, mit umschaltbarem Chip-Type (Lötjumper), das das ist aber bislang ungetestet, die Platinen
sind noch im Zulauf.
Name MegaBit-Adapter;
PartNo GAL16v8D;
Date 2025-07-26;
Revision 01;
Designer Jood/androSID;
Company private;
Assembly None;
Location Germany;
/* Registered Mode */
Device G16V8MS;
/* Clock and control signals */
Pin 2 = PHI2; /* C128 Phi2 clock*/
Pin 3 = CS; /* Chip Select (from U3) */
Pin 4 = RESET; /* Asynchronous reset */
/* Data inputs D00..D04 */
Pin 5 = D04;
Pin 6 = D03;
Pin 7 = D02;
Pin 8 = D01;
Pin 9 = D00;
/* Transparent latches for S15..S19 */
Pin 15 = S15; /* Latch for S15 (D00) */
Pin 16 = S16; /* Latch for S16 (D01) */
Pin 17 = S17; /* Latch for S17 (D02) */
Pin 18 = S18; /* MODE=0: Latch for S18 (D03), MODE=1: always High */
Pin 19 = S19; /* MODE=0: Latch for S19 (D04), MODE=1: Latch for S18 (D03) */
MODE = 'b'0; /* MODE = 'b'1 */
/* ----------- Equations ----------- */
EN = !CS & PHI2; /* Enable signal: active when CS=0 and PHI2=1 */
/* All latches with asynchronous reset */
S15 = RESET & ((EN & D00) # (!EN & S15)); /* Latch for S15 (D00) */
S16 = RESET & ((EN & D01) # (!EN & S16)); /* Latch for S16 (D01) */
S17 = RESET & ((EN & D02) # (!EN & S17)); /* Latch for S17 (D02) */
/* MODE=0: Latch for S18 (D03), MODE=1: High */
S18 = MODE # (!MODE & (RESET & ((EN & D03) # (!EN & S18))));
/* MODE=0: Latch for S19 (D04), MODE=1: Latch for S18 (D03) */
S19 = RESET & ((EN & ((MODE & D03) # (!MODE & D04))) # (!EN & S19));
/* -- fin -- */
Display More
Mfg Jood