.A.. ************************* * PROGRAM FILE FORMATS * ************************* * E.P. REBEL 21-01-1987 * ************************* ======================================== GRAM KARTE (Mechatronic, West-Duitsland) ======================================== Header : 6 bytes. Data : max >2000 bytes. File opbouw: ------------------------------------------------------ byte 0-1 : Vlag - >A5A5:GROM file. >5A5A:ROM file. byte 2-3 : Voor GROM: laad adres. Voor ROM : bank access adres. byte 4-5 : Lengte van data. byte 6+ : Data. Voorbeeld: >A5A5 >6000 >1800 - GROM >6000 (6k) >5A5A >6000 >2000 - ROM >6000 (8k) >5A5A >6002 >1000 - ROM >7000 bank 2 (4k) >5A5A >6004 >1000 - ROM >7000 bank 3 (4k) Opmerking: Laad gegevens staan in een DIS/VAR 80 file. Iedere regel bavat device+file naam. Eventueel gevolgd door GRMRD adres. Afsluiting met een lege regel. =================================== GRAM KRACKER (Millers Graphics-USA) =================================== Header : 6 bytes. Data : max >2000 bytes. File opbouw: --------------------------------------------------------------------- byte 0 : Vlag - >00: Dit is de laatste file. >80: Er volgt een memory image file. >FF: Er volgen meer files. byte 1 : GRAM/RAM aanduiding - >00: Laatste memory image file. - >01: GRAM 0 file (>0000). - >02: GRAM 1 file (>2000). - >03: GRAM 2 file (>4000). - >04: GRAM 3 file (>6000). - >05: GRAM 4 file (>8000). - >06: GRAM 5 file (>A000). - >07: GRAM 6 file (>C000). - >08: GRAM 7 file (>E000). - >09: RAM bank 0 file (>6000). - >0A: RAM bank 2 file (>6000). - >FF: Er volgt memory image file. byte 2-3 : Lengte van data. byte 4-5 : Laad adres (bij eerste memory image file ook start adres). byte 6+ : Data. Voorbeeld: >FF09 >2000 >6000 - ROM >6000 (8k) bank 0 >FF05 >2000 >8000 - GROM >8000 (8k) >8004 >2000 >8000 - GROM >8000 (8k) >0000 >2000 >A000 - RAM >A000 (8k) Opmerking: Laad gegevens volgt uit vlag. Laatste byte van file naam wordt steeds met >01 verhoogd. Eerste file naam bevat teken minder zodat tweede file een 1 als achtervoegsel krijgt. Uitzondering bij file naam lengte van 10 bytes. .. =============================================== GRAM SIMULATOR (TI Gebruikers Groep, Nederland) =============================================== Header : 1 byte. Data : >2000 bytes. File opbouw: ---------------------------- byte 0 : Diverse gegevens. byte 1+ : Data. Header opbouw: ------------------------------------------ bit 0 : Vlag - 1: Er volgen meer files. 0: Dit is laatste file. bit 1 : Vlag - 1: GROM file. 0: ROM file. bit 2-4 : Rom bank. bit 5-7 : Grom bank. Voorbeeld: C3 - GROM >6000 (eerste file) C4 - GROM >8000 (tweede file) 88 - ROM >6000 (derde file) 10 - ROM bank 2 (laatste file) C3 - GROM >6000 (eerste file) 44 - GROM >8000 (laatste file) C3 - GROM >6000 (eerste file) 08 - ROM >6000 (laatste file) =============================================== MODULE SIMULATOR (Texas Instruments, Nederland) =============================================== Header : 10 bytes. Data : max >2000 bytes. File opbouw: ----------------------------------------------------------------- byte 0-3 : Vlag - >424D >4D57. byte 4-5 : GRMWA (grom write address). byte 6-7 : Laad adres. byte 8-9 : Lengte van data. byte A+ : Data. Voorbeeld: >424D >4D57 >9C02 >6000 >1800 - GROM >6000 (6k) >424D >4D57 >9C0A >F000 >2000 - ROM >6000 (8k) >424D >4D57 >9C0A >1000 >1000 - PAGE 1 (4k) >424D >4D57 >9C0A >2000 >1000 - PAGE 2 (4k) Opmerking: Laad gegevens staan in een PROGRAM file. Deze heet altijd DSK1.CATALOG (lengte is >01FF bytes). Opbouw : 14 bytes - herkenningsnaam (ascii). 28 bytes - filenamen (lengte byte vooraf). Afsluiting met >00. Herhaling bij meerdere modules. Afsluiting met >0000. Voorbeeld: 'EXBAS MODIFIED' >02 'G3' >02 'G4' >02 'G5' >02 'G6' >02 'R0' >02 'P1' >00 >00 >0000 >0000 >0000 >0000 'NEXT MODULE ' .... .. =========================================== MEMORY IMAGE E/A MODULE (Texas Instruments) =========================================== Header : 6 bytes. Data : max >1FF6 bytes. File opbouw: -------------------------------------------------------------------- byte 0-1 : Vlag - >FFFF: Er volgen meer files. - >0000: Dit is laatste file. byte 2-3 : Lengte totale file (header+data). byte 4-5 : Laad adres (Bij eerste file ook start adres). byte 6+ : Data. Voorbeeld: >FFFF >2000 >A000 - RAM >A000 (eerste file) >0000 >0B84 >BFFA - RAM >BFFA (tweede file) Opmerking: Laad gegevens volgt uit vlag. Laatste byte van file naam wordt steeds met >01 verhoogd. ========================================== RAM MODULE HANDLER (E.P. Rebel, Nederland) ========================================== Header : 6 bytes. Data : max >2000 bytes. File opbouw: --------------------------------------------- byte 0-1 : Vlag - >0000: Er is maar een file. byte 2-3 : Lengte totale file (header+data). byte 4-5 : Laad adres. byte 6+ : Data. Voorbeeld: >0000 >2006 >6000 - ROM >6000 (8k) >0000 >1006 >6000 - ROM >6000 (4k) ======================================= DSR RAM HANDLER (E.P. Rebel, Nederland) ======================================= Header : 6 bytes. Data : max >2000 bytes. File opbouw: ------------------------------------------------------- byte 0-1 : Cru base adres of CRU bank switch adres. byte 2-3 : Lengte van totale file (header+data). byte 4-5 : Laad adres. byte 6+ : Data. Voorbeeld: >1600 >2006 >4000 - DSRROM CRU >1600 (8k) >1102 >1006 >5000 - CORCOMP DSRROM bank (4k) .. =========================== EASYBUG (Texas Instruments) =========================== Header : 4 bytes. Data : max >2000 bytes. File opbouw: --------------------------- byte 0-1 : Laad adres. byte 2-3 : Lengte van data. byte 4+ : Data. Voorbeeld: >7000 >1000 - RAM >7000 (4k) >2000 >2000 - RAM >2000 (8k) ========================= BASIC (Texas Instruments) ========================= Header : 8 bytes. Data : File opbouw: ------------------------------------------------------ byte 0-1 : Check flag - XOR van volgende twee waarden. Bij protectie 2's complement waarde. byte 2-3 : Inhoud van >8332 tijdens SAVEn. byte 4-5 : Inhoud van >8330 tijdens SAVEn. byte 6-7 : Inhoud van >8370 tijdens SAVEn. Voorbeeld: >01F7 >2F41 >2EB6 >37D7 >FE61 >259D >2402 >37D7 Opmerking: Lengte is te bepalen met de formule: (*>8370)-(*>8330)+(9) ======================================================= EXTENDED BASIC (INT/VAR 254 FORMAT) (Texas Instruments) ======================================================= Header : 10 bytes (eerste record). Data : volgende records. Header opbouw: ---------------------------------------------------- byte 0-1 : Vlag ->ABCD. byte 2-3 : Inhoud van >8332 tijdens SAVEn. byte 4-5 : Inhoud van >8330 tijdens SAVEn. byte 6-7 : Check flag - XOR van vorige twee waarden. Bij protectie 2's complement waarde. byte 8-9 : Inhoud van >8370 tijdens SAVEn. Voorbeeld: >ABCD >BA1B >BE7A >0461 >FFE7 Opmerking: Lengte is te bepalen met de formule: (*>8370)-(*>8330)+(9) .. ===================================== LOGO (PROCEDURES) (Texas Instruments) ===================================== Header : 4 bytes. Data : File opbouw: ------------ byte 0-1 : >0000. byte 2-3 : Lengte van data. byte 4+ : Data. Voorbeeld: Opmerking: Filenaam wordt vooraf gegaan door 'P_' =========================================== LOGO (VORMEN EN HOKJES) (Texas Instruments) =========================================== Data : >0C00 bytes. Data opbouw: --------------------------------------- >0000- >03FF : Vormen definities (sprites). >0400- >0BFF : Hokjes definities (chars). Opmerking: Filenaam wordt vooraf gegaan door 'S_' ================================ LOGO (ALLES) (Texas Instruments) ================================ Data : >0C1F bytes. Header : 4 bytes. Data : File opbouw: --------------------------------------- >0000- >03FF : Vormen definities (sprites). >0400- >0BFF : Hokjes definities (chars). >0C00- >0C21 : Gevuld met >0000. >0C22- >0C23 : Lengte van volgende data. >0C24+ : Data. Opmerking: Filenaam wordt vooraf gegaan door 'A_' .A... ......................