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 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL