10 *= 49152 11 .D ML109 14 JMP START 15 SX .BYTE 0 16 SY .BYTE 0 17 SMX .BYTE 0 18 SMY .BYTE 0 19 CX .BYTE 0 20 CY .BYTE 0 21 CMX .BYTE 0 22 CMY .BYTE 0 23 MODE1 .BYTE "NORMAL ":.BYTE 0 24 MODE2 .BYTE "MULTI ":.BYTE 0 25 MODE3 .BYTE "EXTNDED":.BYTE 0 26 MAPADD .BYTE 16 27 DEFAULT1 .BYTE "RIGHT":.BYTE 0 28 DEFAULT2 .BYTE "LEFT ":.BYTE 0 29 DEFAULT3 .BYTE "UP ":.BYTE 0 30 DEFAULT4 .BYTE "DOWN ":.BYTE 0 31 RVS .BYTE 0 32 OFF .BYTE "OFF":.BYTE 0 33 ON .BYTE "ON ":.BYTE 0 34 MO0 .BYTE " ":.BYTE 0 35 MO1 .BYTE "LOADING ":.BYTE 0 36 MO2 .BYTE "SAVING ":.BYTE 0 37 MO3 .BYTE " -FUNCTION- ":.BYTE 0 38 MO4 .BYTE "FILL AREA ":.BYTE 0 39 MO5 .BYTE "FILLING... ":.BYTE 0 40 MO6 .BYTE "SET DEFAULT ":.BYTE 0 41 MO7 .BYTE " 00 COLOR":.BYTE 0 42 MO8 .BYTE " 01 COLOR":.BYTE 0 43 MO9 .BYTE " 10 COLOR":.BYTE 0 44 MO10 .BYTE " 11 COLOR":.BYTE 0 45 MO11 .BYTE " EX COLOR":.BYTE 0 46 MO12 .BYTE " BR COLOR":.BYTE 0 47 MO13 .BYTE " MODE (NME) ":.BYTE 0 48 SETVAL .BYTE 0 49 SETNUM .BYTE 0 50 SETADR .BYTE 0 0 51 MODE .BYTE 0 52 CSRDEF .BYTE 0 53 CSRADD .BYTE 0 0 54 CSRTMP .BYTE 0 55 TABLE1 .BYTE 19 21 23 25 27 29 31 56 TABLE2 .BYTE 8 16 24 32 40 48 56 57 MO14 .BYTE "FILL X ":.BYTE 0 58 MO15 .BYTE "FILL Y ":.BYTE 0 59 MO16 .BYTE "CHARACTER? ":.BYTE 0 60 FILE1 .BYTE "CO.BRDR" 61 FILE2 .BYTE "SC.BRDR" 62 MO17 .BYTE "FILL (AXY) ":.BYTE 0 63 MO18 .BYTE "CHAR SET 1-7":.BYTE 0 64 MO19 .BYTE "“PLEASE ENTER FILENAME FOR LOAD":.BYTE 13 0 65 MO20 .BYTE "“PLEASE ENTER FILENAME FOR SAVE":.BYTE 13 0 66 MO21 .BYTE "“PLEASE INSERT THE MAP MAKER DISK":.BYTE 13 0 67 MO22 .BYTE "SET ADDRESS ":.BYTE 0 68 MO23 .BYTE " MAX X ":.BYTE 0 69 MO24 .BYTE " MAX Y ":.BYTE 0 100 START LDA #64:STA CMX:STA CMY:LDA #40:STA SMX:LDA #47:STA SMY 101 LDA #7:LDX #FILE1:JSR LOAD:LDA #0:STA CX:STA CY:STA SX:STA SY 102 LDA #7:LDX #FILE2:JSR LOAD 103 LDA #0:STA MODE:STA CSRADD:LDA #16:STA MAPADD:STA CSRADD+1 104 LDA #0:STA CSRDEF:LDA #0:STA RVS:LDA #8:JSR $FFD2:LDA #255:STA 650 105 LDA #2:STA SETVAL:LDA #21:STA SETNUM 106 LDA #16:STA SETADR+1:LDA #0:STA SETADR 108 LDA #0:STA 53281:LDA #1:STA 53282:LDA #200:STA 53270:LDA #27:STA 53265 109 LDA #2:STA 53283:LDA #5:STA 53284:LDA #21:STA 53272:LDA #0:STA 53269 110 LDA #3:STA 53280:STA 646 111 LDA #11:JSR MAPCOLR 114 JMP L400 120 MAPCOLR STA 55654:LDX #0 121 L121 STA 55337,X:STA 55377,X:STA 55417,X:STA 55457,X:STA 55497,X 122 STA 55537,X:STA 55577,X:STA 55617,X:STA 55657,X:STA 55697,X:STA 55737,X 123 STA 55777,X:STA 55817,X:STA 55857,X:STA 55897,X:STA 55937,X:STA 55977,X 124 STA 56017,X:INX:CPX #25:BNE L121 126 RTS 130 LOAD JSR $FFBD:LDA #8:TAX:LDY #1 132 JSR $FFBA 134 LDA #0:JSR $FFD5:RTS 136 RTS 140 PRINT STA 2:STX 3 142 L142 LDX #0:LDA (2,X):CMP #0:BNE L144:RTS 144 L144 JSR $FFD2 146 LDA 2:CLC:ADC #1:STA 2:LDA 3:ADC #0:STA 3:JMP L142 200 MAP LDA MAPADD:STA MPBT+6 201 LDA CMX:STA MPBT+19:STA MPBT+67 202 LDA CSRADD:STA 2:LDA CSRADD+1:STA 3:LDX #0:LDA (2,X):STA CSRTMP 203 LDA #255:STA (2,X):LDA SX:LDX SY 204 MPBT .BYTE 24 105 0 133 4 169 16 105 205 .BYTE 0 133 5 224 0 206 .BYTE 240 16 165 4 24 105 64 133 4 207 .BYTE 165 5 105 0 133 5 202 208 240 208 .BYTE 169 41 133 2 169 4 133 3 162 209 .BYTE 17 160 24 177 4 145 2 136 16 210 .BYTE 249 165 2 24 105 40 133 2 165 211 .BYTE 3 105 0 133 3 165 4 24 105 64 212 .BYTE 133 4 165 5 105 0 133 5 202 16 218 219 LDA CSRADD:STA 2:LDA CSRADD+1:STA 3:LDA CSRTMP:LDX #0:STA (2,X):RTS 220 PRMPAD LDY #17:LDX #20:CLC:JSR $E50A 221 LDA MAPADD:LDX #0:JSR $BDCD 222 LDA #32:JSR $FFD2:LDA #32:JSR $FFD2 224 RTS 226 PRCSRDF LDY #17:LDX #21:CLC:JSR $E50A 228 LDA CSRDEF:CMP #0:BEQ L232 229 CMP #1:BEQ L233 230 CMP #2:BEQ L234 231 LDA #DEFAULT4:JMP PRINT 232 L232 LDA #DEFAULT1:JMP PRINT 233 L233 LDA #DEFAULT2:JMP PRINT 234 L234 LDA #DEFAULT3:JMP PRINT 236 PRRVS LDY #16:LDX #22:CLC:JSR $E50A 238 LDA #OFF 240 LDY RVS:CPY #0:BEQ L244 242 LDA #ON 244 L244 JMP PRINT 246 PRCHNUMS LDY #15:LDX #23:CLC:JSR $E50A 248 LDX SETVAL:LDA #0:JSR $BDCD 250 LDY #17:LDX #23:CLC:JSR $E50A 252 LDX SETVAL:CLC:DEX:LDA TABLE1,X 254 TAX:LDA #0:STX 53272:JSR $BDCD 256 LDY #20:LDX #23:CLC:JSR $E50A 257 LDX SETVAL:CLC:DEX:LDA TABLE2,X 258 LDX #0:JSR $BDCD:LDA #32:JSR $FFD2:RTS 260 PRCXY LDX #5:LDY #29:CLC:JSR $E50A 261 LDA #0:LDX CX:INX:JSR $BDCD:LDA #32:JSR $FFD2 262 LDX #6:LDY #29:CLC:JSR $E50A 263 LDA #0:LDX CY:INX:JSR $BDCD:LDA #32:JSR $FFD2:RTS 264 PRCMXY LDX #5:LDY #36:CLC:JSR $E50A:JSR L287 265 LDA #0:LDX CMX:JSR $BDCD 266 LDX #6:LDY #36:CLC:JSR $E50A:JSR L287 267 LDA #0:LDX CMY:JSR $BDCD:RTS 268 PRCHAR LDA CSRADD:STA 2:LDA CSRADD+1:STA 3 269 LDX #0:LDA (2,X):STA 1382 270 LDX #11:LDY #32:CLC:JSR $E50A 271 LDX #0:LDA (2,X):TAX:JSR L287:LDA #0:JSR $BDCD 273 JMP L280 274 PRSXY LDX #15:LDY #29:CLC:JSR $E50A 275 LDA #0:LDX SX:INX:JSR $BDCD:LDA #32:JSR $FFD2:LDX #16:LDY #29:CLC:JSR $E50A 276 LDA #0:LDX SY:INX:JSR $BDCD:LDA #32:JSR $FFD2:RTS 277 PRSMXY LDX #15:LDY #36:CLC:JSR $E50A:JSR L287 278 LDA #0:LDX SMX:JSR $BDCD:LDX #16:LDY #36:CLC:JSR $E50A:JSR L287:LDA #0 279 LDX SMY:JSR $BDCD:RTS 280 L280 LDX #10:LDY #32:CLC:JSR $E50A:LDX #0:LDA (2,X):JSR PKAS:JMP L286 282 PKAS AND #127:CMP #32:BCS L282:CLC:ADC #64:JMP L285 283 L282 CMP #64:BCS L283:JMP L285 284 L283 CMP #96:BCS L284:CLC:ADC #32:JMP L285 285 L284 CLC:ADC #64 286 L285 RTS 287 L286 TAX:JSR L287:LDA #0:JSR $BDCD:RTS 288 L287 LDA #32:JSR $FFD2:LDA #32:JSR $FFD2:LDA #32:JSR $FFD2:LDA #157 289 JSR $FFD2:LDA #157:JSR $FFD2:LDA #157:JSR $FFD2:RTS 290 PRCLR LDX #20:LDY #30:CLC:JSR $E50A:JSR L:LDA 53281:AND #15:TAX:LDA #0 291 JSR $BDCD 292 LDX #21:LDY #30:CLC:JSR $E50A:JSR L:LDA 53283:AND #15:TAX:LDA #0:JSR $BDCD 293 LDX #22:LDY #30:CLC:JSR $E50A:JSR L:LDA 53284:AND #15:TAX:LDA #0:JSR $BDCD 294 LDX #20:LDY #37:CLC:JSR $E50A:JSR L:LDA 53282:AND #15:TAX:LDA #0:JSR $BDCD 295 LDX #21:LDY #37:CLC:JSR $E50A:JSR L:LDA 55378:AND #15:TAX:LDA #0:JSR $BDCD 296 LDX #22:LDY #37:CLC:JSR $E50A:JSR L:LDA 53280:AND #15:TAX:LDA #0:JSR $BDCD 297 RTS 298 L LDA #32:JSR $FFD2:LDA #32:JSR $FFD2 299 LDA #157:JSR $FFD2:LDA #157:JSR $FFD2:RTS 300 PRMODE LDX #23:LDY #32:CLC:JSR $E50A:LDA MODE 301 L301 CMP #0:BNE L302:LDA #MODE1:JMP L304 302 L302 CMP #1:BNE L303:LDA #MODE2:JMP L304 303 L303 LDA #MODE3 304 L304 JMP PRINT 400 L400 JSR PRMPAD:JSR PRCSRDF:JSR PRRVS:JSR PRCHNUMS:JSR PRCXY:JSR PRCMXY 402 JSR PRSXY:JSR PRSMXY:JSR PRCLR:JSR PRMODE 404 L404 JSR PRCHAR 410 LOOP JSR MAP 412 LDX #1:LDY #27:JSR $E50A 414 LDA #MO0:JSR PRINT 416 L416 JSR $F13E:CMP #0:BEQ L416 418 JSR ASPK:JMP L440 420 ASPK CMP #224:BCC L422:SEC:SBC #128:JMP L430 422 L422 CMP #192:BCC L423:SEC:SBC #128:JMP L430 423 L423 CMP #160:BCC L424:SEC:SBC #64:JMP L430 424 L424 CMP #128:BCC L426 425 L425 CMP #160:BCS L426:JMP L431 426 L426 CMP #96:BCC L427:SEC:SBC #64:JMP L430 427 L427 CMP #64:BCC L428:SEC:SBC #64:JMP L430 428 L428 CMP #32:BCC L431 430 L430 CLC:RTS 431 L431 SEC:RTS 440 L440 BCS L441:JMP L600 441 L441 CMP #18:BNE L443 442 LDA #128:STA RVS:JSR PRRVS:JMP LOOP 443 L443 CMP #146:BNE L445 444 LDA #0:STA RVS:JSR PRRVS:JMP LOOP 445 L445 CMP #29:BNE L446:JSR CRIGHT:JMP L404 446 L446 CMP #17:BNE L447:JSR CDOWN:JMP L404 447 L447 CMP #157:BNE L448:JSR CLEFT:JMP L404 448 L448 CMP #145:BNE L450:JSR CUP:JMP L404 450 L450 CMP #133:BNE L452:JMP FUNC 452 L452 JMP LOOP 500 CRIGHT LDX CMX:DEX:TXA:CMP CX:BNE L501:JMP L504 501 L501 LDA CX:CLC:ADC #1:STA CX 502 LDA CSRADD:CLC:ADC #1:STA CSRADD:LDA CSRADD+1:ADC #0:STA CSRADD+1 503 JSR PRCXY:JSR MAP 504 L504 RTS 510 CLEFT LDA CX:CMP #0:BNE L511:JMP L514 511 L511 LDA CX:SEC:SBC #1:STA CX 512 LDA CSRADD:SEC:SBC #1:STA CSRADD:LDA CSRADD+1:SBC #0:STA CSRADD+1 513 JSR PRCXY:JSR MAP 514 L514 RTS 520 CUP LDA CY:CMP #0:BNE L521:JMP L524 521 L521 LDA CY:SEC:SBC #1:STA CY 522 LDA CSRADD:SEC:SBC CMX:STA CSRADD:LDA CSRADD+1:SBC #0:STA CSRADD+1 523 JSR PRCXY:JSR MAP 524 L524 RTS 530 CDOWN LDX CMY:DEX:TXA:CMP CY:BNE L531:JMP L534 531 L531 LDA CY:CLC:ADC #1:STA CY 532 LDA CSRADD:CLC:ADC CMX:STA CSRADD:LDA CSRADD+1:ADC #0:STA CSRADD+1 533 JSR PRCXY:JSR MAP 534 L534 RTS 550 SRIGHT LDX SMX:DEX:TXA:CMP SX:BNE L551:JMP L554 551 L551 LDA SX:CLC:ADC #1:STA SX 553 JSR PRSXY:JSR MAP 554 L554 RTS 560 SLEFT LDA SX:CMP #0:BNE L561:JMP L564 561 L561 LDA SX:SEC:SBC #1:STA SX 563 JSR PRSXY:JSR MAP 564 L564 RTS 570 SUP LDA SY:CMP #0:BNE L571:JMP L574 571 L571 LDA SY:SEC:SBC #1:STA SY 573 JSR PRSXY:JSR MAP 574 L574 RTS 580 SDOWN LDX SMY:DEX:TXA:CMP SY:BNE L581:JMP L584 581 L581 LDA SY:CLC:ADC #1:STA SY 583 JSR PRSXY:JSR MAP 584 L584 RTS 600 L600 LDX CSRADD:STX 2:LDX CSRADD+1:STX 3 602 LDX #0:CLC:ADC RVS:STA (2,X) 604 LDA CSRDEF:CMP #0:BNE L605:JSR CRIGHT:JMP L404 605 L605 CMP #1:BNE L606:JSR CLEFT:JMP L404 606 L606 CMP #2:BNE L607:JSR CUP:JMP L404 607 L607 JSR CDOWN:JMP L404 700 FUNC LDX #1:LDY #27:CLC:JSR $E50A 702 LDA #MO3:JSR PRINT 704 L704 JSR $F13E:CMP #0:BEQ L704 706 CMP #134:BNE L708:JMP L400 708 L708 CMP #68:BNE L710:JMP SEDEF 710 L710 CMP #17:BNE L712:JSR SDOWN:JMP FUNC 712 L712 CMP #29:BNE L714:JSR SRIGHT:JMP FUNC 714 L714 CMP #145:BNE L716:JSR SUP:JMP FUNC 716 L716 CMP #157:BNE L718:JSR SLEFT:JMP FUNC 718 L718 CMP #70:BNE L720:JMP FILL 720 L720 CMP #77:BNE L722:JMP SETMODE 722 L722 CMP #67:BNE L724:JMP SETSET 724 L724 CMP #48:BNE L726:JMP SET00 726 L726 CMP #49:BNE L728:JMP SET01 728 L728 CMP #50:BNE L730:JMP SET10 730 L730 CMP #51:BNE L732:JMP SET11 732 L732 CMP #69:BNE L734:JMP SETEX 734 L734 CMP #66:BNE L736:JMP SETBR 736 L736 CMP #76:BNE L738:JMP DOLOAD 738 L738 CMP #83:BNE L740:JMP DOSAVE 740 L740 CMP #65:BNE L742:JMP SETMAP 742 L742 CMP #88:BNE L744:JMP NEWMX 744 L744 CMP #89:BNE L746:JMP NEWMY 746 L746 JMP L704 800 SEDEF LDX #1:LDY #27:CLC:JSR $E50A 802 LDA #MO6:JSR PRINT 804 L804 JSR $F13E:CMP #0:BEQ L804 806 CMP #17:BNE L807:LDA #3:STA CSRDEF:JSR PRCSRDF:JMP FUNC 807 L807 CMP #29:BNE L808:LDA #0:STA CSRDEF:JSR PRCSRDF:JMP FUNC 808 L808 CMP #145:BNE L809:LDA #2:STA CSRDEF:JSR PRCSRDF:JMP FUNC 809 L809 CMP #157:BNE L810:LDA #1:STA CSRDEF:JSR PRCSRDF:JMP FUNC 810 L810 JMP L804 820 FILL LDX #1:LDY #27:CLC:JSR $E50A 822 LDA #MO17:JSR PRINT 824 L824 JSR $F13E:CMP #0:BEQ L824 826 CMP #65:BNE L828:JMP FILLALL 828 L828 CMP #88:BNE L830:JMP FILLX 830 L830 CMP #89:BNE L832:JMP FILLY 832 L832 JMP FUNC 840 GETCHAR LDX #1:LDY #27:CLC:JSR $E50A 842 LDA #MO16:JSR PRINT 844 L844 JSR $F13E:CMP #0:BEQ L844 846 JSR ASPK 848 BCS L844:CLC:ADC RVS:STA 6:RTS 850 FILLALL JSR GETCHAR:LDX #1:LDY #27:CLC:JSR $E50A 852 LDA #MO5:JSR PRINT 854 LDA MAPADD:STA 3:LDA #0:STA 2 856 LDA CSRADD:STA 4:LDA CSRADD+1:STA 5:JSR FIPT2 858 L858 LDA 6:LDX #0:STA (2,X) 860 LDA 2:CMP 4:BNE L872 862 LDA 3:CMP 5:BNE L872 870 JSR MAP:JMP FUNC 872 L872 LDA 2:CLC:ADC #1:STA 2:LDA 3:ADC #0:STA 3 874 JMP L858 880 FILLX JSR GETCHAR:LDX #1:LDY #27:CLC:JSR $E50A 882 LDA #MO14:JSR PRINT 884 LDA CX:STA 2:LDA CSRADD:STA 3:LDA CSRADD+1:STA 4 886 L886 LDA 2:CMP #0:BEQ L892 888 TAX:DEX:STX 2:LDA 3:SEC:SBC #1:STA 3:LDA 4:SBC #0:STA 4 890 JMP L886 892 L892 LDX #0:LDA 6:STA (3,X) 894 LDA 3:CLC:ADC #1:STA 3:LDA 4:ADC #0:STA 4 896 LDA 2:CLC:ADC #1:STA 2:CMP CMX:BNE L892 898 JSR MAP:JMP FUNC 900 FILLY JSR GETCHAR:LDX #1:LDY #27:CLC:JSR $E50A 902 LDA #MO15:JSR PRINT 904 LDA CY:STA 2:LDA CSRADD:STA 3:LDA CSRADD+1:STA 4 906 L906 LDA 2:CMP #0:BEQ L912 908 TAX:DEX:STX 2:LDA 3:SEC:SBC CMX:STA 3:LDA 4:SBC #0:STA 4 910 JMP L906 912 L912 LDX #0:LDA 6:STA (3,X) 914 LDA 3:CLC:ADC CMX:STA 3:LDA 4:ADC #0:STA 4 916 LDA 2:CLC:ADC #1:STA 2:CMP CMY:BNE L912 918 JSR MAP:JMP FUNC 920 FIPT2 LDA CX:STA 251:LDA CY:STA 252 921 L921 LDA 251:CMP CMX:BEQ L924 922 INC 251:LDA 4:CLC:ADC #1:STA 4:LDA 5:ADC #0:STA 5:JMP L921 924 L924 LDA 252:CMP CMY:BEQ L928 926 INC 252:LDA 4:CLC:ADC CMX:STA 4:LDA 5:ADC #0:STA 5:JMP L924 928 L928 RTS 930 SETMODE LDX #1:LDY #27:CLC:JSR $E50A 932 LDA #MO13:JSR PRINT 934 L934 JSR $F13E 936 CMP #0:BEQ L934 938 CMP #78:BEQ L950 940 CMP #69:BEQ L952 942 CMP #77:BEQ L954 944 JMP FUNC 950 L950 LDA #27:STA 53265:LDA #200:STA 53270:LDA #0:STA MODE:JSR PRMODE 951 JMP FUNC 952 L952 LDA #91:STA 53265:LDA #200:STA 53270:LDA #2:STA MODE:JSR PRMODE 953 JMP FUNC 954 L954 LDA #27:STA 53265:LDA #216:STA 53270:LDA #1:STA MODE:JSR PRMODE 955 JMP FUNC 960 SETSET LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO18:JSR PRINT 962 L962 JSR $F13E:CMP #0:BEQ L962 964 CMP #48:BCC L962 966 CMP #56:BCS L962 967 CMP #13:BNE L968:JMP FUNC 968 L968 SEC:SBC #48:STA SETVAL:TAX:LDA TABLE1,X:STA SETNUM:STA 53272 969 LDA TABLE2,X:STA SETADR+1:JSR PRCHNUMS:JMP FUNC 970 NUMBER LDX #1:LDY #27:CLC:JSR $E50A:LDX 2:LDA #0:JSR $BDCD:JMP L984 972 L972 JSR $F13E:CMP #0:BEQ L972 974 CMP #43:BNE L978 976 LDA 2:CLC:ADC #1:STA 2:CMP 4:BNE L984:LDX 3:INX:STX 2:JMP L984 978 L978 CMP #45:BNE L982 980 LDA 2:SEC:SBC #1:STA 2:CMP 3:BNE L984:LDX 4:DEX:STX 2:JMP L984 982 L982 CMP #13:BNE L984:RTS 984 L984 LDA 2:LDX #0:STA (5,X):LDX #1:LDY #27:CLC:JSR $E50A:LDA #0:LDX 2 986 JSR $BDCD:LDA #32:JSR $FFD2:JMP L972 990 SET00 LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO7:JSR PRINT 991 LDA #$21:STA 5:LDA #$D0:STA 6:LDA #255:STA 3:LDA #16:STA 4 992 LDA 53281:AND #15:STA 2:JSR NUMBER:LDA 2:STA 53281:JSR PRCLR:JMP FUNC 1000 SET01 LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO8:JSR PRINT 1001 LDA #$22:STA 5:LDA #$D0:STA 6:LDA #255:STA 3:LDA #16:STA 4 1002 LDA 53282:AND #15:STA 2:JSR NUMBER:LDA 2:STA 53282:JSR PRCLR:JMP FUNC 1004 SET10 LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO9:JSR PRINT 1005 LDA #$23:STA 5:LDA #$D0:STA 6:LDA #255:STA 3:LDA #16:STA 4 1006 LDA 53283:AND #15:STA 2:JSR NUMBER:LDA 2:STA 53283:JSR PRCLR:JMP FUNC 1010 SETEX LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO11:JSR PRINT 1011 LDA #$24:STA 5:LDA #$D0:STA 6:LDA #255:STA 3:LDA #16:STA 4 1012 LDA 53284:AND #15:STA 2:JSR NUMBER:LDA 2:STA 53284:JSR PRCLR:JMP FUNC 1014 SET11 LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO10:JSR PRINT 1015 LDA #$66:STA 5:LDA #$D9:STA 6:LDA #255:STA 3:LDA #16:STA 4 1016 LDA 55654:AND #15:STA 2:JSR NUMBER:LDA 2:JSR MAPCOLR:JMP FUNC 1020 SETBR LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO12:JSR PRINT 1021 LDA #$20:STA 5:LDA #$D0:STA 6:LDA #255:STA 3:LDA #16:STA 4 1022 LDA 53280:AND #15:STA 2:JSR NUMBER:LDA 2:STA 53280:JSR COLR:JMP FUNC 1024 COLR LDA #0:STA 2:LDA #$D8:STA 3:LDY 53280:STY 646:LDY 55654 1026 L1026 LDX #0:LDA 53280:STA (2,X):LDA 2:CLC:ADC #1:STA 2:LDA 3:ADC #0:STA 3 1028 CMP #$DC:BNE L1026:TYA:JSR MAPCOLR:RTS 1030 DOLOAD LDA #MO19:JSR PRINT:JSR GETNAME:JMP L1040 1032 GETNAME LDX #0:STX 2 1034 L1034 JSR $F157:LDX 2:STA 828,X 1036 INC 2:LDX 2:DEX:LDA 828,X:CMP #13:BNE L1034 1038 LDX 2:DEX:TXA:LDX #$3C:LDY #3:JSR $FFBD 1039 LDA #8:TAX:LDY #1:JSR $FFBA:RTS 1040 L1040 LDA #0:JSR $FFD5:JMP RETURN 1042 RETURN LDA #MO21:JSR PRINT 1044 L1044 JSR $F13E:CMP #0:BEQ L1044 1046 JMP RESET 1050 DOSAVE LDA #MO20:JSR PRINT:LDA #0:STA CX:STA CY:CLC:DEC CMY 1051 JSR GETNAME:LDA #0:STA 2:LDA MAPADD:STA 3:LDA CX:STA 4:LDA CY:STA 5 1052 L1052 LDA 4:CMP CMX:BEQ L1056 1054 LDX 4:INX:STX 4:LDA 2:CLC:ADC #1:STA 2:LDA 3:ADC #0:STA 3:JMP L1052 1056 L1056 LDA 5:CMP CMY:BEQ L1060 1058 LDX 5:INX:STX 5:LDA 2:CLC:ADC CMX:STA 2:LDA 3:ADC #0:STA 3:JMP L1056 1060 L1060 LDA #0:STA 5:LDA MAPADD:STA 6:LDA #5:LDX 2:LDY 3:JSR $F5DD 1062 CLC:INC CMY:JMP RETURN 1070 NUMBER2 LDX #20:LDY #17:CLC:JSR $E50A:LDX #0:LDA 251:JSR $BDCD:JMP L1077 1071 L1071 JSR $F13E:CMP #0:BEQ L1071 1072 CMP #43:BNE L1074 1073 LDA 251:CLC:ADC #1:STA 251:CMP 253:BNE L1077:LDX 252:INX:STX 251:JMP L1077 1074 L1074 CMP #45:BNE L1076 1075 LDA 251:SEC:SBC #1:STA 251:CMP 252:BNE L1077:LDX 253:DEX:STX 251:JMP L1077 1076 L1076 CMP #13:BNE L1077:RTS 1077 L1077 LDX #20:LDY #17:CLC:JSR $E50A:LDA 251:LDX #0 1078 JSR $BDCD:LDA #32:JSR $FFD2:LDA 251:STA MAPADD:JSR MAP:JMP L1071 1080 SETMAP LDA #0:STA 253:LDA #255:STA 252:LDA MAPADD:STA 251 1082 LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO22:JSR PRINT 1084 JSR NUMBER2:LDA MAPADD:STA CSRADD+1:LDA #0:STA CSRADD:LDA #0:STA CX:STA CY 1086 STA SX:STA SY:JMP FUNC 1090 NEWMX LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO23:JSR PRINT 1091 LDA CMX:STA 2:LDA #0:STA 3:LDA #0:STA 4:LDA #CMX 1092 STA 6:JSR NUMBER:LDA 2:STA CMX:SEC:SBC #24:STA SMX:LDA #0:STA SX:STA SY 1093 STA CX:STA CY:JSR PRSXY:JSR PRCXY:JSR PRSMXY:JSR PRCMXY:JSR MAP:JMP FUNC 1094 NEWMY LDX #1:LDY #27:CLC:JSR $E50A:LDA #MO24:JSR PRINT 1095 LDA CMY:STA 2:LDA #0:STA 3:LDA #0:STA 4:LDA #CMY 1096 STA 6:JSR NUMBER:LDA 2:STA CMY:SEC:SBC #17:STA SMY:LDA #0:STA SX:STA SY 1097 STA CX:STA CY:JSR PRCXY:JSR PRSXY:JSR PRSMXY:JSR PRCMXY:JSR MAP:JMP FUNC 1100 RESET LDA #7:LDX #FILE1:JSR LOAD 1102 LDA #7:LDX #FILE2:JSR LOAD 1104 LDA 1024:CMP #112:BEQ L1106:JMP RETURN 1106 L1106 LDA #11:JSR MAPCOLR:JMP L400 9999 .END TEXT109