File-headers Hieronder een paar hex-dumps van de verschillende file-headers die in de loop van de tijd gangbaar zijn geworden voor de Atom. Atom Standaard executable formaat 00000000 00 3c Load address = 0x3c00 00000002 00 3c Exec address = 0x3c00 00000004 00 00 00 00 00 00 00 00 00 00 00 00 Reserved??? 00000010 ec b1 8c 30 80 b0 b0 60 20 a0 20 60 Payload 0000001c 20 60 a0 60 70 79 70 9d 6b b8 7d 1f 6c 0d Structures atom_file_exec = // { UINT16 addr_to_load; // UINT16 addr_to_exec; // BYTE filename[13]; // BYTE payload[size]; // Executable 6502 code } Atom Standard BASIC text format Dit is een eenvoudig file dat de Basic listing bevat zonder header. 00000000 0d CR 00000001 00 0a Line number 10 00000003 20 50 52 4f 47 52 41 4d 20 44 52 55 50 50 45 4c 0d " PROGRAM DRUPPEL" CR 00000014 00 14 Line number 20 00000016 20 44 49 4d 20 52 55 28 31 30 29 0d " DIM RR(10)" CR 00000022 00 1e Line number 30 00000024 20 0d " " CR 00000026 00 28 Line number 40 00000028 20 52 45 4d 20 41 54 4f fd 41 54 49 53 43 48 45 " REM ATOMATISCHE" 00000038 20 52 41 4d 5a 41 41 44 2d 0d "RAMZAAD" CR 00000042 00 32 Line number 50 Structures atom_basic_line = { UINT8 line_num_hi; // MSB first! for speed of BASIC UINT8 line_num_lo; // BYTE line_text[]; // BYTE terminator_cr; // always CR }atom_basic_program = { atom_basic_line[]; // just an array of lines } Atom-in-PC De header die gebruikt wordt door Atom-in-PC van Roland Leurs. 00000000 00 29 Load address = 0x2900 00000002 af af Exec address = 0xafaf 00000004 00 00 00 00 00 00 00 00 00 00 00 00 00 Reserved ???? 00000010 0d CR 00000011 00 0a Line number 10 00000013 20 50 52 4f 47 52 41 4d 20 44 52 55 50 50 45 4c 0d " PROGRAM DRUPPEL" CR 00000024 00 14 Line number 20 00000026 20 44 49 4d 20 52 55 28 31 30 29 0d " DIM RR(10)" CR 00000032 00 1e Line number 30 00000034 20 0d " " CR 00000036 00 28 Line number 40 00000038 20 52 45 4d 20 41 54 4f fd 41 54 49 53 43 48 45 " REM ATOMATISCHE" 00000048 20 52 41 4d 5a 41 41 44 2d 0d "RAMZAAD" CR 00000052 00 32 Line number 50 Structures atom_file_roland = // { UINT16 addr_to_load; // UINT16 addr_to_exec; // BYTE filename[13]; // BYTE payload[size]; // e.g. BASIC program text } Atom Emulator De header die gebruikt wordt door Atom Emulator Wouter Ras 00000000 44 52 55 50 50 45 4c 00 00 00 00 00 00 00 00 00 "DRUPPEL" plus nine zeros 00000010 00 29 Load address = 0x2900 00000012 86 ce Exec address = 0xce86 00000014 f1 0e Size = 0x0ef1 00000016 0d CR 00000017 00 0a Line number 10 00000019 20 50 52 4f 47 52 41 4d 20 44 52 55 50 50 45 4c 0d " PROGRAM DRUPPEL" CR 0000002a 00 14 Line number 20 0000002c 20 44 49 4d 20 52 55 28 31 30 29 0d " DIM RR(10)" CR 00000038 00 1e Line number 30 0000003a 20 0d " " CR 0000003c 00 28 Line number 40 0000003e 20 52 45 4d 20 41 54 4f fd 41 54 49 53 43 48 45 " REM ATOMATISCHE" 0000004e 20 52 41 4d 5a 41 41 44 2d 0d "RAMZAAD" CR 00000059 00 32 Line number 50 Structures atom_file_wouter = // { BYTE filename_c[16]; // NULL terminated, C style UINT16 addr_to_load; // UINT16 addr_to_exec; // UINT16 size; // BYTE payload[size]; // e.g. BASIC program text } |