8-Bit Software Online Conversion
:2.$.SC_ASS - Listing
2 MODE 7
5 IF PAGE<>&3000 THEN PAGE=&3000:CHA
IN"SC`ASS"
10 PROCass
12 *SAVE"SC`MC" 2420 2FFF
13 END
14
15 DEFPROCass
20 FOR I%=0 TO 2 STEP 2
30 P%=11740
40 [OPT I%
50 .page
60 LDA #0:STA 1082
70 LDX #0:LDY #0:JSR tab
80 LDX #3
90 LDA 1083:BEQ forp
100 LDA #82:JSR &FFE3:BNE pgap1
110 .forp LDA #70:JSR &FFE3
120 .pgap1
130 JSR gap
140 LDA 1113:STA 1118
150 .loop1
160 LDA 1118
170 CMP #16:BCC pline:CLC
180 LDX #12:JSR range:BEQ ncol1
190 .pline LDA #124:JSR &FFE3
200 LDX #5:JSR gap
210 LDA 1118:CLC:ADC #&40:JSR &FFE3
220 LDX #5:JSR gap
230 .ncol1
240 LDA 1118:SEC:SBC 1113:CLC
250 CMP #2:BEQ nline1
260 INC 1118:BCC loop1
270 .nline1
280 JSR resetG
290 LDA 1112:STA 1119
300 .loop2
310 LDA 1113:STA 1118
320 LDA 1119
330 CMP #31:BCC cknum1
340 LDX #40:JSR range:BPL nextrow
350 .cknum1
360 CMP #10:BCS nospc
370 LDX #1:JSR gap
380 .nospc
390 JSR hexcon:JSR phex
400 LDX #2:JSR gap
410 LDA &7A:BNE testk1
420 LDA &7B:CMP #&30:BNE testk1
430 LDA 1083:BEQ findk1:JSR missone
440 .findk1
450 LDY 1112:LDX 1113:JSR kcalc
460 .testk1
470 LDA 1069:BNE ft1
480 LDA 1068:BEQ loop3
490 .ft1 JSR findterm
500 .loop3 JSR innerloop
510 .nextrow
520 LDA #0:STA 1069
530 LDA 1119:SEC:SBC 1112:CLC
540 CMP #14:BEQ lastrow
550 INC 1119:BNE loop2
560 .lastrow
570 RTS
580 .innerloop LDX #12
590 LDA 1118:CMP #16:BCC ploop2
600 CLC:JSR range:BCC nextcol
610 .ploop2
620 LDY #0:LDA #32:JSR &FFE3:DEX
630 .ploop3 JSR incG:LDA (&7A),Y
640 CMP #124:BNE ploop4:JSR gap
650 BCC nextcol
660 .ploop4
670 CMP #39:BNE ploop5
680 JSR incG:LDA (&7A),Y
690 .repeat
700 JSR &FFE3:DEX:BNE repeat
710 JSR incG:BCC nextcol
720 .ploop5
730 JSR &FFE3:DEX:BNE ploop6
740 JSR missone:BCC nextcol
750 .ploop6
760 JSR incG:LDA (&7A),Y
770 CMP #124:BNE ploop5
780 JSR gap
790 .nextcol
800 JSR missone
810 LDA 1118:SEC:SBC 1113:CLC
820 CMP #2:BEQ lastcol
830 INC 1118:BCC innerloop
840 .lastcol
850 LDA 1113:CMP #14:BCS ploop8
860 LDA #24:STA 1068:BCC ploop9
870 .ploop8
880 LDA #15:SBC 1113:ASL A
890 STA 1068:LDA #28:SEC
900 SBC 1068:STA 1068:CLC
910 .ploop9
920 RTS
930 .incG
940 INC &7A:BNE incGno:INC &7B
950 .incGno
960 RTS
970 .gap
980 PHA
990 .gap1
1000 LDA #32:JSR &FFE3
1010 DEX:BNE gap1
1020 PLA:RTS
1030 .tab
1040 PHA:LDA #31:JSR &FFEE
1050 TXA:JSR &FFEE
1060 TYA:JSR &FFEE:PLA
1070 RTS
1080 .range
1090 LDA #42:JSR &FFE3
1100 DEX:BNE range
1110 RTS
1120 .resetG
1130 LDA #0:STA &7A
1140 LDA #&30:STA &7B
1150 RTS
1160 .hexcon
1170 TAX
1180 BEQ zero1
1190 LDA #0
1200 SED
1210 CLC
1220 .back
1230 ADC #1:CLC:DEX
1240 BNE back
1250 CLD
1260 RTS
1270 .phex
1280 TAX
1290 LSR A
1300 LSR A
1310 LSR A
1320 LSR A
1330 BEQ notens
1340 CLC:ADC #&30:JSR &FFE3
1350 .notens
1360 TXA:AND #&0F
1370 .zero1
1380 CLC:ADC #&30:JSR &FFE3
1390 RTS
1400 .missone
1410 LDA 1118:CMP #16:BCS mol3
1420 .mol1
1430 JSR incG
1440 LDY #0:LDA (&7A),Y:CMP #124
1450 BNE mol1
1460 .mol3
1470 CLC:RTS
1480 .kcalc
1490 LDA #0:STA 1068:STA 1069
1500 .kcall1 DEY:BEQ kcall2
1510 LDA 1068:CLC:ADC #30:STA 1068
1520 BCC kcall1:INC 1069:CLC
1530 BCC kcall1
1540 .kcall2 DEX:BEQ kcall3
1550 LDA 1068:CLC:ADC #2:STA 1068
1560 BCC kcall2:INC 1069:CLC
1570 BCC kcall2
1580 .kcall3 CLC:RTS
1590 .findterm
1600 JSR incG
1610 .find1 LDY #0:LDA (&7A),Y
1620 CMP #124:BNE findterm
1630 LDA 1068:BNE find2:DEC 1069
1640 .find2 DEC 1068:BNE findterm
1650 LDA 1069:BEQ find3:BNE findterm
1660 .find3
1670 LDA &7A:STA &7E
1680 LDA &7B:STA &7F
1690 CLC:RTS
1700 ]
1710 NEXT
1720
2000 REM *SAVE"MOVE.MC" 2BCA 2DDB
2010 FOR I%=0 TO 2 STEP 2
2020 P%=11210
2030 [OPT I%
2040 .findbox
2050 JSR &2F60
2060 LDA 1083:BEQ fb1:JSR &2F8F
2070 .fb1
2080 LDA &7A:STA &7E
2090 LDA &7B:STA &7F
2100 JSR findk
2110 LDA #0:STA &75:JSR loadA
2120 RTS
2130 .findk
2140 LDY 1114:LDX 1115:JSR &2FA3
2150 LDA 1069:BNE fk1
2160 LDA 1068:BEQ fk2
2170 .fk1 JSR &2FD5
2180 .fk2 RTS
2190 .loadA
2200 LDY #0:LDA (&7A),Y
2210 .ldA1 INY
2220 LDA (&7A),Y:STA (&73),Y
2230 CMP #124:BNE ldA1
2240 DEY:STY &75
2250 RTS
2260 .printA
2270 LDY #0:LDA (&7A),Y
2280 JSR &FFE3:JSR &2F35
2290 LDA (&7A),Y:CMP #124
2300 BNE printA:RTS
2310 .printspc
2320 LDA #32:JSR &FFE3
2330 DEX:BNE printspc
2340 RTS
2350 .printL
2360 LDY #0:LDX &78:BNE pL1:RTS
2370 .pL1
2380 INY:LDA (&76),Y:JSR &FFEE
2390 TYA:CMP &78:BCC pL1
2400 CLC:RTS
2410 .move
2420 LDY 1116:LDX 1117:JSR &2F47
2430 TAY
2440 LDA #32:JSR &FFE3
2450 LDA #8:JSR &FFE3
2460 TYA
2470 CMP #136:BNE m1
2480 LDY #4:CPY 1117:BCS m4
2490 LDA 1117:SEC:SBC #12:STA 1117
2500 LDA #0:BEQ mck
2510 .m1 CLC
2520 CMP #137:BNE m2
2530 LDY 1117:CPY #28:BCS m4
2540 LDY 1115:CPY #15:BCS m4
2550 LDA 1117:ADC #12:STA 1117
2560 LDA #0:BEQ mck
2570 .m2 CLC
2580 CMP #138:BNE m3
2590 LDY 1116:CPY #15:BCS m4
2600 LDY 1114:CPY #30:BCS m4
2610 INC 1116:LDA #0:BEQ mck
2620 .m3 CLC
2630 CMP #139:BNE m4
2640 LDY #1:CPY 1116:BCS m4
2650 DEC 1116:LDA #0
2660 .mck CLC
2670 CMP #0:BEQ resetflag
2680 .m4 CLC
2690 CMP #136:BNE m5
2700 LDY #1:CPY 1113:BCS resetflag
2710 DEC 1113:BCC setflag
2720 .m5 CLC
2730 CMP #137:BNE m6
2740 LDY 1113:CPY #13:BCS resetflag
2750 INC 1113:BCC setflag
2760 .m6 CLC
2770 CMP #138:BNE m7
2780 LDY 1112:CPY #16:BCS resetflag
2790 INC 1112:BCC setflag
2800 .m7 CLC
2810 CMP #139:BNE resetflag
2820 LDY #1:CPY 1112:BCS resetflag
2830 DEC 1112
2840 .setflag
2850 LDA #&FF:STA 1082:BNE setcol
2860 .resetflag
2870 LDA #0:STA 1082
2880 .setcol
2890 LDY #0:LDA 1117
2900 .sc1
2910 SEC:SBC #12:BMI sc2
2920 INY:BPL sc1
2930 .sc2
2940 TYA:CLC
2950 ADC 1113:STA 1115
2960 LDA 1116:CLC:ADC 1112
2970 STA 1114:DEC 1114
2980 RTS
2990 .addtoline
3000 LDY &78:CPY #38:BCC al1
3010 CLC:RTS
3020 .al1
3030 INY:STY &78
3040 STA (&76),Y:RTS
3050 .delete
3060 LDY &78:BNE dl1:RTS
3070 .dl1
3080 DEY:STY &78:RTS
3090 .edit
3100 LDY #0:LDA &75:BNE e1
3110 STA &78:RTS
3120 .e1
3130 INY:LDA (&73),Y:STA (&76),Y
3140 STY &78:CPY &75:BCC e1
3150 CLC:RTS
3160 .changeflag
3170 LDA 1083:BEQ cf1
3180 LDA #0:BEQ cf2
3190 .cf1 LDA #&FF
3200 .cf2 STA 1083
3210 LDA &FF:STA 1082:RTS
3220 .incM
3230 INC &7C:BNE incMno:INC &7D
3240 .incMno RTS
3250 .reformat
3260 LDA #0:STA &80
3270 LDA #&30:STA &81:LDY #0
3280 .r1
3290 LDA #124:STA (&80),Y
3300 INC &80:BNE r2:INC &81
3310 .r2
3320 LDA &81:CMP #&33:BCC r1
3330 LDA &80:CMP #134:BCC r1:CLC
3340 .setup
3350 LDA #&10:STA &70
3360 LDA #&30:STA &73
3370 LDA #&60:STA &76
3380 LDA #&0C:STA &71
3390 STA &74:STA &77
3400 LDA #0:STA 1083
3410 STA &72:STA &75:STA &78
3420 .home
3430 LDA #1:STA 1112:STA 1113
3440 STA 1114:STA 1115
3450 .home2
3460 LDA #1:STA 1116:LDA #4:STA 1117
3470 LDA #0:STA 1118:STA 1119
3480 LDA #&FF:STA 1082:RTS
3490 ]
3500 NEXT
3510
4000 REM *SAVE"INSERT.MC" 2960 2BC9
4010 A%=10592
4020 FOR I%=0 TO 2 STEP 2
4030 P%=A%
4040 [OPT I%
4050 .insertcontrol
4060 LDA 1083:BNE sizecheck
4070 JSR sizecheck
4080 LDA #&FF:STA 1083
4090 JSR &2BCA:JSR &2F8F
4100 JSR insertcontrol
4110 LDA #0:STA 1083:RTS
4120 .sizecheck
4130 LDA &78:BNE sz1:RTS
4140 .sz1
4150 CMP &75:BNE sz2:JSR equal:BCC sz4
4160 .sz2
4170 BCC sz3:JSR greater:BCC sz4
4180 .sz3
4190 JSR lesser
4200 .sz4
4210 LDA #&FF:STA 1082:RTS
4220 .equal
4230 LDA &7E:STA &7C
4240 LDA &7F:STA &7D:LDY #1
4250 .eq1 CLC
4260 LDA (&76),Y:STA (&7C),Y
4270 INY:STY &72
4280 LDA &78:CMP &72:BCS eq1
4290 RTS
4300 .greater
4310 LDA &78:SEC:SBC &75
4320 CLC:STA &72:ADC &80
4330 STA &7C:STA &88
4340 LDA #0:ADC &81:CLC
4350 STA &7D:STA &89:LDY #0
4360 .g1
4370 LDA (&80),Y:STA (&7C),Y
4380 LDA &80:BNE g2:DEC &81
4390 .g2 DEC &80
4400 LDA &7C:BNE g3:DEC &7D
4410 .g3 DEC &7C
4420 LDA &7C:CMP &7A:BNE g1
4430 LDA &7B:CMP &7D:BCC g1
4440 LDA &88:STA &80
4450 LDA &89:STA &81
4460 LDA &7A:CLC:ADC &72:STA &7A
4470 LDA #0:ADC &7B:STA &7B
4480 JMP equal
4490 .lesser
4500 LDA &75:SEC:SBC &78:STA &72
4510 LDA &7A:SEC:SBC &72
4520 STA &7C:STA &88
4530 LDA &7B:SBC #0
4540 STA &7D:STA &89:CLC
4550 JSR closegap
4560 LDA &88:STA &7A
4570 LDA &89:STA &7B
4580 JMP equal
4590 .closegap
4600 LDY #0
4610 LDA (&7A),Y:STA (&7C),Y
4620 JSR &2D6C:JSR &2F35
4630 LDA &80:CMP &7A:BCS closegap
4640 LDA &7B:CMP &81:BCC closegap
4650 LDA &7C:STA &80
4660 LDA &7D:STA &81
4670 RTS
4680 .errortrap
4690 LDA #0:STA 1082
4700 LDA 1115
4710 CLC:CMP #1:BCC error
4720 LDA #15
4730 CLC:CMP 1115:BCC error
4740 LDA 1114
4750 CLC:CMP #1:BCC error
4760 LDA #30
4770 CLC:CMP 1114:BCC error:RTS
4780 .error
4790 LDA #&FF:STA 1082:RTS
4800 .print
4810 LDY #0
4820 PLA:STA &88
4830 PLA:STA &89
4840 .pt1
4850 INY:LDA (&88),Y
4860 JSR &FFEE:BNE pt1
4870 TYA:CLC:ADC &88:STA &88
4880 BCC pt2:INC &89
4890 .pt2
4900 LDA &89:PHA
4910 LDA &88:PHA:RTS
4920 .setrdz
4930 LDA #&10:STA &0C05
4940 LDA #&0C:STA &0C06
4950 LDA #&03:STA &0C07
4960 LDA #&30:STA &0C08
4970 LDA #&4F:STA &0C09
4980 LDX #&05:LDY #&0C:RTS
4990 .mkc
5000 LDA 1114:JSR &2F69:LDY #0
5010 TAX:LSR A:LSR A:LSR A:LSR A
5020 BEQ notens
5030 CLC:ADC #&30:INY:STA (&70),Y
5040 .notens
5050 TXA:AND #&0F
5060 CLC:ADC #&30:INY:STA (&70),Y
5070 LDA #13:INY:STA (&70),Y
5080 LDA 1115:CLC:ADC #&40
5090 LDY #0:STA (&70),Y
5100 RTS
5110 .prep
5120 LDA #4:STA &84:STA &86
5130 LDA #88:STA &83
5140 LDA #96:STA &85:RTS
5150 .vw`xy
5160 JSR prep:LDY #7
5170 .vw`xy1
5180 LDA (&83),Y:STA (&85),Y
5190 DEY:BPL vw`xy1:RTS
5200 .xy`vw
5210 JSR prep:LDY #7
5220 .xy`vw1
5230 LDA (&85),Y:STA (&83),Y
5240 DEY:BPL xy`vw1:RTS
5250 .z`l
5260 LDX #0
5270 .tr1
5280 LDA &0C10,X:CMP #13:BEQ tr2
5290 LDY &78:INY:STY &78
5300 STA (&76),Y:INX:BNE tr1
5310 .tr2
5320 LDY &78:INY:STY &78
5330 LDA #58:STA (&76),Y
5340 LDX #1:LDY #19:JSR &2F47
5350 JSR &2D2A
5360 LDX #40:JSR &2C21
5370 RTS
5380 .blank
5390 LDA 1110:STA 1096
5400 .blank1
5410 LDA 1096:STA 1114:JSR &2F60
5420 LDA 1108:STA 1115:JSR findterm
5430 LDA &7A:STA &7C
5440 LDA &7B:STA &7D
5450 JSR &2F60:JSR &2F8F
5460 LDA 1109:STA 1115:JSR findterm
5470 JSR &2F8F:LDA 1108:STA 1097
5480 .blank2
5490 JSR stm:JSR stm
5500 INC 1097:CLC
5510 LDA 1109:CMP 1097:BCS blank2
5520 LDA &7A:CMP &7C:BNE nte
5530 LDA &7B:CMP &7D:BEQ eq
5540 .nte
5550 JSR closegap
5560 .eq
5570 INC 1096:CLC
5580 LDA 1111:CMP 1096:BCS blank1
5590 JSR xy`vw
5600 LDA #0:CLC:RTS
5610 .findterm
5620 LDY 1114:LDX 1115:JSR &2FA3
5630 LDA 1069:BNE ft
5640 LDA 1068:BNE ft:RTS
5650 .ft
5660 JSR &2FD5:RTS
5670 .stm
5680 JSR &2D6C:LDY #0
5690 LDA #124:STA (&7C),Y:RTS
5700 ]
5710 NEXT
5720
5730
6000 REM *SAVE"MAIN.MC" 25E4 295F
6005 A%=9700
6010 FOR I%=0 TO 2 STEP 2
6015 P%=A%
6020 [OPT I%
6025 .start
6030 LDA #0:STA 1092:STA &8F
6035 JSR loop1
6040 CMP #92:BNE start:RTS
6045 .loop1
6050 LDA 1082:BEQ nopage:JSR &2DDC
6055 .nopage
6060 LDX #0:LDY #17:JSR &2F47
6065 LDA 1115:CLC:ADC #&40:JSR &FFE3
6070 LDA 1114:JSR &2F69:JSR &2F78
6075 LDA #32:JSR &FFE3:JSR &2BCA
6080 LDX #4:LDY #17:JSR &2F47
6085 JSR &2C10
6090 LDX #70:JSR &2C21
6095 .pl
6100 LDX #0:LDY #19:JSR &2F47
6105 LDA #124:JSR &FFE3
6110 LDA &78:BEQ np1:JSR &2C2A
6115 .np1
6120 LDA #95:JSR &FFE3
6125 LDX #40:JSR &2C21
6130 LDX 1117:LDY 1116:JSR &2F47
6135 LDA #62:JSR &FFE3
6140 LDA #8:JSR &FFE3
6145 JSR &2AB7
6150 JSR read1:CLC
6155 .rc
6160 CMP #127:BNE notdel:JSR &2D39
6165 JMP pl
6170 .notdel
6175 CMP #13:BNE notenter
6180 LDX 1092:BEQ enter:RTS
6185 .enter JSR &2960
6190 LDA #0:STA &78:RTS
6195 .notenter
6200 CMP #61:BNE notshift
6205 JSR shift:RTS
6210 .notshift
6215 CMP #92:BNE notret:RTS
6220 .notret
6225 CMP #135:BNE ckin1:JSR &2DB3
6230 RTS
6235 .ckin1
6240 BCC ckin2:JSR &2C3E
6245 LDA #0:RTS
6250 .ckin2
6255 CMP #39:BNE notrepeat
6260 JSR repeat:RTS
6265 .notrepeat
6270 CMP #32:BCS ckin3:RTS
6275 .ckin3
6280 CLC:CMP #126:BCC ckin4:CLC:RTS
6285 .ckin4
6290 JSR &2D2B:RTS
6295 .read1
6300 JSR &FFE0:CMP #27:BNE notesc1
6305 LDA #126:JSR &FFF4:JMP esc1
6310 .notesc1 RTS
6315 .esc1
6320 JSR esc2
6325 LDA &8F
6330 CMP #67:BNE ep2:JMP Cescrep
6335 .ep2
6340 CMP #66:BNE ep3:JMP Bescrep
6345 .ep3
6350 RTS
6355 .shift CLC
6360 LDX #4:LDY #17:JSR &2F47
6365 JSR &2A78
6370 EQUS"Shift to (C-L)":EQUB0
6375 LDX #40:JSR &2C21
6380 LDX #18:LDY #17:JSR &2F47
6385 .inz
6390 LDA #15:LDX #0:LDY #0:JSR &FFF4
6395 .inz1
6400 JSR rdz:JSR &2A4C
6405 CMP #&FF:BEQ shift
6410 JMP &2DC1
6415 .rdz
6420 JSR &2A99
6425 LDA #0:JSR &FFF1:BCC notesc2
6430 CLC:JMP esc2
6435 .notesc2
6440 LDY #0:LDA (&70),Y
6445 CMP #13:BNE ntc:JSR &2AB7
6450 .ntc
6455 CLC:CMP #57:BCC nocol
6460 SBC #&40:CLC
6465 STA 1115:STA 1113
6470 INY:LDA (&70),Y
6475 .nocol
6480 SEC:SBC #&30
6485 INY:LDX &0C10,Y
6490 CPX #13:BEQ rdz2
6495 TAX:LDA #0
6500 .rdz1
6505 CLC:ADC #10:DEX:BNE rdz1
6510 ADC (&70),Y:SEC:SBC #&30
6515 .rdz2
6520 STA 1114:STA 1112
6525 CLC:RTS
6530 .esc2
6535 LDA #17:STA 1092
6540 LDX #0:LDY #21:JSR &2F47
6545 JSR &2A78
6550 EQUS"ESCAPE":EQUB0
6555 JSR &2AF4
6560 .e1 JSR loop1
6565 CMP #13:BNE e1
6570 JSR &2B0E
6575 LDA 1114:STA 1110
6580 LDA 1115:STA 1108
6585 .e2 JSR loop1
6590 CMP #13:BNE e2
6595 JSR &2B0E
6600 LDA 1114:STA 1111
6605 LDA 1115:STA 1109
6610 JSR &2C3E:JSR &2B01
6615 LDX #0:LDY #21:JSR &2F47
6620 LDX #39:JSR &2C21
6625 LDA #0:STA 1092:RTS
6630 .read
6635 JSR &FFE0:CMP #27:BNE notesc
6640 LDA #126:JSR &FFF4:JMP esc
6645 .notesc RTS
6650 .esc
6655 LDA #0:STA 1082:JMP rp3
6660 .repeat
6665 LDX #0:LDY #21:JSR &2F47
6670 LDA #39:JSR &FFEE
6675 LDA #63:JSR &FFEE
6680 JSR read
6685 CMP #32:BCS ok1:JMP rp3
6690 .ok1
6695 CMP #126:BCC ok:JMP rp3
6700 .ok
6705 LDX #0:LDY #21:JSR &2F47:TAX
6710 LDA #39:JSR &FFEE
6715 LDY #1:STA (&76),Y
6720 TXA:JSR &FFEE:INY
6725 STA (&76),Y:STY &78
6730 LDA #0:STA 1083:JSR &2960
6735 LDA #&FF:STA 1082
6740 .rp3
6745 LDA #0:STA &78
6750 LDX #0:LDY #21:JSR &2F47
6755 LDX #39:JSR &2C21
6760 LDA #&FF:RTS
6765 .copy
6770 LDA #67:STA &8F
6775 TSX:STX &79
6780 JSR &2AF4:JSR bdl
6785 EQUS"COPY ":EQUB0
6790 LDX #1:LDY #19:JSR &2F47
6795 LDY #0:JSR &2C31
6800 JSR sub1
6805 LDA 1114:STA 1130
6810 LDA 1115:STA 1131
6815 JSR &2B01:JSR sub1
6820 LDA 1114:STA 1110
6825 LDA 1115:STA 1108
6830 JSR &2B01:JSR sub1
6835 LDA 1114:STA 1111
6840 LDA 1115:STA 1109
6845 .Cescrep
6850 JSR &2B01
6855 LDA 1130:STA 1114
6860 LDA 1131:STA 1115
6865 JSR &2BCA:JSR &2D42
6870 LDA 1110:STA 1096
6875 .cl1 CLC
6880 LDA 1096:STA 1114
6885 JSR reploop
6890 INC 1096
6895 LDA 1111:CMP 1096:BCS cl1
6900 JSR &2B01
6905 LDA #&FF:STA 1082
6910 LDA #0:STA &78
6915 LDX &79:TXS:RTS
6920 .reploop
6925 LDA 1108:STA 1097
6930 .rep1
6935 LDA 1097:STA 1115
6940 JSR &2BCA:JSR &2F8F
6945 JSR &2960:INC 1097
6950 LDA 1109:CMP 1097:BCS rep1
6955 RTS
6960 .sub1
6965 LDX #1:LDY #19:JSR &2F47
6970 LDY #0:JSR &2C31
6975 JSR rdz:JSR &2B0E
6980 RTS
6985 .bdl
6990 LDX #1
6995 PLA:STA &88
7000 PLA:STA &89
7005 .pt1
7010 TXA:TAY:LDA (&88),Y:BEQ pt2
7015 JSR &2D2B:INX:BNE pt1
7020 .pt2
7025 TXA:CLC:ADC &88:STA &88
7030 BCC pt3:INC &89:CLC
7035 .pt3
7040 LDA &89:PHA
7045 LDA &88:PHA:RTS
7050 .blank
7055 LDA #66:STA &8F
7060 TSX:STX &79
7065 JSR &2AF4:JSR bdl
7070 EQUS"Blank ":EQUB0
7075 JSR sub1
7080 LDA 1114:STA 1110
7085 LDA 1115:STA 1108
7090 JSR sub1
7095 LDA 1114:STA 1111
7100 LDA 1115:STA 1109
7105 .Bescrep
7110 JSR &2B01
7115 LDA #0:STA &78:JSR &2B3A
7120 LDX &79:TXS:RTS
7125 ]
7130 NEXT
7135
7140
8000 *FX4,1
8010 REM *SAVE"COM.MC" 2420 25E2
8020 A%=9248
8030 FOR I%=0 TO 2 STEP 2
8040 P%=A%
8050 [OPT I%
8060 .com1
8070 LDA #0:STA &78
8080 JSR vdu
8090 LDA #21:JSR &FFEE
8100 LDX #0:LDY #5:JSR &2F47
8110 JSR &2A78
8120 EQUS"½A,B,C,E,F,L,R,S "
8130 EQUB0
8140 JSR &FFE0:CMP #27:BNE c1
8150LDA #126:JSR &FFF4:RTS
8160 .c1 PHA
8170 LDX #0:LDY #5:JSR &2F47
8180 LDX #39:JSR &2C21:PLA
8190 CMP #135:BEQ com2
8200 CMP #65:BNE s1:RTS
8210 .s1
8220 CMP #69:BNE c2
8230 JSR &2D42:JMP com3
8240 .c2
8250 CMP #70:BNE c3:JSR &2D58
8260 .c3
8270 CMP #76:BNE c4:JSR load
8280 .c4
8290 CMP #82:BNE c9:JSR reformat
8300 .c9
8310 CMP #83:BNE c5:JSR save
8320 .c5
8330 CMP #135:BEQ com1
8340 .com2
8350 PHA:JSR vdu
8360 LDA #5:JSR &FFEE:PLA
8370 CMP #66:BNE c6:JSR &291B
8380 .c6
8390 CMP #67:BNE c7:JSR &282F
8400 .c7
8410 LDX #0:LDY #21:JSR &2F47
8420 LDX #39:JSR &2C21
8430 LDA #&FF:STA 1082
8440 .com3
8450 JSR vdu
8460 LDA #5:JSR &FFEE
8470 JSR &25E4
8480 JMP com1
8490 .vdu
8500 LDA #28:JSR &FFEE
8510 LDA #0:JSR &FFEE
8520 LDA #27:JSR &FFEE
8530 LDA #39:JSR &FFEE
8540 RTS
8550 .reformat
8560 LDX #0:LDY #5:JSR &2F47
8570 JSR &2A78
8580 EQUS"ARE YOU SURE Y/N "
8590 EQUB0
8600 JSR &27BB
8610 CMP #89:BNE ne:JSR &2D73
8620 INC &80:BNE nc1:INC &81:CLC
8630 .nc1
8640 LDY #0:LDA #&FF:STA (&80),Y
8650 .ne
8660 LDA #0:RTS
8670 .findT
8680 LDA #&30:STA &81:LDY #0
8690 .lf1
8700 LDA (&80),Y:CMP #&FF:BEQ lf3
8710 INC &80:BNE lf2:INC &81:CLC
8720 .lf2 BCC lf1
8730 .lf3 RTS
8740 .save
8750 LDA #12:JSR &FFEE
8760 LDX #0:LDY #1:JSR &2F47
8770 JSR &2A78
8780 EQUS"SAVE ":EQUB0
8790 JSR set:BCS ret
8800 LDY #11:STA (&7A),Y
8810 JSR findT:CLC
8820 LDA #1:ADC &80
8830 LDY #14:STA (&7A),Y
8840 LDA #0:ADC &81
8850 LDY #15:STA (&7A),Y
8860 LDX #&E2:LDY #&02
8870 LDA #0:JSR &FFDD
8880 .ret CLC
8890 LDA #12:JSR &FFEE:RTS
8900 .load
8910 LDA #12:JSR &FFEE
8920 LDX #0:LDY #1:JSR &2F47
8930 JSR &2A78
8940 EQUS"LOAD ":EQUB0
8950 JSR set:BCS ret
8960 LDX #&E2:LDY #&02
8970 LDA #&FF:JSR &FFDD
8980 JSR findT
8990 BEQ ret
9000 .set
9010 JSR name:BCC t1
9020 LDA #0:STA &FF:RTS
9030 .t1
9040 LDA #&E2:STA &7A
9050 LDA #&02:STA &7B
9060 LDA #0:LDY #17
9070 .t2
9080 STA (&7A),Y:DEY:BNE t2
9090 LDA #&10:STA (&7A),Y:INY
9100 LDA #&0C:STA (&7A),Y
9110 LDA #&30:LDY #3:STA (&7A),Y
9120 LDY #7:STA (&7A),Y:RTS
9130 .name
9140 JSR &2A99
9150 LDA #10:STA &0C07
9160 LDA #32:STA &0C08
9170 LDA #126:STA &0C09
9180 CLC:LDA #0:JSR &FFF1:RTS
9190 ] NEXT
9210 ENDPROC