_  __   _  _         _ _     _      _           _           
  __| |/ /_ | || |     __| (_)___| | __ (_)_ __   __| | _____  __
 / _` | '_ \| || |_   / _` | / __| |/ / | | '_ \ / _` |/ _ \ \/ /
| (_| | (_) |__   _| | (_| | \__ \   <  | | | | | (_| |  __/>  < 
 \__,_|\___/   |_|    \__,_|_|___/_|\_\ |_|_| |_|\__,_|\___/_/\_\
                                                                 
            

FORMAT.BIN

FILE INFORMATION

FILENAME(S): FORMAT.BIN

FILE TYPE(S): PRG

FILE SIZE: 4.4K

FIRST SEEN: 2025-10-20 14:31:49

APPEARS ON: 1 disk(s)

FILE HASH

1a7413ad00324cd236490f0771688445813b5a3d7cbb932d0bf1f661d6000533

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
0485A FORMAT.BIN PRG Treasure Chest - Klaus Der Suhler 32 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 47 45 4F 50 41 49 4E 54  20 46 49 4C 45 20 46 4F  |GEOPAINT FILE FO|
00000010: 52 4D 41 54 0D 0A 0D 0A  20 20 20 20 20 43 61 72  |RMAT....     Car|
00000020: 64 73 20 61 6E 64 20 63  6F 6C 6F 72 20 6F 6E 20  |ds and color on |
00000030: 74 68 65 20 63 36 34 20  28 62 61 63 6B 67 72 6F  |the c64 (backgro|
00000040: 75 6E 64 29 2E 0D 0A 54  68 65 20 67 72 61 70 68  |und)...The graph|
00000050: 69 63 73 20 6D 6F 64 65  20 75 73 65 64 20 62 79  |ics mode used by|
00000060: 20 47 45 4F 53 20 6F 6E  20 74 68 65 20 63 36 34  | GEOS on the c64|
00000070: 20 73 75 70 70 6F 72 74  73 20 33 32 30 20 62 79  | supports 320 by|
00000080: 0D 0A 32 30 30 20 72 65  73 6F 6C 75 74 69 6F 6E  |..200 resolution|
00000090: 2C 20 6F 72 67 61 6E 69  7A 65 64 20 61 73 20 61  |, organized as a|
000000A0: 20 34 30 20 62 79 20 32  35 20 6D 61 74 72 69 78  | 40 by 25 matrix|
000000B0: 20 6F 66 20 38 20 62 79  20 38 0D 0A 70 69 78 65  | of 8 by 8..pixe|
000000C0: 6C 20 63 61 72 64 73 2E  20 20 54 68 65 73 65 20  |l cards.  These |
000000D0: 63 61 72 64 73 20 61 72  65 20 73 74 6F 72 65 64  |cards are stored|
000000E0: 20 69 6E 20 74 68 65 20  66 72 61 6D 65 20 62 75  | in the frame bu|
000000F0: 66 66 65 72 0D 0A 66 72  6F 6D 20 6C 65 66 74 20  |ffer..from left |
00000100: 74 6F 20 72 69 67 68 74  2C 20 74 6F 70 20 74 6F  |to right, top to|
00000110: 20 62 6F 74 74 6F 6D 2E  20 20 54 68 65 20 64 69  | bottom.  The di|
00000120: 61 67 72 61 6D 20 62 65  6C 6F 77 0D 0A 62 65 74  |agram below..bet|
00000130: 74 65 72 20 69 6C 6C 75  73 74 72 61 74 65 73 20  |ter illustrates |
00000140: 74 68 69 73 20 66 6F 72  6D 61 74 2E 0D 0A 0D 0A  |this format.....|
00000150: 4F 4E 20 53 43 52 45 45  4E 3A 20 0D 0A 63 61 72  |ON SCREEN: ..car|
00000160: 64 30 20 20 20 63 61 72  64 31 20 20 20 63 61 72  |d0   card1   car|
00000170: 64 32 20 20 2E 2E 2E 20  20 20 63 61 72 64 33 39  |d2  ...   card39|
00000180: 20 0D 0A 63 61 72 64 34  30 20 20 63 61 72 64 34  | ..card40  card4|
00000190: 31 20 20 63 61 72 64 34  32 20 2E 2E 2E 20 20 20  |1  card42 ...   |
000001A0: 63 61 72 64 37 39 20 0D  0A 20 2E 0D 0A 20 2E 0D  |card79 .. ... ..|
000001B0: 0A 63 61 72 64 39 36 30  20 63 61 72 64 39 36 31  |.card960 card961|
000001C0: 20 63 61 72 64 39 36 32  20 2E 2E 2E 20 20 63 61  | card962 ...  ca|
000001D0: 72 64 39 39 39 0D 0A 0D  0A 45 41 43 48 20 43 41  |rd999....EACH CA|
000001E0: 52 44 3A 20 20 62 79 74  65 30 0D 0A 20 20 20 20  |RD:  byte0..    |
000001F0: 20 20 20 20 20 20 20 20  62 79 74 65 31 0D 0A 20  |        byte1.. |
00000200: 20 20 20 20 20 20 20 20  20 20 20 2E 2E 2E 0D 0A  |           .....|
00000210: 20 20 20 20 20 20 20 20  20 20 20 20 62 79 74 65  |            byte|
00000220: 36 20 0D 0A 20 20 20 20  20 20 20 20 20 20 20 20  |6 ..            |
00000230: 62 79 74 65 37 20 0D 0A  20 20 20 20 20 45 61 63  |byte7 ..     Eac|
00000240: 68 20 62 79 74 65 20 63  6F 6E 74 61 69 6E 73 20  |h byte contains |
00000250: 38 20 62 69 74 73 2C 20  31 20 70 65 72 20 70 69  |8 bits, 1 per pi|
00000260: 78 65 6C 20 6F 6E 20 74  68 65 20 73 63 72 65 65  |xel on the scree|
00000270: 6E 2E 0D 0A 54 68 65 73  65 20 65 69 67 68 74 20  |n...These eight |
00000280: 62 79 74 65 73 20 6D 61  6B 65 20 75 70 20 61 6E  |bytes make up an|
00000290: 20 38 20 62 79 20 38 20  70 69 78 65 6C 20 69 6D  | 8 by 8 pixel im|
000002A0: 61 67 65 2E 0D 0A 0D 0A  49 4E 20 46 52 41 4D 45  |age.....IN FRAME|
000002B0: 20 42 55 46 46 45 52 3A  20 0D 0A 20 20 20 20 20  | BUFFER: ..     |
000002C0: 20 20 20 20 20 20 20 20  20 20 43 41 52 44 30 20  |          CARD0 |
000002D0: 20 20 20 43 41 52 44 31  20 20 20 20 43 41 52 44  |   CARD1    CARD|
000002E0: 32 0D 0A 43 41 52 44 20  52 4F 57 20 30 20 2D 3E  |2..CARD ROW 0 ->|
000002F0: 20 20 20 20 20 20 20 62  79 74 65 30 20 20 20 62  |       byte0   b|
00000300: 79 74 65 38 20 20 20 62  79 74 65 20 31 36 20 0D  |yte8   byte 16 .|
00000310: 0A 20 20 20 20 20 20 20  20 20 20 2E 2E 2E 20 20  |.          ...  |
00000320: 20 20 20 20 2E 2E 2E 20  20 20 20 20 20 2E 2E 2E  |    ...      ...|
00000330: 20 0D 0A 20 20 20 20 20  20 20 20 20 20 62 79 74  | ..          byt|
00000340: 65 37 20 20 20 20 62 79  74 65 31 35 20 20 62 79  |e7    byte15  by|
00000350: 74 65 32 33 20 0D 0A 0D  0A 20 20 20 20 20 20 20  |te23 ....       |
00000360: 20 20 20 20 20 20 20 20  43 41 52 44 34 30 20 20  |        CARD40  |
00000370: 20 43 41 52 44 34 31 20  20 20 43 41 52 44 34 32  | CARD41   CARD42|
00000380: 20 0D 0A 43 41 52 44 20  52 4F 57 20 31 20 2D 3E  | ..CARD ROW 1 ->|
00000390: 20 20 20 20 20 62 79 74  65 33 32 30 20 20 62 79  |     byte320  by|
000003A0: 74 65 33 32 38 20 62 79  74 65 33 33 36 20 0D 0A  |te328 byte336 ..|
000003B0: 20 20 20 20 20 20 20 20  20 20 20 2E 2E 2E 20 20  |           ...  |
000003C0: 20 20 20 20 2E 2E 2E 20  20 20 20 20 20 2E 2E 2E  |    ...      ...|
000003D0: 0D 0A 20 20 20 20 20 20  20 20 20 20 62 79 74 65  |..          byte|
000003E0: 33 32 37 20 20 62 79 74  65 33 33 35 20 62 79 74  |327  byte335 byt|
000003F0: 65 34 34 33 0D 0A 0D 0A  20 20 20 20 20 54 68 69  |e443....     Thi|
00000400: 73 20 67 72 61 70 68 69  63 73 20 6D 6F 64 65 20  |s graphics mode |
00000410: 73 75 70 70 6F 72 74 73  20 31 36 20 63 6F 6C 6F  |supports 16 colo|
00000420: 72 73 2C 20 62 75 74 20  74 68 65 20 63 6F 6C 6F  |rs, but the colo|
00000430: 72 0D 0A 72 65 73 6F 6C  75 74 69 6F 6E 20 69 73  |r..resolution is|
00000440: 20 6C 69 6D 69 74 65 64  20 74 6F 20 63 61 72 64  | limited to card|
00000450: 20 62 6F 75 6E 64 61 72  69 65 73 2E 20 20 54 68  | boundaries.  Th|
00000460: 61 74 20 69 73 2C 20 74  77 6F 0D 0A 63 6F 6C 6F  |at is, two..colo|
00000470: 72 73 20 63 61 6E 20 62  65 20 73 70 65 63 69 66  |rs can be specif|
00000480: 69 65 64 20 66 6F 72 20  65 61 63 68 20 63 61 72  |ied for each car|
00000490: 64 20 6F 6E 20 74 68 65  20 73 63 72 65 65 6E 20  |d on the screen |
000004A0: 2D 2D 20 61 0D 0A 62 61  63 6B 67 72 6F 75 6E 64  |-- a..background|
000004B0: 20 63 6F 6C 6F 72 20 28  62 69 74 73 20 73 65 74  | color (bits set|
000004C0: 20 74 6F 20 30 20 69 6E  20 74 68 65 20 63 61 72  | to 0 in the car|
000004D0: 64 29 20 61 6E 64 20 61  0D 0A 66 6F 72 65 67 72  |d) and a..foregr|
000004E0: 6F 75 6E 64 20 63 6F 6C  6F 72 20 28 62 69 74 73  |ound color (bits|
000004F0: 20 73 65 74 20 74 6F 20  31 20 69 6E 20 74 68 65  | set to 1 in the|
00000500: 20 63 61 72 64 29 2E 20  20 54 68 69 73 20 63 6F  | card).  This co|
00000510: 6C 6F 72 0D 0A 69 6E 66  6F 72 6D 61 74 69 6F 6E  |lor..information|
00000520: 20 69 73 20 73 74 6F 72  65 64 20 73 65 70 61 72  | is stored separ|
00000530: 61 74 65 6C 79 20 66 72  6F 6D 20 74 68 65 20 66  |ately from the f|
00000540: 72 61 6D 65 20 62 75 66  66 65 72 2C 0D 0A 6F 6E  |rame buffer,..on|
00000550: 65 20 62 79 74 65 20 70  65 72 20 63 61 72 64 2E  |e byte per card.|
00000560: 20 20 54 68 65 20 68 69  67 68 20 34 20 62 69 74  |  The high 4 bit|
00000570: 73 20 69 6E 20 74 68 65  20 62 79 74 65 20 73 70  |s in the byte sp|
00000580: 65 63 69 66 79 0D 0A 6F  6E 65 20 6F 66 20 31 36  |ecify..one of 16|
00000590: 20 63 6F 6C 6F 72 73 20  74 6F 20 62 65 20 75 73  | colors to be us|
000005A0: 65 64 20 66 6F 72 20 74  68 65 20 66 6F 72 65 67  |ed for the foreg|
000005B0: 72 6F 75 6E 64 2C 20 61  6E 64 20 74 68 65 0D 0A  |round, and the..|
000005C0: 6C 6F 77 20 66 6F 75 72  20 62 69 74 73 20 73 70  |low four bits sp|
000005D0: 65 63 69 66 79 20 74 68  65 20 62 61 63 6B 67 72  |ecify the backgr|
000005E0: 6F 75 6E 64 20 63 6F 6C  6F 72 2E 0D 0A 47 45 4F  |ound color...GEO|
000005F0: 50 41 49 4E 54 20 46 49  4C 45 20 46 4F 52 4D 41  |PAINT FILE FORMA|
00000600: 54 20 0D 0A 2D 2D 2D 2D  2D 2D 2D 2D 20 2D 2D 2D  |T ..-------- ---|
00000610: 2D 20 2D 2D 2D 2D 2D 2D  0D 0A 20 20 20 20 20 41  |- ------..     A|
00000620: 20 67 65 6F 50 61 69 6E  74 20 64 61 74 61 20 66  | geoPaint data f|
00000630: 69 6C 65 20 69 73 20 61  20 56 4C 49 52 20 66 69  |ile is a VLIR fi|
00000640: 6C 65 20 77 69 74 68 20  34 35 20 72 65 63 6F 72  |le with 45 recor|
00000650: 64 73 2E 0D 0A 28 46 6F  72 20 69 6E 66 6F 20 6F  |ds...(For info o|
00000660: 6E 20 77 68 61 74 20 61  20 56 4C 49 52 20 66 69  |n what a VLIR fi|
00000670: 6C 65 20 69 73 2C 20 73  65 65 20 74 68 65 20 47  |le is, see the G|
00000680: 45 4F 53 20 50 72 6F 67  72 61 6D 6D 65 72 27 73  |EOS Programmer's|
00000690: 0D 0A 52 65 66 65 72 65  6E 63 65 20 4D 61 6E 75  |..Reference Manu|
000006A0: 61 6C 29 2E 20 20 45 61  63 68 20 72 65 63 6F 72  |al).  Each recor|
000006B0: 64 20 68 6F 6C 64 73 20  74 68 65 20 69 6D 61 67  |d holds the imag|
000006C0: 65 20 61 6E 64 20 63 6F  6C 6F 72 0D 0A 64 61 74  |e and color..dat|
000006D0: 61 20 66 6F 72 20 61 6E  20 61 72 65 61 20 6F 66  |a for an area of|
000006E0: 20 74 68 65 20 70 61 67  65 20 31 36 20 6C 69 6E  | the page 16 lin|
000006F0: 65 73 20 68 69 67 68 20  62 79 20 36 34 30 20 70  |es high by 640 p|
00000700: 69 78 65 6C 73 0D 0A 77  69 64 65 2E 20 20 41 20  |ixels..wide.  A |
00000710: 67 65 6F 50 61 69 6E 74  20 64 6F 63 75 6D 65 6E  |geoPaint documen|
00000720: 74 20 69 73 20 37 32 30  20 6C 69 6E 65 73 20 68  |t is 720 lines h|
00000730: 69 67 68 20 62 79 20 36  34 30 20 70 69 78 65 6C  |igh by 640 pixel|
00000740: 73 0D 0A 77 69 64 65 2C  20 73 6F 20 65 61 63 68  |s..wide, so each|
00000750: 20 72 65 63 6F 72 64 20  72 65 70 72 65 73 65 6E  | record represen|
00000760: 74 73 20 74 77 6F 20 63  61 72 64 20 72 6F 77 73  |ts two card rows|
00000770: 20 6F 66 20 74 68 65 0D  0A 65 6E 74 69 72 65 20  | of the..entire |
00000780: 64 6F 63 75 6D 65 6E 74  2E 20 20 54 68 65 20 69  |document.  The i|
00000790: 6D 61 67 65 20 64 61 74  61 20 69 73 20 73 74 6F  |mage data is sto|
000007A0: 72 65 64 20 69 6E 20 74  68 65 20 73 61 6D 65 0D  |red in the same.|
000007B0: 0A 63 61 72 64 20 66 6F  72 6D 61 74 20 75 73 65  |.card format use|
000007C0: 64 20 62 79 20 74 68 65  20 33 32 30 20 62 79 20  |d by the 320 by |
000007D0: 32 30 30 20 67 72 61 70  68 69 63 73 20 6D 6F 64  |200 graphics mod|
000007E0: 65 20 6F 6E 20 74 68 65  0D 0A 63 36 34 2C 20 64  |e on the..c64, d|
000007F0: 69 73 63 75 73 73 65 64  20 61 62 6F 76 65 2E 0D  |iscussed above..|
00000800: 0A 20 20 20 20 20 57 68  65 6E 20 61 20 67 65 6F  |.     When a geo|
00000810: 50 61 69 6E 74 20 66 69  6C 65 20 69 73 20 63 72  |Paint file is cr|
00000820: 65 61 74 65 64 2C 20 61  6C 6C 20 34 35 20 72 65  |eated, all 45 re|
00000830: 63 6F 72 64 73 20 61 72  65 0D 0A 6D 61 72 6B 65  |cords are..marke|
00000840: 64 20 61 73 20 75 73 65  64 20 69 6E 20 74 68 65  |d as used in the|
00000850: 20 69 6E 64 65 78 20 74  61 62 6C 65 20 6F 66 20  | index table of |
00000860: 74 68 65 20 56 4C 49 52  20 66 69 6C 65 2E 20 20  |the VLIR file.  |
00000870: 54 68 65 0D 0A 74 72 61  63 6B 20 61 6E 64 20 73  |The..track and s|
00000880: 65 63 74 6F 72 20 70 6F  69 6E 74 65 72 73 20 61  |ector pointers a|
00000890: 72 65 20 73 65 74 20 74  6F 20 24 30 30 2C 24 46  |re set to $00,$F|
000008A0: 46 20 74 6F 20 69 6E 64  69 63 61 74 65 0D 0A 61  |F to indicate..a|
000008B0: 6E 20 65 6D 70 74 79 20  72 65 63 6F 72 64 3B 20  |n empty record; |
000008C0: 69 6E 73 74 65 61 64 20  6F 66 20 24 30 30 2C 24  |instead of $00,$|
000008D0: 30 30 20 77 68 69 63 68  20 69 6E 64 69 63 61 74  |00 which indicat|
000008E0: 65 73 20 61 6E 0D 0A 75  6E 75 73 65 64 20 72 65  |es an..unused re|
000008F0: 63 6F 72 64 2E 0D 0A 20  20 20 20 20 54 68 65 20  |cord...     The |
00000900: 34 35 20 72 65 63 6F 72  64 73 20 61 72 65 20 61  |45 records are a|
00000910: 73 73 69 67 6E 65 64 20  74 6F 20 61 6C 74 65 72  |ssigned to alter|
00000920: 6E 61 74 65 20 63 61 72  64 20 72 6F 77 73 2C 0D  |nate card rows,.|
00000930: 0A 66 72 6F 6D 20 74 6F  70 20 74 6F 20 62 6F 74  |.from top to bot|
00000940: 74 6F 6D 20 6F 6E 20 74  68 65 20 64 6F 63 75 6D  |tom on the docum|
00000950: 65 6E 74 2E 20 20 54 68  61 74 20 69 73 2C 20 72  |ent.  That is, r|
00000960: 65 63 6F 72 64 20 30 0D  0A 63 6F 6E 74 61 69 6E  |ecord 0..contain|
00000970: 73 20 74 68 65 20 69 6D  61 67 65 20 61 6E 64 20  |s the image and |
00000980: 63 6F 6C 6F 72 20 64 61  74 61 20 66 6F 72 20 63  |color data for c|
00000990: 61 72 64 20 72 6F 77 73  20 30 20 61 6E 64 20 31  |ard rows 0 and 1|
000009A0: 3B 0D 0A 72 65 63 6F 72  64 20 31 20 66 6F 72 20  |;..record 1 for |
000009B0: 63 61 72 64 20 72 6F 77  73 20 32 20 61 6E 64 20  |card rows 2 and |
000009C0: 33 2C 20 65 74 63 2E 0D  0A 20 20 20 20 20 54 68  |3, etc...     Th|
000009D0: 65 20 69 6D 61 67 65 20  61 6E 64 20 63 6F 6C 6F  |e image and colo|
000009E0: 72 20 69 6E 66 6F 20 69  73 20 63 6F 6D 70 61 63  |r info is compac|
000009F0: 74 65 64 20 62 65 66 6F  72 65 20 62 65 69 6E 67  |ted before being|
00000A00: 0D 0A 77 72 69 74 74 65  6E 20 74 6F 20 74 68 65  |..written to the|
00000A10: 20 72 65 63 6F 72 64 2E  20 20 54 68 65 20 70 72  | record.  The pr|
00000A20: 65 2D 63 6F 6D 70 61 63  74 65 64 20 6C 61 79 6F  |e-compacted layo|
00000A30: 75 74 20 6F 66 20 74 68  65 0D 0A 64 61 74 61 20  |ut of the..data |
00000A40: 69 73 3A 0D 0A 0D 0A 23  62 79 74 65 73 20 20 73  |is:....#bytes  s|
00000A50: 74 61 72 74 2F 65 6E 64  20 28 24 29 20 20 64 65  |tart/end ($)  de|
00000A60: 73 63 72 69 70 74 69 6F  6E 20 0D 0A 2D 2D 2D 2D  |scription ..----|
00000A70: 2D 2D 20 20 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |--  ------------|
00000A80: 2D 20 20 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 20 0D  |-  ----------- .|
00000A90: 0A 20 36 34 30 20 20 20  20 20 30 30 30 20 2D 20  |. 640     000 - |
00000AA0: 32 37 46 20 20 20 20 20  69 6D 61 67 65 20 64 61  |27F     image da|
00000AB0: 74 61 20 66 6F 72 20 0D  0A 20 20 20 20 20 20 20  |ta for ..       |
00000AC0: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000AD0: 31 73 74 20 63 61 72 64  20 72 6F 77 20 0D 0A 0D  |1st card row ...|
00000AE0: 0A 20 36 34 30 20 20 20  20 20 32 38 30 20 2D 20  |. 640     280 - |
00000AF0: 34 46 46 20 20 20 20 20  69 6D 61 67 65 20 64 61  |4FF     image da|
00000B00: 74 61 20 66 6F 72 20 0D  0A 20 20 20 20 20 20 20  |ta for ..       |
00000B10: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B20: 32 6E 64 20 63 61 72 64  20 72 6F 77 20 0D 0A 0D  |2nd card row ...|
00000B30: 0A 20 20 20 38 20 20 20  20 20 35 30 30 20 2D 20  |.   8     500 - |
00000B40: 35 30 37 20 20 20 20 20  61 6C 6C 20 7A 65 72 6F  |507     all zero|
00000B50: 65 73 2E 20 0D 0A 0D 0A  20 20 38 30 20 20 20 20  |es. ....  80    |
00000B60: 20 35 30 38 20 2D 20 35  35 37 20 20 20 20 20 63  | 508 - 557     c|
00000B70: 6F 6C 6F 72 20 69 6E 66  6F 20 66 6F 72 20 0D 0A  |olor info for ..|
00000B80: 20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000B90: 20 20 20 20 20 20 20 66  69 72 73 74 20 63 61 72  |       first car|
00000BA0: 64 20 72 6F 77 20 0D 0A  0D 0A 20 20 38 30 20 20  |d row ....  80  |
00000BB0: 20 20 20 35 35 38 20 2D  20 35 41 37 20 20 20 20  |   558 - 5A7    |
00000BC0: 20 63 6F 6C 6F 72 20 69  6E 66 6F 20 66 6F 72 20  | color info for |
00000BD0: 0D 0A 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |..              |
00000BE0: 20 20 20 20 20 20 20 20  20 32 6E 64 20 63 61 72  |         2nd car|
00000BF0: 64 20 72 6F 77 0D 0A 0D  0A 20 20 20 20 20 54 68  |d row....     Th|
00000C00: 65 20 65 69 67 68 74 20  62 79 74 65 73 20 6F 66  |e eight bytes of|
00000C10: 20 7A 65 72 6F 20 77 65  72 65 20 69 6E 63 6C 75  | zero were inclu|
00000C20: 64 65 64 20 69 6E 20 67  65 6F 50 61 69 6E 74 20  |ded in geoPaint |
00000C30: 31 2E 30 0D 0A 66 69 6C  65 73 20 74 68 72 6F 75  |1.0..files throu|
00000C40: 67 68 20 61 6E 20 6F 76  65 72 73 69 67 68 74 2C  |gh an oversight,|
00000C50: 20 61 6E 64 20 72 65 74  61 69 6E 65 64 20 61 66  | and retained af|
00000C60: 74 65 72 20 74 68 61 74  20 66 6F 72 0D 0A 63 6F  |ter that for..co|
00000C70: 6D 70 61 74 61 62 69 6C  69 74 79 2E 0D 0A 43 4F  |mpatability...CO|
00000C80: 4D 50 41 43 54 49 4F 4E  20 46 4F 52 4D 41 54 20  |MPACTION FORMAT |
00000C90: 0D 0A 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 20 2D 2D 2D  |..---------- ---|
00000CA0: 2D 2D 2D 0D 0A 20 20 20  20 20 54 68 65 20 63 6F  |---..     The co|
00000CB0: 6D 70 61 63 74 69 6F 6E  20 72 6F 75 74 69 6E 65  |mpaction routine|
00000CC0: 20 6F 70 65 72 61 74 65  73 20 6F 6E 20 74 68 65  | operates on the|
00000CD0: 20 65 6E 74 69 72 65 20  31 34 34 38 0D 0A 62 79  | entire 1448..by|
00000CE0: 74 65 73 20 61 74 20 6F  6E 63 65 2C 20 72 65 73  |tes at once, res|
00000CF0: 75 6C 74 69 6E 67 20 69  6E 20 61 20 73 74 72 69  |ulting in a stri|
00000D00: 6E 67 20 6F 66 20 62 79  74 65 73 20 69 6E 20 74  |ng of bytes in t|
00000D10: 68 65 0D 0A 66 6F 6C 6C  6F 77 69 6E 67 20 66 6F  |he..following fo|
00000D20: 72 6D 61 74 2E 0D 0A 0D  0A 20 20 2D 2D 2D 2D 2D  |rmat.....  -----|
00000D30: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000D40: 0D 0A 20 20 21 20 63 6F  6D 6D 61 6E 64 2F 63 6F  |..  ! command/co|
00000D50: 75 6E 74 20 21 20 64 61  74 61 20 21 0D 0A 20 20  |unt ! data !..  |
00000D60: 21 20 20 20 20 20 62 79  74 65 20 20 20 20 20 20  |!     byte      |
00000D70: 21 20 62 79 74 65 20 21  0D 0A 20 20 2D 2D 2D 2D  |! byte !..  ----|
00000D80: 2D 2D 2D 2D 2D 2D 2D 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----------------|
00000D90: 2D 20 2E 2E 2E 2E 2E 2E  0D 0A 0D 0A 20 20 20 20  |- ..........    |
00000DA0: 20 57 68 65 72 65 20 74  68 65 72 65 20 69 73 20  | Where there is |
00000DB0: 6F 6E 65 20 63 6F 6D 6D  61 6E 64 2F 63 6F 75 6E  |one command/coun|
00000DC0: 74 20 62 79 74 65 2C 20  61 6E 64 20 66 72 6F 6D  |t byte, and from|
00000DD0: 20 31 20 74 6F 0D 0A 36  33 20 64 61 74 61 20 62  | 1 to..63 data b|
00000DE0: 79 74 65 73 2E 20 20 54  68 69 73 20 70 61 74 74  |ytes.  This patt|
00000DF0: 65 72 6E 20 69 73 20 72  65 70 65 61 74 65 64 20  |ern is repeated |
00000E00: 75 6E 74 69 6C 20 61 6C  6C 20 31 34 34 38 0D 0A  |until all 1448..|
00000E10: 62 79 74 65 73 20 61 72  65 20 72 65 70 72 65 73  |bytes are repres|
00000E20: 65 6E 74 65 64 2E 20 20  54 68 65 20 63 6F 6D 6D  |ented.  The comm|
00000E30: 61 6E 64 2F 63 6F 75 6E  74 20 62 79 74 65 20 69  |and/count byte i|
00000E40: 73 0D 0A 69 6E 74 65 72  70 72 65 74 65 64 20 61  |s..interpreted a|
00000E50: 73 20 66 6F 6C 6C 6F 77  73 3A 0D 0A 0D 0A 68 65  |s follows:....he|
00000E60: 78 20 76 61 6C 75 65 20  20 20 69 6E 74 65 72 70  |x value   interp|
00000E70: 72 65 74 61 74 69 6F 6E  20 0D 0A 2D 2D 2D 2D 2D  |retation ..-----|
00000E80: 2D 2D 2D 2D 20 20 20 2D  2D 2D 2D 2D 2D 2D 2D 2D  |----   ---------|
00000E90: 2D 2D 2D 2D 2D 20 0D 0A  24 30 30 20 20 20 20 20  |----- ..$00     |
00000EA0: 20 20 20 20 45 6E 64 20  6F 66 20 72 65 63 6F 72  |    End of recor|
00000EB0: 64 20 0D 0A 0D 0A 24 30  31 20 2D 20 24 33 46 20  |d ....$01 - $3F |
00000EC0: 20 20 55 73 65 20 63 6F  6D 6D 61 6E 64 20 62 79  |  Use command by|
00000ED0: 74 65 20 61 73 20 43 4F  55 4E 54 2E 0D 0A 20 20  |te as COUNT...  |
00000EE0: 20 20 20 20 20 20 20 20  20 20 54 68 65 20 66 6F  |          The fo|
00000EF0: 6C 6C 6F 77 69 6E 67 20  43 4F 55 4E 54 20 64 61  |llowing COUNT da|
00000F00: 74 61 20 0D 0A 20 20 20  20 20 20 20 20 20 20 20  |ta ..           |
00000F10: 20 62 79 74 65 73 20 61  72 65 20 75 6E 63 6F 6D  | bytes are uncom|
00000F20: 70 61 63 74 65 64 2E 20  0D 0A 0D 0A 24 34 30 20  |pacted. ....$40 |
00000F30: 20 20 20 20 20 20 20 20  49 6E 76 61 6C 69 64 20  |        Invalid |
00000F40: 63 6F 6D 6D 61 6E 64 20  62 79 74 65 2E 20 0D 0A  |command byte. ..|
00000F50: 0D 0A 24 34 31 20 2D 20  24 37 46 20 20 20 53 75  |..$41 - $7F   Su|
00000F60: 62 74 72 61 63 74 20 24  34 30 20 66 72 6F 6D 20  |btract $40 from |
00000F70: 74 68 65 0D 0A 20 20 20  20 20 20 20 20 20 20 20  |the..           |
00000F80: 20 63 6F 6D 6D 61 6E 64  20 62 79 74 65 2C 20 75  | command byte, u|
00000F90: 73 65 20 74 68 65 0D 0A  20 20 20 20 20 20 20 20  |se the..        |
00000FA0: 20 20 20 20 72 65 73 75  6C 74 20 61 73 20 43 4F  |    result as CO|
00000FB0: 55 4E 54 2E 20 54 68 65  20 6E 65 78 74 0D 0A 20  |UNT. The next.. |
00000FC0: 20 20 20 20 20 20 20 20  20 20 20 38 20 64 61 74  |           8 dat|
00000FD0: 61 20 62 79 74 65 73 20  63 6F 6D 70 72 69 73 65  |a bytes comprise|
00000FE0: 20 61 0D 0A 20 20 20 20  20 20 20 20 20 20 20 20  | a..            |
00000FF0: 63 61 72 64 20 74 6F 20  72 65 70 65 61 74 20 43  |card to repeat C|
00001000: 4F 55 4E 54 20 74 69 6D  65 73 2E 0D 0A 20 20 20  |OUNT times...   |
00001010: 20 20 20 20 20 20 20 20  20 54 68 65 73 65 20 38  |         These 8|
00001020: 20 64 61 74 61 20 62 79  74 65 73 20 65 78 70 61  | data bytes expa|
00001030: 6E 64 20 0D 0A 20 20 20  20 20 20 20 20 20 20 20  |nd ..           |
00001040: 20 74 6F 20 38 2A 43 4F  55 4E 54 20 69 6D 61 67  | to 8*COUNT imag|
00001050: 65 20 62 79 74 65 73 2E  20 0D 0A 0D 0A 24 38 30  |e bytes. ....$80|
00001060: 20 20 20 20 20 20 20 20  20 49 6E 76 61 6C 69 64  |         Invalid|
00001070: 20 63 6F 6D 6D 61 6E 64  20 62 79 74 65 2E 20 0D  | command byte. .|
00001080: 0A 0D 0A 24 38 31 20 2D  20 24 46 46 20 20 20 53  |...$81 - $FF   S|
00001090: 75 62 74 72 61 63 74 20  24 38 30 20 66 72 6F 6D  |ubtract $80 from|
000010A0: 20 74 68 65 0D 0A 20 20  20 20 20 20 20 20 20 20  | the..          |
000010B0: 20 20 63 6F 6D 6D 61 6E  64 20 62 79 74 65 2C 20  |  command byte, |
000010C0: 75 73 65 20 74 68 65 0D  0A 20 20 20 20 20 20 20  |use the..       |
000010D0: 20 20 20 20 20 72 65 73  75 6C 74 20 61 73 20 43  |     result as C|
000010E0: 4F 55 4E 54 2E 20 52 65  70 65 61 74 20 74 68 65  |OUNT. Repeat the|
000010F0: 0D 0A 20 20 20 20 20 20  20 20 20 20 20 20 73 69  |..            si|
00001100: 6E 67 6C 65 20 64 61 74  61 20 62 79 74 65 20 74  |ngle data byte t|
00001110: 68 61 74 0D 0A 20 20 20  20 20 20 20 20 20 20 20  |hat..           |
00001120: 20 66 6F 6C 6C 6F 77 73  20 43 4F 55 4E 54 20 74  | follows COUNT t|
00001130: 69 6D 65 73 2E 20 54 68  69 73 0D 0A 20 20 20 20  |imes. This..    |
00001140: 20 20 20 20 20 20 20 20  73 69 6E 67 6C 65 20 62  |        single b|
00001150: 79 74 65 20 65 78 70 61  6E 64 73 20 74 6F 0D 0A  |yte expands to..|
00001160: 20 20 20 20 20 20 20 20  20 20 20 20 43 4F 55 4E  |            COUN|
00001170: 54 20 69 6D 61 67 65 20  62 79 74 65 73 2E        |T image bytes.  |
GEOPAINT FILE FORMAT....     CARDS AND C
OLOR ON THE C64 (BACKGROUND)...THE GRAPH
ICS MODE USED BY GEOS ON THE C64 SUPPORT
S 320 BY..200 RESOLUTION, ORGANIZED AS A
 40 BY 25 MATRIX OF 8 BY 8..PIXEL CARDS.
  THESE CARDS ARE STORED IN THE FRAME BU
FFER..FROM LEFT TO RIGHT, TOP TO BOTTOM.
  THE DIAGRAM BELOW..BETTER ILLUSTRATES 
THIS FORMAT.....ON SCREEN: ..CARD0   CAR
D1   CARD2  ...   CARD39 ..CARD40  CARD4
1  CARD42 ...   CARD79 .. ... ...CARD960
 CARD961 CARD962 ...  CARD999....EACH CA
RD:  BYTE0..            BYTE1..         
   .....            BYTE6 ..            
BYTE7 ..     EACH BYTE CONTAINS 8 BITS, 
1 PER PIXEL ON THE SCREEN...THESE EIGHT 
BYTES MAKE UP AN 8 BY 8 PIXEL IMAGE.....
IN FRAME BUFFER: ..               CARD0 
   CARD1    CARD2..CARD ROW 0 ->       B
YTE0   BYTE8   BYTE 16 ..          ...  
    ...      ... ..          BYTE7    BY
TE15  BYTE23 ....               CARD40  
 CARD41   CARD42 ..CARD ROW 1 ->     BYT
E320  BYTE328 BYTE336 ..           ...  
    ...      .....          BYTE327  BYT
E335 BYTE443....     THIS GRAPHICS MODE 
SUPPORTS 16 COLORS, BUT THE COLOR..RESOL
UTION IS LIMITED TO CARD BOUNDARIES.  TH
AT IS, TWO..COLORS CAN BE SPECIFIED FOR 
EACH CARD ON THE SCREEN -- A..BACKGROUND
 COLOR (BITS SET TO 0 IN THE CARD) AND A
..FOREGROUND COLOR (BITS SET TO 1 IN THE
 CARD).  THIS COLOR..INFORMATION IS STOR
ED SEPARATELY FROM THE FRAME BUFFER,..ON
E BYTE PER CARD.  THE HIGH 4 BITS IN THE
 BYTE SPECIFY..ONE OF 16 COLORS TO BE US
ED FOR THE FOREGROUND, AND THE..LOW FOUR
 BITS SPECIFY THE BACKGROUND COLOR...GEO
PAINT FILE FORMAT ..-------- ---- ------
..     A GEOPAINT DATA FILE IS A VLIR FI
LE WITH 45 RECORDS...(FOR INFO ON WHAT A
 VLIR FILE IS, SEE THE GEOS PROGRAMMER'S
..REFERENCE MANUAL).  EACH RECORD HOLDS 
THE IMAGE AND COLOR..DATA FOR AN AREA OF
 THE PAGE 16 LINES HIGH BY 640 PIXELS..W
IDE.  A GEOPAINT DOCUMENT IS 720 LINES H
IGH BY 640 PIXELS..WIDE, SO EACH RECORD 
REPRESENTS TWO CARD ROWS OF THE..ENTIRE 
DOCUMENT.  THE IMAGE DATA IS STORED IN T
HE SAME..CARD FORMAT USED BY THE 320 BY 
200 GRAPHICS MODE ON THE..C64, DISCUSSED
 ABOVE...     WHEN A GEOPAINT FILE IS CR
EATED, ALL 45 RECORDS ARE..MARKED AS USE
D IN THE INDEX TABLE OF THE VLIR FILE.  
THE..TRACK AND SECTOR POINTERS ARE SET T
O $00,$FF TO INDICATE..AN EMPTY RECORD; 
INSTEAD OF $00,$00 WHICH INDICATES AN..U
NUSED RECORD...     THE 45 RECORDS ARE A
SSIGNED TO ALTERNATE CARD ROWS,..FROM TO
P TO BOTTOM ON THE DOCUMENT.  THAT IS, R
ECORD 0..CONTAINS THE IMAGE AND COLOR DA
TA FOR CARD ROWS 0 AND 1;..RECORD 1 FOR 
CARD ROWS 2 AND 3, ETC...     THE IMAGE 
AND COLOR INFO IS COMPACTED BEFORE BEING
..WRITTEN TO THE RECORD.  THE PRE-COMPAC
TED LAYOUT OF THE..DATA IS:....#BYTES  S
TART/END ($)  DESCRIPTION ..------  ----
---------  ----------- .. 640     000 - 
27F     IMAGE DATA FOR ..               
        1ST CARD ROW .... 640     280 - 
4FF     IMAGE DATA FOR ..               
        2ND CARD ROW ....   8     500 - 
507     ALL ZEROES. ....  80     508 - 5
57     COLOR INFO FOR ..                
       FIRST CARD ROW ....  80     558 -
 5A7     COLOR INFO FOR ..              
         2ND CARD ROW....     THE EIGHT 
BYTES OF ZERO WERE INCLUDED IN GEOPAINT 
1.0..FILES THROUGH AN OVERSIGHT, AND RET
AINED AFTER THAT FOR..COMPATABILITY...CO
MPACTION FORMAT ..---------- ------..   
  THE COMPACTION ROUTINE OPERATES ON THE
 ENTIRE 1448..BYTES AT ONCE, RESULTING I
N A STRING OF BYTES IN THE..FOLLOWING FO
RMAT.....  ---------------------..  ! CO
MMAND/COUNT ! DATA !..  !     BYTE      
! BYTE !..  --------------------- ......
....     WHERE THERE IS ONE COMMAND/COUN
T BYTE, AND FROM 1 TO..63 DATA BYTES.  T
HIS PATTERN IS REPEATED UNTIL ALL 1448..
BYTES ARE REPRESENTED.  THE COMMAND/COUN
T BYTE IS..INTERPRETED AS FOLLOWS:....HE
X VALUE   INTERPRETATION ..---------   -
------------- ..$00         END OF RECOR
D ....$01 - $3F   USE COMMAND BYTE AS CO
UNT...            THE FOLLOWING COUNT DA
TA ..            BYTES ARE UNCOMPACTED. 
....$40         INVALID COMMAND BYTE. ..
..$41 - $7F   SUBTRACT $40 FROM THE..   
         COMMAND BYTE, USE THE..        
    RESULT AS COUNT. THE NEXT..         
   8 DATA BYTES COMPRISE A..            
CARD TO REPEAT COUNT TIMES...           
 THESE 8 DATA BYTES EXPAND ..           
 TO 8*COUNT IMAGE BYTES. ....$80        
 INVALID COMMAND BYTE. ....$81 - $FF   S
UBTRACT $80 FROM THE..            COMMAN
D BYTE, USE THE..            RESULT AS C
OUNT. REPEAT THE..            SINGLE DAT
A BYTE THAT..            FOLLOWS COUNT T
IMES. THIS..            SINGLE BYTE EXPA
NDS TO..            COUNT IMAGE BYTES.
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL