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

SPRED.LOGO

FILE INFORMATION

FILENAME(S): SPRED.LOGO

FILE TYPE(S): PRG

FILE SIZE: 2.7K

FIRST SEEN: 2025-10-19 22:48:23

APPEARS ON: 6 disk(s)

FILE HASH

16fa483a70f38a6a02b13d4c0aa26fa6e8a254badf27f170fdf142fb1dcb6f97

FOUND ON DISKS (6 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
UTILITIES DISK SPRED.LOGO PRG Radd Maxx 14 19 DOWNLOAD FILE
COMMODORE LOGO SPRED.LOGO PRG High Voltage Complete C64 Collection 25 1 DOWNLOAD FILE
LOGO SPRED.LOGO PRG Curtcool, LPN 11 11 DOWNLOAD FILE
BLACKSOFT 025 A SPRED.LOGO PRG DuncanTwain 11 11 DOWNLOAD FILE
HENNIE 521 SPRED.LOGO PRG DuncanTwain 14 19 DOWNLOAD FILE
TIGA SPRED.LOGO PRG DuncanTwain 27 0 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

00000000: 00 20 54 4F 20 45 44 2E  4C 4F 4F 50 20 3A 58 20  |. TO ED.LOOP :X |
00000010: 3A 59 0D 20 45 44 2E 43  4F 4D 4D 41 4E 44 20 52  |:Y. ED.COMMAND R|
00000020: 43 26 46 4C 41 53 48 0D  20 45 44 2E 4C 4F 4F 50  |C&FLASH. ED.LOOP|
00000030: 20 3A 58 20 3A 59 0D 45  4E 44 0D 0D 54 4F 20 52  | :X :Y.END..TO R|
00000040: 45 44 49 53 50 4C 41 59  0D 20 54 45 58 54 53 43  |EDISPLAY. TEXTSC|
00000050: 52 45 45 4E 20 43 4C 45  41 52 54 45 58 54 0D 20  |REEN CLEARTEXT. |
00000060: 45 44 2E 46 52 41 4D 45  0D 20 2E 53 50 52 49 4E  |ED.FRAME. .SPRIN|
00000070: 54 20 57 48 4F 53 48 50  0D 45 4E 44 0D 0D 54 4F  |T WHOSHP.END..TO|
00000080: 20 45 44 2E 43 4F 4D 4D  41 4E 44 20 3A 43 48 41  | ED.COMMAND :CHA|
00000090: 52 0D 20 49 46 20 41 4E  59 4F 46 20 3A 43 48 41  |R. IF ANYOF :CHA|
000000A0: 52 20 3D 20 22 5E 20 3A  43 48 41 52 20 3D 20 22  |R = "^ :CHAR = "|
000000B0: 91 20 44 45 43 59 20 53  54 4F 50 0D 20 49 46 20  |. DECY STOP. IF |
000000C0: 41 4E 59 4F 46 20 3A 43  48 41 52 20 3D 20 22 5F  |ANYOF :CHAR = "_|
000000D0: 20 3A 43 48 41 52 20 3D  20 22 9D 20 44 45 43 58  | :CHAR = ". DECX|
000000E0: 20 53 54 4F 50 0D 20 49  46 20 3A 43 48 41 52 20  | STOP. IF :CHAR |
000000F0: 3D 20 22 11 20 49 4E 43  59 20 53 54 4F 50 0D 20  |= ". INCY STOP. |
00000100: 49 46 20 3A 43 48 41 52  20 3D 20 22 1D 20 49 4E  |IF :CHAR = ". IN|
00000110: 43 58 20 53 54 4F 50 0D  20 49 46 20 3A 43 48 41  |CX STOP. IF :CHA|
00000120: 52 20 3D 20 22 2A 20 53  45 54 50 4F 49 4E 54 20  |R = "* SETPOINT |
00000130: 3A 58 20 3A 59 20 49 4E  43 58 20 53 54 4F 50 0D  |:X :Y INCX STOP.|
00000140: 20 49 46 20 3A 43 48 41  52 20 3D 20 22 14 20 44  | IF :CHAR = ". D|
00000150: 45 43 58 20 45 52 41 53  45 50 4F 49 4E 54 20 3A  |ECX ERASEPOINT :|
00000160: 58 20 3A 59 20 53 54 4F  50 0D 20 49 46 20 3A 43  |X :Y STOP. IF :C|
00000170: 48 41 52 20 3D 20 22 27  20 27 20 45 52 41 53 45  |HAR = "' ' ERASE|
00000180: 50 4F 49 4E 54 20 3A 58  20 3A 59 20 49 4E 43 58  |POINT :X :Y INCX|
00000190: 20 53 54 4F 50 0D 20 49  46 20 3A 43 48 41 52 20  | STOP. IF :CHAR |
000001A0: 3D 20 22 2B 20 53 45 54  50 4F 49 4E 54 20 3A 58  |= "+ SETPOINT :X|
000001B0: 20 3A 59 20 53 54 4F 50  0D 20 49 46 20 3A 43 48  | :Y STOP. IF :CH|
000001C0: 41 52 20 3D 20 22 2D 20  45 52 41 53 45 50 4F 49  |AR = "- ERASEPOI|
000001D0: 4E 54 20 3A 58 20 3A 59  20 53 54 4F 50 0D 20 49  |NT :X :Y STOP. I|
000001E0: 46 20 3A 43 48 41 52 20  3D 20 3A 52 45 54 55 52  |F :CHAR = :RETUR|
000001F0: 4E 20 4D 41 4B 45 20 22  58 20 30 20 49 4E 43 59  |N MAKE "X 0 INCY|
00000200: 20 53 54 4F 50 0D 20 49  46 20 3A 43 48 41 52 20  | STOP. IF :CHAR |
00000210: 3D 20 22 13 20 4D 41 4B  45 20 22 58 20 30 20 4D  |= ". MAKE "X 0 M|
00000220: 41 4B 45 20 22 59 20 30  20 53 54 4F 50 0D 20 49  |AKE "Y 0 STOP. I|
00000230: 46 20 3A 43 48 41 52 20  3D 20 22 93 20 43 4C 45  |F :CHAR = ". CLE|
00000240: 41 52 53 48 41 50 45 20  43 4C 45 41 52 54 45 58  |ARSHAPE CLEARTEX|
00000250: 54 20 52 45 44 49 53 50  4C 41 59 20 4D 41 4B 45  |T REDISPLAY MAKE|
00000260: 20 22 58 20 30 20 4D 41  4B 45 20 22 59 20 30 20  | "X 0 MAKE "Y 0 |
00000270: 53 54 4F 50 0D 20 49 46  20 3A 43 48 41 52 20 3D  |STOP. IF :CHAR =|
00000280: 20 22 58 20 54 4F 47 47  4C 45 58 20 53 54 4F 50  | "X TOGGLEX STOP|
00000290: 0D 20 49 46 20 3A 43 48  41 52 20 3D 20 22 59 20  |. IF :CHAR = "Y |
000002A0: 54 4F 47 47 4C 45 59 20  53 54 4F 50 0D 20 49 46  |TOGGLEY STOP. IF|
000002B0: 20 3A 43 48 41 52 20 3D  20 22 12 20 52 56 53 2E  | :CHAR = ". RVS.|
000002C0: 53 48 41 50 45 20 52 45  44 49 53 50 4C 41 59 20  |SHAPE REDISPLAY |
000002D0: 53 54 4F 50 0D 20 49 46  20 3A 43 48 41 52 20 3D  |STOP. IF :CHAR =|
000002E0: 20 22 03 20 45 44 2E 51  55 49 54 0D 45 4E 44 0D  | ". ED.QUIT.END.|
000002F0: 0D 54 4F 20 52 43 26 46  4C 41 53 48 0D 20 4C 4F  |.TO RC&FLASH. LO|
00000300: 43 41 4C 20 22 43 48 41  52 0D 20 49 46 20 52 43  |CAL "CHAR. IF RC|
00000310: 3F 20 4F 50 20 52 43 0D  20 2E 4F 50 54 49 4F 4E  |? OP RC. .OPTION|
00000320: 20 22 52 43 20 30 20 31  0D 20 46 4C 41 53 48 26  | "RC 0 1. FLASH&|
00000330: 57 41 49 54 0D 20 4D 41  4B 45 20 22 43 48 41 52  |WAIT. MAKE "CHAR|
00000340: 20 52 43 0D 20 2E 4F 50  54 49 4F 4E 20 22 52 43  | RC. .OPTION "RC|
00000350: 20 30 20 30 0D 20 49 46  20 41 53 43 49 49 20 3A  | 0 0. IF ASCII :|
00000360: 43 48 41 52 20 3D 20 37  20 45 44 2E 51 55 49 54  |CHAR = 7 ED.QUIT|
00000370: 20 45 4C 53 45 20 4F 50  20 3A 43 48 41 52 0D 45  | ELSE OP :CHAR.E|
00000380: 4E 44 0D 0D 54 4F 20 45  44 2E 46 52 41 4D 45 0D  |ND..TO ED.FRAME.|
00000390: 20 43 55 52 53 4F 52 20  30 20 30 0D 20 52 45 50  | CURSOR 0 0. REP|
000003A0: 45 41 54 20 32 36 20 5B  50 52 49 4E 54 31 20 22  |EAT 26 [PRINT1 "|
000003B0: A6 5D 0D 20 52 45 50 45  41 54 20 32 31 20 5B 43  |.]. REPEAT 21 [C|
000003C0: 55 52 53 4F 52 20 30 20  31 2B 4C 41 53 54 20 43  |URSOR 0 1+LAST C|
000003D0: 55 52 53 4F 52 50 4F 53  20 50 52 49 4E 54 31 20  |URSORPOS PRINT1 |
000003E0: 22 A6 20 43 55 52 53 4F  52 20 32 35 20 4C 41 53  |". CURSOR 25 LAS|
000003F0: 54 20 43 55 52 53 4F 52  50 4F 53 20 50 52 49 4E  |T CURSORPOS PRIN|
00000400: 54 31 20 22 A6 5D 0D 20  43 55 52 53 4F 52 20 30  |T1 ".]. CURSOR 0|
00000410: 20 32 32 0D 20 52 45 50  45 41 54 20 32 36 20 5B  | 22. REPEAT 26 [|
00000420: 50 52 49 4E 54 31 20 22  A6 5D 0D 20 43 55 52 53  |PRINT1 ".]. CURS|
00000430: 4F 52 20 30 20 30 0D 45  4E 44 0D 0D 54 4F 20 44  |OR 0 0.END..TO D|
00000440: 45 43 59 0D 20 4D 41 4B  45 20 22 59 20 3A 59 20  |ECY. MAKE "Y :Y |
00000450: 2D 20 31 20 49 46 20 3A  59 20 3C 20 30 20 4D 41  |- 1 IF :Y < 0 MA|
00000460: 4B 45 20 22 59 20 32 30  0D 45 4E 44 0D 0D 54 4F  |KE "Y 20.END..TO|
00000470: 20 44 45 43 58 0D 20 4D  41 4B 45 20 22 58 20 3A  | DECX. MAKE "X :|
00000480: 58 20 2D 20 31 20 49 46  20 3A 58 20 3C 20 30 20  |X - 1 IF :X < 0 |
00000490: 4D 41 4B 45 20 22 58 20  32 33 0D 45 4E 44 0D 0D  |MAKE "X 23.END..|
000004A0: 54 4F 20 49 4E 43 59 0D  20 4D 41 4B 45 20 22 59  |TO INCY. MAKE "Y|
000004B0: 20 3A 59 20 2B 20 31 20  49 46 20 3A 59 20 3E 20  | :Y + 1 IF :Y > |
000004C0: 32 30 20 4D 41 4B 45 20  22 59 20 30 0D 45 4E 44  |20 MAKE "Y 0.END|
000004D0: 0D 0D 54 4F 20 49 4E 43  58 0D 20 4D 41 4B 45 20  |..TO INCX. MAKE |
000004E0: 22 58 20 3A 58 20 2B 20  31 20 49 46 20 3A 58 20  |"X :X + 1 IF :X |
000004F0: 3E 20 32 33 20 4D 41 4B  45 20 22 58 20 30 0D 45  |> 23 MAKE "X 0.E|
00000500: 4E 44 0D 0D 54 4F 20 53  45 54 50 4F 49 4E 54 20  |ND..TO SETPOINT |
00000510: 3A 58 20 3A 59 0D 20 4C  4F 43 41 4C 20 22 41 44  |:X :Y. LOCAL "AD|
00000520: 44 52 20 4D 41 4B 45 20  22 41 44 44 52 20 53 50  |DR MAKE "ADDR SP|
00000530: 2E 41 44 44 52 0D 20 2E  44 45 50 4F 53 49 54 20  |.ADDR. .DEPOSIT |
00000540: 3A 41 44 44 52 20 42 49  54 4F 52 20 2E 45 58 41  |:ADDR BITOR .EXA|
00000550: 4D 49 4E 45 20 3A 41 44  44 52 20 53 50 2E 42 49  |MINE :ADDR SP.BI|
00000560: 54 20 3A 58 0D 20 43 55  52 53 4F 52 20 3A 58 20  |T :X. CURSOR :X |
00000570: 2B 20 31 20 3A 59 20 2B  20 31 20 50 52 49 4E 54  |+ 1 :Y + 1 PRINT|
00000580: 31 20 22 D1 0D 45 4E 44  0D 0D 54 4F 20 45 52 41  |1 "..END..TO ERA|
00000590: 53 45 50 4F 49 4E 54 20  3A 58 20 3A 59 0D 20 4C  |SEPOINT :X :Y. L|
000005A0: 4F 43 41 4C 20 22 41 44  44 52 20 4D 41 4B 45 20  |OCAL "ADDR MAKE |
000005B0: 22 41 44 44 52 20 53 50  2E 41 44 44 52 0D 20 2E  |"ADDR SP.ADDR. .|
000005C0: 44 45 50 4F 53 49 54 20  3A 41 44 44 52 20 42 49  |DEPOSIT :ADDR BI|
000005D0: 54 41 4E 44 20 2E 45 58  41 4D 49 4E 45 20 3A 41  |TAND .EXAMINE :A|
000005E0: 44 44 52 20 32 35 35 20  2D 20 53 50 2E 42 49 54  |DDR 255 - SP.BIT|
000005F0: 20 3A 58 0D 20 43 55 52  53 4F 52 20 3A 58 20 2B  | :X. CURSOR :X +|
00000600: 20 31 20 3A 59 20 2B 20  31 0D 20 50 52 49 4E 54  | 1 :Y + 1. PRINT|
00000610: 31 20 22 2E 0D 45 4E 44  0D 0D 54 4F 20 43 4C 45  |1 "..END..TO CLE|
00000620: 41 52 53 48 41 50 45 0D  20 4C 4F 43 41 4C 20 22  |ARSHAPE. LOCAL "|
00000630: 41 44 44 52 20 4D 41 4B  45 20 22 41 44 44 52 20  |ADDR MAKE "ADDR |
00000640: 57 48 4F 53 48 50 0D 20  52 45 50 45 41 54 20 36  |WHOSHP. REPEAT 6|
00000650: 33 20 5B 2E 44 45 50 4F  53 49 54 20 3A 41 44 44  |3 [.DEPOSIT :ADD|
00000660: 52 20 30 20 4D 41 4B 45  20 22 41 44 44 52 20 3A  |R 0 MAKE "ADDR :|
00000670: 41 44 44 52 2B 31 5D 0D  45 4E 44 0D 0D 54 4F 20  |ADDR+1].END..TO |
00000680: 54 4F 47 47 4C 45 58 0D  20 2E 44 45 50 4F 53 49  |TOGGLEX. .DEPOSI|
00000690: 54 20 35 33 32 37 37 20  42 49 54 58 4F 52 20 45  |T 53277 BITXOR E|
000006A0: 58 50 32 20 57 48 4F 20  2E 45 58 41 4D 49 4E 45  |XP2 WHO .EXAMINE|
000006B0: 20 35 33 32 37 37 0D 45  4E 44 0D 0D 54 4F 20 54  | 53277.END..TO T|
000006C0: 4F 47 47 4C 45 59 0D 20  2E 44 45 50 4F 53 49 54  |OGGLEY. .DEPOSIT|
000006D0: 20 35 33 32 37 31 20 42  49 54 58 4F 52 20 45 58  | 53271 BITXOR EX|
000006E0: 50 32 20 57 48 4F 20 2E  45 58 41 4D 49 4E 45 20  |P2 WHO .EXAMINE |
000006F0: 35 33 32 37 31 0D 45 4E  44 0D 0D 54 4F 20 52 56  |53271.END..TO RV|
00000700: 53 2E 53 48 41 50 45 0D  20 4C 4F 43 41 4C 20 22  |S.SHAPE. LOCAL "|
00000710: 41 44 44 52 20 4D 41 4B  45 20 22 41 44 44 52 20  |ADDR MAKE "ADDR |
00000720: 57 48 4F 53 48 50 0D 20  52 45 50 45 41 54 20 36  |WHOSHP. REPEAT 6|
00000730: 33 20 5B 2E 44 45 50 4F  53 49 54 20 3A 41 44 44  |3 [.DEPOSIT :ADD|
00000740: 52 20 42 49 54 58 4F 52  20 2E 45 58 41 4D 49 4E  |R BITXOR .EXAMIN|
00000750: 45 20 3A 41 44 44 52 20  32 35 35 20 4D 41 4B 45  |E :ADDR 255 MAKE|
00000760: 20 22 41 44 44 52 20 3A  41 44 44 52 2B 31 5D 0D  | "ADDR :ADDR+1].|
00000770: 45 4E 44 0D 0D 54 4F 20  45 44 2E 51 55 49 54 0D  |END..TO ED.QUIT.|
00000780: 20 2E 4F 50 54 49 4F 4E  20 22 54 45 58 54 53 43  | .OPTION "TEXTSC|
00000790: 52 45 45 4E 20 30 20 30  0D 20 53 50 4C 49 54 53  |REEN 0 0. SPLITS|
000007A0: 43 52 45 45 4E 0D 20 43  4C 45 41 52 54 45 58 54  |CREEN. CLEARTEXT|
000007B0: 20 54 4F 50 4C 45 56 45  4C 0D 45 4E 44 0D 0D 54  | TOPLEVEL.END..T|
000007C0: 4F 20 54 4F 47 47 4C 45  50 4F 49 4E 54 20 3A 58  |O TOGGLEPOINT :X|
000007D0: 20 3A 59 0D 20 4C 4F 43  41 4C 20 22 41 44 44 52  | :Y. LOCAL "ADDR|
000007E0: 20 4D 41 4B 45 20 22 41  44 44 52 20 53 50 2E 41  | MAKE "ADDR SP.A|
000007F0: 44 44 52 0D 20 4C 4F 43  41 4C 20 22 46 20 4D 41  |DDR. LOCAL "F MA|
00000800: 4B 45 20 22 46 20 53 50  2E 42 49 54 20 3A 58 0D  |KE "F SP.BIT :X.|
00000810: 20 2E 44 45 50 4F 53 49  54 20 3A 41 44 44 52 20  | .DEPOSIT :ADDR |
00000820: 42 49 54 58 4F 52 20 2E  45 58 41 4D 49 4E 45 20  |BITXOR .EXAMINE |
00000830: 3A 41 44 44 52 20 3A 46  0D 20 43 55 52 53 4F 52  |:ADDR :F. CURSOR|
00000840: 20 3A 58 20 2B 20 31 20  3A 59 20 2B 20 31 0D 20  | :X + 1 :Y + 1. |
00000850: 49 46 20 42 49 54 4F 4E  3F 20 3A 41 44 44 52 20  |IF BITON? :ADDR |
00000860: 3A 46 20 50 52 49 4E 54  31 20 22 D1 20 45 4C 53  |:F PRINT1 ". ELS|
00000870: 45 20 50 52 49 4E 54 31  20 22 2E 0D 45 4E 44 0D  |E PRINT1 "..END.|
00000880: 0D 54 4F 20 46 4C 41 53  48 26 57 41 49 54 0D 20  |.TO FLASH&WAIT. |
00000890: 54 4F 47 47 4C 45 50 4F  49 4E 54 20 3A 58 20 3A  |TOGGLEPOINT :X :|
000008A0: 59 20 54 4F 47 47 4C 45  50 4F 49 4E 54 20 3A 58  |Y TOGGLEPOINT :X|
000008B0: 20 3A 59 20 49 46 20 52  43 3F 20 53 54 4F 50 0D  | :Y IF RC? STOP.|
000008C0: 20 46 4C 41 53 48 26 57  41 49 54 0D 45 4E 44 0D  | FLASH&WAIT.END.|
000008D0: 0D 54 4F 20 57 48 4F 53  48 50 0D 20 4F 50 20 36  |.TO WHOSHP. OP 6|
000008E0: 34 20 2A 20 28 20 34 38  20 2B 20 53 48 41 50 45  |4 * ( 48 + SHAPE|
000008F0: 20 29 0D 45 4E 44 0D 0D  54 4F 20 53 50 2E 41 44  | ).END..TO SP.AD|
00000900: 44 52 0D 20 4F 50 20 3A  59 20 2A 20 33 20 2B 20  |DR. OP :Y * 3 + |
00000910: 57 48 4F 53 48 50 20 2B  20 51 55 4F 54 49 45 4E  |WHOSHP + QUOTIEN|
00000920: 54 20 3A 58 20 38 0D 45  4E 44 0D 0D 54 4F 20 53  |T :X 8.END..TO S|
00000930: 50 2E 42 49 54 20 3A 58  0D 20 4F 50 20 45 58 50  |P.BIT :X. OP EXP|
00000940: 32 20 37 20 2D 20 42 49  54 41 4E 44 20 3A 58 20  |2 7 - BITAND :X |
00000950: 37 0D 45 4E 44 0D 0D 54  4F 20 42 49 54 4F 4E 3F  |7.END..TO BITON?|
00000960: 20 3A 41 44 44 52 20 3A  42 49 54 0D 20 4F 50 20  | :ADDR :BIT. OP |
00000970: 30 20 3C 20 42 49 54 41  4E 44 20 2E 45 58 41 4D  |0 < BITAND .EXAM|
00000980: 49 4E 45 20 3A 41 44 44  52 20 3A 42 49 54 0D 45  |INE :ADDR :BIT.E|
00000990: 4E 44 0D 0D 54 4F 20 53  45 54 55 50 0D 20 4D 41  |ND..TO SETUP. MA|
000009A0: 4B 45 20 22 52 45 54 55  52 4E 20 43 48 41 52 20  |KE "RETURN CHAR |
000009B0: 31 33 0D 20 4D 41 4B 45  20 22 56 49 43 20 31 33  |13. MAKE "VIC 13|
000009C0: 20 2A 20 34 30 39 36 0D  20 49 46 20 5B 5D 20 3D  | * 4096. IF [] =|
000009D0: 20 54 45 58 54 20 22 53  4D 41 4C 4C 58 20 52 45  | TEXT "SMALLX RE|
000009E0: 41 44 20 22 53 50 52 49  54 45 53 0D 45 4E 44 0D  |AD "SPRITES.END.|
000009F0: 0D 54 4F 20 53 41 56 45  53 48 41 50 45 53 20 3A  |.TO SAVESHAPES :|
00000A00: 4E 41 4D 45 0D 20 42 53  41 56 45 20 57 4F 52 44  |NAME. BSAVE WORD|
00000A10: 20 3A 4E 41 4D 45 20 22  2E 53 48 41 50 45 53 20  | :NAME ".SHAPES |
00000A20: 33 31 33 36 20 33 35 38  33 0D 45 4E 44 0D 0D 54  |3136 3583.END..T|
00000A30: 4F 20 52 45 41 44 53 48  41 50 45 53 20 3A 4E 41  |O READSHAPES :NA|
00000A40: 4D 45 0D 20 42 4C 4F 41  44 20 57 4F 52 44 20 3A  |ME. BLOAD WORD :|
00000A50: 4E 41 4D 45 20 22 2E 53  48 41 50 45 53 0D 45 4E  |NAME ".SHAPES.EN|
00000A60: 44 0D 0D 54 4F 20 45 44  53 48 0D 20 2E 4F 50 54  |D..TO EDSH. .OPT|
00000A70: 49 4F 4E 20 22 54 45 58  54 53 43 52 45 45 4E 20  |ION "TEXTSCREEN |
00000A80: 30 20 45 58 50 32 20 57  48 4F 0D 20 54 45 58 54  |0 EXP2 WHO. TEXT|
00000A90: 53 43 52 45 45 4E 0D 20  53 45 54 58 59 20 36 30  |SCREEN. SETXY 60|
00000AA0: 20 30 0D 20 52 45 44 49  53 50 4C 41 59 0D 20 45  | 0. REDISPLAY. E|
00000AB0: 44 2E 4C 4F 4F 50 20 30  20 30 0D 45 4E 44 0D 0D  |D.LOOP 0 0.END..|
00000AC0: 4D 41 4B 45 20 22 53 54  41 52 54 55 50 20 5B 53  |MAKE "STARTUP [S|
00000AD0: 45 54 55 50 5D 0D                                 |ETUP].          |
. TO ED.LOOP :X :Y. ED.COMMAND RC&FLASH.
 ED.LOOP :X :Y.END..TO REDISPLAY. TEXTSC
REEN CLEARTEXT. ED.FRAME. .SPRINT WHOSHP
.END..TO ED.COMMAND :CHAR. IF ANYOF :CHA
R = "^ :CHAR = ". DECY STOP. IF ANYOF :C
HAR = "_ :CHAR = ". DECX STOP. IF :CHAR 
= ". INCY STOP. IF :CHAR = ". INCX STOP.
 IF :CHAR = "* SETPOINT :X :Y INCX STOP.
 IF :CHAR = ". DECX ERASEPOINT :X :Y STO
P. IF :CHAR = "' ' ERASEPOINT :X :Y INCX
 STOP. IF :CHAR = "+ SETPOINT :X :Y STOP
. IF :CHAR = "- ERASEPOINT :X :Y STOP. I
F :CHAR = :RETURN MAKE "X 0 INCY STOP. I
F :CHAR = ". MAKE "X 0 MAKE "Y 0 STOP. I
F :CHAR = ". CLEARSHAPE CLEARTEXT REDISP
LAY MAKE "X 0 MAKE "Y 0 STOP. IF :CHAR =
 "X TOGGLEX STOP. IF :CHAR = "Y TOGGLEY 
STOP. IF :CHAR = ". RVS.SHAPE REDISPLAY 
STOP. IF :CHAR = ". ED.QUIT.END..TO RC&F
LASH. LOCAL "CHAR. IF RC? OP RC. .OPTION
 "RC 0 1. FLASH&WAIT. MAKE "CHAR RC. .OP
TION "RC 0 0. IF ASCII :CHAR = 7 ED.QUIT
 ELSE OP :CHAR.END..TO ED.FRAME. CURSOR 
0 0. REPEAT 26 [PRINT1 ".]. REPEAT 21 [C
URSOR 0 1+LAST CURSORPOS PRINT1 ". CURSO
R 25 LAST CURSORPOS PRINT1 ".]. CURSOR 0
 22. REPEAT 26 [PRINT1 ".]. CURSOR 0 0.E
ND..TO DECY. MAKE "Y :Y - 1 IF :Y < 0 MA
KE "Y 20.END..TO DECX. MAKE "X :X - 1 IF
 :X < 0 MAKE "X 23.END..TO INCY. MAKE "Y
 :Y + 1 IF :Y > 20 MAKE "Y 0.END..TO INC
X. MAKE "X :X + 1 IF :X > 23 MAKE "X 0.E
ND..TO SETPOINT :X :Y. LOCAL "ADDR MAKE 
"ADDR SP.ADDR. .DEPOSIT :ADDR BITOR .EXA
MINE :ADDR SP.BIT :X. CURSOR :X + 1 :Y +
 1 PRINT1 "Q.END..TO ERASEPOINT :X :Y. L
OCAL "ADDR MAKE "ADDR SP.ADDR. .DEPOSIT 
:ADDR BITAND .EXAMINE :ADDR 255 - SP.BIT
 :X. CURSOR :X + 1 :Y + 1. PRINT1 "..END
..TO CLEARSHAPE. LOCAL "ADDR MAKE "ADDR 
WHOSHP. REPEAT 63 [.DEPOSIT :ADDR 0 MAKE
 "ADDR :ADDR+1].END..TO TOGGLEX. .DEPOSI
T 53277 BITXOR EXP2 WHO .EXAMINE 53277.E
ND..TO TOGGLEY. .DEPOSIT 53271 BITXOR EX
P2 WHO .EXAMINE 53271.END..TO RVS.SHAPE.
 LOCAL "ADDR MAKE "ADDR WHOSHP. REPEAT 6
3 [.DEPOSIT :ADDR BITXOR .EXAMINE :ADDR 
255 MAKE "ADDR :ADDR+1].END..TO ED.QUIT.
 .OPTION "TEXTSCREEN 0 0. SPLITSCREEN. C
LEARTEXT TOPLEVEL.END..TO TOGGLEPOINT :X
 :Y. LOCAL "ADDR MAKE "ADDR SP.ADDR. LOC
AL "F MAKE "F SP.BIT :X. .DEPOSIT :ADDR 
BITXOR .EXAMINE :ADDR :F. CURSOR :X + 1 
:Y + 1. IF BITON? :ADDR :F PRINT1 "Q ELS
E PRINT1 "..END..TO FLASH&WAIT. TOGGLEPO
INT :X :Y TOGGLEPOINT :X :Y IF RC? STOP.
 FLASH&WAIT.END..TO WHOSHP. OP 64 * ( 48
 + SHAPE ).END..TO SP.ADDR. OP :Y * 3 + 
WHOSHP + QUOTIENT :X 8.END..TO SP.BIT :X
. OP EXP2 7 - BITAND :X 7.END..TO BITON?
 :ADDR :BIT. OP 0 < BITAND .EXAMINE :ADD
R :BIT.END..TO SETUP. MAKE "RETURN CHAR 
13. MAKE "VIC 13 * 4096. IF [] = TEXT "S
MALLX READ "SPRITES.END..TO SAVESHAPES :
NAME. BSAVE WORD :NAME ".SHAPES 3136 358
3.END..TO READSHAPES :NAME. BLOAD WORD :
NAME ".SHAPES.END..TO EDSH. .OPTION "TEX
TSCREEN 0 EXP2 WHO. TEXTSCREEN. SETXY 60
 0. REDISPLAY. ED.LOOP 0 0.END..MAKE "ST
ARTUP [SETUP].
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL