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

FLASH80-DEMO

FILE INFORMATION

FILENAME(S): FLASH80-DEMO

FILE TYPE(S): PRG

FILE SIZE: 11K

FIRST SEEN: 2025-11-30 16:59:02

APPEARS ON: 1 disk(s)

FILE HASH

f4be396846942d3a5d80a6dc13299f0a8e42ed2569f37b2d33a324bf3ff365f7

FOUND ON DISKS (1 DISKS)

DISK TITLE FILENAME FILE TYPE COLLECTION TRACK SECTOR ACTIONS
TALENTED RULERZ FLASH80-DEMO PRG High Voltage Complete C64 Collection 8 2 DOWNLOAD FILE

FILE CONTENT & ANALYSIS

> DETECTED: COMMODORE BASIC PROGRAM (LOAD ADDRESS $0801)

00000000: 01 08 0D 08 CE 07 9E 32  30 36 34 20 3E 3C 00 00  |.......2064 ><..|
00000010: 00 78 A9 34 85 01 A2 05  BD 42 08 9D 2D 00 CA 10  |.x.4.....B..-...|
00000020: F7 9A A0 00 C6 32 CE 2C  08 B1 31 99 00 00 C8 D0  |.....2.,..1.....|
00000030: F8 A5 32 C9 08 D0 ED B9  48 08 99 00 01 C8 D0 F7  |..2.....H.......|
00000040: 4C 00 01 00 08 34 D5 05  34 B1 2F 2A 2A 2A 2A 29  |L....4..4./****)|
00000050: 07 AA BD 1A 01 8D 18 01  B1 2F 29 1F AA 20 22 01  |........./).. ".|
00000060: 4C FF 01 A4 43 AB 79 58  3B 3F 29 E6 2F D0 02 E6  |L...C.yX;?)./...|
00000070: 30 60 B1 2F 20 22 01 91  2D E6 2D D0 02 E6 2E CA  |0`./ "..-.-.....|
00000080: D0 F5 F0 C5 A9 00 F0 EF  A9 FF D0 EB B1 2F 91 2D  |............./.-|
00000090: E6 2F D0 02 E6 30 E6 2D  D0 02 E6 2E CA D0 ED F0  |./...0.-........|
000000A0: A8 20 71 01 B1 2F 20 22  01 91 2D E6 2D D0 02 E6  |. q../ "..-.-...|
000000B0: 2E CA D0 F5 C6 39 10 F1  30 8F 86 39 B1 2F AA 4C  |.....9..0..9./.L|
000000C0: 22 01 20 71 01 B1 2F 91  2D E6 2F D0 02 E6 30 E6  |". q../.-./...0.|
000000D0: 2D D0 02 E6 2E CA D0 ED  C6 39 10 E9 4C 00 01 2C  |-........9..L..,|
000000E0: DA 01 A9 37 85 01 58 20  00 10 4C AE A7 E0 00 F0  |...7..X ..L.....|
000000F0: EE A9 04 2C A9 08 85 FF  B1 2F 91 2D C8 C4 FF D0  |...,...../.-....|
00000100: F7 18 A5 2D 65 FF 85 2D  A5 2E 69 00 85 2E A0 00  |...-e..-..i.....|
00000110: CA D0 E5 18 A5 2F 65 FF  85 2F A5 30 69 00 85 30  |...../e../.0i..0|
00000120: 4C 00 01 B9 00 EF 99 00  FF C8 D0 F7 CE DC 01 CE  |L...............|
00000130: DF 01 AD DF 01 C9 DF D0  EA 60 3B 00 1A 08 CB 07  |.........`;.....|
00000140: 9E 34 30 39 36 20 50 4F  57 44 45 52 45 52 45 44  |.4096 POWDERERED|
00000150: 20 54 4F 41 53 54 80 A5  00 21 F0 80 47 00 E4 40  | TOAST...!..G..@|
00000160: A2 22 40 00 E3 A0 A5 2F  60 60 F0 60 F0 60 60 00  |."@..../``.`.``.|
00000170: 20 70 80 60 10 E0 40 A2  32 90 90 20 40 90 90 00  | p.`..@.2.. @...|
00000180: 40 A0 40 C0 B0 A0 50 00  40 40 80 A5 22 10 20 E3  |@.@...P.@@..". .|
00000190: 40 25 20 10 00 80 40 E3  20 22 40 80 A2 25 90 60  |@% ...@. "@..%.`|
000001A0: F0 60 90 A3 25 40 40 F0  40 40 A7 23 40 40 80 A3  |.`..%@@.@@.#@@..|
000001B0: 21 F0 A9 22 40 40 A2 31  20 20 40 40 80 80 00 60  |!.."@@.1  @@...`|
000001C0: 90 B0 D0 90 90 60 00 40  C0 E4 40 60 2E E0 00 60  |.....`.@..@`...`|
000001D0: 90 10 20 40 80 F0 00 60  90 10 60 10 90 60 00 10  |.. @...`..`..`..|
000001E0: 30 50 90 F0 10 10 00 F0  80 E0 10 10 90 60 00 20  |0P...........`. |
000001F0: 40 80 E0 90 90 60 00 F0  90 20 20 E3 40 2F 00 60  |@....`...  .@/.`|
00000200: 90 90 60 90 90 60 00 60  90 90 70 10 20 02 40 00  |..`..`.`..p. .@.|
00000210: 00 40 21 40 A2 22 20 20  A2 2A 20 20 40 10 20 40  |.@!@."  .*  @. @|
00000220: 80 40 20 10 A3 23 F0 00  F0 A3 39 80 40 20 10 20  |.@ ..#....9.@ . |
00000230: 40 80 00 60 90 10 20 40  00 40 00 60 90 B0 B0 80  |@..`.. @.@.`....|
00000240: 90 60 00 60 E3 90 2E F0  90 90 00 E0 90 90 E0 90  |.`.`............|
00000250: 90 E0 00 60 90 E3 80 25  90 60 00 C0 A0 E3 90 2F  |...`...%.`...../|
00000260: A0 C0 00 F0 80 80 E0 80  80 F0 00 F0 80 80 E0 E3  |................|
00000270: 80 29 00 60 90 80 B0 90  90 60 00 E3 90 21 F0 E3  |.).`.....`...!..|
00000280: 90 22 00 E0 E5 40 22 E0  00 E5 10 2B 90 60 00 90  |."...@"....+.`..|
00000290: A0 C0 80 C0 A0 90 00 E6  80 23 F0 00 90 E3 F0 E3  |.........#......|
000002A0: 90 2A 00 90 D0 D0 B0 B0  90 90 00 60 E5 90 26 60  |.*.........`..&`|
000002B0: 00 E0 90 90 E0 E3 80 22  00 60 E4 90 34 60 30 00  |.......".`..4`0.|
000002C0: E0 90 90 E0 C0 A0 90 00  60 90 80 60 10 90 60 00  |........`..`..`.|
000002D0: F0 E6 40 A1 E6 90 22 60  00 E4 90 E3 60 A1 E3 90  |..@..."`....`...|
000002E0: E3 F0 24 90 00 90 90 E3  60 23 90 90 00 E3 90 21  |..$.....`#.....!|
000002F0: 60 E3 40 2A 00 F0 10 20  40 80 80 F0 00 60 E5 40  |`.@*... @....`.@|
00000300: 21 60 A2 28 80 80 40 40  20 20 00 60 E5 20 26 60  |!`.(..@@  .`. &`|
00000310: 00 60 60 90 90 AB 24 F0  40 40 20 A7 2D 60 10 70  |.``...$.@@ .-`.p|
00000320: 90 70 00 80 80 A0 D0 90  90 E0 A3 21 70 E3 80 29  |.p.........!p..)|
00000330: 70 00 10 10 50 B0 90 90  70 A3 2A 60 90 F0 80 60  |p...P...p.*`...`|
00000340: 00 20 50 40 F0 E3 40 A3  29 70 90 90 70 10 E0 80  |. P@..@.)p..p...|
00000350: 80 E0 E4 90 24 00 40 00  C0 E3 40 24 E0 00 20 00  |....$.@...@$.. .|
00000360: E5 20 21 C0 E3 80 26 A0  C0 A0 90 00 C0 E5 40 21  |. !...&.......@!|
00000370: E0 A3 25 A0 F0 F0 D0 90  A3 21 E0 E4 90 A3 21 60  |..%......!....!`|
00000380: E3 90 21 60 A3 26 E0 90  90 E0 80 80 A2 26 70 90  |..!`.&.......&p.|
00000390: 90 70 10 10 A2 22 E0 90  E3 80 A3 2D 70 80 60 10  |.p...".....-p.`.|
000003A0: E0 00 40 40 F0 40 40 50  20 A3 E4 90 21 70 A3 E3  |..@@.@@P ...!p..|
000003B0: 90 22 60 60 A3 25 90 90  F0 F0 90 A3 25 90 90 60  |."``.%......%..`|
000003C0: 90 90 A3 E3 90 23 70 20  C0 A2 2D F0 20 40 80 F0  |.....#p ..-. @..|
000003D0: 00 10 20 20 40 20 20 10  02 00 40 40 40 2B 00 80  |..  @  ...@@@+..|
000003E0: 40 40 20 40 40 80 00 A0  50 A6 28 80 40 20 10 08  |@@ @@...P.(.@ ..|
000003F0: 04 02 01 83 00 00 60 8B  4C 0F 10 4C 81 11 4C DE  |......`.L..L..L.|
00000400: 10 4C C6 10 4C 77 10 A9  00 85 D6 85 D3 85 D1 A9  |.L..Lw..........|
00000410: 01 8D 15 D0 A9 04 85 D2  A9 0C 8D 86 02 A9 0F 8D  |................|
00000420: 20 D0 8D 21 D0 20 DE 10  78 AD 0D DC 8D A7 02 A9  | ..!. ..x.......|
00000430: 7F 8D 0D DC AD 1A D0 8D  A8 02 09 01 8D 1A D0 AD  |................|
00000440: 11 D0 8D A9 02 29 7F 8D  11 D0 AD 12 D0 8D AA 02  |.....)..........|
00000450: A9 0A 8D 12 D0 AD 14 03  AE 15 03 8D AB 02 8D AC  |................|
00000460: 02 A9 77 A2 10 8D 14 03  8E 15 03 58 4C EF 11 08  |..w........XL...|
00000470: 48 18 AD 8D 02 29 02 D0  3D AD 16 D0 49 04 8D 16  |H....)..=...I...|
00000480: D0 29 04 E3 2A 32 69 13  8D 18 D0 AD 15 D0 49 01  |.)..*2i.......I.|
00000490: 8D 15 D0 29 01 A5 D6 18  E3 2A 61 5D 69 39 8D 01  |...).....*a]i9..|
000004A0: D0 8A 48 A2 00 A5 D3 69  06 18 0A 0A 90 01 E8 8E  |..H....i........|
000004B0: 10 D0 8D 00 D0 68 AA 68  28 CE 19 D0 4C 31 EA A2  |.....h.h(...L1..|
000004C0: 00 AD 86 02 8D 27 D0 9D  00 D8 9D 00 D9 9D 00 DA  |.....'..........|
000004D0: 9D 00 DB E8 D0 F1 60 A2  00 86 D1 86 D6 86 D3 A9  |......`.........|
000004E0: 04 85 D2 A9 20 9D 00 04  9D 00 05 9D 00 06 9D 00  |.... ...........|
000004F0: 07 9D 00 0C 9D 00 0D 9D  00 0E 9D 00 0F E8 D0 E5  |................|
00000500: A9 23 8D F8 07 8D F8 0F  4C C6 10 98 48 A9 03 85  |.#......L...H...|
00000510: FD 20 34 11 A9 0B 85 FD  20 34 11 A2 29 A9 20 9D  |. 4..... 4..). .|
00000520: BF 07 9D BF 0F CA D0 F7  68 A8 4C C5 11 A9 00 85  |........h.L.....|
00000530: FC E6 FD A0 28 B1 FC A0  00 91 FC E6 FC F0 F2 A6  |....(...........|
00000540: FC E0 C0 D0 EE A5 FD 29  07 C9 07 D0 E6 60 A9 00  |.......).....`..|
00000550: 85 D3 A6 D6 E8 E0 19 F0  B2 86 D6 A5 D1 69 28 90  |.............i(.|
00000560: 02 E6 D2 85 D1 68 AA A9  0D 60 20 DE 10 4C C5 11  |.....h...` ..L..|
00000570: A6 D3 F0 03 CA 86 D3 4C  C5 11 29 7F 85 FE 8A 48  |.......L..)....H|
00000580: A5 FE F0 3A C9 20 10 0F  C9 0D F0 C2 C9 08 F0 E0  |...:. ..........|
00000590: C9 0C F0 D6 4C C5 11 A6  D2 A5 D3 18 6A 90 07 48  |....L.......j..H|
000005A0: 8A 69 07 18 AA 68 65 D1  90 01 E8 85 FC 86 FD A2  |.i...he.........|
000005B0: 00 A5 FE 81 FC A6 D3 E8  E0 50 F0 92 86 D3 68 AA  |.........P....h.|
000005C0: A5 FE 60 C9 85 D0 03 EE  86 02 C9 86 D0 03 CE 86  |..`.............|
000005D0: 02 C9 87 D0 06 EE 20 D0  EE 21 D0 C9 88 D0 06 CE  |...... ..!......|
000005E0: 20 D0 CE 21 D0 4C C6 10  A2 00 A0 18 20 12 12 4C  | ..!.L...... ..L|
000005F0: EF 11 8E 00 12 8C 01 12  AD C2 37 F0 2D 20 81 11  |..........7.- ..|
00000600: EE 00 12 D0 F3 EE 01 12  4C FF 11 8E 19 12 8C 1A  |........L.......|
00000610: 12 AD C2 60 94 C9 C7 F0  12 C9 0D F0 0F 20 81 11  |...`......... ..|
00000620: EE 19 12 D0 ED EE 1A 12  4C 18 12 60 20 81 11 A5  |........L..` ...|
00000630: D6 C9 18 D0 EB A2 A3 A0  12 20 F9 11 20 E4 FF C9  |......... .. ...|
00000640: 00 F0 F9 A8 29 E0 C9 80  D0 07 98 20 CA 11 4C 42  |....)...... ..LB|
00000650: 12 C0 20 D0 06 20 DE 10  4C 26 12 98 C9 11 F0 DC  |.. .. ..L&......|
00000660: 29 1F C9 11 F0 0A A2 BC  A0 12 20 F9 11 4C 26 12  |)......... ..L&.|
00000670: 20 E7 FF 78 AD A7 02 AE  A8 02 8D 0D DC 8E 1A D0  | ..x............|
00000680: AD A9 02 AE AA 02 8D 11  D0 8E 12 D0 AD AB 02 AE  |................|
00000690: AC 02 8D 14 03 8E 15 03  58 20 81 FF 60 2D 2A 2D  |........X ..`-*-|
000006A0: 20 4D 4F 52 45 20 2D 2A  2D EC 08 A1 EC 20 EC 08  | MORE -*-.... ..|
000006B0: 85 2C 00 60 7F 54 68 69  73 20 69 73 20 50 6F 77  |.,.`.This is Pow|
000006C0: 64 65 72 65 64 20 54 6F  61 73 74 20 4D 61 6E 20  |dered Toast Man |
000006D0: 6F 6E 20 61 6E 20 38 30  2D 63 6F 6C 75 6D 6E 20  |on an 80-column |
000006E0: 73 63 72 65 65 6E 2E 20  20 49 20 63 61 6C 6C 20  |screen.  I call |
000006F0: 69 74 20 0D 0A 46 6C 61  73 68 2D 38 30 20 62 65  |it ..Flash-80 be|
00000700: 63 61 75 73 65 20 49 20  63 61 6E 27 74 20 74 68  |cause I can't th|
00000710: 69 6E 6B 20 75 70 20 61  20 63 72 79 70 74 69 63  |ink up a cryptic|
00000720: 20 61 63 72 6F 6E 79 6D  20 66 6F 72 20 69 74 2E  | acronym for it.|
00000730: 0D 0A 0D 0A E4 20 E4 5F  EB 20 21 2E E4 20 24 5F  |..... ._. !.. $_|
00000740: 20 20 2E E6 20 23 49 20  46 E3 20 27 54 20 48 20  |  .. #I F. 'T H |
00000750: 49 20 53 E3 20 23 49 20  53 E3 20 25 54 20 4F 20  |I S. #I S. %T O |
00000760: 4F E3 20 29 48 20 41 20  52 20 44 0D 0A E3 20 27  |O. )H A R D... '|
00000770: 2F 23 20 2F 5F 5C 5F E9  20 29 7C 5C 5F 7C 2F 5F  |/# /_\_. )|\_|/_|
00000780: 5F 2F 7C E6 20 23 54 20  4F E3 20 29 52 20 45 20  |_/|. #T O. )R E |
00000790: 41 20 44 20 2C E3 20 25  54 20 52 20 59 E3 20 3A  |A D ,. %T R Y. :|
000007A0: 54 20 55 20 52 20 4E 20  49 20 4E 20 47 0D 0A 20  |T U R N I N G.. |
000007B0: 20 7C 20 20 7C 2F 6F 5C  6F 5C E7 20 2B 2F 20 2F  | |  |/o\o\. +/ /|
000007C0: 20 5C 2F 20 5C 20 20 5C  E5 20 25 54 20 48 20 45  | \/ \  \. %T H E|
000007D0: E3 20 31 43 20 4F 20 4E  20 54 20 52 20 41 20 53  |. 1C O N T R A S|
000007E0: 20 54 20 2C E3 20 23 4F  20 52 E3 20 32 55 20 53  | T ,. #O R. 2U S|
000007F0: 20 45 0D 0A 20 20 7C 20  20 5C 5C 5F 2F 5F 2F E6  | E..  |  \\_/_/.|
00000800: 20 2D 2F 5F 5F 7C 4F 7C  7C 4F 7C 5F 5F 20 5C E4  | -/__|O||O|__ \.|
00000810: 20 21 41 E3 20 27 4D 20  4F 20 4E 20 4F E3 20 2D  | !A. 'M O N O. -|
00000820: 4D 20 4F 20 4E 20 49 20  54 20 4F 20 52 E3 20 2E  |M O N I T O R. .|
00000830: 54 20 48 20 41 20 54 0D  0A 20 2F 20 7C 5F E3 20  |T H A T.. / |_. |
00000840: 21 7C E7 20 2F 7C 2F 5F  20 5C 5F 2F 5C 5F 2F 20  |!|. /|/_ \_/\_/ |
00000850: 5F 5C 20 7C E3 20 25 48  20 41 20 53 E3 20 21 41  |_\ |. %H A S. !A|
00000860: E3 20 27 56 20 45 20 52  20 59 E3 20 37 53 20 54  |. 'V E R Y. 7S T|
00000870: 20 41 20 54 20 49 20 43  0D 0A 7C 20 20 7C 7C 5C  | A T I C..|  ||\|
00000880: 5F 20 7E 7C E6 20 25 7C  20 7C 20 28 E4 5F 26 29  |_ ~|. %| | (._&)|
00000890: 20 7C 20 7C 7C E3 20 2F  44 20 49 20 53 20 50 20  | | ||. /D I S P |
000008A0: 4C 20 41 20 59 20 2E E3  20 25 55 20 53 20 45 E3  |L A Y .. %U S E.|
000008B0: 20 2F 46 20 31 20 2D 20  46 20 37 20 0D 0A 7C 20  | /F 1 - F 7 ..| |
000008C0: 20 E3 7C 23 20 5C 2F E7  20 23 5C 2F 5C E3 5F 29  | .|# \/. #\/\._)|
000008D0: 2F 5C 5F 5F 2F 20 20 2F  2F E3 20 23 54 20 4F E3  |/\__/  //. #T O.|
000008E0: 20 2B 43 20 48 20 41 20  4E 20 47 20 45 E3 20 32  | +C H A N G E. 2|
000008F0: 43 20 4F 20 4C 20 4F 20  52 20 53 20 2E 0D 0A 7C  |C O L O R S ...||
00000900: 20 20 E3 7C 21 5F E9 20  23 28 5F 2F E9 20 2C 7C  |  .|!_. #(_/. ,||
00000910: 7C 20 0D 0A 20 5C 2F 2F  20 20 7C EA 20 21 7C EA  || .. \//  |. !|.|
00000920: 20 22 7C 7C E3 20 60 2F  49 66 20 79 6F 75 20 63  | "||. `/If you c|
00000930: 61 6E 20 72 65 61 64 20  74 68 69 73 2C 20 74 68  |an read this, th|
00000940: 65 6E 20 49 20 67 75 65  73 73 20 79 6F 75 0D 0A  |en I guess you..|
00000950: 20 20 7C 7C 20 20 7C EA  20 21 7C EA 20 60 37 7C  |  ||  |. !|. `7||
00000960: 7C 5C 20 20 63 61 72 65  20 68 6F 77 20 69 74 27  ||\  care how it'|
00000970: 73 20 64 6F 6E 65 2E 20  20 53 69 6D 70 6C 79 20  |s done.  Simply |
00000980: 70 75 74 2C 20 79 6F 75  20 61 72 65 0D 0A 20 20  |put, you are..  |
00000990: 7C 7C 5F 20 20 5C EA 20  21 5C E8 20 60 39 2F 2F  |||_  \. !\. `9//|
000009A0: 5F 2F 20 73 65 65 69 6E  67 20 74 77 6F 20 34 30  |_/ seeing two 40|
000009B0: 2D 63 6F 6C 75 6D 6E 20  73 63 72 65 65 6E 73 20  |-column screens |
000009C0: 62 65 69 6E 67 20 69 6E  74 65 72 2D 0D 0A 20 20  |being inter-..  |
000009D0: 5C 5F 7C 20 20 6F 7C EA  20 21 5C E6 5F 22 2F 2F  |\_|  o|. !\._"//|
000009E0: E4 20 60 2D 6C 61 63 65  64 2C 20 6D 75 63 68 20  |. `-laced, much |
000009F0: 6C 69 6B 65 20 61 6E 20  6F 6C 64 20 41 6D 69 67  |like an old Amig|
00000A00: 61 27 73 20 36 34 30 78  34 30 30 0D 0A 20 20 2F  |a's 640x400..  /|
00000A10: 5C E3 5F 21 2F E9 20 60  3D 5F 5F 20 7C 7C 20 5F  |\._!/. `=__ || _|
00000A20: 5F 7C 7C 20 73 63 72 65  65 6E 20 69 73 20 72 65  |_|| screen is re|
00000A30: 61 6C 6C 79 20 61 20 70  61 69 72 20 6F 66 20 69  |ally a pair of i|
00000A40: 6E 74 65 72 6C 61 63 64  20 36 34 30 78 32 30 30  |nterlacd 640x200|
00000A50: 0D 0A 20 2F 20 20 E4 7C  22 5F 5F E6 20 21 28 E4  |.. /  .|"__. !(.|
00000A60: 5F 21 28 E4 5F 60 2E 29  20 73 63 72 65 65 6E 73  |_!(._`.) screens|
00000A70: 2E 20 20 48 6F 6C 64 20  74 68 65 20 53 48 49 46  |.  Hold the SHIF|
00000A80: 54 20 6B 65 79 20 66 6F  72 20 61 20 67 6C 69 6D  |T key for a glim|
00000A90: 70 73 65 0D 0A E4 20 21  28 E3 5F 23 29 5F 29 F1  |pse... !(._#)_).|
00000AA0: 20 61 03 61 74 20 77 68  61 74 27 73 20 52 45 41  | a.at what's REA|
00000AB0: 4C 4C 59 20 68 61 70 70  65 6E 69 6E 67 2E 0D 0A  |LLY happening...|
00000AC0: 0D 0A 50 75 73 68 20 52  45 54 55 52 4E 20 74 6F  |..Push RETURN to|
00000AD0: 20 73 63 72 6F 6C 6C 20  64 6F 77 6E 20 6F 6E 65  | scroll down one|
00000AE0: 20 6C 69 6E 65 2C 20 6F  72 20 53 50 41 43 45 20  | line, or SPACE |
00000AF0: 74 6F 20 73 63 72 6F 6C  6C 20 64 6F 77 6E 20 6F  |to scroll down o|
00000B00: 6E 65 20 73 63 72 65 65  6E 2E 0D 0A 0D 0A 47 72  |ne screen.....Gr|
00000B10: 65 65 74 69 6E 67 73 20  74 6F 20 53 74 79 6C 65  |eetings to Style|
00000B20: 2C 20 63 6F 6F 6C 68 61  6E 64 2C 20 58 6D 69 6B  |, coolhand, Xmik|
00000B30: 65 58 2C 20 54 72 6F 6E  2C 20 74 68 65 20 62 6F  |eX, Tron, the bo|
00000B40: 74 73 2C 20 42 61 6E 7A  61 69 2C 20 0D 0A 42 6C  |ts, Banzai, ..Bl|
00000B50: 6F 62 2C 20 20 61 6E 64  20 67 72 6F 75 70 73 20  |ob,  and groups |
00000B60: 6C 69 6B 65 20 46 34 43  47 2C 20 42 79 74 65 72  |like F4CG, Byter|
00000B70: 61 70 65 72 73 2C 20 61  6E 79 6F 6E 65 20 77 68  |apers, anyone wh|
00000B80: 6F 20 73 74 69 6C 6C 20  0D 0A 70 72 6F 67 72 61  |o still ..progra|
00000B90: 6D 73 20 4E 54 53 43 2C  20 65 74 63 2E 20 65 74  |ms NTSC, etc. et|
00000BA0: 63 2E 20 65 74 63 E3 2E  22 0D 0A E3 2D 6D 0E 0D  |c. etc.."...-m..|
00000BB0: 0A 0D 0A 49 20 6B 6E 6F  77 20 77 68 61 74 20 79  |...I know what y|
00000BC0: 6F 75 27 72 65 20 74 68  69 6E 6B 69 6E 67 2E 20  |ou're thinking. |
00000BD0: 20 22 54 68 69 73 20 69  73 20 68 61 72 64 20 61  | "This is hard a|
00000BE0: 73 20 68 65 6C 6C 20 74  6F 20 72 65 61 64 21 20  |s hell to read! |
00000BF0: 20 54 68 65 72 65 0D 0A  61 72 65 20 6D 69 6C 6C  | There..are mill|
00000C00: 69 6F 6E 73 20 6F 66 20  6F 74 68 65 72 20 38 30  |ions of other 80|
00000C10: 2D 63 6F 6C 75 6D 6E 20  72 6F 75 74 69 6E 65 73  |-column routines|
00000C20: 20 6F 75 74 20 74 68 65  72 65 20 74 68 61 74 20  | out there that |
00000C30: 77 6F 72 6B 20 70 65 72  66 65 63 74 6C 79 20 0D  |work perfectly .|
00000C40: 0A 77 65 6C 6C 21 20 20  57 68 79 20 77 6F 75 6C  |.well!  Why woul|
00000C50: 64 20 61 6E 79 6F 6E 65  20 77 61 6E 74 20 74 6F  |d anyone want to|
00000C60: 20 70 75 74 20 75 70 20  77 69 74 68 20 74 68 69  | put up with thi|
00000C70: 73 3F 22 0D 0A 0D 0A 57  65 6C 6C 2C 20 49 27 6D  |s?"....Well, I'm|
00000C80: 20 67 6C 61 64 20 79 6F  75 20 61 73 6B 65 64 2C  | glad you asked,|
00000C90: 20 62 65 63 61 75 73 65  20 69 66 20 46 6C 61 73  | because if Flas|
00000CA0: 68 2D 38 30 20 64 69 64  20 6E 6F 74 20 68 61 76  |h-80 did not hav|
00000CB0: 65 20 69 74 73 20 61 64  76 61 6E 74 61 67 65 73  |e its advantages|
00000CC0: 2C 0D 0A 69 74 20 77 6F  75 6C 64 20 6E 6F 74 20  |,..it would not |
00000CD0: 68 61 76 65 20 62 65 65  6E 20 64 6F 6E 65 2E 20  |have been done. |
00000CE0: 20 4D 61 6E 79 20 70 65  6F 70 6C 65 20 77 68 6F  | Many people who|
00000CF0: 20 73 65 65 20 74 68 69  73 20 63 61 6E 20 70 72  | see this can pr|
00000D00: 6F 62 61 62 6C 79 0D 0A  74 65 6C 6C 20 72 69 67  |obably..tell rig|
00000D10: 68 74 20 61 77 61 79 20  74 68 65 20 61 64 76 61  |ht away the adva|
00000D20: 6E 74 61 67 65 73 20 6F  66 20 75 73 69 6E 67 20  |ntages of using |
00000D30: 74 68 69 73 20 6B 69 6E  64 20 6F 66 20 38 30 2D  |this kind of 80-|
00000D40: 63 6F 6C 75 6D 6E 20 72  6F 75 74 69 6E 65 2E 0D  |column routine..|
00000D50: 0A 28 53 6B 69 70 20 74  68 72 6F 75 67 68 20 74  |.(Skip through t|
00000D60: 68 69 73 20 69 66 20 79  6F 75 20 6C 69 6B 65 2C  |his if you like,|
00000D70: 20 74 68 65 72 65 27 73  20 73 6F 6D 65 20 6D 6F  | there's some mo|
00000D80: 72 65 20 41 53 43 49 49  20 61 72 74 20 61 74 20  |re ASCII art at |
00000D90: 74 68 65 20 65 6E 64 2E  29 0D 0A 0D 0A 41 73 20  |the end.)....As |
00000DA0: 79 6F 75 20 61 6C 6C 20  6B 6E 6F 77 2C 20 6D 6F  |you all know, mo|
00000DB0: 73 74 20 43 6F 6D 6D 6F  64 6F 72 65 20 36 34 27  |st Commodore 64'|
00000DC0: 73 20 68 61 76 65 20 61  62 6F 75 74 20 36 34 6B  |s have about 64k|
00000DD0: 20 6F 66 20 6D 65 6D 6F  72 79 2C 20 6F 66 20 77  | of memory, of w|
00000DE0: 68 69 63 68 20 0D 0A 61  62 6F 75 74 20 35 37 6B  |hich ..about 57k|
00000DF0: 20 28 77 69 6C 64 20 67  75 65 73 73 29 20 69 73  | (wild guess) is|
00000E00: 20 61 63 74 75 61 6C 6C  79 20 75 73 65 66 75 6C  | actually useful|
00000E10: 20 66 6F 72 20 73 74 6F  72 69 6E 67 20 64 61 74  | for storing dat|
00000E20: 61 2E 20 20 41 73 20 69  74 20 0D 0A 6E 6F 72 6D  |a.  As it ..norm|
00000E30: 61 6C 6C 79 20 67 6F 65  73 20 6F 6E 20 61 20 72  |ally goes on a r|
00000E40: 65 67 75 6C 61 72 20 34  30 2D 63 6F 6C 75 6D 6E  |egular 40-column|
00000E50: 20 70 72 6F 67 72 61 6D  2C 20 31 6B 20 69 73 20  | program, 1k is |
00000E60: 75 73 65 64 20 66 6F 72  20 6D 65 6D 6F 72 79 2C  |used for memory,|
00000E70: 20 61 6E 64 20 0D 0A 74  68 65 20 72 65 73 74 20  | and ..the rest |
00000E80: 69 73 20 75 73 65 64 20  66 6F 72 20 64 61 74 61  |is used for data|
00000E90: 2C 20 77 68 69 6C 65 20  31 6B 20 6F 66 20 74 68  |, while 1k of th|
00000EA0: 65 20 76 69 64 65 6F 20  63 68 69 70 20 69 73 20  |e video chip is |
00000EB0: 73 65 74 20 61 73 69 64  65 20 6A 75 73 74 20 0D  |set aside just .|
00000EC0: 0A 66 6F 72 20 63 6F 6C  6F 75 72 20 6D 65 6D 6F  |.for colour memo|
00000ED0: 72 79 2C 20 61 6E 64 20  74 68 65 20 56 49 43 20  |ry, and the VIC |
00000EE0: 63 68 69 70 20 71 75 69  65 74 6C 79 20 74 61 6B  |chip quietly tak|
00000EF0: 65 73 20 69 74 73 20 63  68 61 72 61 63 74 65 72  |es its character|
00000F00: 20 73 65 74 20 66 72 6F  6D 20 0D 0A 52 4F 4D 20  | set from ..ROM |
00000F10: 77 68 69 63 68 20 69 73  6E 27 74 20 65 76 65 6E  |which isn't even|
00000F20: 20 72 65 61 64 69 6C 79  20 61 76 61 69 6C 61 62  | readily availab|
00000F30: 6C 65 20 74 6F 20 74 68  65 20 36 35 31 30 2C 20  |le to the 6510, |
00000F40: 73 6F 20 79 6F 75 20 64  6F 6E 27 74 20 68 61 76  |so you don't hav|
00000F50: 65 20 74 6F 20 0D 0A 77  6F 72 72 79 20 61 62 6F  |e to ..worry abo|
00000F60: 75 74 20 69 74 2E 20 20  53 6F 20 74 68 65 20 43  |ut it.  So the C|
00000F70: 42 4D 27 73 20 73 74 61  6E 64 61 72 64 20 73 63  |BM's standard sc|
00000F80: 72 65 65 6E 20 65 64 69  74 6F 72 20 75 73 65 73  |reen editor uses|
00000F90: 20 61 20 67 72 61 6E 64  20 74 6F 74 61 6C 20 0D  | a grand total .|
00000FA0: 0A 6F 66 20 31 4B 20 28  32 4B 20 69 66 20 79 6F  |.of 1K (2K if yo|
00000FB0: 75 20 63 6F 75 6E 74 20  74 68 65 20 63 6F 6C 6F  |u count the colo|
00000FC0: 75 72 20 6D 65 6D 6F 72  79 2C 20 77 68 69 63 68  |ur memory, which|
00000FD0: 20 69 73 6E 27 74 20 67  6F 6F 64 20 66 6F 72 20  | isn't good for |
00000FE0: 61 6E 79 74 68 69 6E 67  20 0D 0A 65 6C 73 65 20  |anything ..else |
00000FF0: 61 6E 79 77 61 79 29 2C  20 61 6E 64 20 61 20 66  |anyway), and a f|
00001000: 65 77 20 7A 65 72 6F 2D  70 61 67 65 20 72 65 67  |ew zero-page reg|
00001010: 69 73 74 65 72 73 2E 0D  0A 0D 0A 42 75 74 20 38  |isters.....But 8|
00001020: 30 2D 63 6F 6C 75 6D 6E  20 70 72 6F 67 72 61 6D  |0-column program|
00001030: 73 20 65 61 74 20 75 70  20 72 65 73 6F 75 72 63  |s eat up resourc|
00001040: 65 73 20 6C 69 6B 65 20  6E 6F 62 6F 64 79 27 73  |es like nobody's|
00001050: 20 62 75 73 69 6E 65 73  73 2E 20 20 53 74 6F 72  | business.  Stor|
00001060: 69 6E 67 20 0D 0A 74 68  65 20 66 6F 6E 74 20 63  |ing ..the font c|
00001070: 61 6E 20 74 61 6B 65 20  61 6E 79 77 68 65 72 65  |an take anywhere|
00001080: 20 66 72 6F 6D 20 31 6B  20 74 6F 20 34 6B 20 6F  | from 1k to 4k o|
00001090: 66 20 6D 65 6D 6F 72 79  2E 20 20 54 68 65 20 73  |f memory.  The s|
000010A0: 63 72 65 65 6E 20 69 74  73 65 6C 66 20 0D 0A 69  |creen itself ..i|
000010B0: 73 20 74 68 65 20 62 69  67 20 72 65 73 6F 75 72  |s the big resour|
000010C0: 63 65 20 68 6F 67 2E 20  20 38 6B 20 6F 66 20 6D  |ce hog.  8k of m|
000010D0: 65 6D 6F 72 79 20 6D 75  73 74 20 62 65 20 61 6C  |emory must be al|
000010E0: 6C 6F 63 61 74 65 64 20  74 6F 20 74 68 65 20 68  |located to the h|
000010F0: 69 2D 72 65 73 20 0D 0A  73 63 72 65 65 6E 20 69  |i-res ..screen i|
00001100: 74 73 65 6C 66 2E 20 20  41 6E 64 20 73 69 6E 63  |tself.  And sinc|
00001110: 65 20 69 74 20 69 73 20  61 20 68 69 2D 72 65 73  |e it is a hi-res|
00001120: 20 73 63 72 65 65 6E 2C  20 79 6F 75 20 63 61 6E  | screen, you can|
00001130: 27 74 20 75 73 65 20 74  68 65 20 31 4B 20 6F 66  |'t use the 1K of|
00001140: 20 0D 0A 63 68 69 70 20  63 6F 6C 6F 75 72 20 6D  | ..chip colour m|
00001150: 65 6D 6F 72 79 3B 20 79  6F 75 20 68 61 76 65 20  |emory; you have |
00001160: 74 6F 20 61 6C 6C 6F 63  61 74 65 20 31 6B 20 6F  |to allocate 1k o|
00001170: 66 20 70 72 65 63 69 6F  75 73 20 77 6F 72 6B 73  |f precious works|
00001180: 70 61 63 65 20 74 6F 20  0D 0A 63 6F 6C 6F 75 72  |pace to ..colour|
00001190: 20 73 74 6F 72 61 67 65  20 77 68 69 6C 65 20 74  | storage while t|
000011A0: 68 61 74 20 63 68 69 70  20 6D 65 6D 6F 72 79 20  |hat chip memory |
000011B0: 67 6F 65 73 20 74 6F 20  77 61 73 74 65 2E 20 20  |goes to waste.  |
000011C0: 53 6F 20 6E 6F 77 20 77  65 27 72 65 20 75 73 69  |So now we're usi|
000011D0: 6E 67 20 0D 0A 61 62 6F  75 74 20 31 30 6B 20 6F  |ng ..about 10k o|
000011E0: 66 20 6D 65 6D 6F 72 79  20 28 6F 76 65 72 20 31  |f memory (over 1|
000011F0: 35 25 20 6F 66 20 79 6F  75 72 20 43 6F 6D 6D 6F  |5% of your Commo|
00001200: 64 6F 72 65 27 73 20 74  6F 74 61 6C 20 73 74 6F  |dore's total sto|
00001210: 72 61 67 65 29 20 6F 72  20 74 68 65 20 0D 0A 73  |rage) or the ..s|
00001220: 63 72 65 65 6E 2E 20 20  54 68 69 73 20 73 70 65  |creen.  This spe|
00001230: 6C 6C 73 20 74 72 6F 75  62 6C 65 20 66 6F 72 20  |lls trouble for |
00001240: 74 65 78 74 20 65 64 69  74 6F 72 73 2C 20 6F 72  |text editors, or|
00001250: 20 61 6E 79 20 70 72 6F  67 72 61 6D 20 77 68 69  | any program whi|
00001260: 63 68 20 0D 0A 6D 69 67  68 74 20 6C 69 6B 65 20  |ch ..might like |
00001270: 74 6F 20 68 61 76 65 20  73 6F 6D 65 20 62 72 65  |to have some bre|
00001280: 61 74 68 69 6E 67 20 72  6F 6F 6D 2E 0D 0A 0D 0A  |athing room.....|
00001290: 41 6E 6F 74 68 65 72 20  63 6F 6E 73 69 64 65 72  |Another consider|
000012A0: 61 74 69 6F 6E 20 69 73  20 73 70 65 65 64 2E 20  |ation is speed. |
000012B0: 20 54 6F 20 64 72 61 77  20 61 20 63 68 61 72 61  | To draw a chara|
000012C0: 63 74 65 72 20 6F 6E 20  61 6E 20 38 30 2D 63 6F  |cter on an 80-co|
000012D0: 6C 75 6D 6E 20 0D 0A 73  63 72 65 65 6E 2C 20 61  |lumn ..screen, a|
000012E0: 66 74 65 72 20 63 61 6C  63 75 6C 61 74 69 6E 67  |fter calculating|
000012F0: 20 69 74 73 20 70 6F 73  69 74 69 6F 6E 2C 20 79  | its position, y|
00001300: 6F 75 20 68 61 76 65 20  74 6F 20 66 65 74 63 68  |ou have to fetch|
00001310: 20 61 6E 64 20 70 6C 6F  74 20 65 69 67 68 74 20  | and plot eight |
00001320: 0D 0A 6E 79 62 62 6C 65  73 20 66 72 6F 6D 20 79  |..nybbles from y|
00001330: 6F 75 72 20 66 6F 6E 74  20 6F 6E 74 6F 20 74 68  |our font onto th|
00001340: 65 20 73 63 72 65 65 6E  2E 20 20 45 49 47 48 54  |e screen.  EIGHT|
00001350: 2E 20 20 41 73 20 69 66  20 74 68 69 73 2C 20 69  |.  As if this, i|
00001360: 6E 20 69 74 73 65 6C 66  2C 20 0D 0A 77 65 72 65  |n itself, ..were|
00001370: 6E 27 74 20 61 20 68 61  73 73 6C 65 2C 20 74 68  |n't a hassle, th|
00001380: 65 72 65 20 69 73 20 6F  66 74 65 6E 20 77 6F 72  |ere is often wor|
00001390: 6B 20 69 6E 76 6F 6C 76  69 6E 67 20 62 69 74 20  |k involving bit |
000013A0: 73 68 69 66 74 69 6E 67  20 61 6E 64 20 0D 0A 6D  |shifting and ..m|
000013B0: 75 6C 74 69 70 6C 65 20  73 77 65 65 70 73 20 6F  |ultiple sweeps o|
000013C0: 66 20 42 6F 6F 6C 65 61  6E 20 6D 61 74 68 20 6F  |f Boolean math o|
000013D0: 6E 20 65 76 65 72 79 20  62 79 74 65 2E 20 20 54  |n every byte.  T|
000013E0: 68 69 73 20 73 70 65 6C  6C 73 20 74 72 6F 75 62  |his spells troub|
000013F0: 6C 65 20 66 6F 72 20 0D  0A 68 69 67 68 2D 73 70  |le for ..high-sp|
00001400: 65 65 64 20 74 65 72 6D  69 6E 61 6C 20 70 72 6F  |eed terminal pro|
00001410: 67 72 61 6D 73 20 6C 69  6B 65 20 4E 6F 76 61 74  |grams like Novat|
00001420: 65 72 6D 2E 0D 0A 0D 0A  57 68 61 74 20 6D 61 6B  |erm.....What mak|
00001430: 65 73 20 46 6C 61 73 68  2D 38 30 20 70 72 65 66  |es Flash-80 pref|
00001440: 65 72 61 62 6C 65 20 69  73 20 74 68 61 74 20 69  |erable is that i|
00001450: 74 20 74 61 6B 65 73 20  75 70 2C 20 70 72 6F 62  |t takes up, prob|
00001460: 61 62 6C 79 2C 20 61 20  4D 41 58 49 4D 55 4D 20  |ably, a MAXIMUM |
00001470: 0D 0A 6F 66 20 36 6B 2C  20 69 66 20 79 6F 75 20  |..of 6k, if you |
00001480: 77 61 6E 74 65 64 20 74  6F 20 68 61 76 65 20 73  |wanted to have s|
00001490: 65 70 61 72 61 74 65 20  75 70 70 65 72 63 61 73  |eparate uppercas|
000014A0: 65 20 61 6E 64 20 6C 6F  77 65 72 63 61 73 65 20  |e and lowercase |
000014B0: 66 6F 6E 74 73 2E 20 20  49 66 20 0D 0A 79 6F 75  |fonts.  If ..you|
000014C0: 20 75 73 65 20 6F 6E 6C  79 20 6F 6E 65 20 66 6F  | use only one fo|
000014D0: 6E 74 2C 20 69 74 20 77  69 6C 6C 20 6F 6E 6C 79  |nt, it will only|
000014E0: 20 74 61 6B 65 20 34 6B  20 6F 66 20 75 73 61 62  | take 4k of usab|
000014F0: 6C 65 20 6D 65 6D 6F 72  79 21 20 20 41 6E 64 20  |le memory!  And |
00001500: 69 6E 20 0D 0A 74 68 69  73 20 64 65 6D 6F 2C 20  |in ..this demo, |
00001510: 73 69 6E 63 65 20 49 20  64 69 64 6E 27 74 20 75  |since I didn't u|
00001520: 73 65 20 61 6E 79 20 72  65 76 65 72 73 65 20 63  |se any reverse c|
00001530: 68 61 72 61 63 74 65 72  73 2C 20 49 27 6D 20 75  |haracters, I'm u|
00001540: 73 69 6E 67 20 6F 6E 6C  79 20 33 6B 20 0D 0A 6F  |sing only 3k ..o|
00001550: 66 20 6D 65 6D 6F 72 79  21 0D 0A 0D 0A 49 74 27  |f memory!....It'|
00001560: 73 20 66 61 73 74 65 72  2C 20 74 6F 6F 2E 20 20  |s faster, too.  |
00001570: 49 6E 73 74 65 61 64 20  6F 66 20 68 61 76 69 6E  |Instead of havin|
00001580: 67 20 74 6F 20 6D 75 63  6B 20 61 72 6F 75 6E 64  |g to muck around|
00001590: 20 77 69 74 68 20 62 69  74 20 73 68 69 66 74 69  | with bit shifti|
000015A0: 6E 67 20 6F 72 20 0D 0A  69 6E 74 65 6E 73 65 20  |ng or ..intense |
000015B0: 42 6F 6F 6C 65 61 6E 20  6D 61 74 68 2C 20 49 20  |Boolean math, I |
000015C0: 6A 75 73 74 20 66 69 6E  64 20 61 20 73 70 6F 74  |just find a spot|
000015D0: 20 6F 6E 20 74 68 65 20  73 63 72 65 65 6E 20 61  | on the screen a|
000015E0: 6E 64 20 50 4F 4B 45 20  74 6F 20 69 74 2C 20 0D  |nd POKE to it, .|
000015F0: 0A 61 6C 6D 6F 73 74 20  6C 69 6B 65 20 61 20 6E  |.almost like a n|
00001600: 6F 72 6D 61 6C 20 73 63  72 65 65 6E 2E 20 20 54  |ormal screen.  T|
00001610: 68 65 20 64 69 66 66 65  72 65 6E 63 65 20 69 73  |he difference is|
00001620: 2C 20 69 74 27 73 20 72  65 61 6C 6C 79 20 74 77  |, it's really tw|
00001630: 6F 20 0D 0A 73 63 72 65  65 6E 73 2C 20 62 75 74  |o ..screens, but|
00001640: 20 74 68 61 74 27 73 20  70 72 65 74 74 79 20 65  | that's pretty e|
00001650: 61 73 79 20 74 6F 20 63  6F 6D 70 65 6E 73 61 74  |asy to compensat|
00001660: 65 20 66 6F 72 2E 20 20  41 73 20 6F 6E 65 20 63  |e for.  As one c|
00001670: 61 6E 20 65 61 73 69 6C  79 20 0D 0A 74 65 6C 6C  |an easily ..tell|
00001680: 2C 20 49 20 68 61 76 65  20 74 6F 20 73 74 6F 72  |, I have to stor|
00001690: 65 20 74 68 65 20 6F 64  64 2D 63 6F 6C 75 6D 6E  |e the odd-column|
000016A0: 65 64 20 63 68 61 72 61  63 74 65 72 73 20 6F 6E  |ed characters on|
000016B0: 20 6F 6E 65 20 73 63 72  65 65 6E 2C 20 61 6E 64  | one screen, and|
000016C0: 20 74 68 65 20 0D 0A 65  76 65 6E 2D 6E 75 6D 62  | the ..even-numb|
000016D0: 65 72 65 64 20 63 68 61  72 61 63 74 65 72 73 20  |ered characters |
000016E0: 6F 6E 20 74 68 65 20 6F  74 68 65 72 2C 20 62 75  |on the other, bu|
000016F0: 74 20 74 68 65 20 63 61  6C 63 75 6C 61 74 69 6F  |t the calculatio|
00001700: 6E 20 66 6F 72 20 74 68  61 74 20 69 73 20 0D 0A  |n for that is ..|
00001710: 6A 75 73 74 20 61 20 66  65 77 20 69 6E 73 74 72  |just a few instr|
00001720: 75 63 74 69 6F 6E 73 2E  20 20 53 63 72 6F 6C 6C  |uctions.  Scroll|
00001730: 69 6E 67 20 61 6E 64 20  63 6C 65 61 72 69 6E 67  |ing and clearing|
00001740: 20 69 73 20 61 6C 73 6F  20 66 61 73 74 65 72 2C  | is also faster,|
00001750: 20 73 69 6E 63 65 20 0D  0A 74 68 65 20 6D 61 63  | since ..the mac|
00001760: 68 69 6E 65 20 6F 6E 6C  79 20 68 61 73 20 74 6F  |hine only has to|
00001770: 20 6D 6F 76 65 20 6F 72  20 63 6C 65 61 72 20 32  | move or clear 2|
00001780: 6B 20 6F 66 20 6D 65 6D  6F 72 79 20 69 6E 73 74  |k of memory inst|
00001790: 65 61 64 20 6F 66 20 38  6B 2E 0D 0A 0D 0A 42 65  |ead of 8k.....Be|
000017A0: 20 77 61 72 6E 65 64 2C  20 69 74 20 69 73 20 69  | warned, it is i|
000017B0: 6E 74 65 72 72 75 70 74  2D 64 72 69 76 65 6E 2E  |nterrupt-driven.|
000017C0: 20 20 54 68 65 20 69 6E  74 65 72 72 75 70 74 20  |  The interrupt |
000017D0: 69 73 20 61 20 76 65 72  79 20 66 61 73 74 20 6F  |is a very fast o|
000017E0: 6E 65 2C 20 0D 0A 62 75  74 20 69 74 20 6D 75 73  |ne, ..but it mus|
000017F0: 74 20 62 65 20 73 65 74  20 61 74 20 61 20 72 61  |t be set at a ra|
00001800: 73 74 65 72 2D 6C 69 6E  65 2E 20 20 49 74 20 68  |ster-line.  It h|
00001810: 61 73 20 74 6F 20 65 78  65 63 75 74 65 20 65 78  |as to execute ex|
00001820: 61 63 74 6C 79 20 36 30  20 74 69 6D 65 73 20 0D  |actly 60 times .|
00001830: 0A 70 65 72 20 73 65 63  6F 6E 64 20 74 6F 20 72  |.per second to r|
00001840: 65 6D 61 69 6E 20 63 6F  6E 73 69 73 74 65 6E 74  |emain consistent|
00001850: 2C 20 74 68 6F 75 67 68  20 6F 6E 65 20 63 6F 75  |, though one cou|
00001860: 6C 64 20 74 72 79 20 69  74 20 77 69 74 68 20 74  |ld try it with t|
00001870: 68 65 20 6E 6F 72 6D 61  6C 0D 0A 49 52 51 20 73  |he normal..IRQ s|
00001880: 79 73 74 65 6D 2E 0D 0A  0D 0A 48 65 72 65 20 69  |ystem.....Here i|
00001890: 73 20 61 20 6D 65 6D 6F  72 79 20 6D 61 70 20 6F  |s a memory map o|
000018A0: 66 20 77 68 61 74 20 49  20 64 69 64 20 66 6F 72  |f what I did for|
000018B0: 20 74 68 69 73 20 62 65  61 73 74 69 65 E3 2E 24  | this beastie..$|
000018C0: 0D 0A 0D 0A E8 20 29 30  34 30 30 2D 30 38 30 30  |..... )0400-0800|
000018D0: E3 20 60 2C 53 63 72 65  65 6E 20 31 20 6D 65 6D  |. `,Screen 1 mem|
000018E0: 6F 72 79 20 20 41 20 43  20 45 20 47 20 49 20 4B  |ory  A C E G I K|
000018F0: 20 4D 20 4F 20 51 20 53  20 55 20 57 20 59 0D 0A  | M O Q S U W Y..|
00001900: E8 20 29 30 38 30 31 2D  30 38 78 78 E3 20 60 21  |. )0801-08xx. `!|
00001910: 42 41 53 49 43 20 70 72  6F 67 72 61 6D 2D 73 74  |BASIC program-st|
00001920: 61 72 74 65 72 20 28 53  59 53 32 30 36 33 29 0D  |arter (SYS2063).|
00001930: 0A E8 20 29 30 39 30 30  2D 30 63 30 30 E3 20 60  |.. )0900-0c00. `|
00001940: 21 34 78 38 20 38 30 2D  63 6F 6C 75 6D 6E 20 66  |!4x8 80-column f|
00001950: 6F 6E 74 20 28 37 36 38  20 62 79 74 65 73 21 29  |ont (768 bytes!)|
00001960: 0D 0A E8 20 26 30 63 30  30 2D 31 E3 30 E3 20 2F  |... &0c00-1.0. /|
00001970: 53 63 72 65 65 6E 20 32  20 6D 65 6D 6F 72 79 E3  |Screen 2 memory.|
00001980: 20 64 33 42 20 44 20 46  20 48 20 4A 20 4C 20 4E  | d3B D F H J L N|
00001990: 20 50 20 52 20 54 20 56  20 58 20 5A 0D 0A 0D 0A  | P R T V X Z....|
000019A0: 28 57 41 52 4E 49 4E 47  3A 20 54 68 69 73 20 69  |(WARNING: This i|
000019B0: 73 20 61 20 76 65 72 79  20 62 6F 72 69 6E 67 20  |s a very boring |
000019C0: 70 61 72 61 67 72 61 70  68 29 20 0D 0A 49 20 63  |paragraph) ..I c|
000019D0: 6F 75 6C 64 20 68 61 76  65 20 6D 61 64 65 20 61  |ould have made a|
000019E0: 20 6D 6F 72 65 20 65 78  74 65 6E 73 69 76 65 20  | more extensive |
000019F0: 66 6F 6E 74 2C 20 77 69  74 68 20 72 65 76 65 72  |font, with rever|
00001A00: 73 65 20 63 68 61 72 61  63 74 65 72 73 20 61 6E  |se characters an|
00001A10: 64 20 43 42 4D 20 0D 0A  67 72 61 70 68 69 63 73  |d CBM ..graphics|
00001A20: 20 62 75 74 20 49 20 64  65 63 69 64 65 64 20 74  | but I decided t|
00001A30: 6F 20 67 6F 20 61 6E 6F  74 68 65 72 20 77 61 79  |o go another way|
00001A40: 2E 20 20 49 20 6F 6E 6C  79 20 6D 61 70 70 65 64  |.  I only mapped|
00001A50: 20 74 68 65 20 6C 6F 77  20 41 53 43 49 49 20 0D  | the low ASCII .|
00001A60: 0A 63 68 61 72 61 63 74  65 72 20 73 65 74 2C 20  |.character set, |
00001A70: 39 36 20 63 68 61 72 61  63 74 65 72 73 20 74 6F  |96 characters to|
00001A80: 74 61 6C 2C 20 61 6E 64  20 6D 61 70 70 65 64 20  |tal, and mapped |
00001A90: 74 68 65 6D 20 61 63 63  6F 72 64 69 6E 67 20 74  |them according t|
00001AA0: 6F 20 74 68 65 69 72 20  0D 0A 61 63 74 75 61 6C  |o their ..actual|
00001AB0: 20 41 53 43 49 49 20 76  61 6C 75 65 73 20 73 6F  | ASCII values so|
00001AC0: 20 49 20 64 69 64 6E 27  74 20 68 61 76 65 20 74  | I didn't have t|
00001AD0: 6F 20 64 6F 20 61 6E 79  20 62 69 74 2D 73 68 75  |o do any bit-shu|
00001AE0: 66 66 6C 69 6E 67 2E 20  28 42 6F 74 68 20 74 68  |ffling. (Both th|
00001AF0: 65 20 0D 0A 41 74 61 72  69 20 61 6E 64 20 43 6F  |e ..Atari and Co|
00001B00: 6D 6D 6F 64 6F 72 65 20  38 2D 62 69 74 73 20 68  |mmodore 8-bits h|
00001B10: 61 76 65 20 64 69 66 66  65 72 65 6E 74 20 41 53  |ave different AS|
00001B20: 43 49 49 20 63 6F 64 65  73 20 74 68 61 6E 20 73  |CII codes than s|
00001B30: 63 72 65 65 6E 20 0D 0A  63 6F 64 65 73 21 20 20  |creen ..codes!  |
00001B40: 57 68 79 20 69 73 20 74  68 61 74 3F 21 29 20 20  |Why is that?!)  |
00001B50: 44 6F 69 6E 67 20 74 68  69 73 20 74 68 65 20 77  |Doing this the w|
00001B60: 61 79 20 49 20 64 69 64  2C 20 49 20 61 63 68 69  |ay I did, I achi|
00001B70: 65 76 65 64 20 73 65 76  65 72 61 6C 20 0D 0A 74  |eved several ..t|
00001B80: 68 69 6E 67 73 3A 20 66  69 72 73 74 2C 20 6D 79  |hings: first, my|
00001B90: 20 64 69 73 70 6C 61 79  20 64 72 69 76 65 72 20  | display driver |
00001BA0: 77 61 73 20 73 69 6D 70  6C 69 66 69 65 64 20 61  |was simplified a|
00001BB0: 20 62 69 74 3B 20 61 6C  73 6F 2C 20 49 20 77 61  | bit; also, I wa|
00001BC0: 73 20 61 62 6C 65 20 0D  0A 74 6F 20 65 64 69 74  |s able ..to edit|
00001BD0: 20 74 68 69 73 20 74 65  78 74 20 66 69 6C 65 20  | this text file |
00001BE0: 75 73 69 6E 67 20 6D 79  20 33 38 36 2E 20 20 41  |using my 386.  A|
00001BF0: 6E 64 20 61 73 20 61 6E  20 61 64 64 65 64 20 62  |nd as an added b|
00001C00: 6F 6E 75 73 20 74 6F 20  74 68 65 73 65 20 0D 0A  |onus to these ..|
00001C10: 6C 69 74 74 6C 65 20 63  6F 6E 76 65 6E 69 65 6E  |little convenien|
00001C20: 63 65 73 2C 20 74 68 65  20 66 6F 6E 74 20 74 61  |ces, the font ta|
00001C30: 6B 65 73 20 75 70 20 37  36 38 20 62 79 74 65 73  |kes up 768 bytes|
00001C40: 20 74 6F 74 61 6C 2C 20  6F 75 74 20 6F 66 20 74  | total, out of t|
00001C50: 68 65 20 32 30 34 38 20  0D 0A 6D 61 64 65 20 61  |he 2048 ..made a|
00001C60: 76 61 69 6C 61 62 6C 65  20 74 6F 20 6D 65 2E 20  |vailable to me. |
00001C70: 20 49 20 77 61 73 20 61  62 6C 65 20 74 6F 20 73  | I was able to s|
00001C80: 74 6F 72 65 20 6D 79 20  66 6F 6E 74 20 69 6E 20  |tore my font in |
00001C90: 30 39 30 30 2D 30 62 66  66 2C 20 6C 65 61 76 69  |0900-0bff, leavi|
00001CA0: 6E 67 20 0D 0A 30 38 30  30 2D 30 39 30 30 20 61  |ng ..0800-0900 a|
00001CB0: 76 61 69 6C 61 62 6C 65  20 66 6F 72 20 42 41 53  |vailable for BAS|
00001CC0: 49 43 20 61 6E 64 2F 6F  72 20 6F 74 68 65 72 20  |IC and/or other |
00001CD0: 64 61 74 61 2C 20 61 6E  64 20 70 75 74 20 74 68  |data, and put th|
00001CE0: 65 20 73 65 63 6F 6E 64  20 0D 0A 73 63 72 65 65  |e second ..scree|
00001CF0: 6E 20 61 74 20 30 63 30  30 20 77 68 65 72 65 20  |n at 0c00 where |
00001D00: 74 68 65 20 72 65 76 65  72 72 73 65 20 63 68 61  |the reverrse cha|
00001D10: 72 61 63 74 65 72 73 20  77 6F 75 6C 64 20 6E 6F  |racters would no|
00001D20: 72 6D 61 6C 6C 79 20 62  65 2E 20 20 54 68 69 73  |rmally be.  This|
00001D30: 20 0D 0A 6C 65 61 76 65  73 20 68 75 67 65 20 61  | ..leaves huge a|
00001D40: 6D 6F 75 6E 74 73 20 6F  66 20 63 6F 6E 74 69 67  |mounts of contig|
00001D50: 75 6F 75 73 20 6D 65 6D  6F 72 79 20 66 6F 72 20  |uous memory for |
00001D60: 6D 65 20 74 6F 20 65 6E  6A 6F 79 2E 20 20 49 20  |me to enjoy.  I |
00001D70: 63 6F 75 6C 64 20 68 61  76 65 20 0D 0A 70 75 74  |could have ..put|
00001D80: 20 72 65 76 65 72 73 65  20 63 68 61 72 61 63 74  | reverse charact|
00001D90: 65 72 73 20 61 74 20 30  63 30 30 20 61 6E 64 20  |ers at 0c00 and |
00001DA0: 6D 6F 76 65 64 20 53 63  72 65 65 6E 20 32 20 75  |moved Screen 2 u|
00001DB0: 70 20 74 6F 20 31 E3 30  6E 35 2C 20 62 75 74 20  |p to 1.0n5, but |
00001DC0: 49 20 0D 0A 77 61 73 6E  27 74 20 67 6F 69 6E 67  |I ..wasn't going|
00001DD0: 20 74 6F 20 75 73 65 20  74 68 65 6D 2C 20 73 6F  | to use them, so|
00001DE0: 20 77 68 79 20 62 6F 74  68 65 72 3F 0D 0A 0D 0A  | why bother?....|
00001DF0: 4F 6B 61 79 2C 20 74 68  61 74 20 70 61 72 61 67  |Okay, that parag|
00001E00: 72 61 70 68 20 69 73 20  6F 76 65 72 2E 20 20 4E  |raph is over.  N|
00001E10: 6F 77 20 77 65 20 6E 65  65 64 20 74 6F 20 63 6F  |ow we need to co|
00001E20: 6E 73 69 64 65 72 20 6F  75 72 20 6F 70 74 69 6F  |nsider our optio|
00001E30: 6E 73 3A 20 20 0D 0A 57  68 61 74 20 63 6F 75 6C  |ns:  ..What coul|
00001E40: 64 20 77 65 20 64 6F 20  74 6F 2C 20 6F 72 20 77  |d we do to, or w|
00001E50: 69 74 68 2C 20 74 68 69  73 20 72 6F 75 74 69 6E  |ith, this routin|
00001E60: 65 3F 0D 0A 0D 0A 46 6C  61 73 68 2D 38 30 20 68  |e?....Flash-80 h|
00001E70: 61 73 20 61 6C 72 65 61  64 79 20 62 65 65 6E 20  |as already been |
00001E80: 64 6F 6E 65 20 6F 6E 20  74 68 65 20 41 74 61 72  |done on the Atar|
00001E90: 69 20 38 2D 62 69 74 20  77 69 74 68 20 43 6C 61  |i 8-bit with Cla|
00001EA0: 79 20 48 61 6C 69 77 65  6C 6C 27 73 20 0D 0A 46  |y Haliwell's ..F|
00001EB0: 6C 69 63 6B 65 72 54 65  72 6D 2D 38 30 2E 20 20  |lickerTerm-80.  |
00001EC0: 48 65 20 63 61 6D 65 20  75 70 20 77 69 74 68 20  |He came up with |
00001ED0: 74 68 65 20 69 64 65 61  20 73 6F 6D 65 74 69 6D  |the idea sometim|
00001EE0: 65 20 62 65 66 6F 72 65  20 49 20 64 69 64 2C 20  |e before I did, |
00001EF0: 62 75 74 20 0D 0A 64 69  64 6E 27 74 20 74 65 6C  |but ..didn't tel|
00001F00: 6C 20 61 6E 79 6F 6E 65  20 61 73 69 64 65 20 66  |l anyone aside f|
00001F10: 72 6F 6D 20 61 20 6D 79  73 74 65 72 69 6F 75 73  |rom a mysterious|
00001F20: 20 6D 65 73 73 61 67 65  20 69 6E 20 61 20 6C 6F  | message in a lo|
00001F30: 63 61 6C 20 41 74 61 72  69 20 0D 0A 62 6F 61 72  |cal Atari ..boar|
00001F40: 64 20 73 61 79 69 6E 67  20 68 65 20 68 61 64 20  |d saying he had |
00001F50: 61 6E 20 69 64 65 61 20  66 6F 72 20 61 6E 20 38  |an idea for an 8|
00001F60: 30 2D 63 6F 6C 75 6D 6E  20 64 72 69 76 65 72 20  |0-column driver |
00001F70: 74 68 61 74 20 77 61 73  20 61 73 20 66 61 73 74  |that was as fast|
00001F80: 20 61 73 20 0D 0A 74 68  65 20 41 74 61 72 69 27  | as ..the Atari'|
00001F90: 73 20 34 30 2D 63 6F 6C  75 6D 6E 20 64 72 69 76  |s 40-column driv|
00001FA0: 65 72 2C 20 65 76 65 6E  20 77 68 65 6E 20 63 6C  |er, even when cl|
00001FB0: 65 61 72 69 6E 67 20 61  6E 64 20 73 63 72 6F 6C  |earing and scrol|
00001FC0: 6C 69 6E 67 2E 20 20 49  20 0D 0A 74 68 6F 75 67  |ling.  I ..thoug|
00001FD0: 68 74 20 68 65 20 77 61  73 20 67 6F 69 6E 67 20  |ht he was going |
00001FE0: 74 6F 20 64 6F 20 73 6F  6D 65 20 74 72 69 63 6B  |to do some trick|
00001FF0: 73 20 77 69 74 68 20 64  69 73 70 6C 61 79 20 6C  |s with display l|
00002000: 69 73 74 73 20 28 61 6E  20 41 74 61 72 69 20 0D  |ists (an Atari .|
00002010: 0A 66 65 61 74 75 72 65  20 49 20 77 6F 6E 27 74  |.feature I won't|
00002020: 20 67 6F 20 69 6E 74 6F  29 20 61 6E 64 20 6C 65  | go into) and le|
00002030: 66 74 20 6D 79 20 74 68  6F 75 67 68 74 73 2E 20  |ft my thoughts. |
00002040: 20 41 20 77 68 69 6C 65  20 6C 61 74 65 72 20 77  | A while later w|
00002050: 68 65 6E 20 49 20 77 61  73 20 0D 0A 74 68 69 6E  |hen I was ..thin|
00002060: 6B 69 6E 67 20 61 6E 64  20 63 61 6D 65 20 75 70  |king and came up|
00002070: 20 77 69 74 68 20 46 6C  61 73 68 2D 38 30 2C 20  | with Flash-80, |
00002080: 49 20 6C 65 66 74 20 43  6C 61 79 20 73 6F 6D 65  |I left Clay some|
00002090: 20 6D 61 69 6C 20 61 73  6B 69 6E 67 20 69 66 20  | mail asking if |
000020A0: 74 68 69 73 20 0D 0A 77  61 73 20 68 69 73 20 62  |this ..was his b|
000020B0: 72 69 6C 6C 69 61 6E 74  20 6E 65 77 20 38 30 2D  |rilliant new 80-|
000020C0: 63 6F 6C 75 6D 6E 20 64  72 69 76 65 72 27 73 20  |column driver's |
000020D0: 6D 61 69 6E 20 69 64 65  61 2E 20 20 48 65 20 73  |main idea.  He s|
000020E0: 61 69 64 20 69 74 20 77  61 73 2C 20 61 6E 64 20  |aid it was, and |
000020F0: 0D 0A 68 65 20 77 61 73  20 61 63 74 75 61 6C 6C  |..he was actuall|
00002100: 79 20 6F 6E 6C 79 20 61  20 66 65 77 20 77 65 65  |y only a few wee|
00002110: 6B 73 20 61 77 61 79 20  66 72 6F 6D 20 72 65 6C  |ks away from rel|
00002120: 65 61 73 69 6E 67 20 46  6C 69 63 6B 65 72 54 65  |easing FlickerTe|
00002130: 72 6D 2E 20 20 49 20 77  61 73 20 0D 0A 72 65 6C  |rm.  I was ..rel|
00002140: 69 65 76 65 64 20 74 68  61 74 20 74 68 65 20 69  |ieved that the i|
00002150: 64 65 61 20 77 61 73 6E  27 74 20 72 65 61 65 6C  |dea wasn't reael|
00002160: 6C 79 20 6D 69 6E 65 2C  20 73 69 6E 63 65 20 49  |ly mine, since I|
00002170: 20 77 6F 75 6C 64 20 6E  65 76 65 72 20 62 65 20  | would never be |
00002180: 61 62 6C 65 20 0D 0A 74  6F 20 67 65 74 20 61 6E  |able ..to get an|
00002190: 79 6F 6E 65 20 74 6F 20  70 72 6F 67 72 61 6D 20  |yone to program |
000021A0: 73 6F 6D 65 74 68 69 6E  67 20 75 73 65 66 75 6C  |something useful|
000021B0: 20 77 69 74 68 20 46 6C  61 73 68 2D 38 30 2C 20  | with Flash-80, |
000021C0: 61 6E 64 20 48 61 6C 69  77 65 6C 6C 20 0D 0A 63  |and Haliwell ..c|
000021D0: 6F 75 6C 64 20 61 63 74  75 61 6C 6C 79 20 70 72  |ould actually pr|
000021E0: 6F 67 72 61 6D 20 77 65  6C 6C 20 65 6E 6F 75 67  |ogram well enoug|
000021F0: 68 20 74 6F 20 77 72 69  74 65 20 61 20 74 65 72  |h to write a ter|
00002200: 6D 69 6E 61 6C 20 70 72  6F 67 72 61 6D 20 77 69  |minal program wi|
00002210: 74 68 20 69 74 2E 20 20  0D 0A 46 6C 69 63 6B 65  |th it.  ..Flicke|
00002220: 72 74 65 72 6D 2D 38 30  20 69 73 20 6F 6E 65 20  |rterm-80 is one |
00002230: 6F 66 20 74 68 65 20 6D  6F 72 65 20 70 6F 70 75  |of the more popu|
00002240: 6C 61 72 20 56 54 2D 31  30 30 20 65 6D 75 6C 61  |lar VT-100 emula|
00002250: 74 69 6F 6E 73 20 61 76  61 69 6C 61 62 6C 65 20  |tions available |
00002260: 0D 0A 66 6F 72 20 74 68  65 20 41 74 61 72 69 2C  |..for the Atari,|
00002270: 20 61 6E 64 20 69 73 20  61 6C 73 6F 20 6C 65 73  | and is also les|
00002280: 73 20 62 75 67 67 79 20  74 68 61 6E 20 6D 6F 73  |s buggy than mos|
00002290: 74 20 69 6D 70 6C 65 6D  65 6E 74 61 74 69 6F 6E  |t implementation|
000022A0: 73 20 73 6F 20 66 61 72  20 0D 0A 28 73 69 6E 63  |s so far ..(sinc|
000022B0: 65 20 48 61 6C 69 77 65  6C 6C 20 68 61 64 20 74  |e Haliwell had t|
000022C0: 68 65 20 64 72 69 76 65  20 74 6F 20 61 63 74 75  |he drive to actu|
000022D0: 61 6C 6C 79 20 70 72 6F  67 72 61 6D 20 62 65 79  |ally program bey|
000022E0: 6F 6E 64 20 74 68 65 20  66 69 72 73 74 20 0D 0A  |ond the first ..|
000022F0: 76 65 72 73 69 6F 6E 21  29 0D 0A 0D 0A 54 68 65  |version!)....The|
00002300: 20 66 61 63 74 20 74 68  61 74 20 74 68 69 73 20  | fact that this |
00002310: 68 61 73 20 62 65 65 6E  20 64 6F 6E 65 20 66 6F  |has been done fo|
00002320: 72 20 71 75 69 74 65 20  73 6F 6D 65 20 74 69 6D  |r quite some tim|
00002330: 65 20 6F 6E 20 61 6E 6F  74 68 65 72 20 70 6C 61  |e on another pla|
00002340: 74 66 6F 72 6D 20 0D 0A  73 75 67 67 65 73 74 73  |tform ..suggests|
00002350: 20 74 68 61 74 20 61 6E  79 20 70 6C 61 74 66 6F  | that any platfo|
00002360: 72 6D 20 77 69 74 68 20  72 61 73 74 65 72 20 6F  |rm with raster o|
00002370: 72 20 76 65 72 74 69 63  61 6C 20 62 6C 61 6E 6B  |r vertical blank|
00002380: 20 69 6E 74 65 72 72 75  70 74 73 20 0D 0A 63 6F  | interrupts ..co|
00002390: 75 6C 64 20 69 6D 70 6C  65 6D 65 6E 74 20 74 68  |uld implement th|
000023A0: 69 73 20 6D 6F 64 65 2E  20 20 56 69 63 2D 32 30  |is mode.  Vic-20|
000023B0: 20 6D 61 63 68 69 6E 65  73 20 63 6F 75 6C 64 20  | machines could |
000023C0: 6D 61 6E 75 66 61 63 74  75 72 65 20 46 6C 61 73  |manufacture Flas|
000023D0: 68 2D 34 30 20 0D 0A 6F  75 74 20 6F 66 20 74 68  |h-40 ..out of th|
000023E0: 69 73 2C 20 77 68 69 63  68 20 69 73 20 76 65 72  |is, which is ver|
000023F0: 79 20 66 6F 72 74 75 6E  61 74 65 20 64 75 65 20  |y fortunate due |
00002400: 74 6F 20 69 74 73 20 63  72 61 6D 70 65 64 20 6D  |to its cramped m|
00002410: 65 6D 6F 72 79 20 63 6F  6E 64 69 74 69 6F 6E 73  |emory conditions|
00002420: 2E 0D 0A 0D 0A 46 69 72  73 74 20 6F 66 20 61 6C  |.....First of al|
00002430: 6C 2C 20 74 68 65 20 70  6F 73 73 69 62 69 6C 69  |l, the possibili|
00002440: 74 79 20 6F 66 20 72 65  76 65 72 73 65 20 63 68  |ty of reverse ch|
00002450: 61 72 61 63 74 65 72 73  20 69 73 20 72 65 61 6C  |aracters is real|
00002460: 2E 20 20 4A 75 73 74 20  6D 61 70 20 0D 0A 74 68  |.  Just map ..th|
00002470: 65 20 63 68 61 72 61 63  74 65 72 73 20 6C 69 6B  |e characters lik|
00002480: 65 20 79 6F 75 20 6E 6F  72 6D 61 6C 6C 79 20 77  |e you normally w|
00002490: 6F 75 6C 64 2C 20 6A 75  73 74 20 75 73 65 20 74  |ould, just use t|
000024A0: 68 65 20 66 69 72 73 74  20 34 20 62 69 74 73 2E  |he first 4 bits.|
000024B0: 20 20 0D 0A 52 65 76 65  72 73 65 20 63 68 61 72  |  ..Reverse char|
000024C0: 61 63 74 65 72 73 20 77  69 6C 6C 20 6E 6F 74 20  |acters will not |
000024D0: 62 65 20 70 6F 73 73 69  62 6C 65 20 6F 6E 20 73  |be possible on s|
000024E0: 79 73 74 65 6D 73 20 77  69 74 68 20 31 32 38 2D  |ystems with 128-|
000024F0: 63 68 61 72 61 63 74 65  72 20 0D 0A 66 6F 6E 74  |character ..font|
00002500: 73 20 6C 69 6B 65 20 74  68 65 20 41 74 61 72 69  |s like the Atari|
00002510: 20 38 2D 62 69 74 2C 20  62 65 63 61 75 73 65 20  | 8-bit, because |
00002520: 61 20 68 61 72 64 77 61  72 65 20 72 65 76 65 72  |a hardware rever|
00002530: 73 65 20 63 68 61 72 61  63 74 65 72 20 77 69 6C  |se character wil|
00002540: 6C 20 0D 0A 68 61 6E 67  20 6F 76 65 72 20 74 68  |l ..hang over th|
00002550: 65 20 6E 65 78 74 20 63  68 61 72 61 63 74 65 72  |e next character|
00002560: 2E 0D 0A 0D 0A 43 6F 6C  6F 72 20 69 73 20 70 6F  |.....Color is po|
00002570: 73 73 69 62 6C 65 2C 20  62 75 74 20 69 74 20 64  |ssible, but it d|
00002580: 6F 65 73 6E 27 74 20 6C  6F 6F 6B 20 76 65 72 79  |oesn't look very|
00002590: 20 67 6F 6F 64 20 75 6E  6C 65 73 73 20 79 6F 75  | good unless you|
000025A0: 0D 0A 73 74 69 63 6B 20  74 6F 20 67 72 61 79 73  |..stick to grays|
000025B0: 63 61 6C 65 20 63 6F 6C  6F 72 73 2E 20 20 41 6C  |cale colors.  Al|
000025C0: 73 6F 2C 20 73 69 6E 63  65 20 74 68 65 20 43 36  |so, since the C6|
000025D0: 34 20 63 61 6E 6E 6F 74  20 66 6C 69 70 0D 0A 62  |4 cannot flip..b|
000025E0: 65 74 77 65 65 6E 20 63  6F 6C 6F 72 20 70 61 67  |etween color pag|
000025F0: 65 73 20 61 73 20 69 74  20 63 61 6E 20 77 69 74  |es as it can wit|
00002600: 68 20 73 63 72 65 65 6E  20 70 61 67 65 73 2C 20  |h screen pages, |
00002610: 63 6F 6C 6F 72 0D 0A 72  65 73 6F 6C 75 74 69 6F  |color..resolutio|
00002620: 6E 20 77 69 6C 6C 20 62  65 20 74 68 65 20 73 61  |n will be the sa|
00002630: 6D 65 20 61 73 20 4E 6F  76 61 74 65 72 6D 27 73  |me as Novaterm's|
00002640: 20 28 65 76 65 6E 2D 6E  75 6D 62 65 72 65 64 0D  | (even-numbered.|
00002650: 0A 63 6F 6C 75 6D 6E 73  20 6D 75 73 74 20 62 65  |.columns must be|
00002660: 20 74 68 65 20 73 61 6D  65 20 63 6F 6C 6F 72 20  | the same color |
00002670: 61 73 20 74 68 65 69 72  20 6F 64 64 2D 6E 75 6D  |as their odd-num|
00002680: 62 65 72 65 64 0D 0A 6E  65 69 67 68 62 6F 72 29  |bered..neighbor)|
00002690: 2E 20 20 54 68 65 6F 72  65 74 69 63 61 6C 6C 79  |.  Theoretically|
000026A0: 2C 20 6F 6E 65 20 63 6F  75 6C 64 20 6B 65 65 70  |, one could keep|
000026B0: 20 74 77 6F 20 63 6F 6C  6F 72 20 70 61 67 65 73  | two color pages|
000026C0: 0D 0A 69 6E 20 63 6F 6E  76 65 6E 74 69 6F 6E 61  |..in conventiona|
000026D0: 6C 20 6D 65 6D 6F 72 79  20 61 6E 64 20 63 6F 70  |l memory and cop|
000026E0: 79 20 65 61 63 68 20 6F  6E 65 20 74 6F 20 63 6F  |y each one to co|
000026F0: 6C 6F 72 20 6D 65 6D 6F  72 79 0D 0A 6F 6E 20 65  |lor memory..on e|
00002700: 76 65 72 79 20 66 72 61  6D 65 2C 20 62 75 74 20  |very frame, but |
00002710: 77 68 6F 20 77 6F 75 6C  64 20 77 61 6E 74 20 74  |who would want t|
00002720: 6F 3F 20 20 28 54 68 69  73 20 77 6F 75 6C 64 20  |o?  (This would |
00002730: 62 65 0D 0A 75 6E 6E 65  63 65 73 73 61 72 79 20  |be..unnecessary |
00002740: 6F 6E 20 74 68 65 20 56  49 43 2D 32 30 2C 20 77  |on the VIC-20, w|
00002750: 68 69 63 68 20 43 41 4E  20 66 6C 69 70 20 63 6F  |hich CAN flip co|
00002760: 6C 6F 72 20 70 61 67 65  73 2C 0D 0A 6F 72 20 73  |lor pages,..or s|
00002770: 6F 20 49 27 76 65 20 68  65 61 72 64 2E 29 0D 0A  |o I've heard.)..|
00002780: 0D 0A 41 70 70 6C 69 63  61 74 69 6F 6E 73 20 6F  |..Applications o|
00002790: 66 20 46 6C 61 73 68 2D  38 30 20 61 72 65 20 69  |f Flash-80 are i|
000027A0: 6E 6E 75 6D 65 72 61 62  6C 65 2E 20 20 28 49 20  |nnumerable.  (I |
000027B0: 74 68 69 6E 6B 20 74 68  61 74 27 73 0D 0A 61 20  |think that's..a |
000027C0: 77 6F 72 64 3F 29 20 20  49 74 20 68 61 73 20 61  |word?)  It has a|
000027D0: 6C 72 65 61 64 79 20 62  65 65 6E 20 69 6D 70 6C  |lready been impl|
000027E0: 65 6D 65 6E 74 65 64 20  69 6E 20 46 6C 69 63 6B  |emented in Flick|
000027F0: 65 72 74 65 72 6D 2C 0D  0A 61 73 20 49 20 68 61  |erterm,..as I ha|
00002800: 76 65 20 6D 65 6E 74 69  6F 6E 65 64 2E 20 20 54  |ve mentioned.  T|
00002810: 68 65 20 6C 6F 77 20 6D  65 6D 6F 72 79 20 75 73  |he low memory us|
00002820: 61 67 65 20 6D 61 6B 65  73 20 69 74 20 70 65 72  |age makes it per|
00002830: 66 65 63 74 0D 0A 66 6F  72 20 75 73 65 20 69 6E  |fect..for use in|
00002840: 20 74 65 78 74 20 65 64  69 74 6F 72 73 2C 20 73  | text editors, s|
00002850: 70 72 65 61 64 73 68 65  65 74 73 2C 20 6F 72 20  |preadsheets, or |
00002860: 64 61 74 61 62 61 73 65  73 2E 20 20 4F 6E 65 20  |databases.  One |
00002870: 63 6F 75 6C 64 0D 0A 70  75 74 20 62 6F 74 68 20  |could..put both |
00002880: 50 45 54 53 43 49 49 20  73 65 74 73 20 69 6E 20  |PETSCII sets in |
00002890: 61 6E 64 20 72 65 70 6C  61 63 65 20 74 68 65 20  |and replace the |
000028A0: 73 63 72 65 65 6E 20 65  64 69 74 6F 72 20 77 69  |screen editor wi|
000028B0: 74 68 20 69 74 2C 0D 0A  61 6C 6C 6F 77 69 6E 67  |th it,..allowing|
000028C0: 20 6F 6E 65 20 74 6F 20  70 72 6F 67 72 61 6D 20  | one to program |
000028D0: 69 6E 20 42 41 53 49 43  20 69 6E 20 38 30 20 63  |in BASIC in 80 c|
000028E0: 6F 6C 75 6D 6E 73 2C 20  6E 6F 74 20 75 6E 6C 69  |olumns, not unli|
000028F0: 6B 65 0D 0A 43 6F 6D 70  75 74 65 21 27 73 20 53  |ke..Compute!'s S|
00002900: 63 72 65 65 6E 2D 38 30  20 70 72 6F 67 72 61 6D  |creen-80 program|
00002910: 2E 20 20 49 74 20 77 6F  75 6C 64 20 62 65 20 65  |.  It would be e|
00002920: 76 65 6E 20 6D 6F 72 65  20 75 73 65 66 75 6C 0D  |ven more useful.|
00002930: 0A 61 73 20 61 20 43 52  54 20 64 65 76 69 63 65  |.as a CRT device|
00002940: 20 66 6F 72 20 6F 74 68  65 72 20 70 72 6F 67 72  | for other progr|
00002950: 61 6D 6D 69 6E 67 20 6C  61 6E 67 75 61 67 65 73  |amming languages|
00002960: 2E 20 20 57 6F 75 6C 64  6E 27 74 0D 0A 43 20 70  |.  Wouldn't..C p|
00002970: 72 6F 67 72 61 6D 73 20  62 65 20 65 61 73 69 65  |rograms be easie|
00002980: 72 20 74 6F 20 70 6F 72  74 20 74 6F 20 61 6E 20  |r to port to an |
00002990: 38 30 20 63 6F 6C 75 6D  6E 20 73 63 72 65 65 6E  |80 column screen|
000029A0: 3F 0D 0A 0D 0A 49 27 6D  20 6C 65 61 76 69 6E 67  |?....I'm leaving|
000029B0: 20 61 6C 6C 20 6F 66 20  74 68 69 73 20 75 70 20  | all of this up |
000029C0: 74 6F 20 74 68 65 20 6F  74 68 65 72 20 70 72 6F  |to the other pro|
000029D0: 67 72 61 6D 6D 65 72 73  2E 20 20 49 66 20 0D 0A  |grammers.  If ..|
000029E0: 61 6E 79 6F 6E 65 20 6F  75 74 20 74 68 65 72 65  |anyone out there|
000029F0: 20 69 73 20 67 6F 6F 64  20 65 6E 6F 75 67 68 20  | is good enough |
00002A00: 74 6F 20 70 72 6F 67 72  61 6D 20 61 6E 20 61 70  |to program an ap|
00002A10: 70 6C 69 63 61 74 69 6F  6E 2C 0D 0A 69 74 20 73  |plication,..it s|
00002A20: 68 6F 75 6C 64 20 62 65  20 74 72 69 76 69 61 6C  |hould be trivial|
00002A30: 20 74 6F 20 74 68 72 6F  77 20 74 6F 67 65 74 68  | to throw togeth|
00002A40: 65 72 20 61 20 6C 69 74  74 6C 65 20 66 6F 6E 74  |er a little font|
00002A50: 2C 20 70 75 74 0D 0A 61  20 74 69 6E 79 20 69 6E  |, put..a tiny in|
00002A60: 74 65 72 72 75 70 74 20  69 6E 20 74 68 65 69 72  |terrupt in their|
00002A70: 20 70 72 6F 67 72 61 6D  2C 20 61 6E 64 20 70 72  | program, and pr|
00002A80: 6F 67 72 61 6D 20 74 68  65 69 72 20 73 63 72 65  |ogram their scre|
00002A90: 65 6E 0D 0A 66 75 6E 63  74 69 6F 6E 73 20 66 6F  |en..functions fo|
00002AA0: 72 20 74 68 65 20 6E 65  77 20 73 63 72 65 65 6E  |r the new screen|
00002AB0: 2E 20 20 4F 6E 65 20 73  68 6F 75 6C 64 20 61 6C  |.  One should al|
00002AC0: 73 6F 20 70 75 74 20 69  6E 20 0D 0A 70 72 6F 76  |so put in ..prov|
00002AD0: 69 73 69 6F 6E 73 20 74  6F 20 63 68 61 6E 67 65  |isions to change|
00002AE0: 20 74 68 65 20 73 63 72  65 65 6E 20 63 6F 6C 6F  | the screen colo|
00002AF0: 72 73 2C 20 61 73 20 49  20 64 69 64 2C 20 62 75  |rs, as I did, bu|
00002B00: 74 20 70 6F 73 73 69 62  6C 79 20 0D 0A 77 69 74  |t possibly ..wit|
00002B10: 68 20 6D 6F 72 65 20 74  68 6F 75 67 68 74 2C 20  |h more thought, |
00002B20: 73 75 63 68 20 61 73 20  6F 6E 6C 79 20 63 79 63  |such as only cyc|
00002B30: 6C 69 6E 67 20 74 68 72  6F 75 67 68 20 67 72 61  |ling through gra|
00002B40: 79 20 73 63 61 6C 65 73  2E 0D 0A 0D 0A 49 20 77  |y scales.....I w|
00002B50: 61 73 20 67 6F 69 6E 67  20 74 6F 20 69 6E 63 6C  |as going to incl|
00002B60: 75 64 65 20 73 6F 6D 65  20 41 53 43 49 49 20 61  |ude some ASCII a|
00002B70: 72 74 20 68 65 72 65 2C  20 62 75 74 20 49 20 64  |rt here, but I d|
00002B80: 6F 6E 27 74 0D 0A 63 61  72 65 20 74 6F 20 73 65  |on't..care to se|
00002B90: 65 20 68 6F 77 20 69 74  20 6C 6F 6F 6B 73 20 61  |e how it looks a|
00002BA0: 74 20 74 68 69 73 20 74  69 6D 65 2E 0D 0A 0D 0A  |t this time.....|
00002BB0: 49 6E 20 63 6F 6E 63 6C  75 73 69 6F 6E 2C 20 72  |In conclusion, r|
00002BC0: 69 70 20 74 68 69 73 20  72 6F 75 74 69 6E 65 20  |ip this routine |
00002BD0: 61 6E 64 20 75 73 65 20  74 68 65 20 68 65 6C 6C  |and use the hell|
00002BE0: 20 6F 75 74 20 6F 66 20  69 74 21 0D 0A 0D 0A E3  | out of it!.....|
00002BF0: 2E 24 77 72 61 70 E3 2E  28 0D 0A 0D 0A 0D 0A 0D  |.$wrap..(.......|
00002C00: 0A 80 45 C7 00 20                                 |..E..           |
....N..2064 ><...X.4.....B..-.J... .F2N,
..1...HP..2I.P..H....HP.L....4U.4./****)
........./).. ".L...C.YX;?)./P..0`./ "..
-.-P...JP..E......P../.-./P..0.-P...JP..
. Q../ "..-.-P...JP.F9..0..9./.L". Q../.
-./P..0.-P...JP.F9..L..,Z..7..X ..L.....
...,...../.-HD.P...-E..-..I... .JP.../E.
./.0I..0L........HP.N..N.....I.P.`;...K.
.4096 POWDERERED TOAST...!..G..@."@.. ./
``.`.``. P.`..@.2.. @...@ @.. P.@@..". .
@% ...@. "@..%.`.`..%@@.@@.#@@..!.."@@.1
  @@...`..P..`.@..@`...`.. @...`..`..`..
0P...........`. @....`...  .@/.`..`..`.`
..P. .@..@!@."  .*  @. @.@ ..#....9.@ . 
@..`.. @.@.`.....`.`...............`...%
.`.. ../ ................).`.....`...!..
."...@"....+.`.. ... ....#.......*..PP..
...`..&`.......".`..4`0...... ..`..`..`.
..@..."`....`.....$.....`#.....!`.@*... 
@....`.@!`.(..@@  .`. &`.``...$.@@ .-`.P
.P... P....!P..)P...P...P.*`...`. P@..@.
)P..P.......$.@...@$.. .. !...& . ....@!
..% ..P..!....!`..!`.&.......&P..P..."..
...-P.`...@@.@@P ...!P..."``.%......%..`
.....#P ..-. @....  @  ...@@@+..@@ @@.. 
P.(.@ ........`.L..L..L..LF.LW....V.S.Q.
...P...R........ P.!P ..X............P.
......P..P...)..P..P.......P...........
..W........XL...H....).P=..PI...P)..*2I.
..P..PI...P)..V..*A]I9..P.H...SI........
.P..PH.H(N.PL1.......'P..X..Y..Z....P.`.
..Q.V.S...R. .........................P.
.#......LF..H.... 4..... 4..). ......JP.
H.LE....... (.. ...........P...).I.P.`..
.S.V......V.QI(...R.QH...` ..LE..S..J.SL
E.)...H...:I ..I..BI...I..VLE..R.S.J..H
.I...HEQ..............S..P...SH...`I.P..
..I.P.N..I.P.. P.!PI.P.N PN!PLF... . ..L
.........B7.- .....P....L.........B`.IG.
.I... .....P....L..` ...VI.P... . .. ..I
....).I.P.. J.LB.. P. ..L&..I...).I.....
 . ..L&. ..X...........P........P..P....
........X ..`-*- MORE -*-.... ...,.`THI
S IS POWDERED TOAST MAN ON AN 80-COLUMN 
SCREEN.  I CALL IT ..FLASH-80 BECAUSE I 
CAN'T THINK UP A CRYPTIC ACRONYM FOR IT.
..... ._. !.. $_  .. #I F. 'T H I S. #I 
S. %T O O. )H A R D... '/# /_\_. )|\_|/_
_/|. #T O. )R E A D ,. %T R Y. :T U R N 
I N G..  |  |/O\O\. +/ / \/ \  \. %T H E
. 1C O N T R A S T ,. #O R. 2U S E..  | 
 \\_/_/. -/__|O||O|__ \. !A. 'M O N O. -
M O N I T O R. .T H A T.. / |_. !|. /|/_
 \_/\_/ _\ |. %H A S. !A. 'V E R Y. 7S T
 A T I C..|  ||\_ ~|. %| | (._&) | ||. /
D I S P L A Y .. %U S E. /F 1 - F 7 ..| 
 .|# \/. #\/\._)/\__/  //. #T O. +C H A 
N G E. 2C O L O R S ...|  .|!_. #(_/. ,|
| .. \//  |. !|. "||. `/IF YOU CAN READ 
THIS, THEN I GUESS YOU..  ||  |. !|. `7|
|\  CARE HOW IT'S DONE.  SIMPLY PUT, YOU
 ARE..  ||_  \. !\. `9//_/ SEEING TWO 40
-COLUMN SCREENS BEING INTER-..  \_|  O|.
 !\._"//. `-LACED, MUCH LIKE AN OLD AMIG
A'S 640X400..  /\._!/. `=__ || __|| SCRE
EN IS REALLY A PAIR OF INTERLACD 640X200
.. /  .|"__. !(._!(._`.) SCREENS.  HOLD 
THE SHIFT KEY FOR A GLIMPSE... !(._#)_).
 A.AT WHAT'S REALLY HAPPENING.....PUSH R
ETURN TO SCROLL DOWN ONE LINE, OR SPACE 
TO SCROLL DOWN ONE SCREEN.....GREETINGS 
TO STYLE, COOLHAND, XMIKEX, TRON, THE BO
TS, BANZAI, ..BLOB,  AND GROUPS LIKE F4C
G, BYTERAPERS, ANYONE WHO STILL ..PROGRA
MS NTSC, ETC. ETC. ETC.."...-M.....I KNO
W WHAT YOU'RE THINKING.  "THIS IS HARD A
S HELL TO READ!  THERE..ARE MILLIONS OF 
OTHER 80-COLUMN ROUTINES OUT THERE THAT 
WORK PERFECTLY ..WELL!  WHY WOULD ANYONE
 WANT TO PUT UP WITH THIS?"....WELL, I'M
 GLAD YOU ASKED, BECAUSE IF FLASH-80 DID
 NOT HAVE ITS ADVANTAGES,..IT WOULD NOT 
HAVE BEEN DONE.  MANY PEOPLE WHO SEE THI
S CAN PROBABLY..TELL RIGHT AWAY THE ADVA
NTAGES OF USING THIS KIND OF 80-COLUMN R
OUTINE...(SKIP THROUGH THIS IF YOU LIKE,
 THERE'S SOME MORE ASCII ART AT THE END.
)....AS YOU ALL KNOW, MOST COMMODORE 64'
S HAVE ABOUT 64K OF MEMORY, OF WHICH ..A
BOUT 57K (WILD GUESS) IS ACTUALLY USEFUL
 FOR STORING DATA.  AS IT ..NORMALLY GOE
S ON A REGULAR 40-COLUMN PROGRAM, 1K IS 
USED FOR MEMORY, AND ..THE REST IS USED 
FOR DATA, WHILE 1K OF THE VIDEO CHIP IS 
SET ASIDE JUST ..FOR COLOUR MEMORY, AND 
THE VIC CHIP QUIETLY TAKES ITS CHARACTER
 SET FROM ..ROM WHICH ISN'T EVEN READILY
 AVAILABLE TO THE 6510, SO YOU DON'T HAV
E TO ..WORRY ABOUT IT.  SO THE CBM'S STA
NDARD SCREEN EDITOR USES A GRAND TOTAL .
.OF 1K (2K IF YOU COUNT THE COLOUR MEMOR
Y, WHICH ISN'T GOOD FOR ANYTHING ..ELSE 
ANYWAY), AND A FEW ZERO-PAGE REGISTERS..
...BUT 80-COLUMN PROGRAMS EAT UP RESOURC
ES LIKE NOBODY'S BUSINESS.  STORING ..TH
E FONT CAN TAKE ANYWHERE FROM 1K TO 4K O
F MEMORY.  THE SCREEN ITSELF ..IS THE BI
G RESOURCE HOG.  8K OF MEMORY MUST BE AL
LOCATED TO THE HI-RES ..SCREEN ITSELF.  
AND SINCE IT IS A HI-RES SCREEN, YOU CAN
'T USE THE 1K OF ..CHIP COLOUR MEMORY; Y
OU HAVE TO ALLOCATE 1K OF PRECIOUS WORKS
PACE TO ..COLOUR STORAGE WHILE THAT CHIP
 MEMORY GOES TO WASTE.  SO NOW WE'RE USI
NG ..ABOUT 10K OF MEMORY (OVER 15% OF YO
UR COMMODORE'S TOTAL STORAGE) OR THE ..S
CREEN.  THIS SPELLS TROUBLE FOR TEXT EDI
TORS, OR ANY PROGRAM WHICH ..MIGHT LIKE 
TO HAVE SOME BREATHING ROOM.....ANOTHER 
CONSIDERATION IS SPEED.  TO DRAW A CHARA
CTER ON AN 80-COLUMN ..SCREEN, AFTER CAL
CULATING ITS POSITION, YOU HAVE TO FETCH
 AND PLOT EIGHT ..NYBBLES FROM YOUR FONT
 ONTO THE SCREEN.  EIGHT.  AS IF THIS, I
N ITSELF, ..WEREN'T A HASSLE, THERE IS O
FTEN WORK INVOLVING BIT SHIFTING AND ..M
ULTIPLE SWEEPS OF BOOLEAN MATH ON EVERY 
BYTE.  THIS SPELLS TROUBLE FOR ..HIGH-SP
EED TERMINAL PROGRAMS LIKE NOVATERM.....
WHAT MAKES FLASH-80 PREFERABLE IS THAT I
T TAKES UP, PROBABLY, A MAXIMUM ..OF 6K,
 IF YOU WANTED TO HAVE SEPARATE UPPERCAS
E AND LOWERCASE FONTS.  IF ..YOU USE ONL
Y ONE FONT, IT WILL ONLY TAKE 4K OF USAB
LE MEMORY!  AND IN ..THIS DEMO, SINCE I 
DIDN'T USE ANY REVERSE CHARACTERS, I'M U
SING ONLY 3K ..OF MEMORY!....IT'S FASTER
, TOO.  INSTEAD OF HAVING TO MUCK AROUND
 WITH BIT SHIFTING OR ..INTENSE BOOLEAN 
MATH, I JUST FIND A SPOT ON THE SCREEN A
ND POKE TO IT, ..ALMOST LIKE A NORMAL SC
REEN.  THE DIFFERENCE IS, IT'S REALLY TW
O ..SCREENS, BUT THAT'S PRETTY EASY TO C
OMPENSATE FOR.  AS ONE CAN EASILY ..TELL
, I HAVE TO STORE THE ODD-COLUMNED CHARA
CTERS ON ONE SCREEN, AND THE ..EVEN-NUMB
ERED CHARACTERS ON THE OTHER, BUT THE CA
LCULATION FOR THAT IS ..JUST A FEW INSTR
UCTIONS.  SCROLLING AND CLEARING IS ALSO
 FASTER, SINCE ..THE MACHINE ONLY HAS TO
 MOVE OR CLEAR 2K OF MEMORY INSTEAD OF 8
K.....BE WARNED, IT IS INTERRUPT-DRIVEN.
  THE INTERRUPT IS A VERY FAST ONE, ..BU
T IT MUST BE SET AT A RASTER-LINE.  IT H
AS TO EXECUTE EXACTLY 60 TIMES ..PER SEC
OND TO REMAIN CONSISTENT, THOUGH ONE COU
LD TRY IT WITH THE NORMAL..IRQ SYSTEM...
..HERE IS A MEMORY MAP OF WHAT I DID FOR
 THIS BEASTIE..$..... )0400-0800. `,SCRE
EN 1 MEMORY  A C E G I K M O Q S U W Y..
. )0801-08XX. `!BASIC PROGRAM-STARTER (S
YS2063)... )0900-0C00. `!4X8 80-COLUMN F
ONT (768 BYTES!)... &0C00-1.0. /SCREEN 2
 MEMORY. D3B D F H J L N P R T V X Z....
(WARNING: THIS IS A VERY BORING PARAGRAP
H) ..I COULD HAVE MADE A MORE EXTENSIVE 
FONT, WITH REVERSE CHARACTERS AND CBM ..
GRAPHICS BUT I DECIDED TO GO ANOTHER WAY
.  I ONLY MAPPED THE LOW ASCII ..CHARACT
ER SET, 96 CHARACTERS TOTAL, AND MAPPED 
THEM ACCORDING TO THEIR ..ACTUAL ASCII V
ALUES SO I DIDN'T HAVE TO DO ANY BIT-SHU
FFLING. (BOTH THE ..ATARI AND COMMODORE 
8-BITS HAVE DIFFERENT ASCII CODES THAN S
CREEN ..CODES!  WHY IS THAT?!)  DOING TH
IS THE WAY I DID, I ACHIEVED SEVERAL ..T
HINGS: FIRST, MY DISPLAY DRIVER WAS SIMP
LIFIED A BIT; ALSO, I WAS ABLE ..TO EDIT
 THIS TEXT FILE USING MY 386.  AND AS AN
 ADDED BONUS TO THESE ..LITTLE CONVENIEN
CES, THE FONT TAKES UP 768 BYTES TOTAL, 
OUT OF THE 2048 ..MADE AVAILABLE TO ME. 
 I WAS ABLE TO STORE MY FONT IN 0900-0BF
F, LEAVING ..0800-0900 AVAILABLE FOR BAS
IC AND/OR OTHER DATA, AND PUT THE SECOND
 ..SCREEN AT 0C00 WHERE THE REVERRSE CHA
RACTERS WOULD NORMALLY BE.  THIS ..LEAVE
S HUGE AMOUNTS OF CONTIGUOUS MEMORY FOR 
ME TO ENJOY.  I COULD HAVE ..PUT REVERSE
 CHARACTERS AT 0C00 AND MOVED SCREEN 2 U
P TO 1.0N5, BUT I ..WASN'T GOING TO USE 
THEM, SO WHY BOTHER?....OKAY, THAT PARAG
RAPH IS OVER.  NOW WE NEED TO CONSIDER O
UR OPTIONS:  ..WHAT COULD WE DO TO, OR W
ITH, THIS ROUTINE?....FLASH-80 HAS ALREA
DY BEEN DONE ON THE ATARI 8-BIT WITH CLA
Y HALIWELL'S ..FLICKERTERM-80.  HE CAME 
UP WITH THE IDEA SOMETIME BEFORE I DID, 
BUT ..DIDN'T TELL ANYONE ASIDE FROM A MY
STERIOUS MESSAGE IN A LOCAL ATARI ..BOAR
D SAYING HE HAD AN IDEA FOR AN 80-COLUMN
 DRIVER THAT WAS AS FAST AS ..THE ATARI'
S 40-COLUMN DRIVER, EVEN WHEN CLEARING A
ND SCROLLING.  I ..THOUGHT HE WAS GOING 
TO DO SOME TRICKS WITH DISPLAY LISTS (AN
 ATARI ..FEATURE I WON'T GO INTO) AND LE
FT MY THOUGHTS.  A WHILE LATER WHEN I WA
S ..THINKING AND CAME UP WITH FLASH-80, 
I LEFT CLAY SOME MAIL ASKING IF THIS ..W
AS HIS BRILLIANT NEW 80-COLUMN DRIVER'S 
MAIN IDEA.  HE SAID IT WAS, AND ..HE WAS
 ACTUALLY ONLY A FEW WEEKS AWAY FROM REL
EASING FLICKERTERM.  I WAS ..RELIEVED TH
AT THE IDEA WASN'T REAELLY MINE, SINCE I
 WOULD NEVER BE ABLE ..TO GET ANYONE TO 
PROGRAM SOMETHING USEFUL WITH FLASH-80, 
AND HALIWELL ..COULD ACTUALLY PROGRAM WE
LL ENOUGH TO WRITE A TERMINAL PROGRAM WI
TH IT.  ..FLICKERTERM-80 IS ONE OF THE M
ORE POPULAR VT-100 EMULATIONS AVAILABLE 
..FOR THE ATARI, AND IS ALSO LESS BUGGY 
THAN MOST IMPLEMENTATIONS SO FAR ..(SINC
E HALIWELL HAD THE DRIVE TO ACTUALLY PRO
GRAM BEYOND THE FIRST ..VERSION!)....THE
 FACT THAT THIS HAS BEEN DONE FOR QUITE 
SOME TIME ON ANOTHER PLATFORM ..SUGGESTS
 THAT ANY PLATFORM WITH RASTER OR VERTIC
AL BLANK INTERRUPTS ..COULD IMPLEMENT TH
IS MODE.  VIC-20 MACHINES COULD MANUFACT
URE FLASH-40 ..OUT OF THIS, WHICH IS VER
Y FORTUNATE DUE TO ITS CRAMPED MEMORY CO
NDITIONS.....FIRST OF ALL, THE POSSIBILI
TY OF REVERSE CHARACTERS IS REAL.  JUST 
MAP ..THE CHARACTERS LIKE YOU NORMALLY W
OULD, JUST USE THE FIRST 4 BITS.  ..REVE
RSE CHARACTERS WILL NOT BE POSSIBLE ON S
YSTEMS WITH 128-CHARACTER ..FONTS LIKE T
HE ATARI 8-BIT, BECAUSE A HARDWARE REVER
SE CHARACTER WILL ..HANG OVER THE NEXT C
HARACTER.....COLOR IS POSSIBLE, BUT IT D
OESN'T LOOK VERY GOOD UNLESS YOU..STICK 
TO GRAYSCALE COLORS.  ALSO, SINCE THE C6
4 CANNOT FLIP..BETWEEN COLOR PAGES AS IT
 CAN WITH SCREEN PAGES, COLOR..RESOLUTIO
N WILL BE THE SAME AS NOVATERM'S (EVEN-N
UMBERED..COLUMNS MUST BE THE SAME COLOR 
AS THEIR ODD-NUMBERED..NEIGHBOR).  THEOR
ETICALLY, ONE COULD KEEP TWO COLOR PAGES
..IN CONVENTIONAL MEMORY AND COPY EACH O
NE TO COLOR MEMORY..ON EVERY FRAME, BUT 
WHO WOULD WANT TO?  (THIS WOULD BE..UNNE
CESSARY ON THE VIC-20, WHICH CAN FLIP CO
LOR PAGES,..OR SO I'VE HEARD.)....APPLIC
ATIONS OF FLASH-80 ARE INNUMERABLE.  (I 
THINK THAT'S..A WORD?)  IT HAS ALREADY B
EEN IMPLEMENTED IN FLICKERTERM,..AS I HA
VE MENTIONED.  THE LOW MEMORY USAGE MAKE
S IT PERFECT..FOR USE IN TEXT EDITORS, S
PREADSHEETS, OR DATABASES.  ONE COULD..P
UT BOTH PETSCII SETS IN AND REPLACE THE 
SCREEN EDITOR WITH IT,..ALLOWING ONE TO 
PROGRAM IN BASIC IN 80 COLUMNS, NOT UNLI
KE..COMPUTE!'S SCREEN-80 PROGRAM.  IT WO
ULD BE EVEN MORE USEFUL..AS A CRT DEVICE
 FOR OTHER PROGRAMMING LANGUAGES.  WOULD
N'T..C PROGRAMS BE EASIER TO PORT TO AN 
80 COLUMN SCREEN?....I'M LEAVING ALL OF 
THIS UP TO THE OTHER PROGRAMMERS.  IF ..
ANYONE OUT THERE IS GOOD ENOUGH TO PROGR
AM AN APPLICATION,..IT SHOULD BE TRIVIAL
 TO THROW TOGETHER A LITTLE FONT, PUT..A
 TINY INTERRUPT IN THEIR PROGRAM, AND PR
OGRAM THEIR SCREEN..FUNCTIONS FOR THE NE
W SCREEN.  ONE SHOULD ALSO PUT IN ..PROV
ISIONS TO CHANGE THE SCREEN COLORS, AS I
 DID, BUT POSSIBLY ..WITH MORE THOUGHT, 
SUCH AS ONLY CYCLING THROUGH GRAY SCALES
.....I WAS GOING TO INCLUDE SOME ASCII A
RT HERE, BUT I DON'T..CARE TO SEE HOW IT
 LOOKS AT THIS TIME.....IN CONCLUSION, R
IP THIS ROUTINE AND USE THE HELL OUT OF 
IT!......$WRAP..(.........EG. 
C64 Preview

> CLICK IMAGE PREVIEW FOR FULL MODAL