LG-SPRED
FILE INFORMATION
FILENAME(S): LG-SPRED
FILE TYPE(S): PRG
FILE SIZE: 2.7K
FIRST SEEN: 2025-11-30 21:14:31
APPEARS ON: 1 disk(s)
FILE HASH
df5b0464b86526fd3ab871b9500dc4ede6b6ce3efef1906420210c4c22a56627
FOUND ON DISKS (1 DISKS)
| DISK TITLE | FILENAME | FILE TYPE | COLLECTION | TRACK | SECTOR | ACTIONS |
|---|---|---|---|---|---|---|
| LOGO FILES | LG-SPRED | PRG | DuncanTwain | 23 | 5 | DOWNLOAD FILE |
FILE CONTENT & ANALYSIS
00000000: 00 20 54 4F 20 45 44 53 48 0D 20 2E 4F 50 54 49 |. TO EDSH. .OPTI| 00000010: 4F 4E 20 22 54 45 58 54 53 43 52 45 45 4E 20 30 |ON "TEXTSCREEN 0| 00000020: 20 45 58 50 32 20 57 48 4F 0D 20 54 45 58 54 53 | EXP2 WHO. TEXTS| 00000030: 43 52 45 45 4E 0D 20 53 45 54 58 59 20 36 30 20 |CREEN. SETXY 60 | 00000040: 30 0D 20 52 45 44 49 53 50 4C 41 59 0D 20 45 44 |0. REDISPLAY. ED| 00000050: 2E 4C 4F 4F 50 20 30 20 30 0D 45 4E 44 0D 0D 54 |.LOOP 0 0.END..T| 00000060: 4F 20 52 45 41 44 53 48 41 50 45 53 20 3A 4E 41 |O READSHAPES :NA| 00000070: 4D 45 0D 20 42 4C 4F 41 44 20 57 4F 52 44 20 3A |ME. BLOAD WORD :| 00000080: 4E 41 4D 45 20 22 2F 53 48 50 0D 45 4E 44 0D 0D |NAME "/SHP.END..| 00000090: 54 4F 20 53 41 56 45 53 48 41 50 45 53 20 3A 4E |TO SAVESHAPES :N| 000000A0: 41 4D 45 0D 20 42 53 41 56 45 20 57 4F 52 44 20 |AME. BSAVE WORD | 000000B0: 3A 4E 41 4D 45 20 22 2F 53 48 50 20 33 31 33 36 |:NAME "/SHP 3136| 000000C0: 20 33 35 38 33 0D 45 4E 44 0D 0D 54 4F 20 53 45 | 3583.END..TO SE| 000000D0: 54 55 50 0D 20 4D 41 4B 45 20 22 52 45 54 55 52 |TUP. MAKE "RETUR| 000000E0: 4E 20 43 48 41 52 20 31 33 0D 20 4D 41 4B 45 20 |N CHAR 13. MAKE | 000000F0: 22 56 49 43 20 31 33 20 2A 20 34 30 39 36 0D 20 |"VIC 13 * 4096. | 00000100: 49 46 20 5B 5D 20 3D 20 54 45 58 54 20 22 53 4D |IF [] = TEXT "SM| 00000110: 41 4C 4C 58 20 52 45 41 44 20 22 4C 47 2D 53 50 |ALLX READ "LG-SP| 00000120: 52 49 54 45 53 0D 45 4E 44 0D 0D 54 4F 20 42 49 |RITES.END..TO BI| 00000130: 54 4F 4E 3F 20 3A 41 44 44 52 20 3A 42 49 54 0D |TON? :ADDR :BIT.| 00000140: 20 4F 50 20 30 20 3C 20 42 49 54 41 4E 44 20 2E | OP 0 < BITAND .| 00000150: 45 58 41 4D 49 4E 45 20 3A 41 44 44 52 20 3A 42 |EXAMINE :ADDR :B| 00000160: 49 54 0D 45 4E 44 0D 0D 54 4F 20 54 4F 47 47 4C |IT.END..TO TOGGL| 00000170: 45 50 4F 49 4E 54 20 3A 58 20 3A 59 0D 20 4C 4F |EPOINT :X :Y. LO| 00000180: 43 41 4C 20 22 41 44 44 52 20 4D 41 4B 45 20 22 |CAL "ADDR MAKE "| 00000190: 41 44 44 52 20 53 50 2E 41 44 44 52 0D 20 4C 4F |ADDR SP.ADDR. LO| 000001A0: 43 41 4C 20 22 46 20 4D 41 4B 45 20 22 46 20 53 |CAL "F MAKE "F S| 000001B0: 50 2E 42 49 54 20 3A 58 0D 20 2E 44 45 50 4F 53 |P.BIT :X. .DEPOS| 000001C0: 49 54 20 3A 41 44 44 52 20 42 49 54 58 4F 52 20 |IT :ADDR BITXOR | 000001D0: 2E 45 58 41 4D 49 4E 45 20 3A 41 44 44 52 20 3A |.EXAMINE :ADDR :| 000001E0: 46 0D 20 43 55 52 53 4F 52 20 3A 58 20 2B 20 31 |F. CURSOR :X + 1| 000001F0: 20 3A 59 20 2B 20 31 0D 20 49 46 20 42 49 54 4F | :Y + 1. IF BITO| 00000200: 4E 3F 20 3A 41 44 44 52 20 3A 46 20 50 52 49 4E |N? :ADDR :F PRIN| 00000210: 54 31 20 22 D1 20 45 4C 53 45 20 50 52 49 4E 54 |T1 ". ELSE PRINT| 00000220: 31 20 22 2E 0D 45 4E 44 0D 0D 54 4F 20 53 50 2E |1 "..END..TO SP.| 00000230: 42 49 54 20 3A 58 0D 20 4F 50 20 45 58 50 32 20 |BIT :X. OP EXP2 | 00000240: 37 20 2D 20 42 49 54 41 4E 44 20 3A 58 20 37 0D |7 - BITAND :X 7.| 00000250: 45 4E 44 0D 0D 54 4F 20 53 50 2E 41 44 44 52 0D |END..TO SP.ADDR.| 00000260: 20 4F 50 20 3A 59 20 2A 20 33 20 2B 20 57 48 4F | OP :Y * 3 + WHO| 00000270: 53 48 50 20 2B 20 51 55 4F 54 49 45 4E 54 20 3A |SHP + QUOTIENT :| 00000280: 58 20 38 0D 45 4E 44 0D 0D 54 4F 20 46 4C 41 53 |X 8.END..TO FLAS| 00000290: 48 26 57 41 49 54 0D 20 54 4F 47 47 4C 45 50 4F |H&WAIT. TOGGLEPO| 000002A0: 49 4E 54 20 3A 58 20 3A 59 20 54 4F 47 47 4C 45 |INT :X :Y TOGGLE| 000002B0: 50 4F 49 4E 54 20 3A 58 20 3A 59 20 49 46 20 52 |POINT :X :Y IF R| 000002C0: 43 3F 20 53 54 4F 50 0D 20 46 4C 41 53 48 26 57 |C? STOP. FLASH&W| 000002D0: 41 49 54 0D 45 4E 44 0D 0D 54 4F 20 45 44 2E 51 |AIT.END..TO ED.Q| 000002E0: 55 49 54 0D 20 2E 4F 50 54 49 4F 4E 20 22 54 45 |UIT. .OPTION "TE| 000002F0: 58 54 53 43 52 45 45 4E 20 30 20 30 0D 20 53 50 |XTSCREEN 0 0. SP| 00000300: 4C 49 54 53 43 52 45 45 4E 0D 20 43 4C 45 41 52 |LITSCREEN. CLEAR| 00000310: 54 45 58 54 20 54 4F 50 4C 45 56 45 4C 0D 45 4E |TEXT TOPLEVEL.EN| 00000320: 44 0D 0D 54 4F 20 52 56 53 2E 53 48 41 50 45 0D |D..TO RVS.SHAPE.| 00000330: 20 4C 4F 43 41 4C 20 22 41 44 44 52 20 4D 41 4B | LOCAL "ADDR MAK| 00000340: 45 20 22 41 44 44 52 20 57 48 4F 53 48 50 0D 20 |E "ADDR WHOSHP. | 00000350: 52 45 50 45 41 54 20 36 33 20 5B 2E 44 45 50 4F |REPEAT 63 [.DEPO| 00000360: 53 49 54 20 3A 41 44 44 52 20 42 49 54 58 4F 52 |SIT :ADDR BITXOR| 00000370: 20 2E 45 58 41 4D 49 4E 45 20 3A 41 44 44 52 20 | .EXAMINE :ADDR | 00000380: 32 35 35 20 4D 41 4B 45 20 22 41 44 44 52 20 3A |255 MAKE "ADDR :| 00000390: 41 44 44 52 2B 31 5D 0D 45 4E 44 0D 0D 54 4F 20 |ADDR+1].END..TO | 000003A0: 54 4F 47 47 4C 45 59 0D 20 2E 44 45 50 4F 53 49 |TOGGLEY. .DEPOSI| 000003B0: 54 20 35 33 32 37 31 20 42 49 54 58 4F 52 20 45 |T 53271 BITXOR E| 000003C0: 58 50 32 20 57 48 4F 20 2E 45 58 41 4D 49 4E 45 |XP2 WHO .EXAMINE| 000003D0: 20 35 33 32 37 31 0D 45 4E 44 0D 0D 54 4F 20 54 | 53271.END..TO T| 000003E0: 4F 47 47 4C 45 58 0D 20 2E 44 45 50 4F 53 49 54 |OGGLEX. .DEPOSIT| 000003F0: 20 35 33 32 37 37 20 42 49 54 58 4F 52 20 45 58 | 53277 BITXOR EX| 00000400: 50 32 20 57 48 4F 20 2E 45 58 41 4D 49 4E 45 20 |P2 WHO .EXAMINE | 00000410: 35 33 32 37 37 0D 45 4E 44 0D 0D 54 4F 20 43 4C |53277.END..TO CL| 00000420: 45 41 52 53 48 41 50 45 0D 20 4C 4F 43 41 4C 20 |EARSHAPE. LOCAL | 00000430: 22 41 44 44 52 20 4D 41 4B 45 20 22 41 44 44 52 |"ADDR MAKE "ADDR| 00000440: 20 57 48 4F 53 48 50 0D 20 52 45 50 45 41 54 20 | WHOSHP. REPEAT | 00000450: 36 33 20 5B 2E 44 45 50 4F 53 49 54 20 3A 41 44 |63 [.DEPOSIT :AD| 00000460: 44 52 20 30 20 4D 41 4B 45 20 22 41 44 44 52 20 |DR 0 MAKE "ADDR | 00000470: 3A 41 44 44 52 2B 31 5D 0D 45 4E 44 0D 0D 54 4F |:ADDR+1].END..TO| 00000480: 20 45 52 41 53 45 50 4F 49 4E 54 20 3A 58 20 3A | ERASEPOINT :X :| 00000490: 59 0D 20 4C 4F 43 41 4C 20 22 41 44 44 52 20 4D |Y. LOCAL "ADDR M| 000004A0: 41 4B 45 20 22 41 44 44 52 20 53 50 2E 41 44 44 |AKE "ADDR SP.ADD| 000004B0: 52 0D 20 2E 44 45 50 4F 53 49 54 20 3A 41 44 44 |R. .DEPOSIT :ADD| 000004C0: 52 20 42 49 54 41 4E 44 20 2E 45 58 41 4D 49 4E |R BITAND .EXAMIN| 000004D0: 45 20 3A 41 44 44 52 20 32 35 35 20 2D 20 53 50 |E :ADDR 255 - SP| 000004E0: 2E 42 49 54 20 3A 58 0D 20 43 55 52 53 4F 52 20 |.BIT :X. CURSOR | 000004F0: 3A 58 20 2B 20 31 20 3A 59 20 2B 20 31 0D 20 50 |:X + 1 :Y + 1. P| 00000500: 52 49 4E 54 31 20 22 2E 0D 45 4E 44 0D 0D 54 4F |RINT1 "..END..TO| 00000510: 20 53 45 54 50 4F 49 4E 54 20 3A 58 20 3A 59 0D | SETPOINT :X :Y.| 00000520: 20 4C 4F 43 41 4C 20 22 41 44 44 52 20 4D 41 4B | LOCAL "ADDR MAK| 00000530: 45 20 22 41 44 44 52 20 53 50 2E 41 44 44 52 0D |E "ADDR SP.ADDR.| 00000540: 20 2E 44 45 50 4F 53 49 54 20 3A 41 44 44 52 20 | .DEPOSIT :ADDR | 00000550: 42 49 54 4F 52 20 2E 45 58 41 4D 49 4E 45 20 3A |BITOR .EXAMINE :| 00000560: 41 44 44 52 20 53 50 2E 42 49 54 20 3A 58 0D 20 |ADDR SP.BIT :X. | 00000570: 43 55 52 53 4F 52 20 3A 58 20 2B 20 31 20 3A 59 |CURSOR :X + 1 :Y| 00000580: 20 2B 20 31 20 50 52 49 4E 54 31 20 22 D1 0D 45 | + 1 PRINT1 "..E| 00000590: 4E 44 0D 0D 54 4F 20 49 4E 43 58 0D 20 4D 41 4B |ND..TO INCX. MAK| 000005A0: 45 20 22 58 20 3A 58 20 2B 20 31 20 49 46 20 3A |E "X :X + 1 IF :| 000005B0: 58 20 3E 20 32 33 20 4D 41 4B 45 20 22 58 20 30 |X > 23 MAKE "X 0| 000005C0: 0D 45 4E 44 0D 0D 54 4F 20 49 4E 43 59 0D 20 4D |.END..TO INCY. M| 000005D0: 41 4B 45 20 22 59 20 3A 59 20 2B 20 31 20 49 46 |AKE "Y :Y + 1 IF| 000005E0: 20 3A 59 20 3E 20 32 30 20 4D 41 4B 45 20 22 59 | :Y > 20 MAKE "Y| 000005F0: 20 30 0D 45 4E 44 0D 0D 54 4F 20 44 45 43 58 0D | 0.END..TO DECX.| 00000600: 20 4D 41 4B 45 20 22 58 20 3A 58 20 2D 20 31 20 | MAKE "X :X - 1 | 00000610: 49 46 20 3A 58 20 3C 20 30 20 4D 41 4B 45 20 22 |IF :X < 0 MAKE "| 00000620: 58 20 32 33 0D 45 4E 44 0D 0D 54 4F 20 44 45 43 |X 23.END..TO DEC| 00000630: 59 0D 20 4D 41 4B 45 20 22 59 20 3A 59 20 2D 20 |Y. MAKE "Y :Y - | 00000640: 31 20 49 46 20 3A 59 20 3C 20 30 20 4D 41 4B 45 |1 IF :Y < 0 MAKE| 00000650: 20 22 59 20 32 30 0D 45 4E 44 0D 0D 54 4F 20 57 | "Y 20.END..TO W| 00000660: 48 4F 53 48 50 0D 20 4F 50 20 36 34 20 2A 20 28 |HOSHP. OP 64 * (| 00000670: 20 34 38 20 2B 20 53 48 41 50 45 20 29 0D 45 4E | 48 + SHAPE ).EN| 00000680: 44 0D 0D 54 4F 20 45 44 2E 46 52 41 4D 45 0D 20 |D..TO ED.FRAME. | 00000690: 43 55 52 53 4F 52 20 30 20 30 0D 20 52 45 50 45 |CURSOR 0 0. REPE| 000006A0: 41 54 20 32 36 20 5B 50 52 49 4E 54 31 20 22 A6 |AT 26 [PRINT1 ".| 000006B0: 5D 0D 20 52 45 50 45 41 54 20 32 31 20 5B 43 55 |]. REPEAT 21 [CU| 000006C0: 52 53 4F 52 20 30 20 31 2B 4C 41 53 54 20 43 55 |RSOR 0 1+LAST CU| 000006D0: 52 53 4F 52 50 4F 53 20 50 52 49 4E 54 31 20 22 |RSORPOS PRINT1 "| 000006E0: A6 20 43 55 52 53 4F 52 20 32 35 20 4C 41 53 54 |. CURSOR 25 LAST| 000006F0: 20 43 55 52 53 4F 52 50 4F 53 20 50 52 49 4E 54 | CURSORPOS PRINT| 00000700: 31 20 22 A6 5D 0D 20 43 55 52 53 4F 52 20 30 20 |1 ".]. CURSOR 0 | 00000710: 32 32 0D 20 52 45 50 45 41 54 20 32 36 20 5B 50 |22. REPEAT 26 [P| 00000720: 52 49 4E 54 31 20 22 A6 5D 0D 20 43 55 52 53 4F |RINT1 ".]. CURSO| 00000730: 52 20 30 20 30 0D 45 4E 44 0D 0D 54 4F 20 52 45 |R 0 0.END..TO RE| 00000740: 44 49 53 50 4C 41 59 0D 20 54 45 58 54 53 43 52 |DISPLAY. TEXTSCR| 00000750: 45 45 4E 20 43 4C 45 41 52 54 45 58 54 0D 20 45 |EEN CLEARTEXT. E| 00000760: 44 2E 46 52 41 4D 45 0D 20 2E 53 50 52 49 4E 54 |D.FRAME. .SPRINT| 00000770: 20 57 48 4F 53 48 50 0D 45 4E 44 0D 0D 54 4F 20 | WHOSHP.END..TO | 00000780: 52 43 26 46 4C 41 53 48 0D 20 4C 4F 43 41 4C 20 |RC&FLASH. LOCAL | 00000790: 22 43 48 41 52 0D 20 49 46 20 52 43 3F 20 4F 50 |"CHAR. IF RC? OP| 000007A0: 20 52 43 0D 20 2E 4F 50 54 49 4F 4E 20 22 52 43 | RC. .OPTION "RC| 000007B0: 20 30 20 31 0D 20 46 4C 41 53 48 26 57 41 49 54 | 0 1. FLASH&WAIT| 000007C0: 0D 20 4D 41 4B 45 20 22 43 48 41 52 20 52 43 0D |. MAKE "CHAR RC.| 000007D0: 20 2E 4F 50 54 49 4F 4E 20 22 52 43 20 30 20 30 | .OPTION "RC 0 0| 000007E0: 0D 20 49 46 20 41 53 43 49 49 20 3A 43 48 41 52 |. IF ASCII :CHAR| 000007F0: 20 3D 20 37 20 45 44 2E 51 55 49 54 20 45 4C 53 | = 7 ED.QUIT ELS| 00000800: 45 20 4F 50 20 3A 43 48 41 52 0D 45 4E 44 0D 0D |E OP :CHAR.END..| 00000810: 54 4F 20 45 44 2E 43 4F 4D 4D 41 4E 44 20 3A 43 |TO ED.COMMAND :C| 00000820: 48 41 52 0D 20 49 46 20 41 4E 59 4F 46 20 3A 43 |HAR. IF ANYOF :C| 00000830: 48 41 52 20 3D 20 22 5E 20 3A 43 48 41 52 20 3D |HAR = "^ :CHAR =| 00000840: 20 22 91 20 44 45 43 59 20 53 54 4F 50 0D 20 49 | ". DECY STOP. I| 00000850: 46 20 41 4E 59 4F 46 20 3A 43 48 41 52 20 3D 20 |F ANYOF :CHAR = | 00000860: 22 5F 20 3A 43 48 41 52 20 3D 20 22 9D 20 44 45 |"_ :CHAR = ". DE| 00000870: 43 58 20 53 54 4F 50 0D 20 49 46 20 3A 43 48 41 |CX STOP. IF :CHA| 00000880: 52 20 3D 20 22 11 20 49 4E 43 59 20 53 54 4F 50 |R = ". INCY STOP| 00000890: 0D 20 49 46 20 3A 43 48 41 52 20 3D 20 22 1D 20 |. IF :CHAR = ". | 000008A0: 49 4E 43 58 20 53 54 4F 50 0D 20 49 46 20 3A 43 |INCX STOP. IF :C| 000008B0: 48 41 52 20 3D 20 22 2A 20 53 45 54 50 4F 49 4E |HAR = "* SETPOIN| 000008C0: 54 20 3A 58 20 3A 59 20 49 4E 43 58 20 53 54 4F |T :X :Y INCX STO| 000008D0: 50 0D 20 49 46 20 3A 43 48 41 52 20 3D 20 22 14 |P. IF :CHAR = ".| 000008E0: 20 44 45 43 58 20 45 52 41 53 45 50 4F 49 4E 54 | DECX ERASEPOINT| 000008F0: 20 3A 58 20 3A 59 20 53 54 4F 50 0D 20 49 46 20 | :X :Y STOP. IF | 00000900: 3A 43 48 41 52 20 3D 20 22 27 20 27 20 45 52 41 |:CHAR = "' ' ERA| 00000910: 53 45 50 4F 49 4E 54 20 3A 58 20 3A 59 20 49 4E |SEPOINT :X :Y IN| 00000920: 43 58 20 53 54 4F 50 0D 20 49 46 20 3A 43 48 41 |CX STOP. IF :CHA| 00000930: 52 20 3D 20 22 2B 20 53 45 54 50 4F 49 4E 54 20 |R = "+ SETPOINT | 00000940: 3A 58 20 3A 59 20 53 54 4F 50 0D 20 49 46 20 3A |:X :Y STOP. IF :| 00000950: 43 48 41 52 20 3D 20 22 2D 20 45 52 41 53 45 50 |CHAR = "- ERASEP| 00000960: 4F 49 4E 54 20 3A 58 20 3A 59 20 53 54 4F 50 0D |OINT :X :Y STOP.| 00000970: 20 49 46 20 3A 43 48 41 52 20 3D 20 3A 52 45 54 | IF :CHAR = :RET| 00000980: 55 52 4E 20 4D 41 4B 45 20 22 58 20 30 20 49 4E |URN MAKE "X 0 IN| 00000990: 43 59 20 53 54 4F 50 0D 20 49 46 20 3A 43 48 41 |CY STOP. IF :CHA| 000009A0: 52 20 3D 20 22 13 20 4D 41 4B 45 20 22 58 20 30 |R = ". MAKE "X 0| 000009B0: 20 4D 41 4B 45 20 22 59 20 30 20 53 54 4F 50 0D | MAKE "Y 0 STOP.| 000009C0: 20 49 46 20 3A 43 48 41 52 20 3D 20 22 93 20 43 | IF :CHAR = ". C| 000009D0: 4C 45 41 52 53 48 41 50 45 20 43 4C 45 41 52 54 |LEARSHAPE CLEART| 000009E0: 45 58 54 20 52 45 44 49 53 50 4C 41 59 20 4D 41 |EXT REDISPLAY MA| 000009F0: 4B 45 20 22 58 20 30 20 4D 41 4B 45 20 22 59 20 |KE "X 0 MAKE "Y | 00000A00: 30 20 53 54 4F 50 0D 20 49 46 20 3A 43 48 41 52 |0 STOP. IF :CHAR| 00000A10: 20 3D 20 22 58 20 54 4F 47 47 4C 45 58 20 53 54 | = "X TOGGLEX ST| 00000A20: 4F 50 0D 20 49 46 20 3A 43 48 41 52 20 3D 20 22 |OP. IF :CHAR = "| 00000A30: 59 20 54 4F 47 47 4C 45 59 20 53 54 4F 50 0D 20 |Y TOGGLEY STOP. | 00000A40: 49 46 20 3A 43 48 41 52 20 3D 20 22 12 20 52 56 |IF :CHAR = ". RV| 00000A50: 53 2E 53 48 41 50 45 20 52 45 44 49 53 50 4C 41 |S.SHAPE REDISPLA| 00000A60: 59 20 53 54 4F 50 0D 20 49 46 20 3A 43 48 41 52 |Y STOP. IF :CHAR| 00000A70: 20 3D 20 22 03 20 45 44 2E 51 55 49 54 0D 45 4E | = ". ED.QUIT.EN| 00000A80: 44 0D 0D 54 4F 20 45 44 2E 4C 4F 4F 50 20 3A 58 |D..TO ED.LOOP :X| 00000A90: 20 3A 59 0D 20 45 44 2E 43 4F 4D 4D 41 4E 44 20 | :Y. ED.COMMAND | 00000AA0: 52 43 26 46 4C 41 53 48 0D 20 45 44 2E 4C 4F 4F |RC&FLASH. ED.LOO| 00000AB0: 50 20 3A 58 20 3A 59 0D 45 4E 44 0D 0D 4D 41 4B |P :X :Y.END..MAK| 00000AC0: 45 20 22 56 49 43 20 28 35 33 32 34 38 29 0D 4D |E "VIC (53248).M| 00000AD0: 41 4B 45 20 22 52 45 54 55 52 4E 20 22 0D 0D 4D |AKE "RETURN "..M| 00000AE0: 41 4B 45 20 22 53 54 41 52 54 55 50 20 5B 53 45 |AKE "STARTUP [SE| 00000AF0: 54 55 50 5D 0D |TUP]. |
. TO EDSH. .OPTION "TEXTSCREEN 0 EXP2 WH O. TEXTSCREEN. SETXY 60 0. REDISPLAY. ED .LOOP 0 0.END..TO READSHAPES :NAME. BLOA D WORD :NAME "/SHP.END..TO SAVESHAPES :N AME. BSAVE WORD :NAME "/SHP 3136 3583.EN D..TO SETUP. MAKE "RETURN CHAR 13. MAKE "VIC 13 * 4096. IF [] = TEXT "SMALLX REA D "LG-SPRITES.END..TO BITON? :ADDR :BIT. OP 0 < BITAND .EXAMINE :ADDR :BIT.END.. TO TOGGLEPOINT :X :Y. LOCAL "ADDR MAKE " ADDR SP.ADDR. LOCAL "F MAKE "F SP.BIT :X . .DEPOSIT :ADDR BITXOR .EXAMINE :ADDR : F. CURSOR :X + 1 :Y + 1. IF BITON? :ADDR :F PRINT1 "Q ELSE PRINT1 "..END..TO SP. BIT :X. OP EXP2 7 - BITAND :X 7.END..TO SP.ADDR. OP :Y * 3 + WHOSHP + QUOTIENT : X 8.END..TO FLASH&WAIT. TOGGLEPOINT :X : Y TOGGLEPOINT :X :Y IF RC? STOP. FLASH&W AIT.END..TO ED.QUIT. .OPTION "TEXTSCREEN 0 0. SPLITSCREEN. CLEARTEXT TOPLEVEL.EN D..TO RVS.SHAPE. LOCAL "ADDR MAKE "ADDR WHOSHP. REPEAT 63 [.DEPOSIT :ADDR BITXOR .EXAMINE :ADDR 255 MAKE "ADDR :ADDR+1]. END..TO TOGGLEY. .DEPOSIT 53271 BITXOR E XP2 WHO .EXAMINE 53271.END..TO TOGGLEX. .DEPOSIT 53277 BITXOR EXP2 WHO .EXAMINE 53277.END..TO CLEARSHAPE. LOCAL "ADDR MA KE "ADDR WHOSHP. REPEAT 63 [.DEPOSIT :AD DR 0 MAKE "ADDR :ADDR+1].END..TO ERASEPO INT :X :Y. LOCAL "ADDR MAKE "ADDR SP.ADD R. .DEPOSIT :ADDR BITAND .EXAMINE :ADDR 255 - SP.BIT :X. CURSOR :X + 1 :Y + 1. P RINT1 "..END..TO SETPOINT :X :Y. LOCAL " ADDR MAKE "ADDR SP.ADDR. .DEPOSIT :ADDR BITOR .EXAMINE :ADDR SP.BIT :X. CURSOR : X + 1 :Y + 1 PRINT1 "Q.END..TO INCX. MAK E "X :X + 1 IF :X > 23 MAKE "X 0.END..TO INCY. MAKE "Y :Y + 1 IF :Y > 20 MAKE "Y 0.END..TO DECX. MAKE "X :X - 1 IF :X < 0 MAKE "X 23.END..TO DECY. MAKE "Y :Y - 1 IF :Y < 0 MAKE "Y 20.END..TO WHOSHP. O P 64 * ( 48 + SHAPE ).END..TO ED.FRAME. CURSOR 0 0. REPEAT 26 [PRINT1 ".]. REPEA T 21 [CURSOR 0 1+LAST CURSORPOS PRINT1 " . CURSOR 25 LAST CURSORPOS PRINT1 ".]. C URSOR 0 22. REPEAT 26 [PRINT1 ".]. CURSO R 0 0.END..TO REDISPLAY. TEXTSCREEN CLEA RTEXT. ED.FRAME. .SPRINT WHOSHP.END..TO RC&FLASH. LOCAL "CHAR. IF RC? OP RC. .OP TION "RC 0 1. FLASH&WAIT. MAKE "CHAR RC. .OPTION "RC 0 0. IF ASCII :CHAR = 7 ED. QUIT ELSE OP :CHAR.END..TO ED.COMMAND :C HAR. IF ANYOF :CHAR = "^ :CHAR = ". DECY STOP. IF ANYOF :CHAR = "_ :CHAR = ". DE CX STOP. IF :CHAR = ". INCY STOP. IF :CH AR = ". INCX STOP. IF :CHAR = "* SETPOIN T :X :Y INCX STOP. IF :CHAR = ". DECX ER ASEPOINT :X :Y STOP. IF :CHAR = "' ' ERA SEPOINT :X :Y INCX STOP. IF :CHAR = "+ S ETPOINT :X :Y STOP. IF :CHAR = "- ERASEP OINT :X :Y STOP. IF :CHAR = :RETURN MAKE "X 0 INCY STOP. IF :CHAR = ". MAKE "X 0 MAKE "Y 0 STOP. IF :CHAR = ". CLEARSHAP E CLEARTEXT REDISPLAY MAKE "X 0 MAKE "Y 0 STOP. IF :CHAR = "X TOGGLEX STOP. IF : CHAR = "Y TOGGLEY STOP. IF :CHAR = ". RV S.SHAPE REDISPLAY STOP. IF :CHAR = ". ED .QUIT.END..TO ED.LOOP :X :Y. ED.COMMAND RC&FLASH. ED.LOOP :X :Y.END..MAKE "VIC ( 53248).MAKE "RETURN "..MAKE "STARTUP [SE TUP].
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL