A.N.A.L.O.G. ISSUE 58 / MARCH 1987 / PAGE 8

The ROBOX Incident

Try out the alien computer
that just crashed into your life.

by Barry Kolbe and Bryan Schappel

Your bed still likes you, even if you have been gone a long time—and you still like your bed. You hit the sack at about 10:00 p.m. and have been snoozing comfortably for nearly five hours, when…there’s a crash and a bright flash of white light. Amazing how none of your neighbors have been awakened, isn’t it?

You leap from bed, as best you can, don your robe and slippers, step on the dog, trip over your stuffed Komodo dragon doll and stumble down the stairs. The back door opens, even though you wanted it to, and you’re outside. Over in the vegetable garden, right on top of the corn that just started to come in, between the carrots and the peas, is a crater the size of your pumpkin patch. [Hey, where did the pumpkin patch go?]

Against your best judgment, you approach this crater—waiting for a big green thing with scales to jump at your throat, but no such luck. There’s just a blackened box, with a panel and a button, sitting there. You’re about to re-enter your humble abode and pass this occurrence off as a normal everyday kinda thing, when you notice the words Press START on the panel.

Well, you thought that addiction to computer games was cured, didn’t you? Not quite. Against your will you press START and…

Typing it in.

Listing 1 contains the BASIC data statements used to create the ROBOX.COM file on your disk. Please refer to the “M/L Editor,” found elsewhere in this issue for instructions on keying in ROBOX.

Once the ROBOX.COM file has been created, simply binary load it from DOS. If you’re not sure how to do this, please refer to your DOS manual for instructions.

Playing ROBOX.

You are now the proud owner of a slightly used alien computer, sent to Earth for reasons unknown. One nice thing about these aliens is that they speak the English tongue.

The computer uses the universal QWERTY keyboard as an input device and has a built-in CRT terminal for output. There also must be a disk in drive 1 at all times during play.

ROBOX has a total of 42 points. There is a point display at the bottom of the screen; keep a close eye on it, because it tells you if you did something right or wrong. For each new thing you discover, you receive 1 point. If you then do the thing wrong, after having done it right, you will lose 1 point.

Learning how to save/load a game also gives you points, so you may want to figure out how to do these operations first.

Program options.

There are a couple of options available to you, that just make playing more fun. You will notice messages are printed to the screen slowly; to speed things up, press the inverse (Atari logo) key. Pressing it again will toggle it back to slow mode.

The other option is a key-click toggle. There is normally no click, so if you like the click, just press CTRL-CAPS. Press CTRL-CAPS again to turn off the click.

Technical notes.

ROBOX operates in graphics mode 0, on a narrow playfield. The wonderful moving graphs at the bottom of the screen were accomplished by defining a pair of characters with a pattern that would meet at both ends if folded over (like a sine wave). Then, every three vertical blanks, the character definition is shifted to the left with the ROL, LSR instructions, checking to see if the carry was set. If so, bit 7 of the rightmost character is set.

We used a custom screen print routine (the OS will not do narrow playfields) that accesses screen memory directly—this bugger can fill a screen with straight ATASCII text in the wink of an eye. Try that with CIO someday. (Our print routine also does word wraps, making the text easier to read.) There’s a custom input routine used that will allow only sixty-four character inputs, alphanumeric only.

All game messages are tokenized to save memory. This also means that you can’t look at the disk file for clues. By tokenizing the messages, we probably saved upwards of fifteen sectors. The Scott Adams adventures also used a technique similar to this, so all his adventures could fit into 16K.

We hope ROBOX keeps you busy for the next month. You may want to schedule an appointment at the Hair Transplant Salon in the near future [you could be pulling out quite a bit].

ANALOG Computing will not give clues over the phone. If you’d like a copy of the game’s solution, send a stamped, self-addressed envelope to: ROBOX Solution, c/o ANALOG Computing, P.O. Box 23, Worcester, MA 01603.


Barry Kolbe is a mathematics teacher in Madison, WI. He uses the Atari to demonstrate graphing in his classroom. His former student, Bryan Schappel, is studying Computer Science at the University of Wisconsin. This is their fourth team project for ANALOG Computing.


Listing 1.
“M/L Editor” Data.

1000 DATA 255,255,0,32,251,32,0,0,0,0,0,0,0,0,0,24,3724
1010 DATA 24,24,24,0,24,0,0,102,102,102,0,0,0,0,0,102,5660
1020 DATA 255,102,102,255,102,0,24,126,96,126,6,126,24,0,0,102,137
1030 DATA 108,24,48,102,70,0,28,54,28,56,111,102,59,0,0,24,7124
1040 DATA 24,24,0,0,0,0,0,30,28,24,24,28,30,0,0,120,4754
1050 DATA 56,24,24,56,120,0,0,102,60,255,60,102,0,0,0,24,8224
1060 DATA 24,126,24,24,0,0,0,0,0,0,0,28,28,56,0,0,2988
1070 DATA 0,126,126,0,0,0,0,0,0,0,0,28,28,0,0,0,2400
1080 DATA 7,12,24,48,224,0,0,126,102,110,118,102,126,0,0,120,1601
1090 DATA 24,24,24,24,126,0,0,126,6,126,96,96,126,0,0,126,144
1100 DATA 6,62,6,6,126,0,0,108,108,108,124,12,12,0,0,126,8498
1110 DATA 96,126,6,6,62,0,0,124,96,126,102,102,126,0,0,126,926
1120 DATA 6,14,28,56,48,0,0,126,102,60,102,102,126,0,0,126,228
1130 DATA 102,126,6,6,126,0,0,56,56,0,56,56,0,0,0,56,5292
1140 DATA 56,0,56,56,56,112,0,30,48,96,48,30,0,0,0,0,5060
1150 DATA 126,0,0,126,0,0,0,120,12,6,12,120,0,0,0,126,6496
1160 DATA 102,12,252,32,247,33,24,0,24,0,0,126,102,110,110,96,1551
1170 DATA 126,0,0,126,102,102,126,102,102,0,0,126,102,124,102,102,3274
1180 DATA 126,0,0,126,96,96,96,96,126,0,0,124,102,102,102,102,2844
1190 DATA 124,0,0,126,96,124,96,96,126,0,0,126,96,124,96,96,3088
1200 DATA 96,0,0,126,96,96,110,102,126,0,0,102,102,126,102,102,3052
1210 DATA 102,0,0,56,56,56,56,56,56,0,0,6,6,6,6,102,5452
1220 DATA 126,0,0,96,102,108,126,102,102,0,0,96,96,96,96,102,2320
1230 DATA 126,0,0,99,119,127,99,99,99,0,0,124,102,102,102,102,2889
1240 DATA 102,0,0,126,102,102,102,102,126,0,0,126,102,102,126,96,3324
1250 DATA 96,0,0,126,102,102,102,108,118,0,0,126,102,102,124,108,3466
1260 DATA 102,0,0,124,96,126,6,6,62,0,0,126,24,24,24,24,6646
1270 DATA 24,0,0,102,102,102,102,102,126,0,0,102,102,102,102,60,1956
1280 DATA 24,0,0,99,99,99,127,119,99,0,0,102,102,60,60,102,1443
1290 DATA 102,0,0,102,102,126,24,24,24,0,0,126,108,24,48,102,9246
1300 DATA 126,0,0,30,24,24,24,24,30,0,0,0,224,48,24,12,6576
1310 DATA 7,0,0,120,24,24,24,24,120,0,0,8,28,54,99,99,7786
1320 DATA 0,0,248,33,243,34,0,0,0,0,0,0,255,255,0,0,500
1330 DATA 60,126,0,126,60,0,0,93,84,93,0,1,0,1,0,1,4918
1340 DATA 0,17,16,17,0,0,192,192,192,192,192,192,192,192,192,192,3570
1350 DATA 192,192,208,204,252,0,0,0,48,120,204,198,3,0,0,12,1109
1360 DATA 30,51,97,192,128,0,0,0,63,127,224,192,192,192,0,0,4980
1370 DATA 255,255,0,0,0,0,0,0,252,254,7,115,59,27,192,192,5497
1380 DATA 192,192,192,192,192,192,3,3,3,3,3,3,3,3,192,216,2000
1390 DATA 216,204,224,127,63,0,0,0,0,0,0,255,255,0,3,3,9977
1400 DATA 3,3,7,254,252,0,255,129,129,129,129,129,129,255,0,0,7188
1410 DATA 15,8,8,8,248,0,0,0,224,32,32,32,63,0,0,16,6884
1420 DATA 24,252,252,24,16,0,0,8,24,63,63,24,8,0,0,0,4875
1430 DATA 0,255,255,0,0,0,0,0,3,3,3,3,0,0,0,0,2831
1440 DATA 192,192,192,192,0,0,0,0,0,0,0,0,0,0,0,0,3360
1450 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1450
1460 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,1844
1470 DATA 60,126,24,24,24,0,0,24,24,24,126,60,24,0,0,24,5520
1480 DATA 48,126,244,34,239,35,48,24,0,0,0,24,12,126,12,24,7353
1490 DATA 0,0,0,24,60,126,126,60,24,0,0,0,126,6,126,102,9464
1500 DATA 126,0,0,96,96,126,102,102,126,0,0,0,124,96,96,96,1842
1510 DATA 124,0,0,6,6,126,102,102,126,0,0,0,126,102,126,96,1600
1520 DATA 124,0,0,30,24,126,24,24,24,0,0,0,126,102,102,126,9828
1530 DATA 6,126,0,96,96,126,102,102,102,0,0,24,0,56,24,24,7672
1540 DATA 24,0,0,6,0,6,6,6,6,62,0,96,96,108,120,108,9828
1550 DATA 102,0,0,56,24,24,24,24,24,0,0,0,198,238,254,198,5600
1560 DATA 198,0,0,0,126,102,102,102,102,0,0,0,126,102,102,102,1676
1570 DATA 126,0,0,0,126,102,102,126,96,96,0,0,126,102,102,126,3096
1580 DATA 6,6,0,0,126,102,96,96,96,0,0,0,126,96,126,6,112
1590 DATA 126,0,0,24,126,24,24,24,30,0,0,0,102,102,102,102,9132
1600 DATA 126,0,0,0,102,102,102,60,24,0,0,0,99,99,127,62,9828
1610 DATA 54,0,0,0,102,60,24,60,102,0,0,0,102,102,102,126,400
1620 DATA 14,126,0,0,126,14,24,112,126,0,0,24,60,126,126,24,9904
1630 DATA 60,0,24,24,24,24,24,24,24,24,0,126,120,124,110,102,1028
1640 DATA 6,0,240,35,255,35,8,24,56,120,56,24,8,0,16,24,7575
1650 DATA 28,30,28,24,16,0,0,40,251,40,112,112,112,240,66,78,4607
1660 DATA 40,160,66,0,59,2,2,2,2,2,2,2,2,2,2,2,2755
1670 DATA 2,2,2,2,160,66,110,40,2,2,2,66,110,40,65,0,7793
1680 DATA 40,112,112,112,112,112,112,112,112,112,66,238,40,112,2,65,4508
1690 DATA 39,40,64,0,32,96,32,64,0,96,4,146,2,10,10,12,6737
1700 DATA 111,115,119,123,127,131,135,139,192,128,180,229,242,237,233,238,7871
1710 DATA 225,236,128,180,249,240,229,154,128,184,182,141,162,162,171,143,4944
1720 DATA 151,173,154,177,179,175,128,192,192,128,213,212,212,212,212,212,7955
1730 DATA 212,210,128,192,79,79,79,79,79,79,79,79,192,128,211,212,9731
1740 DATA 212,212,212,212,212,214,128,192,128,128,0,71,72,72,73,0,4959
1750 DATA 128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,9158
1760 DATA 0,71,72,72,73,0,128,128,128,128,0,74,69,70,75,0,1013
1770 DATA 0,65,67,0,85,82,0,16,16,0,83,86,0,0,65,67,7282
1780 DATA 0,74,80,81,75,0,128,128,128,128,0,76,77,77,78,0,1380
1790 DATA 0,66,68,128,128,128,128,128,128,128,128,128,128,128,66,68,6876
1800 DATA 0,76,77,77,78,0,128,128,0,0,0,0,0,0,0,0,4801
1810 DATA 0,0,0,0,0,112,252,40,247,41,114,101,115,115,0,0,2770
1820 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1820
1830 DATA 0,0,0,0,0,0,0,0,128,179,180,161,178,180,128,0,5438
1840 DATA 0,0,0,0,0,0,0,0,0,0,0,0,255,254,253,159,5050
1850 DATA 158,157,156,155,127,126,125,31,30,29,28,27,64,95,129,160,3773
1860 DATA 169,39,141,48,2,169,40,141,49,2,169,0,141,198,2,141,4365
1870 DATA 200,2,160,0,140,197,2,32,190,41,32,190,41,200,192,16,5927
1880 DATA 208,242,169,1,141,111,2,173,31,208,201,6,208,249,169,0,9219
1890 DATA 141,48,2,169,40,141,49,2,160,3,169,255,153,13,208,169,8598
1900 DATA 0,153,192,2,169,3,153,8,208,136,16,238,162,61,160,3,6460
1910 DATA 185,62,41,153,0,208,136,16,247,32,190,41,32,190,41,32,4610
1920 DATA 190,41,206,62,41,206,63,41,238,64,41,238,65,41,202,16,6062
1930 DATA 221,169,0,162,3,157,0,208,202,16,250,96,72,169,0,133,7068
1940 DATA 20,165,20,240,252,104,96,169,0,168,153,0,36,153,0,37,3783
1950 DATA 153,0,38,153,0,39,200,208,241,96,169,125,201,155,208,9,662
1960 DATA 169,0,133,139,230,140,76,109,42,201,126,208,12,32,48,42,4744
1970 DATA 32,73,42,169,0,168,248,41,243,42,145,141,96,201,125,208,1181
1980 DATA 20,160,0,152,153,0,59,153,0,60,153,0,61,200,208,244,8230
1990 DATA 133,139,133,140,96,32,171,42,72,32,73,42,160,0,104,145,3800
2000 DATA 141,166,139,232,224,32,144,7,230,140,32,109,42,162,0,134,6282
2010 DATA 139,96,165,139,170,5,140,240,17,202,16,12,162,31,164,140,6905
2020 DATA 208,4,162,0,240,2,198,140,134,139,96,169,224,133,141,169,1713
2030 DATA 58,133,142,164,140,165,141,24,105,32,133,141,144,2,230,142,8347
2040 DATA 136,16,242,165,141,24,101,139,133,141,144,2,230,142,96,164,9519
2050 DATA 140,192,13,144,55,169,12,133,140,169,0,133,141,169,59,133,7384
2060 DATA 142,169,32,133,143,169,59,133,144,162,0,160,31,177,143,145,8556
2070 DATA 141,136,16,249,165,144,133,142,165,143,133,141,24,105,32,133,7743
2080 DATA 143,165,144,105,0,133,144,232,224,13,208,223,96,32,189,42,9380
2090 DATA 29,56,40,166,137,96,32,189,42,29,60,40,166,137,96,72,4488
2100 DATA 42,42,42,42,41,3,134,137,170,104,41,159,96,134,136,32,5382
2110 DATA 222,41,166,136,96,173,252,2,201,255,240,249,162,255,142,252,8579
2120 DATA 2,133,128,168,192,192,144,2,160,154,177,121,133,147,201,128,1809
2130 DATA 240,227,201,129,208,9,244,42,239,43,165,149,73,1,133,149,8607
2140 DATA 76,211,42,201,130,208,9,165,148,73,64,133,148,76,211,42,8036
2150 DATA 201,131,208,6,169,64,133,148,208,191,201,132,208,9,165,150,1887
2160 DATA 73,1,133,150,76,211,42,201,133,240,174,165,128,201,64,144,2015
2170 DATA 19,165,147,201,97,144,13,201,123,176,9,165,148,240,5,5,7197
2180 DATA 128,76,225,42,162,15,189,46,41,197,147,240,5,202,16,246,9799
2190 DATA 165,147,201,32,144,131,164,150,240,13,160,127,140,31,208,162,774
2200 DATA 8,202,208,253,136,16,245,96,32,200,43,169,0,133,129,169,8797
2210 DATA 5,133,130,169,0,133,131,160,0,177,129,153,0,6,200,201,7867
2220 DATA 155,208,4,230,131,208,17,192,32,208,238,136,177,129,201,32,1533
2230 DATA 240,5,136,208,247,160,31,200,132,132,160,0,177,129,132,133,215
2240 DATA 201,155,240,3,32,222,41,165,149,240,6,32,190,41,32,190,7337
2250 DATA 41,164,133,200,196,132,208,228,152,24,101,129,133,129,144,2,8864
2260 DATA 230,130,165,139,240,3,32,226,41,165,131,240,170,96,133,129,1004
2270 DATA 132,130,162,255,160,255,200,232,177,129,157,0,5,201,155,208,2896
2280 DATA 1,96,41,127,201,32,176,238,177,129,16,5,41,127,24,105,4907
2290 DATA 32,132,133,10,168,185,240,43,235,44,24,57,141,1,44,185,5969
2300 DATA 25,57,141,2,44,160,255,202,200,232,185,255,255,157,0,5,2259
2310 DATA 16,246,41,127,157,0,5,164,133,76,208,43,169,62,32,222,7439
2320 DATA 41,162,1,134,135,202,134,134,134,136,32,211,42,166,136,201,697
2330 DATA 155,240,57,41,127,201,32,144,239,201,126,208,11,224,0,240,1679
2340 DATA 231,202,32,203,42,76,30,44,201,96,240,220,201,123,176,216,3591
2350 DATA 133,138,201,65,144,7,201,91,176,3,24,105,32,224,63,240,7994
2360 DATA 199,157,0,6,165,138,32,203,42,232,208,188,157,0,6,134,7915
2370 DATA 134,198,135,76,222,41,216,169,0,170,157,0,36,232,208,250,2092
2380 DATA 165,135,240,52,165,139,10,10,24,105,64,141,0,208,165,140,6841
2390 DATA 10,10,10,24,105,58,170,173,43,2,240,11,169,240,157,0,7084
2400 DATA 36,133,145,169,60,133,146,165,145,198,146,208,8,160,30,132,9546
2410 DATA 146,73,240,133,145,157,0,36,230,154,165,154,201,2,208,51,9759
2420 DATA 169,0,133,154,162,7,189,48,34,10,157,48,34,62,40,34,1326
2430 DATA 144,9,169,1,24,125,48,34,157,48,34,189,136,34,10,157,4022
2440 DATA 136,34,62,128,34,144,9,169,1,24,125,136,34,157,136,34,4271
2450 DATA 202,16,211,76,98,228,236,44,229,45,169,0,133,151,166,155,666
2460 DATA 240,66,230,153,166,153,224,8,208,58,133,153,164,152,200,192,3597
2470 DATA 8,208,2,160,0,132,152,185,70,40,141,1,208,152,73,7,5508
2480 DATA 168,185,70,40,141,2,208,160,12,185,24,34,201,208,240,4,8660
2490 DATA 136,16,246,200,169,192,153,24,34,169,208,192,0,208,2,160,9546
2500 DATA 13,153,23,34,76,95,228,72,138,72,166,151,189,64,40,141,7955
2510 DATA 24,208,141,10,212,189,67,40,141,23,208,141,10,212,230,151,839
2520 DATA 104,170,104,64,165,121,5,122,208,6,169,254,133,121,133,122,303
2530 DATA 32,220,41,133,135,141,200,2,133,148,133,149,230,149,133,150,1993
2540 DATA 133,151,133,152,133,153,133,154,133,155,169,32,141,244,2,169,701
2550 DATA 240,133,145,169,30,133,146,169,61,141,47,2,169,7,160,108,6412
2560 DATA 162,44,32,92,228,169,6,160,236,162,44,32,92,228,169,57,9197
2570 DATA 141,0,2,169,45,141,1,2,169,192,141,14,212,32,66,41,4497
2580 DATA 169,32,141,7,212,169,3,141,29,208,32,201,41,141,8,208,7547
2590 DATA 141,9,208,141,10,208,169,68,141,192,2,169,56,141,193,2,7830
2600 DATA 169,168,141,194,2,230,155,160,5,169,120,153,183,37,153,215,1582
2610 DATA 38,136,16,247,230,45,225,46,216,162,0,189,195,51,24,105,8440
2620 DATA 5,157,195,51,232,224,188,208,242,169,1,141,68,2,169,255,2310
2630 DATA 133,161,169,176,160,51,32,98,43,32,226,41,32,18,44,162,4015
2640 DATA 255,134,160,173,0,6,201,155,208,10,169,0,160,6,32,98,5061
2650 DATA 43,76,7,46,162,0,134,159,188,139,52,185,195,51,16,10,5593
2660 DATA 169,32,160,53,32,98,43,76,7,46,205,0,6,240,6,232,5260
2670 DATA 208,228,76,7,46,162,0,232,200,185,195,51,48,7,221,0,7092
2680 DATA 6,240,244,208,7,41,127,221,0,6,240,6,32,201,46,76,5576
2690 DATA 7,46,134,158,166,159,189,44,58,208,6,254,44,58,32,187,7854
2700 DATA 50,166,158,232,189,0,6,201,155,208,3,76,8,47,201,32,5788
2710 DATA 240,3,76,90,46,232,134,157,162,0,134,160,188,148,52,185,468
2720 DATA 241,51,48,47,166,157,221,0,6,240,5,166,160,232,208,234,3407
2730 DATA 232,200,185,241,51,48,7,221,0,6,240,244,208,15,41,127,8430
2740 DATA 221,0,6,208,8,232,189,0,6,201,155,240,77,32,201,46,8415
2750 DATA 76,7,46,166,157,32,201,46,76,7,46,134,156,162,0,189,6582
2760 DATA 0,6,157,112,58,232,228,156,208,245,160,0,185,42,53,157,599
2770 DATA 112,58,232,200,226,46,221,47,192,7,208,244,164,156,185,0,1928
2780 DATA 6,201,155,240,10,9,128,157,112,58,200,232,185,0,6,157,8448
2790 DATA 112,58,201,155,208,244,169,112,160,58,32,98,43,96,165,159,9294
2800 DATA 10,170,189,86,58,141,25,47,189,87,58,141,26,47,32,255,6205
2810 DATA 255,76,7,46,169,49,160,53,32,98,43,169,60,160,53,32,4201
2820 DATA 98,43,169,68,160,53,32,98,43,169,71,160,53,32,98,43,3982
2830 DATA 169,74,160,53,32,98,43,169,77,160,53,32,98,43,96,166,5472
2840 DATA 160,240,8,169,178,160,53,32,98,43,96,173,78,58,208,6,6143
2850 DATA 238,78,58,32,187,50,169,115,160,52,32,98,43,169,127,160,7762
2860 DATA 52,32,98,43,162,3,134,156,169,240,160,52,32,98,43,166,7850
2870 DATA 156,202,16,242,169,252,160,52,32,98,43,169,8,160,53,32,5759
2880 DATA 98,43,169,20,160,53,32,98,43,96,166,160,224,1,240,15,7636
2890 DATA 224,3,208,3,76,236,50,169,178,160,53,32,98,43,96,32,5251
2900 DATA 128,50,144,1,96,169,190,160,53,32,98,43,32,18,44,162,3979
2910 DATA 0,134,161,188,189,52,185,153,52,48,10,205,0,6,240,17,5663
2920 DATA 166,161,232,208,236,169,195,160,52,32,98,43,169,255,133,161,2495
2930 DATA 96,162,0,232,222,47,217,48,200,185,153,52,48,7,221,0,7567
2940 DATA 6,208,225,240,242,41,127,221,0,6,208,221,166,161,189,52,2189
2950 DATA 58,208,6,254,52,58,32,187,50,169,213,160,52,32,98,43,6471
2960 DATA 96,169,179,160,56,32,98,43,32,226,41,230,149,165,165,201,1770
2970 DATA 42,240,76,169,189,160,56,32,98,43,32,126,48,169,253,162,9502
2980 DATA 0,32,144,48,142,47,2,142,29,208,169,64,141,14,212,169,8691
2990 DATA 42,141,200,2,162,228,160,95,169,6,32,92,228,162,228,160,2229
3000 DATA 98,169,7,32,92,228,169,0,162,3,157,0,208,202,16,250,9583
3010 DATA 169,255,162,160,32,144,48,169,0,141,200,2,76,98,48,169,6945
3020 DATA 23,141,208,56,169,189,160,56,32,98,43,169,210,160,56,32,7811
3030 DATA 98,43,32,126,48,76,98,48,32,226,41,169,229,160,56,32,7176
3040 DATA 98,43,169,249,160,56,32,98,43,96,133,19,134,20,165,19,4710
3050 DATA 48,252,96,166,160,224,1,240,8,169,178,160,53,32,98,43,7560
3060 DATA 96,32,128,50,144,1,96,165,161,16,8,169,205,160,52,32,6444
3070 DATA 98,43,96,10,170,189,102,58,141,200,48,189,103,58,141,201,291
3080 DATA 48,32,255,255,166,161,189,57,58,208,6,254,57,58,32,187,9293
3090 DATA 50,76,7,46,218,48,213,49,169,227,160,52,32,98,43,162,7958
3100 DATA 41,189,44,58,157,112,58,202,16,247,169,4,32,40,49,16,3850
3110 DATA 10,169,18,160,58,32,98,43,32,74,49,169,7,32,85,49,1857
3120 DATA 162,41,189,44,58,29,112,58,157,44,58,202,16,244,32,187,7830
3130 DATA 50,96,169,217,160,52,32,98,43,169,8,32,40,49,48,209,4686
3140 DATA 169,11,32,85,49,96,72,32,74,49,104,162,32,157,74,3,3364
3150 DATA 169,3,157,66,3,169,58,157,69,3,169,34,157,68,3,169,5411
3160 DATA 0,157,75,3,32,86,228,96,162,32,169,12,157,66,3,32,4054
3170 DATA 86,228,96,162,32,157,66,3,169,58,157,69,3,169,44,157,6469
3180 DATA 68,3,169,36,157,72,3,169,0,157,73,3,32,86,228,32,4456
3190 DATA 74,49,96,166,160,224,2,208,23,32,128,50,144,1,96,169,6701
3200 DATA 157,160,56,32,98,43,32,18,44,173,0,6,201,49,176,8,3354
3210 DATA 169,178,160,53,32,98,43,96,201,51,176,244,56,233,49,133,280
3220 DATA 164,208,11,169,52,133,163,169,7,133,162,76,184,49,169,52,8592
3230 DATA 133,163,169,61,133,162,162,0,134,156,169,32,32,222,41,169,9063
3240 DATA 48,32,222,41,165,156,9,48,32,222,41,169,32,32,222,41,6227
3250 DATA 32,18,44,166,214,49,209,50,156,188,170,56,232,189,170,56,2275
3260 DATA 133,157,162,0,173,0,6,201,155,240,11,189,0,6,209,162,8703
3270 DATA 240,50,201,155,240,55,166,156,165,164,208,14,189,62,58,240,2389
3280 DATA 6,222,62,58,32,187,50,76,19,50,189,70,58,240,248,222,1364
3290 DATA 70,58,76,2,50,166,156,232,224,8,208,160,169,150,160,56,1803
3300 DATA 32,98,43,96,196,157,240,237,232,200,76,226,49,166,156,165,5116
3310 DATA 164,208,14,189,62,58,208,6,254,62,58,32,187,50,76,19,5353
3320 DATA 50,189,70,58,208,248,254,70,58,76,57,50,169,199,160,53,9796
3330 DATA 32,98,43,96,169,90,160,54,32,98,43,96,169,7,160,55,5476
3340 DATA 32,98,43,169,79,160,55,32,98,43,96,169,172,160,55,32,6578
3350 DATA 98,43,169,254,160,55,32,98,43,96,169,25,160,56,32,98,5613
3360 DATA 43,96,173,79,58,240,2,24,96,169,121,160,56,32,98,43,5505
3370 DATA 32,18,44,162,255,160,254,232,200,200,189,0,6,217,115,52,1639
3380 DATA 208,18,224,5,208,241,169,140,160,56,32,98,43,169,1,141,7829
3390 DATA 79,58,24,96,169,131,160,56,32,98,43,56,96,169,0,133,5395
3400 DATA 165,162,41,189,44,58,24,101,165,133,165,202,16,245,162,0,9434
3410 DATA 56,233,10,48,210,50,205,51,5,240,18,232,208,246,24,105,962
3420 DATA 10,9,16,141,190,40,138,9,16,141,189,40,96,232,169,0,7432
3430 DATA 240,239,173,81,58,208,6,238,81,58,32,187,50,173,80,58,7580
3440 DATA 208,52,169,121,160,56,32,98,43,32,18,44,162,255,160,254,460
3450 DATA 232,200,200,189,0,6,217,127,52,208,6,224,5,208,241,240,3743
3460 DATA 8,169,131,160,56,32,98,43,96,238,80,58,32,187,50,169,7649
3470 DATA 140,160,56,32,98,43,169,85,160,53,32,98,43,32,226,41,5388
3480 DATA 169,95,160,53,32,98,43,32,226,41,169,53,162,123,32,117,6955
3490 DATA 51,162,0,32,148,51,169,53,162,135,32,117,51,162,1,32,4668
3500 DATA 148,51,169,53,162,151,32,117,51,162,2,32,148,51,169,53,5851
3510 DATA 162,161,32,117,51,162,3,32,148,51,96,133,130,134,129,160,8617
3520 DATA 0,177,129,48,10,132,157,32,222,41,164,157,200,208,242,41,2544
3530 DATA 127,32,222,41,169,32,32,222,41,96,134,156,32,18,44,166,6247
3540 DATA 156,173,0,6,221,174,53,240,9,169,0,157,82,58,32,187,7511
3550 DATA 50,96,169,1,208,245,84,101,114,109,105,110,97,108,32,65,7093
3560 DATA 99,116,105,118,97,116,101,100,155,94,92,111,92,103,106,226,9889
3570 DATA 95,112,104,235,206,51,201,52,96,105,98,92,98,224,103,92,9823
3580 DATA 112,105,94,227,107,103,92,244,109,96,111,109,100,96,113,224,1234
3590 DATA 110,111,106,109,224,114,109,100,111,224,250,110,111,92,94,230,3173
3600 DATA 111,92,107,224,107,109,106,98,109,92,232,109,106,104,40,221,558
3610 DATA 250,100,105,95,27,52,51,110,111,95,27,109,96,98,92,100,5593
3620 DATA 105,95,27,45,110,111,95,27,109,96,98,93,100,105,95,27,5035
3630 DATA 50,43,110,111,95,27,109,96,98,94,97,109,106,27,47,46,4102
3640 DATA 44,45,99,92,103,111,250,100,105,95,27,52,46,110,111,95,6309
3650 DATA 27,109,96,98,92,100,105,95,27,44,110,111,95,27,109,96,5139
3660 DATA 98,93,100,105,95,27,46,45,110,111,95,27,109,96,98,94,5187
3670 DATA 97,109,106,27,45,44,46,47,99,92,103,111,250,92,27,105,6497
3680 DATA 27,92,27,103,27,106,27,98,150,48,32,49,32,49,32,48,1248
3690 DATA 32,48,32,49,155,0,7,11,17,23,27,35,40,45,0,5,7352
3700 DATA 9,16,21,111,114,105,103,105,238,97,110,116,97,114,101,248,1063
3710 DATA 108,97,110,100,105,110,231,108,97,117,110,99,104,105,110,231,1017
3720 DATA 115,116,97,116,117,243,255,0,6,13,20,29,35,110,111,32,3574
3730 DATA 115,117,99,104,202,52,197,53,32,0,155,0,32,110,111,116,5387
3740 DATA 32,3,155,0,32,3,155,115,116,111,114,105,110,103,32,1,4462
3750 DATA 155,114,101,116,114,105,101,118,105,110,103,32,1,155,48,32,4728
3760 DATA 48,32,48,32,48,32,48,32,48,155,48,32,48,32,48,32,366
3770 DATA 55,32,100,32,52,155,98,32,48,32,101,32,102,32,49,32,1717
3780 DATA 99,155,52,32,48,32,57,32,50,32,97,32,101,155,17,32,2031
3790 DATA 99,111,109,109,97,110,100,155,45,101,114,114,111,114,32,108,7243
3800 DATA 105,98,114,97,114,121,32,0,115,155,32,111,114,105,103,105,6797
3810 DATA 110,155,32,5,155,32,13,155,32,14,155,32,115,116,97,116,5591
3820 DATA 117,115,155,14,32,99,111,110,116,114,111,108,155,49,46,32,5703
3830 DATA 111,112,101,110,32,50,46,32,99,108,111,115,101,32,51,46,3780
3840 DATA 32,110,101,117,116,114,97,108,155,103,121,114,111,32,99,111,7946
3850 DATA 110,116,114,111,236,104,121,100,114,111,45,108,105,102,116,32,7401
3860 DATA 118,97,108,118,229,114,98,52,50,32,118,97,108,118,229,102,9254
3870 DATA 114,97,98,101,114,32,115,119,105,116,99,232,50,49,51,49,6258
3880 DATA 17,32,111,112,101,114,97,116,105,111,110,155,119,104,105,99,8825
3890 DATA 104,32,0,63,198,53,193,54,155,4,32,119,97,115,32,115,5807
3900 DATA 101,110,116,32,102,114,111,109,32,5,32,116,111,32,119,97,4850
3910 DATA 114,110,32,101,97,114,116,104,32,116,104,97,116,32,105,116,6700
3920 DATA 32,105,115,32,111,110,32,97,32,6,32,16,32,119,105,116,3255
3930 DATA 104,32,97,32,11,46,32,4,32,104,97,115,32,115,101,110,4180
3940 DATA 115,111,114,115,32,116,111,32,103,97,21,114,32,1,46,32,2096
3950 DATA 119,104,101,110,32,4,32,114,101,116,117,114,110,115,32,116,6440
3960 DATA 111,32,5,32,119,101,32,119,105,108,108,32,97,108,116,101,6381
3970 DATA 114,32,21,32,16,32,111,102,32,21,32,11,32,97,110,100,2210
3980 DATA 32,97,118,111,105,100,32,97,32,6,46,155,5,32,105,115,3771
3990 DATA 32,21,32,102,111,117,114,116,104,32,112,108,97,110,101,116,7507
4000 DATA 32,102,114,111,109,32,21,32,115,116,97,114,32,103,114,105,6040
4010 DATA 110,100,108,32,105,110,32,97,32,112,97,114,97,108,108,101,6809
4020 DATA 108,32,117,110,105,118,101,114,115,101,46,32,5,32,104,97,4395
4030 DATA 115,32,50,32,109,111,111,110,115,32,97,110,100,32,97,32,4812
4040 DATA 103,114,97,118,105,116,97,116,105,111,110,97,108,32,102,111,7549
4050 DATA 114,99,101,32,194,54,189,55,111,102,32,55,48,46,32,105,4309
4060 DATA 116,32,104,97,115,32,97,32,100,105,97,109,101,116,101,114,7243
4070 DATA 32,111,102,32,49,55,44,48,48,48,32,10,46,32,5,32,9042
4080 DATA 105,115,32,57,56,32,109,105,108,108,105,111,110,32,10,32,3893
4090 DATA 102,114,111,109,32,103,114,105,110,100,108,46,155,116,104,101,8150
4100 DATA 32,13,32,8,32,9,32,8,46,32,12,32,99,111,109,109,2258
4110 DATA 97,110,100,115,46,32,18,100,44,115,116,32,2,108,116,32,3531
4120 DATA 105,115,32,117,115,101,100,32,116,111,32,101,110,100,32,8,4312
4130 DATA 109,105,110,103,46,32,1,32,105,115,32,115,116,111,114,101,6091
4140 DATA 100,32,105,110,155,51,32,114,101,103,105,115,116,101,114,115,8222
4150 DATA 58,32,114,101,103,32,97,44,114,101,2,103,99,46,32,21,2797
4160 DATA 32,100,105,115,116,97,110,99,101,32,102,114,111,109,32,21,5395
4170 DATA 32,115,116,97,114,32,105,115,32,112,117,116,32,105,110,32,5720
4180 DATA 114,101,103,97,46,32,109,111,111,2,105,116,121,32,19,32,3650
4190 DATA 114,101,103,99,46,32,21,32,13,32,20,32,52,51,49,50,2
4200 DATA 46,155,21,32,14,32,8,32,9,32,8,46,32,12,32,99,9010
4210 DATA 111,109,32,2,190,55,185,56,18,32,2,32,100,44,102,114,3824
4220 DATA 111,44,104,97,108,116,46,32,104,97,108,116,32,105,115,32,5542
4230 DATA 117,115,101,100,2,101,103,99,46,32,21,32,100,105,115,116,5109
4240 DATA 97,110,2,111,111,110,32,100,97,116,97,32,19,32,114,101,4751
4250 DATA 103,2,32,103,114,97,118,155,2,104,101,32,14,32,20,32,2078
4260 DATA 114,101,118,2,32,102,101,114,32,116,111,32,114,111,109,45,5773
4270 DATA 98,46,155,97,108,108,32,115,121,115,116,101,109,115,32,97,7431
4280 DATA 114,101,32,102,117,110,99,116,105,111,110,105,110,103,32,101,7459
4290 DATA 120,99,101,112,116,32,21,32,13,32,97,110,100,32,14,32,1828
4300 DATA 97,117,116,111,32,8,109,105,110,103,32,119,101,114,101,32,5970
4310 DATA 100,105,115,114,117,112,116,101,100,32,100,117,114,105,110,103,8272
4320 DATA 32,97,32,109,97,103,110,101,116,105,99,32,115,116,111,114,7934
4330 DATA 109,46,155,112,97,115,115,119,111,114,100,63,155,7,32,100,6564
4340 DATA 101,110,105,101,100,155,7,32,97,108,108,111,119,101,100,155,8529
4350 DATA 8,32,100,111,110,101,155,49,46,32,13,32,50,46,32,14,1058
4360 DATA 32,8,63,155,0,6,14,19,27,33,41,49,53,114,111,98,2633
4370 DATA 111,120,32,14,186,56,181,57,46,46,155,121,111,117,114,32,7196
4380 DATA 109,105,115,115,105,111,110,32,119,97,115,32,97,32,22,155,5930
4390 DATA 99,111,110,103,114,97,116,117,108,97,116,105,111,110,115,46,8275
4400 DATA 46,46,155,103,97,109,101,32,99,111,109,112,108,105,109,101,8186
4410 DATA 110,116,115,32,111,102,155,66,97,114,114,121,32,75,111,108,7583
4420 DATA 98,101,32,97,110,100,32,66,114,121,97,110,32,83,99,104,6456
4430 DATA 97,112,112,101,108,155,72,57,76,57,80,57,93,57,98,57,5128
4440 DATA 103,57,110,57,119,57,125,57,132,57,153,57,158,57,164,57,7832
4450 DATA 175,57,182,57,191,57,205,57,211,57,218,57,230,57,242,57,2582
4460 DATA 1,58,4,58,11,58,116,97,112,229,100,97,116,225,46,46,8458
4470 DATA 100,97,116,97,32,108,111,115,116,46,174,114,101,97,100,249,946
4480 DATA 114,111,98,111,248,97,110,116,97,114,101,248,99,111,108,108,1363
4490 DATA 105,115,105,111,238,97,99,99,101,115,243,112,114,111,103,114,1322
4500 DATA 97,237,99,111,110,115,105,115,116,115,32,111,102,32,97,110,7574
4510 DATA 32,56,32,115,116,101,240,109,105,108,101,243,109,101,116,101,1187
4520 DATA 111,242,116,104,101,114,101,32,97,114,101,32,180,108,97,110,8606
4530 DATA 100,105,110,231,182,57,111,58,108,97,117,110,99,104,105,110,9214
4540 DATA 231,109,117,115,116,32,98,101,32,112,117,116,32,105,238,99,9193
4550 DATA 111,117,114,115,229,105,108,108,101,103,97,236,116,104,101,121,1345
4560 DATA 32,97,114,101,58,32,105,238,105,115,32,115,116,111,114,101,8868
4570 DATA 100,32,105,238,102,105,114,105,110,103,32,111,114,100,101,114,8704
4580 DATA 32,105,243,116,104,229,102,97,105,108,117,114,229,115,117,99,2005
4590 DATA 99,101,115,243,100,105,115,107,32,102,105,108,101,32,101,114,7858
4600 DATA 114,111,114,155,68,58,66,79,88,46,68,65,84,155,0,0,3722
4610 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4610
4620 DATA 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4620
4630 DATA 0,0,0,0,0,0,0,0,30,47,73,47,148,47,7,48,192
4640 DATA 153,48,218,48,20,49,117,49,74,50,82,50,90,50,105,50,4253
4650 DATA 120,50,226,2,227,2,86,45,0,0,0,0,0,0,0,0,7665

Listing 2.
Assembly listing.

	.OPT	NOLIST
;SAVE#D:ROBOX.M65
;asm,,#d:boxer
;
;------------------
;the actual adventure
;is done here
; by Barry Kolbe
;------------------
;
	*=	$80
OLDC	.DS	1
INDR	.DS	2
EOLFLAG	.DS	1
TEMP	.DS	1
SAVEY	.DS	1
ILEN	.DS	1
IPUT	.DS	1	;input flag
SAVEX	.DS	1
SAVX2	.DS	1
CHAR	.DS	1
XPOS	.DS	1
YPOS	.DS	1
SCR	.DS	2
SCR2	.DS	2
CSHAPE	.DS	1
BLINK	.DS	1
OLDAC	.DS	1
CAPS	.DS	1
PAUSE?	.DS	1
CLICK?	.DS	1
DLIDX	.DS	1
BLKPOS	.DS	1
MYCOUNT	.DS	1
MYCNT2	.DS	1
GOFLAG	.DS	1
X1	.DS	1
X2	.DS	1
X3	.DS	1
VRBN	.DS	1
NOUNN	.DS	1
TAPEN	.DS	1
CPL	.DS	1
CPH	.DS	1
TYPE	.DS	1
SCORE	.DS	1
;-----
EXPBUF	=	$0500
MYBUF	=	$0600
LINELEN	=	32
SCMEM	=	$3B00
MYPM	=	$2000
PLR0	=	MYPM+$0400
PLR1	=	PLR0+$0100
PLR2	=	PLR1+$0100
PLR3	=	PLR2+$0100
BOTLIN	=	13
;
	.MACRO	PRINT 
	LDA	#<%1
	LDY	#>%1
	JSR	EPRINT
	.ENDM
;-----------
	.MACRO	PUTTER 
	LDA	#>%1
	LDX	#<%1
	JSR	MYPUT
	.ENDM
;-----------
;
	*=	0
PASS	.=	PASS+1
	.IF	PASS=1
	.INCLUDE	#D:ROBOX2.M65
	.ENDIF
;
	*=	$2000
	.INCLUDE	#D:ROBOX3.M65
	*=	$2800
	.INCLUDE	#D:ROBOX4.M65
;--------
;decode
;-------
	CLD
	LDX	#0
?DE	LDA	VERB,X
	CLC
	ADC	#5
	STA	VERB,X
	INX
	CPX	#188
	BNE	?DE
	LDA	#1
	STA	$0244
	LDA	#$FF
	STA	TAPEN
		PRINT TRMACT
GETCOM	JSR	PUTCR
	JSR	INPUT
	LDX	#$FF
	STX	NOUNN
	LDA	MYBUF
	CMP	#EOL
	.LOCAL
	BNE	?B1
		PRINT MYBUF
	JMP	GETCOM
?B1	LDX	#0
?B2	STX	VRBN
	LDY	VL,X
	LDA	VERB,Y
	BPL	?B9
		PRINT SYNTAX
	JMP	GETCOM
?B9	CMP	MYBUF
	BEQ	MATONE
	INX
	BNE	?B2
	JMP	GETCOM
MATONE	LDX	#0
?B8	INX
	INY
	LDA	VERB,Y
	BMI	?LAST
	CMP	MYBUF,X
	BEQ	?B8
	BNE	?B3
?LAST	AND	#$7F
	CMP	MYBUF,X
	BEQ	GOTVRB
?B3	JSR	INSERR
	JMP	GETCOM
GOTVRB	STX	X3
	LDX	VRBN
	LDA	VFG,X
	BNE	?VB
	INC	VFG,X
	JSR	GTSCR
?VB	LDX	X3
	INX
	LDA	MYBUF,X
	CMP	#EOL
	BNE	?B5
	JMP	TRANS
?B5	CMP	#$20
	BEQ	GTNOUN
	JMP	?B3
GTNOUN	INX
	STX	X2
	LDX	#0
?N1	STX	NOUNN
	LDY	NL,X
	LDA	NOUN,Y
	BMI	NONUN
	LDX	X2
	CMP	MYBUF,X
	BEQ	GOTNUN
	LDX	NOUNN
	INX
	BNE	?N1
GOTNUN	INX
	INY
	LDA	NOUN,Y
	BMI	?NLAST
	CMP	MYBUF,X
	BEQ	GOTNUN
	BNE	?N3
?NLAST	AND	#$7F
	CMP	MYBUF,X
	BNE	?N3
	INX
	LDA	MYBUF,X
	CMP	#EOL
	BEQ	TRANS
?N3	JSR	INSERR
	JMP	GETCOM
NONUN	LDX	X2
	JSR	INSERR
	JMP	GETCOM
;---------------------
;insert -error & print
;---------------------
INSERR	STX	X1
	LDX	#0
?B4	LDA	MYBUF,X
	STA	OUTBUF,X
	INX
	CPX	X1
	BNE	?B4
?B0	LDY	#0
?B7	LDA	ERR,Y
	STA	OUTBUF,X
	INX
	INY
	CPY	#7
	BNE	?B7
	LDY	X1
	LDA	MYBUF,Y
	CMP	#EOL
	BEQ	?B11
	ORA	#$80
	STA	OUTBUF,X
?B6	INY
	INX
	LDA	MYBUF,Y
?B11	STA	OUTBUF,X
	CMP	#EOL
	BNE	?B6
?B12		PRINT OUTBUF
	RTS
;---------------
;handle input
;---------------
TRANS	LDA	VRBN
	ASL	A
	TAX
	LDA	JTAB,X
	STA	JPER+1
	LDA	JTAB+1,X
	STA	JPER+2
JPER	JSR	$FFFF
	JMP	GETCOM
;---------------
;pr cat
;-------
JCT		PRINT CATLOG
		PRINT T1
		PRINT T2
		PRINT T3
		PRINT T4
		PRINT T5
	RTS
;------
;dump st
;-------
JDM	LDX	NOUNN
	BEQ	?JD1
		PRINT COMERR
	RTS
?JD1	LDA	NFG
	BNE	?JD3
	INC	NFG
	JSR	GTSCR
?JD3		PRINT WALN
		PRINT CODE2
	LDX	#3
?JD2	STX	X1
		PRINT PG1
	LDX	X1
	DEX
	BPL	?JD2
		PRINT PG2
		PRINT PG3
		PRINT PG4
	RTS
;------
;eng tap
;-------
JEN	LDX	NOUNN
	CPX	#1
	BEQ	?JEN1
	CPX	#3
	BNE	?RMM
	JMP	ROMB
?RMM		PRINT COMERR
	RTS
?JEN1	JSR	PASWRD
	BCC	?JEN3
	RTS
?JEN3		PRINT TAPNAM
	JSR	INPUT
	LDX	#0
?EN3	STX	TAPEN
	LDY	TN,X
	LDA	TNAM,Y
	BMI	NOTAP
	CMP	MYBUF
	BEQ	?EN2
?EN6	LDX	TAPEN
	INX
	BNE	?EN3
NOTAP		PRINT NOTAVL
	LDA	#$FF
	STA	TAPEN
	RTS
?EN2	LDX	#0
?EN5	INX
	INY
	LDA	TNAM,Y
	BMI	?EN4
	CMP	MYBUF,X
	BNE	?EN6
	BEQ	?EN5
?EN4	AND	#$7F
	CMP	MYBUF,X
	BNE	NOTAP
	LDX	TAPEN
	LDA	EFG,X
	BNE	?ENA
	INC	EFG,X
	JSR	GTSCR
?ENA		PRINT TREAD
	RTS
;----------
;launch
;----------
JLA		PRINT ROBLA
	JSR	PUTCR
	INC	PAUSE?
	LDA	SCORE
	CMP	#42
	BEQ	?Z1
		PRINT MISSON
	JSR	FINI
	LDA	#$FD
	LDX	#$00
	JSR	FWAIT
	STX	$022F
	STX	$D01D
	LDA	#$40
	STA	NMIEN
	LDA	#$2A
	STA	$02C8
	LDX	#$E4
	LDY	#$5F
	LDA	#6
	JSR	SETVBV
	LDX	#$E4
	LDY	#$62
	LDA	#7
	JSR	SETVBV
	LDA	#0
	LDX	#3
?KK	STA	HPOSP0,X
	DEX
	BPL	?KK
	LDA	#$FF
	LDX	#$A0
	JSR	FWAIT
	LDA	#0
	STA	$02C8
?Z3	JMP	?Z3
?Z1	LDA	#'.
	STA	MISSON+19
		PRINT MISSON
		PRINT CONGRT
	JSR	FINI
	JMP	?Z3
;---------
;good bye!
;---------
FINI	JSR	PUTCR
		PRINT COMP
		PRINT COMP1
	RTS
;------
;time killer
;------
FWAIT	STA	RTCLOK-1
	STX	RTCLOK
?FW	LDA	RTCLOK-1
	BMI	?FW
	RTS
;-------
;play tape
;---------
JPL	LDX	NOUNN
	CPX	#1
	BEQ	?PL3
		PRINT COMERR
	RTS
?PL3	JSR	PASWRD
	BCC	?PL1
	RTS
?PL1	LDA	TAPEN
	BPL	?PL2
		PRINT NREAD
	RTS
?PL2	ASL	A
	TAX
	LDA	ETAB,X
	STA	EJMP+1
	LDA	ETAB+1,X
	STA	EJMP+2
EJMP	JSR	$FFFF
	LDX	TAPEN
	LDA	PLFG,X
	BNE	?PP
	INC	PLFG,X
	JSR	GTSCR
?PP	JMP	GETCOM
;---------
;ret dat
;---------
JRE		PRINT RTPRG
	LDX	#41
?JR3	LDA	SCRTAB,X
	STA	OUTBUF,X
	DEX
	BPL	?JR3
	LDA	#4
	JSR	OPENF
	BPL	?JR1
?JR2		PRINT NODAT
	JSR	CLOSE2
?JR1	LDA	#$07
	JSR	REWR
	LDX	#41
?JR5	LDA	SCRTAB,X
	ORA	OUTBUF,X
	STA	SCRTAB,X
	DEX
	BPL	?JR5
	JSR	GTSCR
	RTS
;-------
;store dat
;-------
JST		PRINT STPRG
	LDA	#8
	JSR	OPENF
	BMI	?JR2
	LDA	#$0B
	JSR	REWR
	RTS
;-----
;open file
;-----
OPENF	PHA
	JSR	CLOSE2
	PLA
	LDX	#$20
	STA	AUX1,X
	LDA	#3
	STA	ICCOM,X
	LDA	#>DISK
	STA	ICBAH,X
	LDA	#<DISK
	STA	ICBAL,X
	LDA	#0
	STA	AUX2,X
	JSR	CIOV
	RTS
;----
;close 2
;-----
CLOSE2	LDX	#$20
	LDA	#$0C
	STA	ICCOM,X
	JSR	CIOV
	RTS
;------
;read/write
;------
REWR	LDX	#$20
	STA	ICCOM,X
	LDA	#>SCRTAB
	STA	ICBAH,X
	LDA	#<SCRTAB
	STA	ICBAL,X
	LDA	#36
	STA	ICBLL,X
	LDA	#0
	STA	ICBLH,X
	JSR	CIOV
	JSR	CLOSE2
	RTS
;--------
;write prog
;--------
JWR	LDX	NOUNN
	CPX	#2
	BNE	?W3
	JSR	PASWRD
	BCC	?W1
	RTS
?W1		PRINT WM
	JSR	INPUT
	LDA	MYBUF
	CMP	#$31
	BCS	?W2
?W3		PRINT COMERR
	RTS
?W2	CMP	#$33
	BCS	?W3
	SEC
	SBC	#$31
	STA	TYPE
	BNE	?W4
	LDA	#>W1
	STA	CPH
	LDA	#<W1
	STA	CPL
	JMP	?W5
?W4	LDA	#>W2
	STA	CPH
	LDA	#<W2
	STA	CPL
?W5	LDX	#0
?W7	STX	X1
	LDA	#$20
	JSR	EPUT
	LDA	#$30
	JSR	EPUT
	LDA	X1
	ORA	#$30
	JSR	EPUT
	LDA	#$20
	JSR	EPUT
	JSR	INPUT
	LDX	X1
	LDY	WT,X
	INX
	LDA	WT,X
	STA	X2
	LDX	#0
?W9	LDA	MYBUF
	CMP	#EOL
	BEQ	?WH
	LDA	MYBUF,X
	CMP	(CPL),Y
	BEQ	?W6
	CMP	#EOL
	BEQ	?W8
?WH	LDX	X1
	LDA	TYPE
	BNE	?WD
	LDA	W1FG,X
	BEQ	?WG
	DEC	W1FG,X
?WF	JSR	GTSCR
?WG	JMP	?W10
?WD	LDA	W2FG,X
	BEQ	?WG
	DEC	W2FG,X
	JMP	?WF
?W10	LDX	X1
	INX
	CPX	#8
	BNE	?W7
		PRINT DONE
	RTS
?W6	CPY	X2
	BEQ	?W10
	INX
	INY
	JMP	?W9
?W8	LDX	X1
	LDA	TYPE
	BNE	?WB
	LDA	W1FG,X
	BNE	?WC
	INC	W1FG,X
?WA	JSR	GTSCR
?WC	JMP	?W10
?WB	LDA	W2FG,X
	BNE	?WC
	INC	W2FG,X
	JMP	?WA
;--------
;print routines
;--------
POR		PRINT ORM
	RTS
PAN		PRINT ANM
	RTS
PLA		PRINT LAM
		PRINT LAM1
	RTS
PLU		PRINT LUM
		PRINT LUM1
	RTS
PST		PRINT STM
	RTS
;------
;password
;--------
PASWRD	LDA	PFG
	BEQ	?PS1
	CLC
	RTS
?PS1		PRINT PASPMT
	JSR	INPUT
	LDX	#$FF
	LDY	#$FE
?PS2	INX
	INY
	INY
	LDA	MYBUF,X
	CMP	WALN,Y
	BNE	DENY
	CPX	#5
	BNE	?PS2
		PRINT ACCES
	LDA	#1
	STA	PFG
	CLC
	RTS
DENY		PRINT ACDENY
	SEC
	RTS
;--------
;score
;--------
GTSCR	LDA	#0
	STA	SCORE
	LDX	#41
?GT	LDA	SCRTAB,X
	CLC
	ADC	SCORE
	STA	SCORE
	DEX
	BPL	?GT
	LDX	#0
?GT3	SEC
	SBC	#$0A
	BMI	?GT2
	BEQ	?GT4
	INX
	BNE	?GT3
?GT2	CLC
	ADC	#$0A
?GT5	ORA	#$10
	STA	BOTTOM+80
	TXA
	ORA	#$10
	STA	BOTTOM+79
	RTS
?GT4	INX
	LDA	#0
	BEQ	?GT5
;-----------
;rom-b
;-----------
ROMB	LDA	RNOUN
	BNE	?RMZ
	INC	RNOUN
	JSR	GTSCR
?RMZ	LDA	ROMFLG
	BNE	ROMOK
		PRINT PASPMT
	JSR	INPUT
	LDX	#$FF
	LDY	#$FE
?RMA	INX
	INY
	INY
	LDA	MYBUF,X
	CMP	CODE2,Y
	BNE	?RME
	CPX	#5
	BNE	?RMA
	BEQ	?RMB
?RME		PRINT ACDENY
	RTS
?RMB	INC	ROMFLG
	JSR	GTSCR
		PRINT ACCES
ROMOK		PRINT LENG
	JSR	PUTCR
		PRINT OPT
	JSR	PUTCR
		PUTTER RB1
	LDX	#0
	JSR	DOSCRE
		PUTTER RB2
	LDX	#1
	JSR	DOSCRE
		PUTTER RB3
	LDX	#2
	JSR	DOSCRE
		PUTTER RB4
	LDX	#3
	JSR	DOSCRE
	RTS
;-----------
;my put mess routine
;-----------
MYPUT	STA	INDR+1
	STX	INDR
	LDY	#0
?MYA	LDA	(INDR),Y
	BMI	?MYB
	STY	X2
	JSR	EPUT
	LDY	X2
	INY
	BNE	?MYA
?MYB	AND	#$7F
	JSR	EPUT
	LDA	#$20
	JSR	EPUT
	RTS
;---------
;handle rom-b score
;---------
DOSCRE	STX	X1
	JSR	INPUT
	LDX	X1
	LDA	MYBUF
	CMP	RMTAB,X
	BEQ	?DS1
	LDA	#0
?DS2	STA	RMLFLG,X
	JSR	GTSCR
	RTS
?DS1	LDA	#1
	BNE	?DS2
;--------
TRMACT	.BYTE	"Terminal Activated",EOL
VERB	.BYTE	+$FB,"catalogdumpengage"
	.BYTE	+$FB,"launchplayretrieve"
	.BYTE	+$FB,"storewrite",$FF
NOUN	.BYTE	+$FB,"stacktapeprogramrom-b",$FF
W1	.BYTE	+$FB,"ind 98std regaind 2std regbind 70std regcfro 4312halt",$FF
W2	.BYTE	+$FB,"ind 93std regaind 1std regbind 32std regcfro 2134halt",$FF
WALN	.BYTE	+$FB,"a n a l o g",EOL
CODE2	.BYTE	"0 1 1 0 0 1",EOL
VL	.BYTE	0,7,11,17,23,27,35,40,45
NL	.BYTE	0,5,9,16,21
TNAM	.BYTE	"originantarexlandinglaunchingstatus",$FF
TN	.BYTE	0,6,13,20,29,35
NOTAVL	.BYTE	"no such .",EOL
NREAD	.BYTE	". not .",EOL
TREAD	.BYTE	". .",EOL
STPRG	.BYTE	"storing .",EOL
RTPRG	.BYTE	"retrieving .",EOL
PG1	.BYTE	"0 0 0 0 0 0",EOL
PG2	.BYTE	"0 0 0 7 d 4",EOL
PG3	.BYTE	"b 0 e f 1 c",EOL
PG4	.BYTE	"4 0 9 2 a e",EOL
SYNTAX	.BYTE	". command",EOL
ERR	.BYTE	"-error "
CATLOG	.BYTE	"library .s",EOL
T1	.BYTE	" origin",EOL
T2	.BYTE	" .",EOL
T3	.BYTE	" .",EOL
T4	.BYTE	" .",EOL
T5	.BYTE	" status",EOL
;-----
LENG	.BYTE	". control",EOL
OPT	.BYTE	"1. open 2. close 3. neutral",EOL
RB1	.CBYTE	"gyro control"
RB2	.CBYTE	"hydro-lift valve"
RB3	.CBYTE	"rb42 valve"
RB4	.CBYTE	"fraber switch"
RMTAB	.BYTE	"2131"
COMERR	.BYTE	". operation",EOL
TAPNAM	.BYTE	"which .?",EOL
ORM	.BYTE	". was sent from . to warn earth that it is on a . . with a .."
	.BYTE	" . has sensors to ga.r .. when . returns to . we will alter . . "
	.BYTE	"of . . and avoid a ..",EOL
ANM	.BYTE	". is . fourth planet from . star grindl in a parallel universe. "
	.BYTE	". has 2 moons and a gravitational force of 70. it has a diameter of 17,000 .. "
	.BYTE	". is 98 million . from grindl.",EOL
LAM	.BYTE	"the . . . .. . commands. .d,st .lt is used to end .ming. . is stored in",EOL
LAM1	.BYTE	"3 registers: reg a,re.gc. . distance from . star is put in rega. moo.ity . regc. . . . 4312."
	.BYTE	EOL
LUM	.BYTE	". . . . .. . com .. . d,fro,halt. halt is used.egc. . distan.oon data . reg. grav",EOL
LUM1	.BYTE	".he . . rev. fer to rom-b.",EOL
STM	.BYTE	"all systems are functioning except . . and . auto .ming were "
	.BYTE	"disrupted during a magnetic storm.",EOL
PASPMT	.BYTE	"password?",EOL
ACDENY	.BYTE	". denied",EOL
ACCES	.BYTE	". allowed",EOL
DONE	.BYTE	". done",EOL
WM	.BYTE	"1. . 2. . .?",EOL
WT	.BYTE	0,6,14,19,27,33,41,49,53
ROBLA	.BYTE	"robox ...",EOL
MISSON	.BYTE	"your mission was a .",EOL
CONGRT	.BYTE	"congratulations...",EOL
COMP	.BYTE	"game compliments of",EOL
COMP1	.BYTE	"Barry Kolbe and Bryan Schappel",EOL
TOKADR	.WORD	R1
	.WORD	R2
	.WORD	R3
	.WORD	R4
	.WORD	R5
	.WORD	R6
	.WORD	R7
	.WORD	R8
	.WORD	R9
	.WORD	RA
	.WORD	RB
	.WORD	RC
	.WORD	RD
	.WORD	RE
	.WORD	RF
	.WORD	RG
	.WORD	RH
	.WORD	RI
	.WORD	RJ
	.WORD	RK
	.WORD	RL
	.WORD	RM
	.WORD	RN
	.WORD	RO
;---------
R1	.CBYTE	"tape"
R2	.CBYTE	"data"
R3	.CBYTE	"..data lost.."
R4	.CBYTE	"ready"
R5	.CBYTE	"robox"
R6	.CBYTE	"antarex"
R7	.CBYTE	"collision"
R8	.CBYTE	"access"
R9	.CBYTE	"program"
RA	.CBYTE	"consists of an 8 step"
RB	.CBYTE	"miles"
RC	.CBYTE	"meteor"
RD	.CBYTE	"there are 4"
RE	.CBYTE	"landing"
RF	.CBYTE	"launching"
RG	.CBYTE	"must be put in"
RH	.CBYTE	"course"
RI	.CBYTE	"illegal"
RJ	.CBYTE	"they are: in"
RK	.CBYTE	"is stored in"
RL	.CBYTE	"firing order is"
RM	.CBYTE	"the"
RN	.CBYTE	"failure"
RO	.CBYTE	"success"
NODAT	.BYTE	"disk file error",EOL
DISK	.BYTE	"D:BOX.DAT",EOL
SCRTAB
VFG	.BYTE	0,0,0,0,0,0,0,0
EFG	.BYTE	0,0,0,0,0
PLFG	.BYTE	0,0,0,0,0
W1FG	.BYTE	0,0,0,0,0,0,0,0
W2FG	.BYTE	0,0,0,0,0,0,0,0
NFG	.BYTE	0
PFG	.BYTE	0
ROMFLG	.BYTE	0
RNOUN	.BYTE	0
RMLFLG	.BYTE	0,0,0,0
JTAB	.WORD	JCT
	.WORD	JDM
	.WORD	JEN
	.WORD	JLA
	.WORD	JPL
	.WORD	JRE
	.WORD	JST
	.WORD	JWR
;-------
ETAB	.WORD	POR
	.WORD	PAN
	.WORD	PLA
	.WORD	PLU
	.WORD	PST
;--------
OUTBUF	*=	*+60
	.OPT	LIST
ENDPRG	*=	*+1
	*=	$02E0
	.WORD	BEGIN
	.OPT	NOLIST
	.END

;------------------------
;SYSTEM EQUATES FILE FOR
;ATARI HOME COMPUTERS
;------------------------
;
;DISK I/O
;
DSKINV	=	$E453
SIOV	=	$E459
DDEVIC	=	$0300
DUNIT	=	$0301	;D: UNIT
DCOMND	=	$0302	;D: command
DSTATS	=	$0303
DBUFLO	=	$0304	;sector buffer
DBUFHI	=	$0305
DTIMLO	=	$0306
DBYTLO	=	$0308
DBYTHI	=	$0309
DSECLO	=	$030A	;sector #
DSECHI	=	$030B
;
;CIO ROUTINES
;
CIOV	=	$E456	;CIO vector
ICCOM	=	$0342	;command
ICBAL	=	$0344	;buffer address
ICBAH	=	$0345
ICBLL	=	$0348	;buffer len
ICBLH	=	$0349
AUX1	=	$034A
AUX2	=	$034B
RUNAD	=	$02E0
INITAD	=	$02E2
;
;SCREEN HANDLER/INTERRUPTS
;
VDSLST	=	$0200	;DLI vector
VBREAK	=	$0206	;BRK vector
VKEYBD	=	$0208	;keyboard vec
SRTIMR	=	$022B	;key repeat
SDMCTL	=	$022F	;DMA control
SDLSTL	=	$0230	;display list
PCOLR0	=	$02C0
PCOLR1	=	$02C1
PCOLR2	=	$02C2
PCOLR3	=	$02C3
COLOR0	=	$02C4
COLOR1	=	$02C5
COLOR2	=	$02C6
COLOR3	=	$02C7
COLOR4	=	$02C8
CHBAS	=	$02F4	;char set
SETVBV	=	$E45C
SYSVBV	=	$E45F
XITVBV	=	$E462
NMIEN	=	$D40E
VCOUNT	=	$D40B
CHBASE	=	$D409
WSYNC	=	$D40A
CHACT	=	$02F3
CHACTL	=	$D401
CRSINH	=	$02F0
CHRSET	=	$E000	;ROM characters
;
;MISC.
;
CONSOL	=	$D01F	;console keys
RTCLOK	=	$14
CH	=	$02FC
MEMLO	=	$02E7
SHFLOK	=	$02BE
WARMSV	=	$E474
COLDSV	=	$E477
LBUFF	=	$0580
EOL	=	$9B
;
;Device Vectors
;
HATABS	=	$031A
EDITRV	=	$E400
SCRENV	=	$E410
KEYBDV	=	$E420
PRINTV	=	$E430
CASETV	=	$E440
;
;PAGE ZERO LOCATIONS
;
CASINI	=	$02
TRAMSZ	=	$06
WARMST	=	$08
BOOT?	=	$09
DOSVEC	=	$0A
DOSINI	=	$0C
POKMSK	=	$10
BRKKEY	=	$11
SOUNDR	=	$41
CRITIC	=	$42
ATRACT	=	$4D
KEYDEF	=	$79
LMARGN	=	$52
RMARGN	=	$53
ROWCRS	=	$54
COLCRS	=	$55
SAVMSC	=	$58
RAMTOP	=	$6A
;
;FLOATING POINT
;
FR0	=	$D4
FRE	=	$DA
FR1	=	$E0
FR2	=	$E6
FRX	=	$EC
EEXP	=	$ED
NSIGN	=	$EE
ESIGN	=	$EF
FCHRFLG	=	$F0
DIGRT	=	$F1
CIX	=	$F2
INBUFF	=	$F3
RADFLG	=	$FB
AFP	=	$D800
FASC	=	$D8E6
IFP	=	$D9AA
FPI	=	$D9D2
ZFR0	=	$DA44
ZF1	=	$DA46
FSUB	=	$DA60
FADD	=	$DA66
FMUL	=	$DADB
FDIV	=	$DB28
PLYEVL	=	$DD40
FMOVE	=	$DDB6
EXP	=	$DDC0
EXP10	=	$DDCC
LOG	=	$DECD
LOG10	=	$DED1
;
;STICK, PADDLES, TRIGGERS
;
PADDL0	=	$0270
PADDL1	=	$0271
PADDL2	=	$0272
PADDL3	=	$0273
STICK0	=	$0278
STICK1	=	$0279
PTRIG0	=	$027C
PTRIG1	=	$027D
PTRIG2	=	$027E
PTRIG3	=	$027F
STRIG0	=	$0284
STRIG1	=	$0285
;
;AUDIO CONTROL
;
AUDF1	=	$D200
AUDC1	=	$D201
AUDF2	=	$D202
AUDC2	=	$D203
AUDF3	=	$D204
AUDC3	=	$D205
AUDF4	=	$D206
AUDC4	=	$D207
AUDCTL	=	$D208
SKCTL	=	$D20F
;
;P/M GRAPHICS
;
PMBASE	=	$D407
GPRIOR	=	$026F
HPOSP0	=	$D000
HPOSP1	=	$D001
HPOSP2	=	$D002
HPOSP3	=	$D003
M0PF	=	$D000
M1PF	=	$D001
M2PF	=	$D002
M3PF	=	$D003
HPOSM0	=	$D004
HPOSM1	=	$D005
HPOSM2	=	$D006
HPOSM3	=	$D007
P0PF	=	$D004
P1PF	=	$D005
P2PF	=	$D006
P3PF	=	$D007
SIZEP0	=	$D008
SIZEP1	=	$D009
SIZEP2	=	$D00A
SIZEP3	=	$D00B
M0PL	=	$D008
M1PL	=	$D009
M2PL	=	$D00A
M3PL	=	$D00B
SIZEM	=	$D00C	;missile size
P0PL	=	$D00C	;player/pf
P1PL	=	$D00D
P2PL	=	$D00E
P3PL	=	$D00F
COLPM0	=	$D012
COLPM1	=	$D013
COLPM2	=	$D014
COLPM3	=	$D015
COLPF0	=	$D016
COLPF1	=	$D017
COLPF2	=	$D018
COLPF3	=	$D019
COLBK	=	$D01A
GRACTL	=	$D01D
HITCLR	=	$D01E
GRAFP0	=	$D00D
GRAFP1	=	$D00E
GRAFP2	=	$D00F
GRAFP3	=	$D010
GRAFM	=	$D011
CHARSET	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$18,$18,$18
	.BYTE	$18,$00,$18,$00
	.BYTE	$00,$66,$66,$66
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$66,$FF,$66
	.BYTE	$66,$FF,$66,$00
	.BYTE	$18,$7E,$60,$7E
	.BYTE	$06,$7E,$18,$00
	.BYTE	$00,$66,$6C,$18
	.BYTE	$30,$66,$46,$00
	.BYTE	$1C,$36,$1C,$38
	.BYTE	$6F,$66,$3B,$00
	.BYTE	$00,$18,$18,$18
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$1E,$1C,$18
	.BYTE	$18,$1C,$1E,$00
	.BYTE	$00,$78,$38,$18
	.BYTE	$18,$38,$78,$00
	.BYTE	$00,$66,$3C,$FF
	.BYTE	$3C,$66,$00,$00
	.BYTE	$00,$18,$18,$7E
	.BYTE	$18,$18,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$1C,$1C,$38
	.BYTE	$00,$00,$00,$7E
	.BYTE	$7E,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$1C,$1C,$00
	.BYTE	$00,$00,$07,$0C
	.BYTE	$18,$30,$E0,$00
	.BYTE	$00,$7E,$66,$6E
	.BYTE	$76,$66,$7E,$00
	.BYTE	$00,$78,$18,$18
	.BYTE	$18,$18,$7E,$00
	.BYTE	$00,$7E,$06,$7E
	.BYTE	$60,$60,$7E,$00
	.BYTE	$00,$7E,$06,$3E
	.BYTE	$06,$06,$7E,$00
	.BYTE	$00,$6C,$6C,$6C
	.BYTE	$7C,$0C,$0C,$00
	.BYTE	$00,$7E,$60,$7E
	.BYTE	$06,$06,$3E,$00
	.BYTE	$00,$7C,$60,$7E
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$7E,$06,$0E
	.BYTE	$1C,$38,$30,$00
	.BYTE	$00,$7E,$66,$3C
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$7E,$66,$7E
	.BYTE	$06,$06,$7E,$00
	.BYTE	$00,$38,$38,$00
	.BYTE	$38,$38,$00,$00
	.BYTE	$00,$38,$38,$00
	.BYTE	$38,$38,$38,$70
	.BYTE	$00,$1E,$30,$60
	.BYTE	$30,$1E,$00,$00
	.BYTE	$00,$00,$7E,$00
	.BYTE	$00,$7E,$00,$00
	.BYTE	$00,$78,$0C,$06
	.BYTE	$0C,$78,$00,$00
	.BYTE	$00,$7E,$66,$0C
	.BYTE	$18,$00,$18,$00
	.BYTE	$00,$7E,$66,$6E
	.BYTE	$6E,$60,$7E,$00
	.BYTE	$00,$7E,$66,$66
	.BYTE	$7E,$66,$66,$00
	.BYTE	$00,$7E,$66,$7C
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$7E,$60,$60
	.BYTE	$60,$60,$7E,$00
	.BYTE	$00,$7C,$66,$66
	.BYTE	$66,$66,$7C,$00
	.BYTE	$00,$7E,$60,$7C
	.BYTE	$60,$60,$7E,$00
	.BYTE	$00,$7E,$60,$7C
	.BYTE	$60,$60,$60,$00
	.BYTE	$00,$7E,$60,$60
	.BYTE	$6E,$66,$7E,$00
	.BYTE	$00,$66,$66,$7E
	.BYTE	$66,$66,$66,$00
	.BYTE	$00,$38,$38,$38
	.BYTE	$38,$38,$38,$00
	.BYTE	$00,$06,$06,$06
	.BYTE	$06,$66,$7E,$00
	.BYTE	$00,$60,$66,$6C
	.BYTE	$7E,$66,$66,$00
	.BYTE	$00,$60,$60,$60
	.BYTE	$60,$66,$7E,$00
	.BYTE	$00,$63,$77,$7F
	.BYTE	$63,$63,$63,$00
	.BYTE	$00,$7C,$66,$66
	.BYTE	$66,$66,$66,$00
	.BYTE	$00,$7E,$66,$66
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$7E,$66,$66
	.BYTE	$7E,$60,$60,$00
	.BYTE	$00,$7E,$66,$66
	.BYTE	$66,$6C,$76,$00
	.BYTE	$00,$7E,$66,$66
	.BYTE	$7C,$6C,$66,$00
	.BYTE	$00,$7C,$60,$7E
	.BYTE	$06,$06,$3E,$00
	.BYTE	$00,$7E,$18,$18
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$66,$66,$66
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$66,$66,$66
	.BYTE	$66,$3C,$18,$00
	.BYTE	$00,$63,$63,$63
	.BYTE	$7F,$77,$63,$00
	.BYTE	$00,$66,$66,$3C
	.BYTE	$3C,$66,$66,$00
	.BYTE	$00,$66,$66,$7E
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$7E,$6C,$18
	.BYTE	$30,$66,$7E,$00
	.BYTE	$00,$1E,$18,$18
	.BYTE	$18,$18,$1E,$00
	.BYTE	$00,$00,$E0,$30
	.BYTE	$18,$0C,$07,$00
	.BYTE	$00,$78,$18,$18
	.BYTE	$18,$18,$78,$00
	.BYTE	$00,$08,$1C,$36
	.BYTE	$63,$63,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$FF,$FF
	.BYTE	$00,$00,$3C,$7E
	.BYTE	$00,$7E,$3C,$00
	.BYTE	$00,$5D,$54,$5D
	.BYTE	$00,$01,$00,$01
	.BYTE	$00,$01,$00,$11
	.BYTE	$10,$11,$00,$00
	.BYTE	$C0,$C0,$C0,$C0
	.BYTE	$C0,$C0,$C0,$C0
	.BYTE	$C0,$C0,$C0,$C0
	.BYTE	$D0,$CC,$FC,$00
	.BYTE	$00,$00,$30,$78
	.BYTE	$CC,$C6,$03,$00
	.BYTE	$00,$0C,$1E,$33
	.BYTE	$61,$C0,$80,$00
	.BYTE	$00,$00,$3F,$7F
	.BYTE	$E0,$C0,$C0,$C0
	.BYTE	$00,$00,$FF,$FF
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$FC,$FE
	.BYTE	$07,$73,$3B,$1B
	.BYTE	$C0,$C0,$C0,$C0
	.BYTE	$C0,$C0,$C0,$C0
	.BYTE	$03,$03,$03,$03
	.BYTE	$03,$03,$03,$03
	.BYTE	$C0,$D8,$D8,$CC
	.BYTE	$E0,$7F,$3F,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$FF,$FF,$00
	.BYTE	$03,$03,$03,$03
	.BYTE	$07,$FE,$FC,$00
	.BYTE	$FF,$81,$81,$81
	.BYTE	$81,$81,$81,$FF
	.BYTE	$00,$00,$0F,$08
	.BYTE	$08,$08,$F8,$00
	.BYTE	$00,$00,$E0,$20
	.BYTE	$20,$20,$3F,$00
	.BYTE	$00,$10,$18,$FC
	.BYTE	$FC,$18,$10,$00
	.BYTE	$00,$08,$18,$3F
	.BYTE	$3F,$18,$08,$00
	.BYTE	$00,$00,$00,$FF
	.BYTE	$FF,$00,$00,$00
	.BYTE	$00,$00,$03,$03
	.BYTE	$03,$03,$00,$00
	.BYTE	$00,$00,$C0,$C0
	.BYTE	$C0,$C0,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$00,$00,$00
	.BYTE	$00,$18,$3C,$7E
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$18,$18,$18
	.BYTE	$7E,$3C,$18,$00
	.BYTE	$00,$18,$30,$7E
	.BYTE	$30,$18,$00,$00
	.BYTE	$00,$18,$0C,$7E
	.BYTE	$0C,$18,$00,$00
	.BYTE	$00,$18,$3C,$7E
	.BYTE	$7E,$3C,$18,$00
	.BYTE	$00,$00,$7E,$06
	.BYTE	$7E,$66,$7E,$00
	.BYTE	$00,$60,$60,$7E
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$00,$7C,$60
	.BYTE	$60,$60,$7C,$00
	.BYTE	$00,$06,$06,$7E
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$00,$7E,$66
	.BYTE	$7E,$60,$7C,$00
	.BYTE	$00,$1E,$18,$7E
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$00,$7E,$66
	.BYTE	$66,$7E,$06,$7E
	.BYTE	$00,$60,$60,$7E
	.BYTE	$66,$66,$66,$00
	.BYTE	$00,$18,$00,$38
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$06,$00,$06
	.BYTE	$06,$06,$06,$3E
	.BYTE	$00,$60,$60,$6C
	.BYTE	$78,$6C,$66,$00
	.BYTE	$00,$38,$18,$18
	.BYTE	$18,$18,$18,$00
	.BYTE	$00,$00,$C6,$EE
	.BYTE	$FE,$C6,$C6,$00
	.BYTE	$00,$00,$7E,$66
	.BYTE	$66,$66,$66,$00
	.BYTE	$00,$00,$7E,$66
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$00,$7E,$66
	.BYTE	$66,$7E,$60,$60
	.BYTE	$00,$00,$7E,$66
	.BYTE	$66,$7E,$06,$06
	.BYTE	$00,$00,$7E,$66
	.BYTE	$60,$60,$60,$00
	.BYTE	$00,$00,$7E,$60
	.BYTE	$7E,$06,$7E,$00
	.BYTE	$00,$18,$7E,$18
	.BYTE	$18,$18,$1E,$00
	.BYTE	$00,$00,$66,$66
	.BYTE	$66,$66,$7E,$00
	.BYTE	$00,$00,$66,$66
	.BYTE	$66,$3C,$18,$00
	.BYTE	$00,$00,$63,$63
	.BYTE	$7F,$3E,$36,$00
	.BYTE	$00,$00,$66,$3C
	.BYTE	$18,$3C,$66,$00
	.BYTE	$00,$00,$66,$66
	.BYTE	$66,$7E,$0E,$7E
	.BYTE	$00,$00,$7E,$0E
	.BYTE	$18,$70,$7E,$00
	.BYTE	$00,$18,$3C,$7E
	.BYTE	$7E,$18,$3C,$00
	.BYTE	$18,$18,$18,$18
	.BYTE	$18,$18,$18,$18
	.BYTE	$00,$7E,$78,$7C
	.BYTE	$6E,$66,$06,$00
	.BYTE	$08,$18,$38,$78
	.BYTE	$38,$18,$08,$00
	.BYTE	$10,$18,$1C,$1E
	.BYTE	$1C,$18,$10,$00
; SAVE#D:ROBOX4.M65
;
DLIST	.BYTE	$70,$70,$70,$F0,$42
	.WORD	STATUS
	.BYTE	$A0,$42
	.WORD	SCMEM
	.BYTE	2,2,2,2,2,2,2,2,2,2,2
	.BYTE	2,2,2,2,$A0,$42
	.WORD	BOTTOM
	.BYTE	2,2,2,$42
	.WORD	BOTTOM
	.BYTE	$41
	.WORD	DLIST
;
;Introduction Display List
;
IDLST	.BYTE	$70,$70,$70,$70,$70
	.BYTE	$70,$70,$70,$70,$42
	.WORD	ITEXT
	.BYTE	$70,$02,$41
	.WORD	IDLST
;
A2I	.BYTE	$40,$00,$20,$60
I2A	.BYTE	$20,$40,$00,$60
DLICLRS	.BYTE	$04,$92,$02
DLICLRS2	.BYTE	$0A,$0A,$0C
BOXPOS	.BYTE	111,115,119,123,127,131,135,139
;
STATUS	.SBYTE	". Terminal Type: XV-BBK/7M:QSO ."
BOTTOM	.SBYTE	". ........ .......... ........ ."
	.SBYTE	"   ....                  ....   "
	.SBYTE	"   ....  .. .. 00 ..  .. ....   "
	.SBYTE	"   ....  ..           .. ....   "
ITEXT	.SBYTE	"             press              "
	.SBYTE	"             START              "
;
;Special Keys codes
;
KEYS	.BYTE	$FF,$FE,$FD,$9F,$9E
	.BYTE	$9D,$9C,$9B,$7F,$7E
	.BYTE	$7D,$1F,$1E,$1D,$1C
	.BYTE	$1B
;INTRO PLAYER POSITS
PLXPOS	.BYTE	64,95,129,160
;
INTRO	LDA	#<IDLST
	STA	SDLSTL
	LDA	#>IDLST
	STA	SDLSTL+1
	LDA	#0
	STA	COLOR2
	STA	COLOR4
;
	LDY	#0
SETC1	STY	COLOR1
	JSR	WAITJIFF
	JSR	WAITJIFF
	INY
	CPY	#16
	BNE	SETC1
	LDA	#1
	STA	GPRIOR
;
WAITCN	LDA	CONSOL
	CMP	#6
	BNE	WAITCN
;
	LDA	#<DLIST
	STA	SDLSTL
	LDA	#>DLIST
	STA	SDLSTL+1
;
	LDY	#3
SETP1	LDA	#$FF
	STA	GRAFP0,Y
	LDA	#0
	STA	PCOLR0,Y
	LDA	#3
	STA	SIZEP0,Y
	DEY
	BPL	SETP1
;
	LDX	#61
MOVP1	LDY	#3
MOVP2	LDA	PLXPOS,Y
	STA	HPOSP0,Y
	DEY
	BPL	MOVP2
	JSR	WAITJIFF
	JSR	WAITJIFF
	JSR	WAITJIFF
	DEC	PLXPOS
	DEC	PLXPOS+1
	INC	PLXPOS+2
	INC	PLXPOS+3
	DEX
	BPL	MOVP1
	LDA	#0
	LDX	#3
CLRP1	STA	HPOSP0,X
	DEX
	BPL	CLRP1
	RTS
WAITJIFF	PHA
	LDA	#0
	STA	RTCLOK
WAITJ1	LDA	RTCLOK
	BEQ	WAITJ1
	PLA
	RTS
;
ERASEPM	LDA	#0
	TAY
ERPM	STA	PLR0,Y
	STA	PLR1,Y
	STA	PLR2,Y
	STA	PLR3,Y
	INY
	BNE	ERPM
	RTS
;
;Put a byte to the screen
;
CLRSCR	LDA	#125
EPUT	CMP	#EOL	;a CR?
	BNE	TRYDEL
PUTCR	LDA	#0
	STA	XPOS
	INC	YPOS
	JMP	SCROLL
;
TRYDEL	CMP	#126	;delete?
	BNE	TRYCLR
	JSR	MOVELEFT
	JSR	GETSCR
	LDA	#0
	TAY
	STA	(SCR),Y
	RTS
TRYCLR	CMP	#125
	BNE	NORMAL
	LDY	#0
	TYA
CLRSC	STA	SCMEM,Y
	STA	SCMEM+$0100,Y
	STA	SCMEM+$0200,Y
	INY
	BNE	CLRSC
	STA	XPOS
	STA	YPOS
	RTS
;
NORMAL	JSR	ASC2IC
	PHA
	JSR	GETSCR
	LDY	#0
	PLA
	STA	(SCR),Y
;
GORIGHT	LDX	XPOS
	INX
	CPX	#$20
	BCC	EPLEAV
	INC	YPOS
	JSR	SCROLL
	LDX	#0
EPLEAV	STX	XPOS
	RTS
;
MOVELEFT	LDA	XPOS
	TAX
	ORA	YPOS
	BEQ	GOLEAV
	DEX
	BPL	GOX
	LDX	#31
	LDY	YPOS
	BNE	MVUP
	LDX	#0
	BEQ	GOX
MVUP	DEC	YPOS
GOX	STX	XPOS
GOLEAV	RTS
;
GETSCR	LDA	#<[SCMEM-32]
	STA	SCR
	LDA	#>[SCMEM-32]
	STA	SCR+1
	LDY	YPOS
GETSC1	LDA	SCR
	CLC
	ADC	#$20
	STA	SCR
	BCC	GODWN
	INC	SCR+1
GODWN	DEY
	BPL	GETSC1
	LDA	SCR
	CLC
	ADC	XPOS
	STA	SCR
	BCC	GETSCDN
	INC	SCR+1
GETSCDN	RTS
;
SCROLL	LDY	YPOS
	CPY	#BOTLIN
	BCC	SCMOVEDN
	LDA	#BOTLIN-1
	STA	YPOS
	LDA	#<SCMEM
	STA	SCR
	LDA	#>SCMEM
	STA	SCR+1
	LDA	#<[SCMEM+32]
	STA	SCR2
	LDA	#>[SCMEM+32]
	STA	SCR2+1
	LDX	#0
SCMOVE	LDY	#31
SCMOVIT	LDA	(SCR2),Y
	STA	(SCR),Y
	DEY
	BPL	SCMOVIT
	LDA	SCR2+1
	STA	SCR+1
	LDA	SCR2
	STA	SCR
	CLC
	ADC	#$20
	STA	SCR2
	LDA	SCR2+1
	ADC	#0
	STA	SCR2+1
	INX
	CPX	#BOTLIN
	BNE	SCMOVE
SCMOVEDN	RTS
;
;
ASC2IC	JSR	BITER
	ORA	A2I,X
	LDX	SAVX2
	RTS
;
;
IC2ASC	JSR	BITER
	ORA	I2A,X
	LDX	SAVX2
	RTS
;
BITER	PHA
	ROL	A
	ROL	A
	ROL	A
	ROL	A
	AND	#3
	STX	SAVX2
	TAX
	PLA
	AND	#$9F
	RTS
;
EPUTX	STX	SAVEX
	JSR	EPUT
	LDX	SAVEX
	RTS
;
GETKEY	LDA	CH
	CMP	#$FF
	BEQ	GETKEY
	LDX	#$FF
	STX	CH
	STA	OLDC
K0	TAY
	CPY	#192
	BCC	K1
	LDY	#$9A
K1	LDA	(KEYDEF),Y
	STA	OLDAC
	CMP	#$80
	BEQ	GETKEY
	CMP	#$81
	BNE	K2
	LDA	PAUSE?
	EOR	#1
	STA	PAUSE?
	JMP	GETKEY
;
K2	CMP	#$82
	BNE	K3
	LDA	CAPS
	EOR	#$40
	STA	CAPS
	JMP	GETKEY
;
K3	CMP	#$83
	BNE	K4
	LDA	#$40
	STA	CAPS
	BNE	GETKEY
;
K4	CMP	#$84
	BNE	K5	;click?
	LDA	CLICK?
	EOR	#1
	STA	CLICK?
	JMP	GETKEY
;
K5	CMP	#$85
	BEQ	GETKEY
	LDA	OLDC
	CMP	#64
	BCC	K6
	LDA	OLDAC
	CMP	#97
	BCC	K6
	CMP	#123
	BCS	K6
	LDA	CAPS
	BEQ	K6
	ORA	OLDC
	JMP	K0
;
K6	LDX	#15
K7	LDA	KEYS,X
	CMP	OLDAC
	BEQ	K9
	DEX
	BPL	K7
	LDA	OLDAC
K9	CMP	#$20
	BCC	GETKEY
	LDY	CLICK?
	BEQ	K10
	LDY	#$7F
CLKIT	STY	CONSOL
	LDX	#8
CLK1	DEX
	BNE	CLK1
	DEY
	BPL	CLKIT
K10	RTS
;
EPRINT	JSR	EXPANDIT
	LDA	#<EXPBUF
	STA	INDR
	LDA	#>EXPBUF
	STA	INDR+1
	LDA	#0
	STA	EOLFLAG
PPAGE	LDY	#0
PLINE	LDA	(INDR),Y
	STA	MYBUF,Y
	INY
	CMP	#EOL
	BNE	PLN2
	INC	EOLFLAG
	BNE	BREAK
PLN2	CPY	#LINELEN
	BNE	PLINE
	DEY
SLOOP	LDA	(INDR),Y
	CMP	#32
	BEQ	SBRK
	DEY
	BNE	SLOOP
	LDY	#LINELEN-1
SBRK	INY
BREAK	STY	TEMP
	LDY	#0
COPY	LDA	(INDR),Y
	STY	SAVEY
	CMP	#EOL
	BEQ	COP1
	JSR	EPUT
COP1	LDA	PAUSE?
	BEQ	RESY
	JSR	WAITJIFF
	JSR	WAITJIFF
RESY	LDY	SAVEY
	INY
	CPY	TEMP
	BNE	COPY
	TYA
	CLC
	ADC	INDR
	STA	INDR
	BCC	EPRPOS
	INC	INDR+1
EPRPOS	LDA	XPOS
	BEQ	EOLTEST
	JSR	PUTCR
EOLTEST	LDA	EOLFLAG
	BEQ	PPAGE
	RTS
;
EXPANDIT	STA	INDR
	STY	INDR+1
	LDX	#$FF	;RESULT
	LDY	#$FF	;ENTRY
EXP1	INY
	INX
	LDA	(INDR),Y
	STA	EXPBUF,X
	CMP	#EOL
	BNE	EXP2
	RTS		;FINISHED!
EXP2	AND	#$7F
	CMP	#$20
	BCS	EXP1
	LDA	(INDR),Y
	BPL	EXPNV
	AND	#$7F
	CLC
	ADC	#$20
EXPNV	STY	SAVEY
	ASL	A
	TAY
	LDA	TOKADR,Y
	STA	EXPADR+1
	LDA	TOKADR+1,Y
	STA	EXPADR+2
	LDY	#$FF
	DEX
EXPLP	INY
	INX
EXPADR	LDA	$FFFF,Y
	STA	EXPBUF,X
	BPL	EXPLP
	AND	#$7F
	STA	EXPBUF,X
	LDY	SAVEY
	JMP	EXP1
;Input Routine
;
INPUT	LDA	#'>
	JSR	EPUT
	LDX	#1
	STX	IPUT
	DEX
	STX	ILEN
;
INLOOP	STX	SAVEX
	JSR	GETKEY
	LDX	SAVEX
	CMP	#EOL
	BEQ	INDONE
	AND	#$7F
	CMP	#$20
	BCC	INLOOP
	CMP	#126	;Delete?
	BNE	INEXT
	CPX	#$00
	BEQ	INLOOP
	DEX
	JSR	EPUTX
	JMP	INLOOP
;
INEXT	CMP	#96
	BEQ	INLOOP
	CMP	#123
	BCS	INLOOP
	STA	CHAR
	CMP	#'A
	BCC	NOTUP
	CMP	#'Z+1
	BCS	NOTUP
	CLC
	ADC	#$20
NOTUP	CPX	#63
	BEQ	INLOOP
	STA	MYBUF,X
	LDA	CHAR
	JSR	EPUTX
	INX
	BNE	INLOOP
;
INDONE	STA	MYBUF,X
	STX	ILEN
	DEC	IPUT
	JMP	EPUT
;
VBLANK	CLD
	LDA	#0
	TAX
VBL1	STA	PLR0,X
	INX
	BNE	VBL1
	LDA	IPUT
	BEQ	VBI1.OUT
	LDA	XPOS
	ASL	A
	ASL	A
	CLC
	ADC	#48+16
	STA	HPOSP0
	LDA	YPOS
	ASL	A
	ASL	A
	ASL	A
	CLC
	ADC	#39+19
	TAX
;
	LDA	SRTIMR
	BEQ	BLINK?
;
	LDA	#$F0
	STA	PLR0,X
	STA	CSHAPE
	LDA	#60
	STA	BLINK
;
BLINK?	LDA	CSHAPE
	DEC	BLINK
	BNE	VEXIT
;
	LDY	#30
	STY	BLINK
	EOR	#$F0
	STA	CSHAPE
VEXIT	STA	PLR0,X
;
VBI1.OUT	INC	MYCNT2
	LDA	MYCNT2
	CMP	#2
	BNE	VBI1.XIT
	LDA	#0
	STA	MYCNT2
ROTAT	LDX	#7
MAPSCV	LDA	CHARSET+$0230,X	;^F
	ASL	A
	STA	CHARSET+$0230,X
	ROL	CHARSET+$0228,X
	BCC	MAPP2
	LDA	#1
	CLC
	ADC	CHARSET+$0230,X
	STA	CHARSET+$0230,X
MAPP2	LDA	CHARSET+$0288,X
	ASL	A
	STA	CHARSET+$0288,X
	ROL	CHARSET+$0280,X
	BCC	MAPP3
	LDA	#1
	CLC
	ADC	CHARSET+$0288,X
	STA	CHARSET+$0288,X
MAPP3	DEX
	BPL	MAPSCV
VBI1.XIT	JMP	XITVBV
;
;Immediate Vblank
;
VBI2	LDA	#0
	STA	DLIDX
	LDX	GOFLAG
	BEQ	VBI2.XIT
	INC	MYCOUNT
	LDX	MYCOUNT
	CPX	#8
	BNE	VBI2.XIT
	STA	MYCOUNT
	LDY	BLKPOS
	INY
	CPY	#8
	BNE	NON0
	LDY	#0
NON0	STY	BLKPOS
	LDA	BOXPOS,Y
	STA	HPOSP1
	TYA
	EOR	#7
	TAY
	LDA	BOXPOS,Y
	STA	HPOSP2
;
	LDY	#12
VB2F	LDA	CHARSET+$0218,Y
	CMP	#$D0
	BEQ	VB2FN
	DEY
	BPL	VB2F
	INY
VB2FN	LDA	#$C0
	STA	CHARSET+$0218,Y
	LDA	#$D0
	CPY	#0
	BNE	VB2OK
	LDY	#13
VB2OK	STA	CHARSET+$0217,Y
VBI2.XIT	JMP	SYSVBV
;
;Display List Interrupt
;
DLI1	PHA
	TXA
	PHA
	LDX	DLIDX
	LDA	DLICLRS,X
	STA	COLPF2
	STA	WSYNC
	LDA	DLICLRS2,X
	STA	COLPF1
	STA	WSYNC
	INC	DLIDX
	PLA
	TAX
	PLA
	RTI
;
;Routine Test
;
BEGIN	LDA	KEYDEF
	ORA	KEYDEF+1
	BNE	GOCLR
	LDA	#$FE
	STA	KEYDEF
	STA	KEYDEF+1
GOCLR	JSR	CLRSCR
	STA	IPUT
	STA	COLOR4
	STA	CAPS
	STA	PAUSE?
	INC	PAUSE?
	STA	CLICK?
	STA	DLIDX
	STA	BLKPOS
	STA	MYCOUNT
	STA	MYCNT2
	STA	GOFLAG
	LDA	#>CHARSET
	STA	CHBAS
	LDA	#$F0
	STA	CSHAPE
	LDA	#30
	STA	BLINK
	LDA	#61
	STA	SDMCTL
	LDA	#7
	LDY	#<VBLANK
	LDX	#>VBLANK
	JSR	SETVBV
	LDA	#6
	LDY	#<VBI2
	LDX	#>VBI2
	JSR	SETVBV
	LDA	#<DLI1
	STA	VDSLST
	LDA	#>DLI1
	STA	VDSLST+1
	LDA	#$C0
	STA	NMIEN
	JSR	INTRO
	LDA	#>MYPM
	STA	PMBASE
	LDA	#3
	STA	GRACTL
	JSR	ERASEPM
	STA	SIZEP0
	STA	SIZEP1
	STA	SIZEP2
	LDA	#$44
	STA	PCOLR0
	LDA	#$38
	STA	PCOLR1
	LDA	#$A8
	STA	PCOLR2
	INC	GOFLAG
	LDY	#5
	LDA	#$78
DEFP1	STA	PLR1+183,Y
	STA	PLR2+215,Y
	DEY
	BPL	DEFP1