ALL-PURPOSE.BAS
FILE INFORMATION
FILENAME(S): ALL-PURPOSE.BAS
FILE TYPE(S): PRG
FILE SIZE: 2.3K
FIRST SEEN: 2025-12-01 19:06:57
APPEARS ON: 1 disk(s)
FILE HASH
9b7bd452d37362099bbd75bf047c8613dd3b8a5ebc725e3d6a228ef0e3d714b2
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| ICE | ALL-PURPOSE.BAS | PRG | Icebreaker | 19 | 2 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 01 1C 3D 1C 00 00 89 20 31 30 3A 8F 20 2D 2D 2D |..=.... 10:. ---| 00000010: 20 53 4B 49 50 20 4F 56 45 52 20 54 48 45 20 53 | SKIP OVER THE S| 00000020: 43 52 41 54 43 48 20 41 4E 44 20 55 50 44 41 54 |CRATCH AND UPDAT| 00000030: 45 20 52 4F 55 54 49 4E 45 20 2D 2D 2D 00 75 1C |E ROUTINE ---.u.| 00000040: 01 00 8F 20 2D 2D 2D 20 41 4C 4C 2D 50 55 52 50 |... --- ALL-PURP| 00000050: 4F 53 45 20 42 41 53 49 43 20 50 52 47 20 53 54 |OSE BASIC PRG ST| 00000060: 41 52 54 20 2F 20 56 45 52 53 49 4F 4E 20 31 2E |ART / VERSION 1.| 00000070: 30 20 2D 2D 2D 00 97 1C 02 00 8F 20 20 20 20 20 |0 ---...... | 00000080: 30 34 20 4D 41 59 20 38 38 20 2F 20 4B 45 4E 20 |04 MAY 88 / KEN | 00000090: 43 4F 52 4D 41 43 4B 00 9D 1C 03 00 3A 00 D4 1C |CORMACK.....:...| 000000A0: 04 00 8F 20 2D 2D 2D 20 54 59 50 45 20 22 52 55 |... --- TYPE "RU| 000000B0: 4E 20 31 22 20 54 4F 20 53 41 56 45 20 59 4F 55 |N 1" TO SAVE YOU| 000000C0: 52 20 4C 41 54 45 53 54 20 56 45 52 53 49 4F 4E |R LATEST VERSION| 000000D0: 20 2D 2D 2D 00 02 1D 05 00 8F 20 20 20 20 20 54 | ---...... T| 000000E0: 59 50 45 20 4A 55 53 54 20 22 52 55 4E 22 20 54 |YPE JUST "RUN" T| 000000F0: 4F 20 55 53 45 20 59 4F 55 52 20 50 52 4F 47 52 |O USE YOUR PROGR| 00000100: 41 4D 00 44 1D 06 00 41 24 B2 22 41 4C 4C 2D 50 |AM.D...A$."ALL-P| 00000110: 55 52 50 4F 53 45 2E 42 41 53 22 3A 8F 20 3C 2D |URPOSE.BAS":. <-| 00000120: 2D 20 43 48 41 4E 47 45 20 54 48 49 53 20 54 4F |- CHANGE THIS TO| 00000130: 20 59 4F 55 52 20 50 52 4F 47 52 41 4D 27 53 20 | YOUR PROGRAM'S | 00000140: 4E 41 4D 45 00 5F 1D 07 00 9F 20 31 35 2C 38 2C |NAME._.... 15,8,| 00000150: 31 35 3A 98 31 35 2C 22 53 30 3A 22 3B 41 24 00 |15:.15,"S0:";A$.| 00000160: 70 1D 08 00 A0 31 35 3A 94 20 41 24 2C 38 3A 80 |p....15:. A$,8:.| 00000170: 00 76 1D 09 00 3A 00 BD 1D 0A 00 8F 20 2D 2D 2D |.v...:...... ---| 00000180: 20 34 30 20 43 4F 4C 2E 20 53 43 52 45 45 4E 20 | 40 COL. SCREEN | 00000190: 41 4E 44 20 42 4F 52 44 45 52 20 54 4F 20 42 4C |AND BORDER TO BL| 000001A0: 41 43 4B 2C 20 53 45 54 20 55 50 50 45 52 2F 4C |ACK, SET UPPER/L| 000001B0: 4F 57 45 52 20 43 41 53 45 20 2D 2D 2D 00 06 1E |OWER CASE ---...| 000001C0: 0B 00 8F 20 20 20 20 20 43 4C 45 41 52 20 54 48 |... CLEAR TH| 000001D0: 45 20 53 43 52 45 45 4E 20 41 4E 44 20 41 4E 59 |E SCREEN AND ANY| 000001E0: 20 57 49 4E 44 4F 57 53 2C 20 53 45 54 20 43 48 | WINDOWS, SET CH| 000001F0: 41 52 41 43 54 45 52 20 43 4F 4C 4F 52 20 54 4F |ARACTER COLOR TO| 00000200: 20 57 48 49 54 45 00 2B 1E 0C 00 97 20 35 33 32 | WHITE.+.... 532| 00000210: 38 30 2C 31 3A 97 20 35 33 32 38 31 2C 30 3A 99 |80,1:. 53281,0:.| 00000220: C7 28 31 34 29 22 13 13 93 05 22 00 31 1E 0D 00 |.(14)"....".1...| 00000230: 3A 00 76 1E 0E 00 8F 20 2D 2D 2D 20 44 45 54 45 |:.v.... --- DETE| 00000240: 52 4D 49 4E 45 20 46 49 52 53 54 20 49 46 20 52 |RMINE FIRST IF R| 00000250: 55 4E 4E 49 4E 47 20 4F 4E 20 41 20 43 36 34 20 |UNNING ON A C64 | 00000260: 4F 52 20 31 32 38 20 49 4E 20 43 36 34 20 4D 4F |OR 128 IN C64 MO| 00000270: 44 45 20 2D 2D 2D 00 BC 1E 0F 00 8B 20 B8 28 30 |DE ---...... .(0| 00000280: 29 B2 B8 28 31 29 20 A7 20 4D 4F B2 31 3A 4D 4F |)..(1) . MO.1:MO| 00000290: 24 B2 22 11 05 C3 4F 4D 4D 4F 44 4F 52 45 20 36 |$."...OMMODORE 6| 000002A0: 34 20 4F 52 20 31 32 38 20 49 4E 20 36 34 20 CD |4 OR 128 IN 64 .| 000002B0: 4F 44 45 22 3A 8D 33 35 3A 89 33 37 00 C2 1E 10 |ODE":.35:.37....| 000002C0: 00 3A 00 08 1F 11 00 8F 20 2D 2D 2D 20 49 46 20 |.:...... --- IF | 000002D0: 4E 4F 54 20 54 48 45 20 43 36 34 28 4D 4F 44 45 |NOT THE C64(MODE| 000002E0: 29 20 54 48 45 4E 20 43 48 45 43 4B 20 46 4F 52 |) THEN CHECK FOR| 000002F0: 20 43 31 32 38 20 34 30 20 43 4F 4C 55 4D 4E 20 | C128 40 COLUMN | 00000300: 4D 4F 44 45 20 2D 2D 2D 00 57 1F 12 00 8B 20 CE |MODE ---.W.... .| 00000310: 09 28 32 29 B2 34 30 20 A7 20 FE 26 3A 4D 4F B2 |.(2).40 . .&:MO.| 00000320: 32 3A 4D 4F 24 B2 22 11 05 C3 4F 4D 4D 4F 44 4F |2:MO$."...OMMODO| 00000330: 52 45 20 31 32 38 2F 34 30 20 C3 4F 4C 55 4D 4E |RE 128/40 .OLUMN| 00000340: 20 D6 C9 C3 20 C3 48 49 50 20 CD 4F 44 45 22 3A | ... .HIP .ODE":| 00000350: 8D 33 35 3A 89 33 37 00 5D 1F 13 00 3A 00 A5 1F |.35:.37.]...:...| 00000360: 14 00 8F 20 2D 2D 2D 20 38 30 20 43 4F 4C 55 4D |... --- 80 COLUM| 00000370: 4E 20 56 44 43 20 47 45 4E 45 52 41 54 45 44 20 |N VDC GENERATED | 00000380: 34 30 20 43 4F 4C 55 4D 4E 20 44 49 53 50 4C 41 |40 COLUMN DISPLA| 00000390: 59 20 41 4E 44 20 32 20 4D 48 5A 20 53 50 45 45 |Y AND 2 MHZ SPEE| 000003A0: 44 20 2D 2D 2D 00 DB 1F 15 00 FE 25 3A 9E 35 32 |D ---......%:.52| 000003B0: 36 38 34 2C 36 33 2C 30 3A 9E 35 32 36 38 34 2C |684,63,0:.52684,| 000003C0: 34 30 2C 31 3A 9E 35 32 36 38 34 2C 35 35 2C 32 |40,1:.52684,55,2| 000003D0: 3A 9E 35 32 36 39 38 2C 2C 32 35 00 17 20 16 00 |:.52698,,25.. ..| 000003E0: FE 09 41 3A 9E 35 32 36 38 34 2C 28 41 B0 31 36 |..A:.52684,(A.16| 000003F0: 29 2C 32 35 3A 9E 35 32 36 38 34 2C 31 33 37 2C |),25:.52684,137,| 00000400: 32 32 3A 9E 35 32 36 38 34 2C 34 30 2C 32 37 3A |22:.52684,40,27:| 00000410: 97 32 33 38 2C 33 39 00 58 20 17 00 4D 4F B2 33 |.238,39.X ..MO.3| 00000420: 3A 4D 4F 24 B2 22 11 C3 4F 4D 4D 4F 44 4F 52 45 |:MO$."..OMMODORE| 00000430: 20 31 32 38 2F D6 C4 C3 20 C7 45 4E 45 52 41 54 | 128/... .ENERAT| 00000440: 45 44 20 34 30 20 C3 4F 4C 2E 20 CD 4F 44 45 22 |ED 40 .OL. .ODE"| 00000450: 3A 8D 33 35 3A 89 33 31 00 5E 20 18 00 3A 00 90 |:.35:.31.^ ..:..| 00000460: 20 19 00 8F 20 2D 2D 2D 20 52 45 53 54 4F 52 45 | ... --- RESTORE| 00000470: 20 56 44 43 20 54 4F 20 41 4E 20 38 30 20 43 4F | VDC TO AN 80 CO| 00000480: 4C 55 4D 4E 20 44 49 53 50 4C 41 59 20 2D 2D 2D |LUMN DISPLAY ---| 00000490: 00 C8 20 1A 00 9E 35 32 36 38 34 2C 31 32 36 2C |.. ...52684,126,| 000004A0: 30 3A 9E 35 32 36 38 34 2C 38 30 2C 31 3A 9E 35 |0:.52684,80,1:.5| 000004B0: 32 36 38 34 2C 31 30 32 2C 32 3A 9E 35 32 36 38 |2684,102,2:.5268| 000004C0: 34 2C 31 32 30 2C 32 32 00 F9 20 1B 00 9E 35 32 |4,120,22.. ...52| 000004D0: 36 39 38 2C 2C 32 35 3A FE 09 41 3A 9E 35 32 36 |698,,25:..A:.526| 000004E0: 38 34 2C 28 41 AF 32 33 39 29 2C 32 35 3A 9E 35 |84,(A.239),25:.5| 000004F0: 32 36 38 34 2C 30 2C 32 37 00 0C 21 1C 00 97 32 |2684,0,27..!...2| 00000500: 33 38 2C 37 39 3A 99 22 13 13 93 22 00 60 21 1D |38,79:."...".`!.| 00000510: 00 4D 4F B2 34 3A 4D 4F 24 B2 22 11 9F 20 20 20 |.MO.4:MO$.".. | 00000520: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 C3 | .| 00000530: 4F 4D 4D 4F 44 4F 52 45 20 31 32 38 20 C9 4E 20 |OMMODORE 128 .N | 00000540: CE 4F 52 4D 41 4C 20 D6 C4 C3 20 38 30 20 C3 4F |.ORMAL ... 80 .O| 00000550: 4C 2E 20 CD 4F 44 45 22 3A 8D 33 35 3A 89 33 37 |L. .ODE":.35:.37| 00000560: 00 66 21 1E 00 3A 00 94 21 1F 00 99 22 11 9E 20 |.f!..:..!...".. | 00000570: 20 20 20 C4 4F 20 D9 4F 55 20 D0 52 45 46 45 52 | .O .OU .REFER| 00000580: 20 38 30 20 C3 4F 4C 55 4D 4E 53 3F 20 20 28 D9 | 80 .OLUMNS? (.| 00000590: 2F CE 29 22 00 9D 21 20 00 A1 F9 41 24 00 B3 21 |/.)"..! ...A$..!| 000005A0: 21 00 8B 41 24 B2 22 59 22 A7 32 35 3A D5 20 89 |!..A$."Y".25:. .| 000005B0: 20 35 31 00 B9 21 22 00 3A 00 CE 21 23 00 99 C7 | 51..!".:..!#...| 000005C0: 28 31 34 29 22 13 13 93 22 4D 4F 24 3A 8E 00 D4 |(14)"..."MO$:...| 000005D0: 21 24 00 3A 00 16 22 25 00 8F 20 2D 2D 20 54 48 |!$.:.."%.. -- TH| 000005E0: 45 20 56 41 52 49 41 42 4C 45 20 4D 4F 20 28 4D |E VARIABLE MO (M| 000005F0: 4F 44 45 29 20 4E 4F 57 20 43 4F 4E 54 41 49 4E |ODE) NOW CONTAIN| 00000600: 53 20 41 20 56 41 4C 55 45 20 44 45 50 45 4E 44 |S A VALUE DEPEND| 00000610: 41 4E 54 20 2D 2D 00 57 22 26 00 8F 20 20 20 20 |ANT --.W"&.. | 00000620: 55 50 4F 4E 20 57 48 49 43 48 20 4D 41 43 48 49 |UPON WHICH MACHI| 00000630: 4E 45 2F 4D 4F 44 45 20 54 48 45 20 41 42 4F 56 |NE/MODE THE ABOV| 00000640: 45 20 54 45 53 54 53 20 48 41 56 45 20 44 45 54 |E TESTS HAVE DET| 00000650: 45 52 4D 49 4E 45 44 00 7A 22 27 00 8F 20 20 20 |ERMINED.z"'.. | 00000660: 20 49 46 20 4D 4F 3D 31 20 54 48 45 4E 20 43 4F | IF MO=1 THEN CO| 00000670: 4D 4D 4F 44 4F 52 45 20 36 34 00 B4 22 28 00 8F |MMODORE 64.."(..| 00000680: 20 20 20 20 49 46 20 4D 4F 3D 32 20 54 48 45 4E | IF MO=2 THEN| 00000690: 20 43 4F 4D 4D 4F 44 4F 52 45 20 31 32 38 20 49 | COMMODORE 128 I| 000006A0: 4E 20 34 30 20 43 4F 4C 55 4D 4E 20 56 49 43 20 |N 40 COLUMN VIC | 000006B0: 4D 4F 44 45 00 FD 22 29 00 8F 20 20 20 20 49 46 |MODE..").. IF| 000006C0: 20 4D 4F 3D 33 20 54 48 45 4E 20 43 4F 4D 4D 4F | MO=3 THEN COMMO| 000006D0: 44 4F 52 45 20 31 32 38 20 49 4E 20 56 44 43 20 |DORE 128 IN VDC | 000006E0: 47 45 4E 45 52 41 54 45 44 20 34 30 20 43 4F 4C |GENERATED 40 COL| 000006F0: 55 4D 4E 20 46 41 53 54 20 4D 4F 44 45 00 43 23 |UMN FAST MODE.C#| 00000700: 2A 00 8F 20 20 20 20 49 46 20 4D 4F 3D 34 20 54 |*.. IF MO=4 T| 00000710: 48 45 4E 20 43 4F 4D 4D 4F 44 4F 52 45 20 31 32 |HEN COMMODORE 12| 00000720: 38 20 49 4E 20 4E 4F 52 4D 41 4C 20 38 30 20 43 |8 IN NORMAL 80 C| 00000730: 4F 4C 55 4D 4E 20 56 44 43 20 46 41 53 54 20 4D |OLUMN VDC FAST M| 00000740: 4F 44 45 00 49 23 2B 00 3A 00 8D 23 2C 00 8F 20 |ODE.I#+.:..#,.. | 00000750: 2D 2D 20 55 53 49 4E 47 20 54 48 45 20 41 42 4F |-- USING THE ABO| 00000760: 56 45 20 56 41 52 49 41 42 4C 45 20 41 53 20 41 |VE VARIABLE AS A| 00000770: 20 46 4C 41 47 2C 20 59 4F 55 20 43 41 4E 20 54 | FLAG, YOU CAN T| 00000780: 48 45 4E 20 53 45 54 20 55 50 20 2D 2D 00 CD 23 |HEN SET UP --..#| 00000790: 2D 00 8F 20 20 20 20 41 4E 59 20 50 4F 4B 45 20 |-.. ANY POKE | 000007A0: 4C 4F 43 41 54 49 4F 4E 53 20 4F 52 20 56 41 52 |LOCATIONS OR VAR| 000007B0: 49 41 42 4C 45 20 41 52 52 41 59 20 53 49 5A 45 |IABLE ARRAY SIZE| 000007C0: 53 20 52 45 4C 41 54 49 56 45 20 54 4F 00 15 24 |S RELATIVE TO..$| 000007D0: 2E 00 8F 20 20 20 20 57 48 49 43 48 45 56 45 52 |... WHICHEVER| 000007E0: 20 4D 41 43 48 49 4E 45 20 4F 52 20 4D 4F 44 45 | MACHINE OR MODE| 000007F0: 20 59 4F 55 20 41 52 45 20 4F 50 45 52 41 54 49 | YOU ARE OPERATI| 00000800: 4E 47 20 57 49 54 48 2E 20 20 45 56 45 4E 20 57 |NG WITH. EVEN W| 00000810: 49 54 48 49 4E 00 5A 24 2F 00 8F 20 20 20 20 54 |ITHIN.Z$/.. T| 00000820: 48 45 20 31 32 38 2C 20 44 49 46 46 45 52 45 4E |HE 128, DIFFEREN| 00000830: 54 20 4D 45 54 48 4F 44 53 20 4F 46 20 53 45 54 |T METHODS OF SET| 00000840: 54 49 4E 47 20 54 48 45 20 53 43 52 45 45 4E 20 |TING THE SCREEN | 00000850: 41 4E 44 20 42 4F 52 44 45 52 00 A0 24 30 00 8F |AND BORDER..$0..| 00000860: 20 20 20 20 43 4F 4C 4F 52 53 20 41 52 45 20 4E | COLORS ARE N| 00000870: 45 45 44 45 44 20 46 4F 52 20 41 20 56 49 43 20 |EEDED FOR A VIC | 00000880: 43 48 49 50 20 41 4E 44 20 41 20 56 44 43 20 44 |CHIP AND A VDC D| 00000890: 49 53 50 4C 41 59 2E 20 20 55 53 49 4E 47 20 41 |ISPLAY. USING A| 000008A0: 00 E8 24 31 00 8F 20 20 20 20 22 46 4C 41 47 22 |..$1.. "FLAG"| 000008B0: 20 53 55 43 48 20 41 53 20 54 48 49 53 20 4D 41 | SUCH AS THIS MA| 000008C0: 4B 45 53 20 49 54 20 45 41 53 59 20 54 4F 20 55 |KES IT EASY TO U| 000008D0: 53 45 20 41 4E 44 20 49 46 2D 54 48 45 4E 20 54 |SE AND IF-THEN T| 000008E0: 4F 20 44 45 43 49 44 45 00 24 25 32 00 8F 20 20 |O DECIDE.$%2.. | 000008F0: 20 20 48 4F 57 20 54 4F 20 48 41 4E 44 4C 45 20 | HOW TO HANDLE | 00000900: 53 49 54 55 41 54 49 4F 4E 53 20 4C 41 54 45 52 |SITUATIONS LATER| 00000910: 20 4F 4E 20 49 4E 20 59 4F 55 52 20 50 52 4F 47 | ON IN YOUR PROG| 00000920: 52 41 4D 2E 00 2A 25 33 00 80 00 00 00 |RAM..*%3..... |
..=.... 10:. --- SKIP OVER THE SCRATCH A
ND UPDATE ROUTINE ---.U.... --- ALL-PURP
OSE BASIC PRG START / VERSION 1.0 ---...
... 04 MAY 88 / KEN CORMACK.....:.T.
... --- TYPE "RUN 1" TO SAVE YOUR LATEST
VERSION ---...... TYPE JUST "RUN" T
O USE YOUR PROGRAM.D...A$."ALL-PURPOSE.B
AS":. <-- CHANGE THIS TO YOUR PROGRAM'S
NAME._.... 15,8,15:.15,"S0:";A$.P... 15:
. A$,8:..V...:...... --- 40 COL. SCREEN
AND BORDER TO BLACK, SET UPPER/LOWER CAS
E ---...... CLEAR THE SCREEN AND ANY
WINDOWS, SET CHARACTER COLOR TO WHITE.+
.... 53280,1:. 53281,0:.G(14)"....".1...
:.V.... --- DETERMINE FIRST IF RUNNING O
N A C64 OR 128 IN C64 MODE ---...... .(0
)..(1) . MO.1:MO$."..COMMODORE 64 OR 128
IN 64 MODE":.35:.37.B...:...... --- IF
NOT THE C64(MODE) THEN CHECK FOR C128 40
COLUMN MODE ---.W.... N.(2).40 . .&:MO.
2:MO$."..COMMODORE 128/40 COLUMN VIC CHI
P MODE":.35:.37.]...:...... --- 80 COLUM
N VDC GENERATED 40 COLUMN DISPLAY AND 2
MHZ SPEED ---......%:.52684,63,0:.52684,
40,1:.52684,55,2:.52698,,25.. ....A:.526
84,(A.16),25:.52684,137,22:.52684,40,27:
.238,39.X ..MO.3:MO$.".COMMODORE 128/VDC
GENERATED 40 COL. MODE":.35:.31.^ ..:..
... --- RESTORE VDC TO AN 80 COLUMN DIS
PLAY ---.H ...52684,126,0:.52684,80,1:.5
2684,102,2:.52684,120,22.. ...52698,,25:
..A:.52684,(A.239),25:.52684,0,27..!...2
38,79:."...".`!..MO.4:MO$."..
COMMODORE 128 IN NORMAL VDC 80 CO
L. MODE":.35:.37.F!..:..!...".. DO YO
U PREFER 80 COLUMNS? (Y/N)"..! ...A$..!
!..A$."Y".25:U . 51..!".:.N!#..G(14)"...
"MO$:..T!$.:.."%.. -- THE VARIABLE MO (M
ODE) NOW CONTAINS A VALUE DEPENDANT --.W
"&.. UPON WHICH MACHINE/MODE THE ABOV
E TESTS HAVE DETERMINED.Z"'.. IF MO=1
THEN COMMODORE 64.."(.. IF MO=2 THEN
COMMODORE 128 IN 40 COLUMN VIC MODE..")
.. IF MO=3 THEN COMMODORE 128 IN VDC
GENERATED 40 COLUMN FAST MODE.C#*.. I
F MO=4 THEN COMMODORE 128 IN NORMAL 80 C
OLUMN VDC FAST MODE.I#+.:..#,.. -- USING
THE ABOVE VARIABLE AS A FLAG, YOU CAN T
HEN SET UP --.M#-.. ANY POKE LOCATION
S OR VARIABLE ARRAY SIZES RELATIVE TO..$
... WHICHEVER MACHINE OR MODE YOU ARE
OPERATING WITH. EVEN WITHIN.Z$/.. T
HE 128, DIFFERENT METHODS OF SETTING THE
SCREEN AND BORDER. $0.. COLORS ARE N
EEDED FOR A VIC CHIP AND A VDC DISPLAY.
USING A..$1.. "FLAG" SUCH AS THIS MA
KES IT EASY TO USE AND IF-THEN TO DECIDE
.$%2.. HOW TO HANDLE SITUATIONS LATER
ON IN YOUR PROGRAM..*%3.....
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL