;:sys9*4096 ;.opt oo *=$c000 ; ;maskengen ; ;********************** ;source-text created by ; re-ass 64 v2.2 ; (c) 1986 by sol labs ;********************** ; getin = $ffe4 ; laba613 = $a613 labaefd = $aefd labaf08 = $af08 labb7eb = $b7eb labbc49 = $bc49 labbddf = $bddf labe55e = $e55e labe566 = $e566 labe8cb = $e8cb labe9c8 = $e9c8 labe9f0 = $e9f0 labe9ff = $e9ff labea13 = $ea13 labea24 = $ea24 labfe6c = $fe6c ; adr0006 = $0006 adr002d = $002d adr002e = $002e adr00d3 = $00d3 adr0100 = $0100 adr01a0 = $01a0 adr0286 = $0286 adr0287 = $0287 adr028a = $028a adr0334 = $0334 adr0384 = $0384 adr0400 = $0400 adr2069 = $2069 adr3aa9 = $3aa9 adr3ba9 = $3ba9 adr7f29 = $7f29 adr99a9 = $99a9 adr9dc2 = $9dc2 adra6a9 = $a6a9 adrc706 = $c706 adrd018 = $d018 adrd020 = $d020 adrd021 = $d021 adrd800 = $d800 adre8da = $e8da adrecef = $ecef adrecf1 = $ecf1 ; zpg02 = $02 zpg03 = $03 zpg04 = $04 zpg05 = $05 zpg06 = $06 zpg07 = $07 zpg08 = $08 zpg09 = $09 zpg14 = $14 zpg15 = $15 zpg5f = $5f zpg60 = $60 zpg62 = $62 zpg63 = $63 zpg91 = $91 zpg94 = $94 zpgac = $ac zpgc2 = $c2 zpgc7 = $c7 zpgcc = $cc zpgce = $ce zpgcf = $cf zpgd1 = $d1 zpgd2 = $d2 zpgd3 = $d3 zpgd6 = $d6 zpgd8 = $d8 zpgda = $da zpgf3 = $f3 ; jsr labaefd jsr labb7eb cpx #$00 bne labc00d labc00a jmp labaf08 ; labc00d stx zpg02 lda zpg15 cmp #$fa bcs labc00a jsr laba613 ldy #$01 lda (zpg5f),y bne labc00a labc01e jsr labe55e lda #$00 sta zpgc7 labc025 jsr getin sta zpgcc beq labc025 pha lda zpgcf beq labc03d lda zpgce ldx adr0287 ldy #$00 sty zpgcf jsr labea13 labc03d pla cmp #$20 bcc labc071 cmp #$61 bcs labc053 and #$3f labc048 ora zpgc7 ldx adr0286 jsr labea13 jmp labc196 ; labc053 cmp #$80 bcs labc05b and #$df bne labc048 labc05b cmp #$a0 bcc labc071 cmp #$c0 bcs labc067 sbc #$3f bne labc048 labc067 and #$7f cmp #$7f bne labc048 lda #$5e bne labc048 labc071 jsr labe8cb bpl labc025 ldy #$33 labc078 cmp adrc08d,y beq labc084 dey dey dey bpl labc078 bmi labc025 labc084 lda adrc08f,y pha lda adrc08e,y pha rts ; adrc08d .byt $03 adrc08e .byt $c2 adrc08f .byt $c0,$04,$05,$c1,$09,$25,$c1,$0d .byt $4a,$c1,$11,$5d,$c1,$13,$67,$c1 .byt $14,$6c,$c1,$18,$78,$c1,$19,$7f .byt $c1,$1d,$95,$c1,$85,$c0,$c1,$86 .byt $c3,$c1,$87,$b0,$c1,$88,$d1,$c1 .byt $91,$da,$c1,$93,$e6 cmp (zpg94,x) ora adr9dc2,y and (zpgc2,x) lda zpg91 cmp #$7f bne labc0cc jmp labc2b3 ; labc0cc jsr labc230 sty zpg06 lda #$27 sec sbc zpg06 sta zpg06 bmi labc103 ldy #$00 labc0dc lda (zpgd1),y cmp #$20 bne labc0e7 iny cpy #$28 bne labc0dc labc0e7 tya sty zpg04 clc adc zpg06 lsr tax labc0ef ldy #$00 cpx zpg04 beq labc103 bcs labc0fd jsr labc243 inx bpl labc0ef labc0fd jsr labc261 dex bpl labc0ef labc103 jmp labc025 ; ldx zpgd6 beq labc103 dex stx zpgd6 labc10d jsr labe9f0 lda adrecf1,x sta zpgac lda zpgda,x jsr labe9c8 inx cpx #$18 bcc labc10d labc11f jsr labe9ff ldx zpgd6 bpl labc158 lda zpgd1 pha lda zpgd2 pha ldx #$18 labc12e cpx zpgd6 beq labc11f jsr labe9f0 lda adrecef,x sta zpgac lda zpgd8,x jsr labe9c8 dex bpl labc12e labc142 pla sta zpgd2 pla sta zpgd1 jmp labc025 ; ldx zpgd6 cpx #$18 beq labc15b lda #$00 sta zpgd3 labc155 inx labc156 stx zpgd6 labc158 jsr labe9f0 labc15b jmp labc025 ; ldx zpgd6 cpx #$18 bne labc155 ldx #$00 beq labc156 labc168 jsr labe566 bmi labc15b ldy zpgd3 beq labc15b dey sty zpgd3 jsr labc243 bpl labc15b ldx zpgd6 jsr labe9ff bmi labc15b lda zpgd1 pha lda zpgd2 pha ldx #$18 ldy !adr00d3 labc18b jsr labe9f0 jsr labc257 dex bpl labc18b bmi labc142 labc196 lda #$27 cmp zpgd3 bne labc1ac ldx zpgd6 cpx #$18 beq labc168 inx stx zpgd6 jsr labe9f0 lda #$ff sta zpgd3 labc1ac inc zpgd3 labc1ae jmp labc025 ; lda adr028a bmi labc1b9 ora #$80 .byt $2c labc1b9 .byt $29 .byt $7f sta adr028a jmp labc025 ; ldy #$00 bit adr01a0 ldx adrd020,y inx txa and #$0f sta adrd020,y bpl labc1ae asl zpgc7 bcs labc1ae sec ror zpgc7 bcc labc1ae labc1db ldx zpgd6 beq labc1e3 dex labc1e0 jmp labc156 ; labc1e3 ldx #$18 bne labc1e0 ldy #$00 labc1e9 ldx adrc20b,y beq labc1f3 jsr labc27b bne labc1e9 labc1f3 sty !adr0006 labc1f6 jsr getin beq labc1f6 cmp #$59 beq labc208 cmp #$4e bne labc1f6 jsr labc293 bmi labc1ae labc208 jmp labc01e ; adrc20b .byt $83,$8c,$85,$81,$92,$a0,$93,$83 .byt $92,$85,$85,$8e,$a0,$bf brk ldy zpgd3 jsr labc261 labc21f jmp labc025 ; ldy zpgd3 bne labc22c ldy #$27 sty zpgd3 bne labc1db labc22c dec zpgd3 bpl labc21f labc230 ldy #$27 labc232 lda (zpgd1),y cmp #$20 beq labc23c cmp #$60 bne labc241 labc23c dey bpl labc232 clc rts ; labc241 sec rts ; labc243 jsr labea24 labc246 iny lda (zpgd1),y dey sta (zpgd1),y iny lda (zpgf3),y dey sta (zpgf3),y iny cpy #$27 bcc labc246 labc257 lda #$20 sta (zpgd1),y lda adr0286 sta (zpgf3),y rts ; labc261 jsr labea24 sty zpg05 ldy #$27 labc268 dey lda (zpgd1),y iny sta (zpgd1),y dey lda (zpgf3),y iny sta (zpgf3),y dey cpy zpg05 bne labc268 beq labc257 labc27b lda adr0400,y sta adr0334,y lda adrd800,y sta adr0384,y txa sta adr0400,y lda adr0286 sta adrd800,y iny labc292 rts ; labc293 ldy !adr0006 labc296 dey bmi labc292 lda adr0384,y sta adrd800,y lda adr0334,y sta adr0400,y jmp labc296 ; adrc2a8 .byt $86,$89,$8e,$89,$93,$88,$85,$84 .byt $a0,$bf brk labc2b3 ldy #$00 labc2b5 ldx adrc2a8,y beq labc2bf jsr labc27b bne labc2b5 labc2bf sty !adr0006 labc2c2 jsr getin beq labc2c2 cmp #$59 beq labc2d5 cmp #$4e bne labc2c2 jsr labc293 jmp labc025 ; labc2d5 jsr labc293 sei ldx #$00 ldy #$04 jsr labc524 ldy #$0c lda adrd020 and #$0f tax jsr labc565 ldy #$17 lda adrd021 and #$0f tax jsr labc565 lda adrd018 lsr lsr bcs labc303 ldy #$20 lda #$32 sta (zpg5f),y labc303 ldy #$29 jsr labc586 ldx #$ff stx zpgd6 stx adr0286 inx stx zpg07 stx zpg09 asl zpgc7 labc316 lda #$00 sta zpg08 sta zpgd3 labc31c inc zpgd6 ldx zpgd6 cpx #$19 bcc labc327 jmp labc3bc ; labc327 jsr labe9f0 jsr labc230 bcs labc333 inc zpg08 bne labc31c labc333 sty zpg03 ldx zpg08 beq labc348 jsr labc3e3 ldy zpg05 cpy #$04 beq labc345 jsr labc586 labc345 jsr labc4f5 labc348 jsr labea24 labc34b ldy zpgd3 lda (zpgf3),y and #$0f cmp adr0286 beq labc37b tax lda (zpgd1),y cmp #$20 beq labc37d cmp #$60 beq labc37d stx adr0286 jsr labc3e3 jsr labc514 tya ldy adr0286 ldx adre8da,y tay txa sta (zpg5f),y iny sty zpg05 ldy !adr00d3 labc37b lda (zpgd1),y labc37d ldx zpg09 beq labc38a cmp zpgce beq labc3ac pha jsr labc3e3 pla labc38a sta zpgce bit zpgce bmi labc39b asl zpgc7 bcc labc3ac jsr labc514 lda #$92 bne labc3a7 labc39b bit zpgc7 bmi labc3ac sec ror zpgc7 jsr labc514 lda #$12 labc3a7 sta (zpg5f),y iny sty zpg05 labc3ac inc zpg09 inc zpgd3 lda zpg03 cmp zpgd3 bcs labc34b jsr labc3e3 jmp labc316 ; labc3bc jsr labc3e3 ldy zpg05 cpy #$04 beq labc3c8 jsr labc586 labc3c8 lda #$00 ldy #$01 labc3cc sta (zpg5f),y dey bpl labc3cc lda zpg5f clc adc #$02 sta !adr002d lda zpg60 adc #$00 sta !adr002e jmp labfe6c ; labc3e3 ldx zpg09 bne labc3e8 rts ; labc3e8 ldy zpg05 lda zpgce and #$7f cmp #$20 bcc labc3fb cmp #$40 bcc labc400 cmp #$60 bcc labc3fe clc labc3fb adc #$40 .byt $2c labc3fe .byt $69 .byt $20 labc400 sta zpgce cmp #$22 bne labc436 cpx #$05 bcs labc426 jsr labc4ae stx zpg06 labc40f ldx #$2f jsr labc524 dec zpg06 bne labc40f sty zpg05 ldx zpg03 cpx zpgd3 bcs labc469 cpx #$27 beq labc460 bne labc464 labc426 jsr labc4d0 ldx #$2f jsr labc524 jsr labc4c7 jsr labc4ee bne labc49c labc436 cmp #$20 beq labc46e cmp #$a0 beq labc46e labc43e cpx #$14 bcs labc488 labc442 jsr labc514 lda zpgce labc447 sta (zpg5f),y iny dex bne labc447 sty zpg05 ldx zpg03 cpx zpgd3 bcs labc469 cpx #$27 bne labc464 cpy #$14 bcc labc469 jsr labc4b7 labc460 jsr labc4c7 .byt $2c labc464 .byt $06 .byt $c7 labc466 jsr labc586 labc469 lda #$00 sta zpg09 rts ; labc46e bit zpgc7 bmi labc43e cpx #$06 bcc labc442 jsr labc4ae jsr labc4c1 jsr labc565 lda #$29 sta (zpg5f),y iny sty zpg05 bne labc469 labc488 jsr labc4d0 jsr labc4be lda zpgce sta (zpg5f),y iny jsr labc4be jsr labc4c7 jsr labc4ee labc49c ldx zpg03 cpx zpgd3 bcs labc466 cpx #$27 beq labc466 jsr labc4c4 jsr labc4ca bne labc464 labc4ae cpy #$04 beq labc4ca labc4b2 asl zpg07 bcs labc4be rts ; labc4b7 asl zpg07 bcs labc4be labc4bb sec ror zpg07 labc4be lda #$22 .byt $2c labc4c1 .byt $a9 .byt $a6 .byt $2c labc4c4 .byt $a9 .byt $3a .byt $2c labc4c7 .byt $a9 .byt $3b .byt $2c labc4ca .byt $a9 .byt $99 labc4cc sta (zpg5f),y iny rts ; labc4d0 cpy #$04 beq labc4dd jsr labc4b2 jsr labc4c7 jsr labc4c4 labc4dd stx zpg06 ldx #$26 jsr labc524 ldx zpg06 jsr labc565 jsr labc4c4 bne labc4ca labc4ee jsr labc4c4 lda #$82 bne labc4cc labc4f5 asl zpgc7 ldx zpg08 cpx #$06 bcs labc50c labc4fd jsr labc4ca dex beq labc508 jsr labc4c4 bne labc4fd labc508 jsr labc586 rts ; labc50c jsr labc4d0 jsr labc4ee bne labc508 labc514 ldy zpg05 cpy #$04 bne labc51f jsr labc4ca bne labc4bb labc51f bit zpg07 bpl labc4bb rts ; labc524 lda adrc530,x beq labc52f sta (zpg5f),y iny inx bne labc524 labc52f rts ; adrc530 .byt $97,$20,$35,$33,$32,$38,$30,$2c .byt $20,$20,$3a,$97,$20,$35,$33,$32 .byt $38,$31,$2c,$20,$20,$3a,$99,$20 .byt $c7,$28,$31,$34,$20,$29,$c7,$28 .byt $31,$34,$37,$29,$3b,$00,$81,$20 .byt $5a,$b2,$31,$20,$a4,$20,$00,$c7 .byt $28,$33,$34,$29 brk labc565 sty zpg05 lda #$00 sta zpg62 stx zpg63 ldx #$90 sec jsr labbc49 jsr labbddf ldx #$00 ldy zpg05 labc57a lda adr0100,x beq labc585 sta (zpg5f),y inx iny bne labc57a labc585 rts ; labc586 lda #$00 sta (zpg5f),y sty zpg06 ldy #$02 lda zpg14 sta (zpg5f),y clc adc zpg02 sta zpg14 lda zpg15 bcc labc59d inc zpg15 labc59d iny sta (zpg5f),y ldy #$00 lda zpg5f sec adc zpg06 sta (zpg5f),y pha lda zpg60 adc #$00 iny sta (zpg5f),y sta zpg60 pla sta zpg5f ldy #$04 sty zpg05 asl zpg07