Classic Computer Magazine Archive PROGRAM LISTING: 83-08/TRAIN.PLT


0 R: ��������������
5 R: ANTIC AUGUST 1983
7 R: PHIL & KATHY BERGH
10 GR:QUIT [Clear registers if re-running
20 T:           ANIMATED TRAIN
30 T:
40 T:Please wait while the character set is moved.  This takes about 20 seconds.
50 PA:100
60 R:Train cars poked into CTRL A through H.
70 C:#Z=@176/1024+3 [New RAM character set pointer
80 C:#Z=#Z*1024 [New RAM pointer byte
90 C:#W=#Z [Second new character set pointer
100 C:#A=#Z [Third new character set pointer.
110 C:#Y=@B756*256 [Original character set pointer
120 C:@B756=#A/256 [Use RAM set
130 C:#X=0 [Set loop counter to 0
140 *MOVEIT [Copy ROM into RAM
150 C:@B#Z=@B#Y
160 C:#Y=#Y+1
170 C:#Z=#Z+1
180 C:#X=#X+1
190 J(#X<1024):*MOVEIT
200 C:#W=#W+((1+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL A
210 C:@B#W=7 [Back of caboose
220 C:#W=#W+1
230 C:@B#W=4
240 C:#W=#W+1
250 C:@B#W=127
260 C:#W=#W+1
270 C:@B#W=73
280 C:#W=#W+1
290 C:@B#W=73
300 C:#W=#W+1
310 C:@B#W=255
320 C:#W=#W+1
330 C:@B#W=56
340 C:#W=#W+1
350 C:@B#W=16
360 C:#W=#A  [Reset pointer to beginning of RAM set
370 C:#W=#W+((19+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL S
380 C:@B#W=224 [Front of caboose
390 C:#W=#W+1
400 C:@B#W=32
410 C:#W=#W+1
420 C:@B#W=254
430 C:#W=#W+1
440 C:@B#W=146
450 C:#W=#W+1
460 C:@B#W=146
470 C:#W=#W+1
480 C:@B#W=255
490 C:#W=#W+1
500 C:@B#W=28
510 C:#W=#W+1
520 C:@B#W=8
530 C:#W=#A
540 C:#W=#W+((4+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL D
550 C:@B#W=73 [Back of coal car
560 C:#W=#W+1
570 C:@B#W=0
580 C:#W=#W+1
590 C:@B#W=63
600 C:#W=#W+1
610 C:@B#W=63
620 C:#W=#W+1
630 C:@B#W=63
640 C:#W=#W+1
650 C:@B#W=255
660 C:#W=#W+1
670 C:@B#W=28
680 C:#W=#W+1
690 C:@B#W=8
700 C:#W=#A
710 C:#W=#W+((6+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL F
720 C:@B#W=183 [Front of coal car
730 C:#W=#W+1
740 C:@B#W=0
750 C:#W=#W+1
760 C:@B#W=240
770 C:#W=#W+1
780 C:@B#W=248
790 C:#W=#W+1
800 C:@B#W=252
810 C:#W=#W+1
820 C:@B#W=255
830 C:#W=#W+1
840 C:@B#W=28
850 C:#W=#W+1
860 C:@B#W=8
870 C:#W=#A
880 C:#W=#W+((7+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL G
890 C:@B#W=119 [Back of engine
900 C:#W=#W+1
910 C:@B#W=0
920 C:#W=#W+1
930 C:@B#W=126
940 C:#W=#W+1
950 C:@B#W=99
960 C:#W=#W+1
970 C:@B#W=127
980 C:#W=#W+1
990 C:@B#W=255
1000 C:#W=#W+1
1010 C:@B#W=28
1020 C:#W=#W+1
1030 C:@B#W=8
1040 C:#W=#A
1050 C:#W=#W+((8+64)*8)[OLD ADDRESS+((ATASCII+OFFSET)TIMES 8) CTRL H
1060 C:@B#W=192 [Front of engine
1070 C:#W=#W+1
1080 C:@B#W=48
1090 C:#W=#W+1
1100 C:@B#W=48
1110 C:#W=#W+1
1120 C:@B#W=252
1130 C:#W=#W+1
1140 C:@B#W=252
1150 C:#W=#W+1
1160 C:@B#W=254
1170 C:#W=#W+1
1180 C:@B#W=57
1190 C:#W=#W+1
1200 C:@B#W=16
1210 *GO
1220 POS:2,2
1230 T:}
1240 POS:14,10
1250 T:All Aboard!
1260 C:#P=2
1270 C:@B752=1 [Turn cursor off
1280 POS:2,18
1290 T:



































 [36 CTRL M's
1300 POS:2,17
1310 T: [CTRL A through H
1320 PA:60
1330 *MOVETRAIN
1340 SO:0,0,0,0
1350 POS:#P,17
1360 T:  [Space erases last car
1370 PA:5
1380 C:#P=#P+1
1390 J(#P<32):*MOVETRAIN
1400 C:@B752=0 [Turn cursor back on
1410 T:
1420 T: Type J:*GO to see the train again.
1430 E:

Back to previous page