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

GEOS.TO.BIN

FILE INFORMATION

FILENAME(S): GEOS.TO.BIN

FILE TYPE(S): SEQ

FILE SIZE: 7.5K

FIRST SEEN: 2025-10-20 14:30:52

APPEARS ON: 3 disk(s)

FILE HASH

6c8be0351c9fdc21596a103ac70bd0d687ac78f514e8a62ae43156619836bc92

FOUND ON DISKS (3 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
G PD 67 GEOS.TO.BIN SEQ Treasure Chest - Klaus Der Suhler 7 3 DOWNLOAD FILE
C FILES1 GEOS.TO.BIN SEQ High Voltage Complete C64 Collection 15 19 DOWNLOAD FILE
GEOWORLD5A GEOS.TO.BIN SEQ DuncanTwain 7 3 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 0D 20 35 20 20 52 45 4D  20 20 41 50 50 4C 45 20  |. 5  REM  APPLE |
00000010: 54 4F 20 43 4F 4D 4D 4F  44 4F 52 45 20 43 4F 4E  |TO COMMODORE CON|
00000020: 56 45 52 53 49 4F 4E 0D  20 31 30 20 20 52 45 4D  |VERSION. 10  REM|
00000030: 20 20 46 4F 52 20 47 45  4F 53 20 46 49 4C 45 53  |  FOR GEOS FILES|
00000040: 0D 20 32 30 20 20 52 45  4D 20 20 20 20 20 20 42  |. 20  REM      B|
00000050: 59 20 54 45 52 52 59 20  56 41 4E 20 43 41 4D 50  |Y TERRY VAN CAMP|
00000060: 0D 20 33 30 20 20 52 45  4D 20 20 20 20 53 45 50  |. 30  REM    SEP|
00000070: 54 45 4D 42 45 52 20 31  39 38 39 0D 20 34 30 20  |TEMBER 1989. 40 |
00000080: 20 52 45 4D 20 0D 20 35  30 20 20 48 4F 4D 45 20  | REM . 50  HOME |
00000090: 3A 20 50 52 49 4E 54 20  0D 20 36 30 20 20 50 52  |: PRINT . 60  PR|
000000A0: 49 4E 54 20 22 49 4E 53  45 52 54 20 44 49 53 4B  |INT "INSERT DISK|
000000B0: 20 57 49 54 48 20 47 45  4F 53 20 46 49 4C 45 20  | WITH GEOS FILE |
000000C0: 54 4F 20 43 4F 4E 56 45  52 54 22 3A 20 50 52 49  |TO CONVERT": PRI|
000000D0: 4E 54 20 22 49 4E 54 4F  20 43 55 52 52 45 4E 54  |NT "INTO CURRENT|
000000E0: 20 44 52 49 56 45 22 0D  20 37 30 20 20 50 52 49  | DRIVE". 70  PRI|
000000F0: 4E 54 20 3A 20 50 52 49  4E 54 20 22 50 52 45 53  |NT : PRINT "PRES|
00000100: 53 20 41 4E 59 20 4B 45  59 20 54 4F 20 53 54 41  |S ANY KEY TO STA|
00000110: 52 54 20 43 4F 4E 56 45  52 53 49 4F 4E 22 0D 20  |RT CONVERSION". |
00000120: 38 30 20 20 47 45 54 20  41 24 3A 20 48 4F 4D 45  |80  GET A$: HOME|
00000130: 20 3A 20 50 52 49 4E 54  20 0D 20 39 30 20 48 4D  | : PRINT . 90 HM|
00000140: 20 3D 20 33 38 34 30 30  3A 20 52 45 4D 20 20 24  | = 38400: REM  $|
00000150: 39 36 30 30 0D 20 31 30  30 20 4D 4C 20 3D 20 48  |9600. 100 ML = H|
00000160: 4D 20 2D 20 34 30 20 2A  20 32 35 36 3A 20 48 49  |M - 40 * 256: HI|
00000170: 4D 45 4D 3A 20 4D 4C 20  2D 20 34 20 2A 20 32 35  |MEM: ML - 4 * 25|
00000180: 36 3A 20 52 45 4D 20 20  24 36 35 30 30 0D 20 31  |6: REM  $6500. 1|
00000190: 31 30 20 20 52 45 4D 20  20 44 45 46 49 4E 45 20  |10  REM  DEFINE |
000001A0: 53 54 4F 52 41 47 45 20  41 52 45 41 53 0D 20 31  |STORAGE AREAS. 1|
000001B0: 32 30 20 4D 49 20 3D 20  4D 4C 20 2B 20 32 35 36  |20 MI = ML + 256|
000001C0: 3A 52 49 20 3D 20 4D 49  20 2B 20 35 31 32 3A 42  |:RI = MI + 512:B|
000001D0: 4D 20 3D 20 52 49 20 2B  20 32 35 36 3A 47 42 20  |M = RI + 256:GB |
000001E0: 3D 20 42 4D 20 2B 20 35  31 32 0D 20 31 33 30 20  |= BM + 512. 130 |
000001F0: 46 42 20 3D 20 47 42 20  2B 20 35 31 32 3A 44 41  |FB = GB + 512:DA|
00000200: 20 3D 20 4D 4C 20 2B 20  32 36 3A 46 52 20 3D 20  | = ML + 26:FR = |
00000210: 44 41 20 2B 20 32 38 0D  20 31 34 30 20 55 42 20  |DA + 28. 140 UB |
00000220: 3D 20 46 52 20 2B 20 31  38 0D 20 31 37 30 20 20  |= FR + 18. 170  |
00000230: 46 4F 52 20 49 20 3D 20  4D 4C 20 54 4F 20 4D 4C  |FOR I = ML TO ML|
00000240: 20 2B 20 38 36 3A 20 52  45 41 44 20 58 3A 20 50  | + 86: READ X: P|
00000250: 4F 4B 45 20 49 2C 58 3A  20 4E 45 58 54 20 0D 20  |OKE I,X: NEXT . |
00000260: 31 38 30 20 44 24 20 3D  20 20 43 48 52 24 20 28  |180 D$ =  CHR$ (|
00000270: 34 29 3A 20 50 4F 4B 45  20 4D 4C 20 2B 20 31 31  |4): POKE ML + 11|
00000280: 2C 20 50 45 45 4B 20 28  34 38 39 34 34 29 3A 20  |, PEEK (48944): |
00000290: 52 45 4D 20 20 43 55 52  52 45 4E 54 20 55 4E 49  |REM  CURRENT UNI|
000002A0: 54 20 4E 55 4D 0D 20 31  39 30 20 20 44 45 46 20  |T NUM. 190  DEF |
000002B0: 20 46 4E 20 4C 42 28 58  29 20 3D 20 58 20 2D 20  | FN LB(X) = X - |
000002C0: 32 35 36 20 2A 20 20 49  4E 54 20 28 58 20 2F 20  |256 *  INT (X / |
000002D0: 32 35 36 29 3A 20 52 45  4D 20 20 4C 4F 57 20 42  |256): REM  LOW B|
000002E0: 59 54 45 0D 20 32 31 30  20 20 50 4F 4B 45 20 4D  |YTE. 210  POKE M|
000002F0: 4C 20 2B 20 35 2C 20 49  4E 54 20 28 4D 4C 20 2F  |L + 5, INT (ML /|
00000300: 20 32 35 36 29 3A 20 50  4F 4B 45 20 4D 4C 20 2B  | 256): POKE ML +|
00000310: 20 31 33 2C 20 49 4E 54  20 28 47 42 20 2F 20 32  | 13, INT (GB / 2|
00000320: 35 36 29 3A 20 52 45 4D  20 20 53 45 54 20 47 42  |56): REM  SET GB|
00000330: 20 46 4F 52 20 52 2F 57  20 42 4C 4B 53 0D 20 32  | FOR R/W BLKS. 2|
00000340: 32 30 20 52 57 20 3D 20  31 32 38 3A 42 4C 20 3D  |20 RW = 128:BL =|
00000350: 20 32 3A 42 48 20 3D 20  30 3A 20 47 4F 53 55 42  | 2:BH = 0: GOSUB|
00000360: 20 32 30 30 30 0D 20 32  33 30 20 20 49 46 20 45  | 2000. 230  IF E|
00000370: 52 20 3D 20 31 20 47 4F  54 4F 20 34 35 30 30 0D  |R = 1 GOTO 4500.|
00000380: 20 32 34 30 20 20 52 45  4D 20 20 43 48 45 43 4B  | 240  REM  CHECK|
00000390: 20 44 49 53 4B 20 46 4F  52 20 23 20 46 49 4C 45  | DISK FOR # FILE|
000003A0: 53 20 26 20 47 45 4F 53  20 54 59 50 45 0D 20 32  |S & GEOS TYPE. 2|
000003B0: 35 30 20 20 49 46 20 20  50 45 45 4B 20 28 47 42  |50  IF  PEEK (GB|
000003C0: 20 2B 20 33 37 29 20 3C  20 20 3E 20 31 20 54 48  | + 37) <  > 1 TH|
000003D0: 45 4E 20 20 50 52 49 4E  54 20 22 4F 4E 4C 59 20  |EN  PRINT "ONLY |
000003E0: 4F 4E 45 20 46 49 4C 45  20 43 41 4E 20 42 45 20  |ONE FILE CAN BE |
000003F0: 4F 4E 20 54 48 45 20 44  49 53 4B 22 3A 20 47 4F  |ON THE DISK": GO|
00000400: 54 4F 20 35 30 30 30 0D  20 32 36 30 20 45 31 20  |TO 5000. 260 E1 |
00000410: 3D 20 47 42 20 2B 20 34  33 3A 20 52 45 4D 20 20  |= GB + 43: REM  |
00000420: 53 54 41 52 54 20 4F 46  20 31 53 54 20 45 4E 54  |START OF 1ST ENT|
00000430: 52 59 0D 20 32 37 30 20  42 20 3D 20 20 50 45 45  |RY. 270 B =  PEE|
00000440: 4B 20 28 45 31 20 2B 20  31 36 29 3A 20 49 46 20  |K (E1 + 16): IF |
00000450: 42 20 3C 20 31 32 38 20  4F 52 20 42 20 3E 20 31  |B < 128 OR B > 1|
00000460: 34 31 20 54 48 45 4E 20  20 50 52 49 4E 54 20 22  |41 THEN  PRINT "|
00000470: 4E 4F 54 20 41 20 47 45  4F 53 20 46 49 4C 45 22  |NOT A GEOS FILE"|
00000480: 3A 20 47 4F 54 4F 20 35  30 30 30 0D 20 32 38 30  |: GOTO 5000. 280|
00000490: 20 42 20 3D 20 20 49 4E  54 20 28 20 50 45 45 4B  | B =  INT ( PEEK|
000004A0: 20 28 45 31 29 20 2F 20  31 36 29 3A 20 49 46 20  | (E1) / 16): IF |
000004B0: 42 20 3D 20 32 20 54 48  45 4E 20 20 50 52 49 4E  |B = 2 THEN  PRIN|
000004C0: 54 20 22 43 41 4E 4E 4F  54 20 43 4F 4E 56 45 52  |T "CANNOT CONVER|
000004D0: 54 20 54 48 49 53 20 54  59 50 45 20 4F 46 20 46  |T THIS TYPE OF F|
000004E0: 49 4C 45 22 3A 20 47 4F  54 4F 20 35 30 30 30 0D  |ILE": GOTO 5000.|
000004F0: 20 32 39 30 20 20 52 45  4D 20 20 4F 4B 41 59 20  | 290  REM  OKAY |
00000500: 54 4F 20 53 54 41 52 54  20 43 4F 4E 56 45 52 53  |TO START CONVERS|
00000510: 49 4F 4E 0D 20 33 30 30  20 20 52 45 4D 20 20 4C  |ION. 300  REM  L|
00000520: 4F 41 44 20 4D 49 0D 20  33 30 35 20 20 50 4F 4B  |OAD MI. 305  POK|
00000530: 45 20 47 42 20 2B 20 33  37 2C 30 3A 20 50 4F 4B  |E GB + 37,0: POK|
00000540: 45 20 45 31 2C 30 3A 52  57 20 3D 20 31 32 39 3A  |E E1,0:RW = 129:|
00000550: 20 47 4F 53 55 42 20 32  30 30 30 3A 52 57 20 3D  | GOSUB 2000:RW =|
00000560: 20 31 32 38 0D 20 33 30  38 20 20 49 46 20 45 52  | 128. 308  IF ER|
00000570: 20 3D 20 31 20 47 4F 54  4F 20 34 35 30 30 0D 20  | = 1 GOTO 4500. |
00000580: 33 31 30 20 20 50 4F 4B  45 20 4D 4C 20 2B 20 31  |310  POKE ML + 1|
00000590: 33 2C 20 49 4E 54 20 28  4D 49 20 2F 20 32 35 36  |3, INT (MI / 256|
000005A0: 29 3A 42 4C 20 3D 20 20  50 45 45 4B 20 28 45 31  |):BL =  PEEK (E1|
000005B0: 20 2B 20 31 37 29 3A 42  48 20 3D 20 20 50 45 45  | + 17):BH =  PEE|
000005C0: 4B 20 28 45 31 20 2B 20  31 38 29 3A 20 47 4F 53  |K (E1 + 18): GOS|
000005D0: 55 42 20 32 30 30 30 0D  20 33 32 30 20 20 49 46  |UB 2000. 320  IF|
000005E0: 20 45 52 20 3D 20 31 20  47 4F 54 4F 20 34 35 30  | ER = 1 GOTO 450|
000005F0: 30 0D 20 33 33 30 20 20  52 45 4D 20 20 4C 4F 41  |0. 330  REM  LOA|
00000600: 44 20 48 45 41 44 45 52  0D 20 33 34 30 20 54 4C  |D HEADER. 340 TL|
00000610: 20 3D 20 20 46 4E 20 4C  42 28 46 42 20 2B 20 32  | =  FN LB(FB + 2|
00000620: 35 32 29 3A 54 48 20 3D  20 20 49 4E 54 20 28 28  |52):TH =  INT ((|
00000630: 46 42 20 2B 20 32 35 32  29 20 2F 20 32 35 36 29  |FB + 252) / 256)|
00000640: 0D 20 33 35 30 20 20 50  4F 4B 45 20 4D 4C 20 2B  |. 350  POKE ML +|
00000650: 20 31 33 2C 54 48 3A 20  50 4F 4B 45 20 4D 4C 20  | 13,TH: POKE ML |
00000660: 2B 20 31 32 2C 54 4C 0D  20 33 36 30 20 42 4C 20  |+ 12,TL. 360 BL |
00000670: 3D 20 20 50 45 45 4B 20  28 45 31 20 2B 20 33 31  |=  PEEK (E1 + 31|
00000680: 29 3A 42 48 20 3D 20 20  50 45 45 4B 20 28 45 31  |):BH =  PEEK (E1|
00000690: 20 2B 20 33 32 29 3A 20  47 4F 53 55 42 20 32 30  | + 32): GOSUB 20|
000006A0: 30 30 0D 20 33 37 30 20  20 49 46 20 45 52 20 3D  |00. 370  IF ER =|
000006B0: 20 31 20 47 4F 54 4F 20  34 35 30 30 0D 20 33 38  | 1 GOTO 4500. 38|
000006C0: 30 20 20 52 45 4D 20 20  43 4F 4E 53 54 52 55 43  |0  REM  CONSTRUC|
000006D0: 54 20 43 3D 20 45 4E 54  52 59 20 26 20 43 4F 4E  |T C= ENTRY & CON|
000006E0: 56 45 52 54 20 4E 41 4D  45 0D 20 33 38 35 20 46  |VERT NAME. 385 F|
000006F0: 49 24 20 3D 20 22 22 3A  20 50 4F 4B 45 20 46 42  |I$ = "": POKE FB|
00000700: 2C 31 33 31 3A 20 50 4F  4B 45 20 46 42 20 2B 20  |,131: POKE FB + |
00000710: 31 2C 30 3A 20 50 4F 4B  45 20 46 42 20 2B 20 32  |1,0: POKE FB + 2|
00000720: 2C 30 0D 20 33 39 30 20  20 46 4F 52 20 49 20 3D  |,0. 390  FOR I =|
00000730: 20 30 20 54 4F 20 31 34  0D 20 34 30 30 20 54 20  | 0 TO 14. 400 T |
00000740: 3D 20 20 50 45 45 4B 20  28 45 31 20 2B 20 49 20  |=  PEEK (E1 + I |
00000750: 2B 20 31 29 0D 20 34 31  30 20 20 49 46 20 54 20  |+ 1). 410  IF T |
00000760: 3D 20 30 20 54 48 45 4E  20 54 20 3D 20 31 36 30  |= 0 THEN T = 160|
00000770: 3A 20 50 4F 4B 45 20 46  42 20 2B 20 33 20 2B 20  |: POKE FB + 3 + |
00000780: 49 2C 54 3A 20 47 4F 54  4F 20 34 36 30 0D 20 34  |I,T: GOTO 460. 4|
00000790: 32 30 20 20 50 4F 4B 45  20 46 42 20 2B 20 33 20  |20  POKE FB + 3 |
000007A0: 2B 20 49 2C 54 0D 20 34  33 30 20 20 49 46 20 54  |+ I,T. 430  IF T|
000007B0: 20 3E 20 39 36 20 41 4E  44 20 54 20 3C 20 31 32  | > 96 AND T < 12|
000007C0: 33 20 54 48 45 4E 20 54  20 3D 20 54 20 2D 20 33  |3 THEN T = T - 3|
000007D0: 32 0D 20 34 33 35 20 20  49 46 20 49 20 3D 20 30  |2. 435  IF I = 0|
000007E0: 20 41 4E 44 20 54 20 3C  20 36 35 20 54 48 45 4E  | AND T < 65 THEN|
000007F0: 20 54 20 3D 20 38 38 0D  20 34 34 30 20 20 49 46  | T = 88. 440  IF|
00000800: 20 54 20 3C 20 34 38 20  4F 52 20 54 20 3E 20 31  | T < 48 OR T > 1|
00000810: 32 32 20 4F 52 20 28 54  20 3E 20 35 37 20 41 4E  |22 OR (T > 57 AN|
00000820: 44 20 54 20 3C 20 36 35  29 20 54 48 45 4E 20 54  |D T < 65) THEN T|
00000830: 20 3D 20 34 36 0D 20 34  34 35 20 20 49 46 20 49  | = 46. 445  IF I|
00000840: 20 3D 20 30 20 41 4E 44  20 54 20 3D 20 34 36 20  | = 0 AND T = 46 |
00000850: 54 48 45 4E 20 54 20 3D  20 38 38 0D 20 34 35 30  |THEN T = 88. 450|
00000860: 20 46 49 24 20 3D 20 46  49 24 20 2B 20 20 43 48  | FI$ = FI$ +  CH|
00000870: 52 24 20 28 54 29 3A 20  52 45 4D 20 20 42 49 4E  |R$ (T): REM  BIN|
00000880: 20 46 49 4C 45 4E 41 4D  45 0D 20 34 36 30 20 20  | FILENAME. 460  |
00000890: 4E 45 58 54 20 3A 20 50  4F 4B 45 20 46 42 20 2B  |NEXT : POKE FB +|
000008A0: 20 33 20 2B 20 49 2C 31  36 30 0D 20 34 36 32 20  | 3 + I,160. 462 |
000008B0: 20 47 4F 53 55 42 20 31  35 30 30 0D 20 34 36 35  | GOSUB 1500. 465|
000008C0: 20 54 24 20 3D 20 22 53  45 51 20 66 6F 72 6D 61  | T$ = "SEQ forma|
000008D0: 74 74 65 64 20 47 45 4F  53 20 66 69 6C 65 20 56  |tted GEOS file V|
000008E0: 31 2E 30 22 0D 20 34 37  30 20 20 46 4F 52 20 49  |1.0". 470  FOR I|
000008F0: 20 3D 20 31 20 54 4F 20  32 38 0D 20 34 37 35 20  | = 1 TO 28. 475 |
00000900: 20 50 4F 4B 45 20 46 42  20 2B 20 32 39 20 2B 20  | POKE FB + 29 + |
00000910: 49 2C 20 41 53 43 20 28  20 4D 49 44 24 20 28 54  |I, ASC ( MID$ (T|
00000920: 24 2C 49 2C 31 29 29 3A  20 4E 45 58 54 20 0D 20  |$,I,1)): NEXT . |
00000930: 34 37 37 20 20 50 4F 4B  45 20 46 42 20 2B 20 32  |477  POKE FB + 2|
00000940: 39 20 2B 20 49 2C 30 0D  20 34 38 30 20 20 46 4F  |9 + I,0. 480  FO|
00000950: 52 20 49 20 3D 20 46 42  20 2B 20 31 39 20 54 4F  |R I = FB + 19 TO|
00000960: 20 46 42 20 2B 20 32 39  3A 20 50 4F 4B 45 20 49  | FB + 29: POKE I|
00000970: 2C 30 3A 20 4E 45 58 54  20 0D 20 34 39 30 20 47  |,0: NEXT . 490 G|
00000980: 54 20 3D 20 20 50 45 45  4B 20 28 45 31 20 2B 20  |T =  PEEK (E1 + |
00000990: 31 36 29 3A 20 50 4F 4B  45 20 46 42 20 2B 20 32  |16): POKE FB + 2|
000009A0: 31 2C 31 3A 20 50 4F 4B  45 20 46 42 20 2B 20 32  |1,1: POKE FB + 2|
000009B0: 32 2C 47 54 20 2D 20 31  32 34 0D 20 35 30 30 20  |2,GT - 124. 500 |
000009C0: 20 50 4F 4B 45 20 46 42  20 2B 20 32 36 2C 20 50  | POKE FB + 26, P|
000009D0: 45 45 4B 20 28 45 31 20  2B 20 33 36 29 3A 20 50  |EEK (E1 + 36): P|
000009E0: 4F 4B 45 20 46 42 20 2B  20 32 37 2C 20 50 45 45  |OKE FB + 27, PEE|
000009F0: 4B 20 28 45 31 20 2B 20  33 35 29 0D 20 35 31 30  |K (E1 + 35). 510|
00000A00: 20 54 4C 20 3D 20 20 46  4E 20 4C 42 28 45 31 20  | TL =  FN LB(E1 |
00000A10: 2B 20 33 33 29 3A 54 48  20 3D 20 20 49 4E 54 20  |+ 33):TH =  INT |
00000A20: 28 28 45 31 20 2B 20 33  33 29 20 2F 20 32 35 36  |((E1 + 33) / 256|
00000A30: 29 0D 20 35 32 30 20 20  50 4F 4B 45 20 44 41 20  |). 520  POKE DA |
00000A40: 2B 20 31 2C 54 4C 3A 20  50 4F 4B 45 20 44 41 20  |+ 1,TL: POKE DA |
00000A50: 2B 20 32 2C 54 48 0D 20  35 33 30 20 20 50 4F 4B  |+ 2,TH. 530  POK|
00000A60: 45 20 44 41 20 2B 20 31  37 2C 54 4C 3A 20 50 4F  |E DA + 17,TL: PO|
00000A70: 4B 45 20 44 41 20 2B 20  31 38 2C 54 48 0D 20 35  |KE DA + 18,TH. 5|
00000A80: 34 30 20 20 50 4F 4B 45  20 44 41 20 2B 20 31 30  |40  POKE DA + 10|
00000A90: 2C 54 4C 20 2B 20 31 3A  20 50 4F 4B 45 20 44 41  |,TL + 1: POKE DA|
00000AA0: 20 2B 20 31 31 2C 54 48  0D 20 35 35 30 20 54 4C  | + 11,TH. 550 TL|
00000AB0: 20 3D 20 20 46 4E 20 4C  42 28 46 42 20 2B 20 32  | =  FN LB(FB + 2|
00000AC0: 33 29 3A 54 48 20 3D 20  20 49 4E 54 20 28 28 46  |3):TH =  INT ((F|
00000AD0: 42 20 2B 20 32 33 29 20  2F 20 32 35 36 29 0D 20  |B + 23) / 256). |
00000AE0: 35 36 30 20 20 50 4F 4B  45 20 44 41 20 2B 20 31  |560  POKE DA + 1|
00000AF0: 34 2C 54 4C 3A 20 50 4F  4B 45 20 44 41 20 2B 20  |4,TL: POKE DA + |
00000B00: 31 35 2C 54 48 0D 20 35  37 30 20 20 50 4F 4B 45  |15,TH. 570  POKE|
00000B10: 20 44 41 20 2B 20 36 2C  54 4C 20 2B 20 32 3A 20  | DA + 6,TL + 2: |
00000B20: 50 4F 4B 45 20 44 41 20  2B 20 37 2C 54 48 0D 20  |POKE DA + 7,TH. |
00000B30: 35 37 35 20 20 50 4F 4B  45 20 44 41 20 2B 20 32  |575  POKE DA + 2|
00000B40: 35 2C 54 4C 20 2B 20 31  3A 20 50 4F 4B 45 20 44  |5,TL + 1: POKE D|
00000B50: 41 20 2B 20 32 36 2C 54  48 0D 20 35 38 30 20 20  |A + 26,TH. 580  |
00000B60: 43 41 4C 4C 20 44 41 3A  20 52 45 4D 20 20 43 4F  |CALL DA: REM  CO|
00000B70: 4E 56 45 52 54 20 44 41  54 45 0D 20 35 39 30 20  |NVERT DATE. 590 |
00000B80: 20 50 4F 4B 45 20 46 42  20 2B 20 32 35 32 20 2B  | POKE FB + 252 +|
00000B90: 20 36 38 2C 31 33 31 3A  20 50 4F 4B 45 20 46 42  | 68,131: POKE FB|
00000BA0: 20 2B 20 32 35 32 20 2B  20 36 39 2C 47 54 20 2D  | + 252 + 69,GT -|
00000BB0: 20 31 32 34 0D 20 36 30  30 20 20 52 45 4D 20 20  | 124. 600  REM  |
00000BC0: 50 52 45 50 41 52 45 20  56 42 4D 20 53 54 4F 52  |PREPARE VBM STOR|
00000BD0: 41 47 45 0D 20 36 31 30  20 54 33 20 3D 20 20 50  |AGE. 610 T3 =  P|
00000BE0: 45 45 4B 20 28 45 31 20  2B 20 33 31 29 3A 54 34  |EEK (E1 + 31):T4|
00000BF0: 20 3D 20 20 50 45 45 4B  20 28 45 31 20 2B 20 33  | =  PEEK (E1 + 3|
00000C00: 32 29 3A 54 31 20 3D 20  20 50 45 45 4B 20 28 45  |2):T1 =  PEEK (E|
00000C10: 31 20 2B 20 31 37 29 3A  54 32 20 3D 20 20 50 45  |1 + 17):T2 =  PE|
00000C20: 45 4B 20 28 45 31 20 2B  20 31 38 29 0D 20 36 33  |EK (E1 + 18). 63|
00000C30: 30 20 20 46 4F 52 20 49  20 3D 20 30 20 54 4F 20  |0  FOR I = 0 TO |
00000C40: 35 31 31 0D 20 36 34 30  20 20 50 4F 4B 45 20 42  |511. 640  POKE B|
00000C50: 4D 20 2B 20 49 2C 30 3A  20 4E 45 58 54 20 0D 20  |M + I,0: NEXT . |
00000C60: 36 36 30 20 42 4C 20 3D  20 54 33 3A 42 48 20 3D  |660 BL = T3:BH =|
00000C70: 20 54 34 3A 20 47 4F 53  55 42 20 31 30 30 30 3A  | T4: GOSUB 1000:|
00000C80: 20 52 45 4D 20 20 53 45  54 20 42 49 54 20 49 4E  | REM  SET BIT IN|
00000C90: 20 56 42 4D 0D 20 36 37  30 20 42 4C 20 3D 20 54  | VBM. 670 BL = T|
00000CA0: 31 3A 42 48 20 3D 20 54  32 3A 20 47 4F 53 55 42  |1:BH = T2: GOSUB|
00000CB0: 20 31 30 30 30 0D 20 37  31 30 20 20 52 45 4D 20  | 1000. 710  REM |
00000CC0: 20 52 45 41 44 59 20 54  4F 20 52 45 57 52 49 54  | READY TO REWRIT|
00000CD0: 45 20 44 41 54 41 20 42  4C 4B 53 0D 20 37 37 30  |E DATA BLKS. 770|
00000CE0: 20 54 20 3D 20 33 20 2A  20 32 35 34 3A 20 50 52  | T = 3 * 254: PR|
00000CF0: 49 4E 54 20 44 24 3B 22  42 53 41 56 45 22 3B 46  |INT D$;"BSAVE";F|
00000D00: 49 24 3B 22 2C 41 22 3B  46 42 3B 22 2C 4C 22 3B  |I$;",A";FB;",L";|
00000D10: 54 0D 20 37 38 30 20 43  52 20 3D 20 30 3A 42 20  |T. 780 CR = 0:B |
00000D20: 3D 20 33 20 2A 20 32 35  34 3A 54 53 20 3D 20 32  |= 3 * 254:TS = 2|
00000D30: 0D 20 37 39 30 20 20 50  4F 4B 45 20 4D 4C 20 2B  |. 790  POKE ML +|
00000D40: 20 31 33 2C 20 49 4E 54  20 28 47 42 20 2F 20 32  | 13, INT (GB / 2|
00000D50: 35 36 29 3A 20 50 4F 4B  45 20 4D 4C 20 2B 20 31  |56): POKE ML + 1|
00000D60: 32 2C 30 0D 20 37 39 33  20 52 57 20 3D 20 31 32  |2,0. 793 RW = 12|
00000D70: 38 3A 42 4C 20 3D 20 32  3A 42 48 20 3D 20 30 3A  |8:BL = 2:BH = 0:|
00000D80: 20 47 4F 53 55 42 20 32  30 30 30 0D 20 37 39 35  | GOSUB 2000. 795|
00000D90: 20 20 49 46 20 45 52 20  3D 20 31 20 47 4F 54 4F  |  IF ER = 1 GOTO|
00000DA0: 20 34 35 30 30 0D 20 37  39 38 20 20 46 4F 52 20  | 4500. 798  FOR |
00000DB0: 52 20 3D 20 31 20 54 4F  20 31 31 0D 20 38 30 30  |R = 1 TO 11. 800|
00000DC0: 20 20 47 4F 53 55 42 20  33 35 30 30 3A 20 52 45  |  GOSUB 3500: RE|
00000DD0: 4D 20 20 47 45 54 20 52  45 43 4F 52 44 20 49 4E  |M  GET RECORD IN|
00000DE0: 46 4F 0D 20 38 31 30 20  20 49 46 20 45 52 20 3D  |FO. 810  IF ER =|
00000DF0: 20 31 20 47 4F 54 4F 20  34 35 30 30 0D 20 38 32  | 1 GOTO 4500. 82|
00000E00: 30 20 20 49 46 20 52 4C  20 3D 20 30 20 54 48 45  |0  IF RL = 0 THE|
00000E10: 4E 20 20 47 4F 53 55 42  20 33 30 30 30 3A 20 47  |N  GOSUB 3000: G|
00000E20: 4F 54 4F 20 32 35 30 30  0D 20 38 33 30 20 20 49  |OTO 2500. 830  I|
00000E30: 46 20 52 4C 20 3E 20 38  20 2A 20 34 20 2A 20 32  |F RL > 8 * 4 * 2|
00000E40: 35 36 20 54 48 45 4E 20  20 50 52 49 4E 54 20 22  |56 THEN  PRINT "|
00000E50: 52 45 43 4F 52 44 20 54  4F 4F 20 4C 4F 4E 47 22  |RECORD TOO LONG"|
00000E60: 3A 20 47 4F 54 4F 20 35  30 30 30 0D 20 38 34 30  |: GOTO 5000. 840|
00000E70: 20 20 47 4F 53 55 42 20  34 30 30 30 3A 20 52 45  |  GOSUB 4000: RE|
00000E80: 4D 20 20 43 52 45 41 54  45 20 45 4E 54 52 59 0D  |M  CREATE ENTRY.|
00000E90: 20 38 35 30 20 43 52 20  3D 20 43 52 20 2B 20 31  | 850 CR = CR + 1|
00000EA0: 3A 20 4E 45 58 54 20 52  0D 20 38 36 30 20 20 47  |: NEXT R. 860  G|
00000EB0: 4F 53 55 42 20 33 30 30  30 3A 20 52 45 4D 20 20  |OSUB 3000: REM  |
00000EC0: 41 50 50 45 4E 44 20 52  45 43 4F 52 44 53 0D 20  |APPEND RECORDS. |
00000ED0: 38 37 30 20 20 49 46 20  45 52 20 3D 20 31 20 47  |870  IF ER = 1 G|
00000EE0: 4F 54 4F 20 34 35 30 30  0D 20 38 38 30 20 20 47  |OTO 4500. 880  G|
00000EF0: 4F 54 4F 20 37 39 30 3A  20 52 45 4D 20 20 53 54  |OTO 790: REM  ST|
00000F00: 41 52 54 20 4E 45 58 54  20 31 31 20 52 45 43 4F  |ART NEXT 11 RECO|
00000F10: 52 44 53 0D 20 31 30 30  30 20 42 4E 20 3D 20 42  |RDS. 1000 BN = B|
00000F20: 48 20 2A 20 32 35 36 20  2B 20 42 4C 0D 20 31 30  |H * 256 + BL. 10|
00000F30: 31 30 20 42 59 54 45 4E  55 4D 20 3D 20 20 49 4E  |10 BYTENUM =  IN|
00000F40: 54 20 28 42 4E 20 2F 20  38 29 3A 42 49 54 4E 55  |T (BN / 8):BITNU|
00000F50: 4D 20 3D 20 42 4E 20 2D  20 38 20 2A 20 42 59 54  |M = BN - 8 * BYT|
00000F60: 45 4E 55 4D 0D 20 31 30  32 30 20 20 50 4F 4B 45  |ENUM. 1020  POKE|
00000F70: 20 46 52 20 2B 20 33 2C  42 49 54 4E 55 4D 3A 54  | FR + 3,BITNUM:T|
00000F80: 4C 20 3D 20 20 46 4E 20  4C 42 28 42 4D 29 20 2B  |L =  FN LB(BM) +|
00000F90: 20 42 59 54 45 4E 55 4D  3A 54 48 20 3D 20 20 49  | BYTENUM:TH =  I|
00000FA0: 4E 54 20 28 28 42 4D 20  2B 20 42 59 54 45 4E 55  |NT ((BM + BYTENU|
00000FB0: 4D 29 20 2F 20 32 35 36  29 0D 20 31 30 33 30 20  |M) / 256). 1030 |
00000FC0: 20 50 4F 4B 45 20 46 52  20 2B 20 31 32 2C 54 4C  | POKE FR + 12,TL|
00000FD0: 3A 20 50 4F 4B 45 20 46  52 20 2B 20 31 33 2C 54  |: POKE FR + 13,T|
00000FE0: 48 0D 20 31 30 34 30 20  20 50 4F 4B 45 20 46 52  |H. 1040  POKE FR|
00000FF0: 20 2B 20 31 35 2C 54 4C  3A 20 50 4F 4B 45 20 46  | + 15,TL: POKE F|
00001000: 52 20 2B 20 31 36 2C 54  48 0D 20 31 30 35 30 20  |R + 16,TH. 1050 |
00001010: 20 43 41 4C 4C 20 46 52  3A 20 52 45 54 55 52 4E  | CALL FR: RETURN|
00001020: 20 0D 20 31 35 30 30 20  20 52 45 4D 20 20 57 41  | . 1500  REM  WA|
00001030: 49 54 49 4E 47 0D 20 31  35 31 30 20 20 50 52 49  |ITING. 1510  PRI|
00001040: 4E 54 20 3A 20 50 52 49  4E 54 20 22 43 4F 4E 56  |NT : PRINT "CONV|
00001050: 45 52 54 49 4E 47 22 3A  20 50 52 49 4E 54 20 3A  |ERTING": PRINT :|
00001060: 20 50 52 49 4E 54 20 46  49 24 3A 20 50 52 49 4E  | PRINT FI$: PRIN|
00001070: 54 20 3A 20 50 52 49 4E  54 20 22 50 4C 45 41 53  |T : PRINT "PLEAS|
00001080: 45 20 57 41 49 54 20 2E  2E 2E 2E 22 0D 20 31 35  |E WAIT ....". 15|
00001090: 32 30 20 20 56 54 41 42  20 32 30 3A 20 48 54 41  |20  VTAB 20: HTA|
000010A0: 42 20 31 36 0D 20 31 35  33 30 20 20 50 52 49 4E  |B 16. 1530  PRIN|
000010B0: 54 20 22 41 20 53 68 61  72 65 77 61 72 65 20 50  |T "A Shareware P|
000010C0: 72 6F 67 72 61 6D 22 0D  20 31 35 34 30 20 20 50  |rogram". 1540  P|
000010D0: 52 49 4E 54 20 20 54 41  42 28 20 32 32 29 3B 22  |RINT  TAB( 22);"|
000010E0: 62 79 22 3A 20 50 52 49  4E 54 20 0D 20 31 35 35  |by": PRINT . 155|
000010F0: 30 20 20 48 54 41 42 20  31 36 3A 20 50 52 49 4E  |0  HTAB 16: PRIN|
00001100: 54 20 22 54 65 72 72 79  20 56 61 6E 20 43 61 6D  |T "Terry Van Cam|
00001110: 70 22 0D 20 31 35 36 30  20 20 48 54 41 42 20 31  |p". 1560  HTAB 1|
00001120: 36 3A 20 50 52 49 4E 54  20 22 31 36 36 30 34 20  |6: PRINT "16604 |
00001130: 43 79 70 72 65 73 73 22  0D 20 31 35 37 30 20 20  |Cypress". 1570  |
00001140: 48 54 41 42 20 31 36 3A  20 50 52 49 4E 54 20 22  |HTAB 16: PRINT "|
00001150: 53 74 72 6F 6E 67 73 76  69 6C 6C 65 2C 20 4F 68  |Strongsville, Oh|
00001160: 69 6F 20 20 34 34 31 33  36 22 3B 0D 20 31 35 38  |io  44136";. 158|
00001170: 30 20 20 52 45 54 55 52  4E 20 0D 20 32 30 30 30  |0  RETURN . 2000|
00001180: 20 20 52 45 4D 20 20 42  4C 4B 20 52 45 41 44 2F  |  REM  BLK READ/|
00001190: 57 52 49 54 45 0D 20 32  30 31 30 20 20 50 4F 4B  |WRITE. 2010  POK|
000011A0: 45 20 4D 4C 20 2B 20 31  34 2C 42 4C 3A 20 50 4F  |E ML + 14,BL: PO|
000011B0: 4B 45 20 4D 4C 20 2B 20  31 35 2C 42 48 0D 20 32  |KE ML + 15,BH. 2|
000011C0: 30 32 30 20 20 50 4F 4B  45 20 4D 4C 20 2B 20 33  |020  POKE ML + 3|
000011D0: 2C 52 57 3A 20 43 41 4C  4C 20 4D 4C 0D 20 32 30  |,RW: CALL ML. 20|
000011E0: 33 30 20 20 49 46 20 20  50 45 45 4B 20 28 38 29  |30  IF  PEEK (8)|
000011F0: 20 3C 20 20 3E 20 30 20  54 48 45 4E 20 45 52 20  | <  > 0 THEN ER |
00001200: 3D 20 31 3A 20 52 45 54  55 52 4E 20 0D 20 32 30  |= 1: RETURN . 20|
00001210: 34 30 20 45 52 20 3D 20  30 3A 20 52 45 54 55 52  |40 ER = 0: RETUR|
00001220: 4E 20 0D 20 32 35 30 30  20 20 52 45 4D 20 20 46  |N . 2500  REM  F|
00001230: 49 4E 49 53 48 20 55 50  0D 20 32 35 31 30 20 20  |INISH UP. 2510  |
00001240: 49 46 20 45 52 20 3D 20  31 20 47 4F 54 4F 20 34  |IF ER = 1 GOTO 4|
00001250: 35 30 30 0D 20 32 35 32  30 20 54 20 3D 20 32 20  |500. 2520 T = 2 |
00001260: 2A 20 32 35 34 3A 20 50  52 49 4E 54 20 44 24 3B  |* 254: PRINT D$;|
00001270: 22 42 53 41 56 45 20 22  3B 46 49 24 3B 22 2C 42  |"BSAVE ";FI$;",B|
00001280: 22 3B 54 3B 22 2C 41 22  3B 52 49 3B 22 2C 4C 32  |";T;",A";RI;",L2|
00001290: 35 34 22 0D 20 32 35 33  30 20 20 52 45 4D 20 20  |54". 2530  REM  |
000012A0: 55 50 44 41 54 45 20 56  42 4D 0D 20 32 35 33 35  |UPDATE VBM. 2535|
000012B0: 20 20 50 4F 4B 45 20 4D  4C 20 2B 20 31 33 2C 20  |  POKE ML + 13, |
000012C0: 49 4E 54 20 28 47 42 20  2F 20 32 35 36 29 0D 20  |INT (GB / 256). |
000012D0: 32 35 34 30 20 52 57 20  3D 20 31 32 38 3A 42 4C  |2540 RW = 128:BL|
000012E0: 20 3D 20 36 3A 42 48 20  3D 20 30 3A 20 47 4F 53  | = 6:BH = 0: GOS|
000012F0: 55 42 20 32 30 30 30 0D  20 32 35 35 30 20 20 49  |UB 2000. 2550  I|
00001300: 46 20 45 52 20 3D 20 31  20 47 4F 54 4F 20 34 35  |F ER = 1 GOTO 45|
00001310: 30 30 0D 20 32 35 36 30  20 54 31 20 3D 20 20 49  |00. 2560 T1 =  I|
00001320: 4E 54 20 28 47 42 20 2F  20 32 35 36 29 3A 54 32  |NT (GB / 256):T2|
00001330: 20 3D 20 20 49 4E 54 20  28 42 4D 20 2F 20 32 35  | =  INT (BM / 25|
00001340: 36 29 0D 20 32 35 37 30  20 20 50 4F 4B 45 20 55  |6). 2570  POKE U|
00001350: 42 20 2B 20 34 2C 54 31  3A 20 50 4F 4B 45 20 55  |B + 4,T1: POKE U|
00001360: 42 20 2B 20 31 30 2C 54  31 3A 20 50 4F 4B 45 20  |B + 10,T1: POKE |
00001370: 55 42 20 2B 20 37 2C 54  32 0D 20 32 35 38 30 20  |UB + 7,T2. 2580 |
00001380: 20 43 41 4C 4C 20 55 42  0D 20 32 36 31 30 20 20  | CALL UB. 2610  |
00001390: 52 45 4D 20 20 50 55 54  20 56 42 4D 20 42 41 43  |REM  PUT VBM BAC|
000013A0: 4B 0D 20 32 36 33 30 20  52 57 20 3D 20 31 32 39  |K. 2630 RW = 129|
000013B0: 3A 42 4C 20 3D 20 36 3A  42 48 20 3D 20 30 0D 20  |:BL = 6:BH = 0. |
000013C0: 32 36 34 30 20 20 47 4F  53 55 42 20 32 30 30 30  |2640  GOSUB 2000|
000013D0: 0D 20 32 36 35 30 20 20  49 46 20 45 52 20 3D 20  |. 2650  IF ER = |
000013E0: 31 20 47 4F 54 4F 20 34  35 30 30 0D 20 32 36 36  |1 GOTO 4500. 266|
000013F0: 30 20 20 50 52 49 4E 54  20 3A 20 50 52 49 4E 54  |0  PRINT : PRINT|
00001400: 20 22 44 4F 4E 45 21 22  3A 20 47 4F 54 4F 20 35  | "DONE!": GOTO 5|
00001410: 30 30 30 0D 20 33 30 30  30 20 20 52 45 4D 20 20  |000. 3000  REM  |
00001420: 41 50 50 45 4E 44 20 52  45 43 4F 52 44 53 0D 20  |APPEND RECORDS. |
00001430: 33 30 31 30 20 20 49 46  20 52 4C 20 3D 20 30 20  |3010  IF RL = 0 |
00001440: 41 4E 44 20 52 20 3D 20  31 20 54 48 45 4E 20 20  |AND R = 1 THEN  |
00001450: 52 45 54 55 52 4E 20 0D  20 33 30 31 35 20 20 50  |RETURN . 3015  P|
00001460: 4F 4B 45 20 47 42 20 2B  20 33 37 2C 52 0D 20 33  |OKE GB + 37,R. 3|
00001470: 30 32 30 20 20 50 4F 4B  45 20 4D 4C 20 2B 20 31  |020  POKE ML + 1|
00001480: 32 2C 30 3A 20 50 4F 4B  45 20 4D 4C 20 2B 20 31  |2,0: POKE ML + 1|
00001490: 33 2C 20 49 4E 54 20 28  47 42 20 2F 20 32 35 36  |3, INT (GB / 256|
000014A0: 29 0D 20 33 30 33 30 20  42 4C 20 3D 20 32 3A 42  |). 3030 BL = 2:B|
000014B0: 48 20 3D 20 30 3A 52 57  20 3D 20 31 32 39 3A 20  |H = 0:RW = 129: |
000014C0: 47 4F 53 55 42 20 32 30  30 30 0D 20 33 30 34 30  |GOSUB 2000. 3040|
000014D0: 20 20 49 46 20 45 52 20  3D 20 31 20 54 48 45 4E  |  IF ER = 1 THEN|
000014E0: 20 20 52 45 54 55 52 4E  20 0D 20 33 30 35 30 20  |  RETURN . 3050 |
000014F0: 20 46 4F 52 20 49 20 3D  20 31 20 54 4F 20 52 20  | FOR I = 1 TO R |
00001500: 2D 20 31 3A 45 53 20 3D  20 45 31 20 2B 20 49 20  |- 1:ES = E1 + I |
00001510: 2A 20 33 39 0D 20 33 30  36 30 20 54 24 20 3D 20  |* 39. 3060 T$ = |
00001520: 22 22 3A 20 46 4F 52 20  54 31 20 3D 20 45 53 20  |"": FOR T1 = ES |
00001530: 2B 20 35 20 54 4F 20 45  53 20 2B 20 37 3A 54 20  |+ 5 TO ES + 7:T |
00001540: 3D 20 20 50 45 45 4B 20  28 54 31 29 0D 20 33 30  |=  PEEK (T1). 30|
00001550: 37 30 20 20 49 46 20 54  20 3D 20 30 20 47 4F 54  |70  IF T = 0 GOT|
00001560: 4F 20 33 30 39 30 0D 20  33 30 38 30 20 54 24 20  |O 3090. 3080 T$ |
00001570: 3D 20 54 24 20 2B 20 20  43 48 52 24 20 28 54 29  |= T$ +  CHR$ (T)|
00001580: 3A 20 4E 45 58 54 20 54  31 0D 20 33 30 39 30 20  |: NEXT T1. 3090 |
00001590: 52 45 20 3D 20 20 56 41  4C 20 28 54 24 29 3A 53  |RE =  VAL (T$):S|
000015A0: 43 20 3D 20 20 50 45 45  4B 20 28 52 49 20 2B 20  |C =  PEEK (RI + |
000015B0: 32 20 2A 20 52 45 29 3A  42 59 20 3D 20 20 50 45  |2 * RE):BY =  PE|
000015C0: 45 4B 20 28 52 49 20 2B  20 32 20 2A 20 52 45 20  |EK (RI + 2 * RE |
000015D0: 2B 20 31 29 0D 20 33 31  30 30 20 4C 20 3D 20 32  |+ 1). 3100 L = 2|
000015E0: 35 34 20 2A 20 53 43 0D  20 33 31 31 30 20 20 50  |54 * SC. 3110  P|
000015F0: 52 49 4E 54 20 44 24 3B  22 42 4C 4F 41 44 20 54  |RINT D$;"BLOAD T|
00001600: 45 4D 50 22 3B 54 24 3B  22 2C 41 22 3B 46 42 0D  |EMP";T$;",A";FB.|
00001610: 20 33 31 31 35 20 20 50  52 49 4E 54 20 44 24 3B  | 3115  PRINT D$;|
00001620: 22 44 45 4C 45 54 45 20  54 45 4D 50 22 3B 54 24  |"DELETE TEMP";T$|
00001630: 0D 20 33 31 32 30 20 20  50 52 49 4E 54 20 44 24  |. 3120  PRINT D$|
00001640: 3B 22 42 53 41 56 45 20  22 3B 46 49 24 3B 22 2C  |;"BSAVE ";FI$;",|
00001650: 42 22 3B 42 3B 22 2C 41  22 3B 46 42 3B 22 2C 4C  |B";B;",A";FB;",L|
00001660: 22 4C 0D 20 33 31 33 30  20 42 20 3D 20 42 20 2B  |"L. 3130 B = B +|
00001670: 20 4C 3A 20 4E 45 58 54  20 49 0D 20 33 31 34 30  | L: NEXT I. 3140|
00001680: 20 20 52 45 54 55 52 4E  20 0D 20 33 35 30 30 20  |  RETURN . 3500 |
00001690: 20 52 45 4D 20 20 52 45  43 4F 52 44 20 52 4F 55  | REM  RECORD ROU|
000016A0: 54 49 4E 45 0D 20 33 35  31 30 20 20 49 46 20 43  |TINE. 3510  IF C|
000016B0: 52 20 3D 20 31 32 37 20  54 48 45 4E 20 52 4C 20  |R = 127 THEN RL |
000016C0: 3D 20 30 3A 20 52 45 54  55 52 4E 20 0D 20 33 35  |= 0: RETURN . 35|
000016D0: 32 30 20 42 4C 20 3D 20  20 50 45 45 4B 20 28 4D  |20 BL =  PEEK (M|
000016E0: 49 20 2B 20 43 52 29 3A  42 48 20 3D 20 20 50 45  |I + CR):BH =  PE|
000016F0: 45 4B 20 28 4D 49 20 2B  20 32 35 36 20 2B 20 43  |EK (MI + 256 + C|
00001700: 52 29 0D 20 33 35 33 30  20 20 49 46 20 42 4C 20  |R). 3530  IF BL |
00001710: 3D 20 30 20 41 4E 44 20  42 48 20 3D 20 30 20 54  |= 0 AND BH = 0 T|
00001720: 48 45 4E 20 20 50 4F 4B  45 20 28 52 49 20 2B 20  |HEN  POKE (RI + |
00001730: 32 20 2A 20 43 52 29 2C  30 3A 20 50 4F 4B 45 20  |2 * CR),0: POKE |
00001740: 28 52 49 20 2B 20 32 20  2A 20 43 52 20 2B 20 31  |(RI + 2 * CR + 1|
00001750: 29 2C 30 3A 43 52 20 3D  20 43 52 20 2B 20 31 3A  |),0:CR = CR + 1:|
00001760: 20 47 4F 54 4F 20 33 35  31 30 0D 20 33 35 34 30  | GOTO 3510. 3540|
00001770: 20 20 49 46 20 42 4C 20  3D 20 32 35 35 20 41 4E  |  IF BL = 255 AN|
00001780: 44 20 42 48 20 3D 20 32  35 35 20 54 48 45 4E 20  |D BH = 255 THEN |
00001790: 20 50 4F 4B 45 20 28 52  49 20 2B 20 32 20 2A 20  | POKE (RI + 2 * |
000017A0: 43 52 29 2C 30 3A 20 50  4F 4B 45 20 28 52 49 20  |CR),0: POKE (RI |
000017B0: 2B 20 32 20 2A 20 43 52  20 2B 20 31 29 2C 32 35  |+ 2 * CR + 1),25|
000017C0: 35 3A 43 52 20 3D 20 43  52 20 2B 20 31 3A 20 47  |5:CR = CR + 1: G|
000017D0: 4F 54 4F 20 33 35 31 30  0D 20 33 35 35 30 20 52  |OTO 3510. 3550 R|
000017E0: 57 20 3D 20 31 32 38 3A  20 50 4F 4B 45 20 4D 4C  |W = 128: POKE ML|
000017F0: 20 2B 20 31 33 2C 20 49  4E 54 20 28 46 42 20 2F  | + 13, INT (FB /|
00001800: 20 32 35 36 29 3A 20 47  4F 53 55 42 20 32 30 30  | 256): GOSUB 200|
00001810: 30 0D 20 33 35 36 30 20  20 49 46 20 45 52 20 3D  |0. 3560  IF ER =|
00001820: 20 31 20 47 4F 54 4F 20  34 35 30 30 0D 20 33 35  | 1 GOTO 4500. 35|
00001830: 37 30 20 52 4C 20 3D 20  32 35 36 20 2A 20 20 50  |70 RL = 256 *  P|
00001840: 45 45 4B 20 28 46 42 20  2B 20 35 31 31 29 20 2B  |EEK (FB + 511) +|
00001850: 20 20 50 45 45 4B 20 28  46 42 20 2B 20 32 35 35  |  PEEK (FB + 255|
00001860: 29 0D 20 33 35 37 35 20  53 43 20 3D 20 20 49 4E  |). 3575 SC =  IN|
00001870: 54 20 28 52 4C 20 2F 20  32 35 34 29 3A 42 59 20  |T (RL / 254):BY |
00001880: 3D 20 52 4C 20 2D 20 32  35 34 20 2A 20 53 43 0D  |= RL - 254 * SC.|
00001890: 20 33 35 38 30 20 20 49  46 20 42 59 20 3D 20 30  | 3580  IF BY = 0|
000018A0: 20 54 48 45 4E 20 42 59  20 3D 20 32 35 34 3A 20  | THEN BY = 254: |
000018B0: 47 4F 54 4F 20 33 35 39  30 0D 20 33 35 38 35 20  |GOTO 3590. 3585 |
000018C0: 53 43 20 3D 20 53 43 20  2B 20 31 3A 54 53 20 3D  |SC = SC + 1:TS =|
000018D0: 20 54 53 20 2B 20 53 43  0D 20 33 35 39 30 20 20  | TS + SC. 3590  |
000018E0: 50 4F 4B 45 20 28 52 49  20 2B 20 32 20 2A 20 43  |POKE (RI + 2 * C|
000018F0: 52 29 2C 53 43 3A 20 50  4F 4B 45 20 28 52 49 20  |R),SC: POKE (RI |
00001900: 2B 20 32 20 2A 20 43 52  20 2B 20 31 29 2C 42 59  |+ 2 * CR + 1),BY|
00001910: 20 2B 20 31 0D 20 33 35  39 35 20 52 4C 20 3D 20  | + 1. 3595 RL = |
00001920: 53 43 20 2A 20 32 35 34  0D 20 33 36 30 30 20 20  |SC * 254. 3600  |
00001930: 49 46 20 52 4C 20 3C 20  35 31 33 20 54 48 45 4E  |IF RL < 513 THEN|
00001940: 20 20 47 4F 53 55 42 20  31 30 30 30 3A 42 4C 20  |  GOSUB 1000:BL |
00001950: 3D 20 20 50 45 45 4B 20  28 46 42 29 3A 42 48 20  |=  PEEK (FB):BH |
00001960: 3D 20 20 50 45 45 4B 20  28 46 42 20 2B 20 32 35  |=  PEEK (FB + 25|
00001970: 36 29 3A 20 52 45 54 55  52 4E 20 0D 20 33 36 33  |6): RETURN . 363|
00001980: 30 20 20 50 4F 4B 45 20  46 42 20 2B 20 35 31 31  |0  POKE FB + 511|
00001990: 2C 30 3A 20 50 4F 4B 45  20 46 42 20 2B 20 32 35  |,0: POKE FB + 25|
000019A0: 35 2C 30 0D 20 33 36 34  30 20 52 57 20 3D 20 31  |5,0. 3640 RW = 1|
000019B0: 32 39 3A 20 47 4F 53 55  42 20 32 30 30 30 3A 20  |29: GOSUB 2000: |
000019C0: 52 45 54 55 52 4E 20 0D  20 34 30 30 30 20 20 52  |RETURN . 4000  R|
000019D0: 45 4D 20 20 43 52 45 41  54 45 20 45 4E 54 52 59  |EM  CREATE ENTRY|
000019E0: 0D 20 34 30 31 30 20 54  24 20 3D 20 22 54 45 4D  |. 4010 T$ = "TEM|
000019F0: 50 22 20 2B 20 20 53 54  52 24 20 28 43 52 29 3A  |P" +  STR$ (CR):|
00001A00: 54 20 3D 20 20 4C 45 4E  20 28 54 24 29 0D 20 34  |T =  LEN (T$). 4|
00001A10: 30 32 30 20 45 53 20 3D  20 45 31 20 2B 20 33 39  |020 ES = E1 + 39|
00001A20: 20 2A 20 52 3A 20 50 4F  4B 45 20 45 53 2C 33 32  | * R: POKE ES,32|
00001A30: 20 2B 20 54 0D 20 34 30  32 35 20 20 49 46 20 52  | + T. 4025  IF R|
00001A40: 4C 20 3C 20 35 31 33 20  54 48 45 4E 20 20 50 4F  |L < 513 THEN  PO|
00001A50: 4B 45 20 45 53 2C 31 36  20 2B 20 54 0D 20 34 30  |KE ES,16 + T. 40|
00001A60: 33 30 20 20 46 4F 52 20  49 20 3D 20 31 20 54 4F  |30  FOR I = 1 TO|
00001A70: 20 54 3A 4C 24 20 3D 20  20 4D 49 44 24 20 28 54  | T:L$ =  MID$ (T|
00001A80: 24 2C 49 2C 31 29 0D 20  34 30 34 30 20 20 50 4F  |$,I,1). 4040  PO|
00001A90: 4B 45 20 45 53 20 2B 20  49 2C 20 41 53 43 20 28  |KE ES + I, ASC (|
00001AA0: 4C 24 29 3A 20 4E 45 58  54 20 0D 20 34 30 35 30  |L$): NEXT . 4050|
00001AB0: 20 20 46 4F 52 20 54 20  3D 20 49 20 54 4F 20 31  |  FOR T = I TO 1|
00001AC0: 35 3A 20 50 4F 4B 45 20  45 53 20 2B 20 54 2C 30  |5: POKE ES + T,0|
00001AD0: 3A 20 4E 45 58 54 20 0D  20 34 30 36 30 20 20 50  |: NEXT . 4060  P|
00001AE0: 4F 4B 45 20 45 53 20 2B  20 31 36 2C 36 3A 20 50  |OKE ES + 16,6: P|
00001AF0: 4F 4B 45 20 45 53 20 2B  20 31 37 2C 42 4C 3A 20  |OKE ES + 17,BL: |
00001B00: 50 4F 4B 45 20 45 53 20  2B 20 31 38 2C 42 48 0D  |POKE ES + 18,BH.|
00001B10: 20 34 30 36 35 20 54 48  20 3D 20 20 49 4E 54 20  | 4065 TH =  INT |
00001B20: 28 52 4C 20 2F 20 35 31  32 29 3A 54 4C 20 3D 20  |(RL / 512):TL = |
00001B30: 52 4C 20 2D 20 54 48 20  2A 20 35 31 32 3A 54 48  |RL - TH * 512:TH|
00001B40: 20 3D 20 54 48 20 2B 20  31 0D 20 34 30 36 37 20  | = TH + 1. 4067 |
00001B50: 20 49 46 20 54 4C 20 3D  20 30 20 54 48 45 4E 20  | IF TL = 0 THEN |
00001B60: 54 48 20 3D 20 54 48 20  2D 20 31 0D 20 34 30 36  |TH = TH - 1. 406|
00001B70: 38 20 20 50 4F 4B 45 20  45 53 20 2B 20 31 39 2C  |8  POKE ES + 19,|
00001B80: 54 48 0D 20 34 30 37 30  20 54 4C 20 3D 20 20 46  |TH. 4070 TL =  F|
00001B90: 4E 20 4C 42 28 52 4C 29  3A 54 48 20 3D 20 20 49  |N LB(RL):TH =  I|
00001BA0: 4E 54 20 28 52 4C 20 2F  20 32 35 36 29 0D 20 34  |NT (RL / 256). 4|
00001BB0: 30 37 35 20 20 50 4F 4B  45 20 45 53 20 2B 20 32  |075  POKE ES + 2|
00001BC0: 31 2C 54 4C 3A 20 50 4F  4B 45 20 45 53 20 2B 20  |1,TL: POKE ES + |
00001BD0: 32 32 2C 54 48 3A 20 50  4F 4B 45 20 45 53 20 2B  |22,TH: POKE ES +|
00001BE0: 20 33 37 2C 32 0D 20 34  30 38 30 20 20 50 4F 4B  | 37,2. 4080  POK|
00001BF0: 45 20 45 53 20 2B 20 33  30 2C 32 32 37 3A 20 52  |E ES + 30,227: R|
00001C00: 45 54 55 52 4E 20 0D 20  34 35 30 30 20 20 49 4E  |ETURN . 4500  IN|
00001C10: 56 45 52 53 45 20 3A 20  50 52 49 4E 54 20 22 44  |VERSE : PRINT "D|
00001C20: 49 53 4B 20 49 2F 4F 20  45 52 52 4F 52 22 3A 20  |ISK I/O ERROR": |
00001C30: 4E 4F 52 4D 41 4C 20 0D  20 35 30 30 30 20 20 52  |NORMAL . 5000  R|
00001C40: 45 4D 20 20 45 58 49 54  20 52 4F 55 54 49 4E 45  |EM  EXIT ROUTINE|
00001C50: 0D 20 35 30 31 30 20 20  48 49 4D 45 4D 3A 20 48  |. 5010  HIMEM: H|
00001C60: 4D 0D 20 35 30 32 30 20  20 45 4E 44 20 0D 20 36  |M. 5020  END . 6|
00001C70: 30 30 30 20 20 52 45 4D  20 20 4D 4C 20 52 4F 55  |000  REM  ML ROU|
00001C80: 54 49 4E 45 53 0D 20 36  30 31 30 20 20 44 41 54  |TINES. 6010  DAT|
00001C90: 41 20 20 33 32 2C 30 2C  31 39 31 2C 31 32 38 2C  |A  32,0,191,128,|
00001CA0: 31 30 2C 31 31 32 2C 31  34 34 2C 38 2C 31 37 36  |10,112,144,8,176|
00001CB0: 2C 31 31 2C 33 2C 39 36  2C 30 2C 31 31 36 2C 32  |,11,3,96,0,116,2|
00001CC0: 2C 30 0D 20 36 30 32 30  20 20 44 41 54 41 20 20  |,0. 6020  DATA  |
00001CD0: 31 36 39 2C 30 2C 31 33  33 2C 38 2C 39 36 2C 31  |169,0,133,8,96,1|
00001CE0: 36 39 2C 31 2C 31 33 33  2C 38 2C 39 36 0D 20 36  |69,1,133,8,96. 6|
00001CF0: 30 33 30 20 20 44 41 54  41 20 20 31 37 33 2C 30  |030  DATA  173,0|
00001D00: 2C 30 2C 34 31 2C 33 31  2C 31 34 31 2C 30 2C 30  |,0,41,31,141,0,0|
00001D10: 2C 32 34 2C 31 37 33 2C  30 2C 30 0D 20 36 30 34  |,24,173,0,0. 604|
00001D20: 30 20 20 44 41 54 41 20  20 37 34 2C 31 34 31 2C  |0  DATA  74,141,|
00001D30: 30 2C 30 2C 31 37 33 2C  30 2C 30 2C 31 30 36 2C  |0,0,173,0,0,106,|
00001D40: 37 34 2C 37 34 2C 37 34  2C 37 34 2C 31 34 31 2C  |74,74,74,74,141,|
00001D50: 30 2C 30 2C 39 36 0D 20  36 30 35 30 20 20 44 41  |0,0,96. 6050  DA|
00001D60: 54 41 20 20 31 36 39 2C  31 32 38 2C 31 36 32 2C  |TA  169,128,162,|
00001D70: 30 2C 32 34 30 2C 35 2C  37 34 2C 32 30 32 0D 20  |0,240,5,74,202. |
00001D80: 36 30 36 30 20 20 44 41  54 41 20 20 31 38 34 2C  |6060  DATA  184,|
00001D90: 38 30 2C 32 34 39 2C 31  33 2C 30 2C 30 2C 31 34  |80,249,13,0,0,14|
00001DA0: 31 2C 30 2C 30 2C 39 36  0D 20 36 30 37 30 20 20  |1,0,0,96. 6070  |
00001DB0: 44 41 54 41 20 20 31 36  32 2C 30 2C 31 38 39 2C  |DATA  162,0,189,|
00001DC0: 30 2C 30 2C 32 39 2C 30  2C 30 2C 31 35 37 2C 30  |0,0,29,0,0,157,0|
00001DD0: 2C 30 2C 32 33 32 2C 32  30 38 2C 32 34 34 2C 39  |,0,232,208,244,9|
00001DE0: 36 0D 0D 1A 1A 1A 1A 1A  1A 1A 1A 1A 1A 1A 1A 1A  |6...............|
00001DF0: 1A 1A 1A 1A 1A 1A 1A 1A  1A 1A 1A 1A 1A 1A 1A 1A  |................|
. 5  REM  APPLE TO COMMODORE CONVERSION.
 10  REM  FOR GEOS FILES. 20  REM      B
Y TERRY VAN CAMP. 30  REM    SEPTEMBER 1
989. 40  REM . 50  HOME : PRINT . 60  PR
INT "INSERT DISK WITH GEOS FILE TO CONVE
RT": PRINT "INTO CURRENT DRIVE". 70  PRI
NT : PRINT "PRESS ANY KEY TO START CONVE
RSION". 80  GET A$: HOME : PRINT . 90 HM
 = 38400: REM  $9600. 100 ML = HM - 40 *
 256: HIMEM: ML - 4 * 256: REM  $6500. 1
10  REM  DEFINE STORAGE AREAS. 120 MI = 
ML + 256:RI = MI + 512:BM = RI + 256:GB 
= BM + 512. 130 FB = GB + 512:DA = ML + 
26:FR = DA + 28. 140 UB = FR + 18. 170  
FOR I = ML TO ML + 86: READ X: POKE I,X:
 NEXT . 180 D$ =  CHR$ (4): POKE ML + 11
, PEEK (48944): REM  CURRENT UNIT NUM. 1
90  DEF  FN LB(X) = X - 256 *  INT (X / 
256): REM  LOW BYTE. 210  POKE ML + 5, I
NT (ML / 256): POKE ML + 13, INT (GB / 2
56): REM  SET GB FOR R/W BLKS. 220 RW = 
128:BL = 2:BH = 0: GOSUB 2000. 230  IF E
R = 1 GOTO 4500. 240  REM  CHECK DISK FO
R # FILES & GEOS TYPE. 250  IF  PEEK (GB
 + 37) <  > 1 THEN  PRINT "ONLY ONE FILE
 CAN BE ON THE DISK": GOTO 5000. 260 E1 
= GB + 43: REM  START OF 1ST ENTRY. 270 
B =  PEEK (E1 + 16): IF B < 128 OR B > 1
41 THEN  PRINT "NOT A GEOS FILE": GOTO 5
000. 280 B =  INT ( PEEK (E1) / 16): IF 
B = 2 THEN  PRINT "CANNOT CONVERT THIS T
YPE OF FILE": GOTO 5000. 290  REM  OKAY 
TO START CONVERSION. 300  REM  LOAD MI. 
305  POKE GB + 37,0: POKE E1,0:RW = 129:
 GOSUB 2000:RW = 128. 308  IF ER = 1 GOT
O 4500. 310  POKE ML + 13, INT (MI / 256
):BL =  PEEK (E1 + 17):BH =  PEEK (E1 + 
18): GOSUB 2000. 320  IF ER = 1 GOTO 450
0. 330  REM  LOAD HEADER. 340 TL =  FN L
B(FB + 252):TH =  INT ((FB + 252) / 256)
. 350  POKE ML + 13,TH: POKE ML + 12,TL.
 360 BL =  PEEK (E1 + 31):BH =  PEEK (E1
 + 32): GOSUB 2000. 370  IF ER = 1 GOTO 
4500. 380  REM  CONSTRUCT C= ENTRY & CON
VERT NAME. 385 FI$ = "": POKE FB,131: PO
KE FB + 1,0: POKE FB + 2,0. 390  FOR I =
 0 TO 14. 400 T =  PEEK (E1 + I + 1). 41
0  IF T = 0 THEN T = 160: POKE FB + 3 + 
I,T: GOTO 460. 420  POKE FB + 3 + I,T. 4
30  IF T > 96 AND T < 123 THEN T = T - 3
2. 435  IF I = 0 AND T < 65 THEN T = 88.
 440  IF T < 48 OR T > 122 OR (T > 57 AN
D T < 65) THEN T = 46. 445  IF I = 0 AND
 T = 46 THEN T = 88. 450 FI$ = FI$ +  CH
R$ (T): REM  BIN FILENAME. 460  NEXT : P
OKE FB + 3 + I,160. 462  GOSUB 1500. 465
 T$ = "SEQ FORMATTED GEOS FILE V1.0". 47
0  FOR I = 1 TO 28. 475  POKE FB + 29 + 
I, ASC ( MID$ (T$,I,1)): NEXT . 477  POK
E FB + 29 + I,0. 480  FOR I = FB + 19 TO
 FB + 29: POKE I,0: NEXT . 490 GT =  PEE
K (E1 + 16): POKE FB + 21,1: POKE FB + 2
2,GT - 124. 500  POKE FB + 26, PEEK (E1 
+ 36): POKE FB + 27, PEEK (E1 + 35). 510
 TL =  FN LB(E1 + 33):TH =  INT ((E1 + 3
3) / 256). 520  POKE DA + 1,TL: POKE DA 
+ 2,TH. 530  POKE DA + 17,TL: POKE DA + 
18,TH. 540  POKE DA + 10,TL + 1: POKE DA
 + 11,TH. 550 TL =  FN LB(FB + 23):TH = 
 INT ((FB + 23) / 256). 560  POKE DA + 1
4,TL: POKE DA + 15,TH. 570  POKE DA + 6,
TL + 2: POKE DA + 7,TH. 575  POKE DA + 2
5,TL + 1: POKE DA + 26,TH. 580  CALL DA:
 REM  CONVERT DATE. 590  POKE FB + 252 +
 68,131: POKE FB + 252 + 69,GT - 124. 60
0  REM  PREPARE VBM STORAGE. 610 T3 =  P
EEK (E1 + 31):T4 =  PEEK (E1 + 32):T1 = 
 PEEK (E1 + 17):T2 =  PEEK (E1 + 18). 63
0  FOR I = 0 TO 511. 640  POKE BM + I,0:
 NEXT . 660 BL = T3:BH = T4: GOSUB 1000:
 REM  SET BIT IN VBM. 670 BL = T1:BH = T
2: GOSUB 1000. 710  REM  READY TO REWRIT
E DATA BLKS. 770 T = 3 * 254: PRINT D$;"
BSAVE";FI$;",A";FB;",L";T. 780 CR = 0:B 
= 3 * 254:TS = 2. 790  POKE ML + 13, INT
 (GB / 256): POKE ML + 12,0. 793 RW = 12
8:BL = 2:BH = 0: GOSUB 2000. 795  IF ER 
= 1 GOTO 4500. 798  FOR R = 1 TO 11. 800
  GOSUB 3500: REM  GET RECORD INFO. 810 
 IF ER = 1 GOTO 4500. 820  IF RL = 0 THE
N  GOSUB 3000: GOTO 2500. 830  IF RL > 8
 * 4 * 256 THEN  PRINT "RECORD TOO LONG"
: GOTO 5000. 840  GOSUB 4000: REM  CREAT
E ENTRY. 850 CR = CR + 1: NEXT R. 860  G
OSUB 3000: REM  APPEND RECORDS. 870  IF 
ER = 1 GOTO 4500. 880  GOTO 790: REM  ST
ART NEXT 11 RECORDS. 1000 BN = BH * 256 
+ BL. 1010 BYTENUM =  INT (BN / 8):BITNU
M = BN - 8 * BYTENUM. 1020  POKE FR + 3,
BITNUM:TL =  FN LB(BM) + BYTENUM:TH =  I
NT ((BM + BYTENUM) / 256). 1030  POKE FR
 + 12,TL: POKE FR + 13,TH. 1040  POKE FR
 + 15,TL: POKE FR + 16,TH. 1050  CALL FR
: RETURN . 1500  REM  WAITING. 1510  PRI
NT : PRINT "CONVERTING": PRINT : PRINT F
I$: PRINT : PRINT "PLEASE WAIT ....". 15
20  VTAB 20: HTAB 16. 1530  PRINT "A SHA
REWARE PROGRAM". 1540  PRINT  TAB( 22);"
BY": PRINT . 1550  HTAB 16: PRINT "TERRY
 VAN CAMP". 1560  HTAB 16: PRINT "16604 
CYPRESS". 1570  HTAB 16: PRINT "STRONGSV
ILLE, OHIO  44136";. 1580  RETURN . 2000
  REM  BLK READ/WRITE. 2010  POKE ML + 1
4,BL: POKE ML + 15,BH. 2020  POKE ML + 3
,RW: CALL ML. 2030  IF  PEEK (8) <  > 0 
THEN ER = 1: RETURN . 2040 ER = 0: RETUR
N . 2500  REM  FINISH UP. 2510  IF ER = 
1 GOTO 4500. 2520 T = 2 * 254: PRINT D$;
"BSAVE ";FI$;",B";T;",A";RI;",L254". 253
0  REM  UPDATE VBM. 2535  POKE ML + 13, 
INT (GB / 256). 2540 RW = 128:BL = 6:BH 
= 0: GOSUB 2000. 2550  IF ER = 1 GOTO 45
00. 2560 T1 =  INT (GB / 256):T2 =  INT 
(BM / 256). 2570  POKE UB + 4,T1: POKE U
B + 10,T1: POKE UB + 7,T2. 2580  CALL UB
. 2610  REM  PUT VBM BACK. 2630 RW = 129
:BL = 6:BH = 0. 2640  GOSUB 2000. 2650  
IF ER = 1 GOTO 4500. 2660  PRINT : PRINT
 "DONE!": GOTO 5000. 3000  REM  APPEND R
ECORDS. 3010  IF RL = 0 AND R = 1 THEN  
RETURN . 3015  POKE GB + 37,R. 3020  POK
E ML + 12,0: POKE ML + 13, INT (GB / 256
). 3030 BL = 2:BH = 0:RW = 129: GOSUB 20
00. 3040  IF ER = 1 THEN  RETURN . 3050 
 FOR I = 1 TO R - 1:ES = E1 + I * 39. 30
60 T$ = "": FOR T1 = ES + 5 TO ES + 7:T 
=  PEEK (T1). 3070  IF T = 0 GOTO 3090. 
3080 T$ = T$ +  CHR$ (T): NEXT T1. 3090 
RE =  VAL (T$):SC =  PEEK (RI + 2 * RE):
BY =  PEEK (RI + 2 * RE + 1). 3100 L = 2
54 * SC. 3110  PRINT D$;"BLOAD TEMP";T$;
",A";FB. 3115  PRINT D$;"DELETE TEMP";T$
. 3120  PRINT D$;"BSAVE ";FI$;",B";B;",A
";FB;",L"L. 3130 B = B + L: NEXT I. 3140
  RETURN . 3500  REM  RECORD ROUTINE. 35
10  IF CR = 127 THEN RL = 0: RETURN . 35
20 BL =  PEEK (MI + CR):BH =  PEEK (MI +
 256 + CR). 3530  IF BL = 0 AND BH = 0 T
HEN  POKE (RI + 2 * CR),0: POKE (RI + 2 
* CR + 1),0:CR = CR + 1: GOTO 3510. 3540
  IF BL = 255 AND BH = 255 THEN  POKE (R
I + 2 * CR),0: POKE (RI + 2 * CR + 1),25
5:CR = CR + 1: GOTO 3510. 3550 RW = 128:
 POKE ML + 13, INT (FB / 256): GOSUB 200
0. 3560  IF ER = 1 GOTO 4500. 3570 RL = 
256 *  PEEK (FB + 511) +  PEEK (FB + 255
). 3575 SC =  INT (RL / 254):BY = RL - 2
54 * SC. 3580  IF BY = 0 THEN BY = 254: 
GOTO 3590. 3585 SC = SC + 1:TS = TS + SC
. 3590  POKE (RI + 2 * CR),SC: POKE (RI 
+ 2 * CR + 1),BY + 1. 3595 RL = SC * 254
. 3600  IF RL < 513 THEN  GOSUB 1000:BL 
=  PEEK (FB):BH =  PEEK (FB + 256): RETU
RN . 3630  POKE FB + 511,0: POKE FB + 25
5,0. 3640 RW = 129: GOSUB 2000: RETURN .
 4000  REM  CREATE ENTRY. 4010 T$ = "TEM
P" +  STR$ (CR):T =  LEN (T$). 4020 ES =
 E1 + 39 * R: POKE ES,32 + T. 4025  IF R
L < 513 THEN  POKE ES,16 + T. 4030  FOR 
I = 1 TO T:L$ =  MID$ (T$,I,1). 4040  PO
KE ES + I, ASC (L$): NEXT . 4050  FOR T 
= I TO 15: POKE ES + T,0: NEXT . 4060  P
OKE ES + 16,6: POKE ES + 17,BL: POKE ES 
+ 18,BH. 4065 TH =  INT (RL / 512):TL = 
RL - TH * 512:TH = TH + 1. 4067  IF TL =
 0 THEN TH = TH - 1. 4068  POKE ES + 19,
TH. 4070 TL =  FN LB(RL):TH =  INT (RL /
 256). 4075  POKE ES + 21,TL: POKE ES + 
22,TH: POKE ES + 37,2. 4080  POKE ES + 3
0,227: RETURN . 4500  INVERSE : PRINT "D
ISK I/O ERROR": NORMAL . 5000  REM  EXIT
 ROUTINE. 5010  HIMEM: HM. 5020  END . 6
000  REM  ML ROUTINES. 6010  DATA  32,0,
191,128,10,112,144,8,176,11,3,96,0,116,2
,0. 6020  DATA  169,0,133,8,96,169,1,133
,8,96. 6030  DATA  173,0,0,41,31,141,0,0
,24,173,0,0. 6040  DATA  74,141,0,0,173,
0,0,106,74,74,74,74,141,0,0,96. 6050  DA
TA  169,128,162,0,240,5,74,202. 6060  DA
TA  184,80,249,13,0,0,141,0,0,96. 6070  
DATA  162,0,189,0,0,29,0,0,157,0,0,232,2
08,244,96...............................
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL