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

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 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL