home *** CD-ROM | disk | FTP | other *** search
-
- :pws m 2
- lda #<@0
- sta @1
- lda #>@0
- sta @1+1
- /
- :add m 2
- clc
- lda @0
- adc #<@1
- sta @0
- lda @0+1
- adc #>@1
- sta @0+1
- /
- :adb mf 2
- clc
- lda @0
- adc #<@1
- sta @0
- bcc adbc1
- inc @0+1
- clc
- :adbc1
- /
- :sbb mf 2
- sec
- lda @0
- sbc #<@1
- sta @0
- bcs sbbc1
- dec @0+1
- :sbbc1
- /
- :sub m 2
- sec
- lda @0
- sbc #<@1
- sta @0
- lda @0+1
- sbc #>@1
- sta @0+1
- /
- :dxp m 1
- dex
- bpl @0
- /
- :ixb m 2
- inx
- cpx #@0
- bne @1
- /
- :dxn m 1
- dex
- bne @0
- /
- :ixn m 1
- inx
- bne @0
- /
- :dyp m 1
- dey
- bpl @0
- /
- :iyb m 2
- iny
- cpy #@0
- bne @1
- /
- :dyn m 1
- dey
- bne @0
- /
- :iyn m 1
- iny
- bne @0
- /
- :bae m 2
- cmp #@0
- beq @1
- /
- :ban m 2
- cmp #@0
- bne @1
- /
- :bxe m 2
- cpx #@0
- beq @1
- /
- :bxn m 2
- cpx #@0
- bne @1
- /
- :bye m 2
- cpy #@0
- beq @1
- /
- :byn m 2
- cpy #@0
- bne@@1
- /
- :lsy m 2
- lda (@0),y
- sta (@1),y
- /
- :inw mf 1
- inc @0
- bne inwc1
- inc @0+1
- :inwc1
- /
- :dew mf 1
- dec @0
- lda @0
- cmp #$ff
- bne dewc1
- dec @0+1
- :dewc1
- /
- :r m 0
- rts
- /
- :com mf 2 ;if p1>=p2l then sec
- lda @0+1 ;
- cmp @1+1 ;
- beq mccs ;
- jmp ecomm ;
- :mccs ;
- lda @0 ;
- cmp @1
- :ecomm
- /
-
- :mov m 2
- lda @0
- sta @1
- /
-
- :put m 2
- lda #@0
- sta @1
- /
-
- :prt m 1
- ldx #<@0
- ldy #>@0
- jsr ptext
- /
-
- :lxy m 1
- ldx #<@0
- ldy #>@0
- /
-
- :stconv=$8c00 ;graphic data
-
- :bmap=$6000+24
- :vr0=$4000+3
- :crb=$8000+3
- :cr=$d800+3
- :p1l=$61
- :p1h=$62
- :p2l=$63
- :p2h=$64
- :p3l=$65
- :p3h=$66
- :p4l=$67
- :p4h=$68
- :p5l=$69
- :p5h=$6a
- :p6l=$6b
- :p6h=$6c
-
- :ia=$6d
- :cnt1=$6e
- :cnt2=$6f
- :cnt3=$70
-
- org $8400
- jsr $c000
- ldx #0
- stx p2l
- stx p3l
- put >vr0,p2h
- put >stconv,p3h
- :epl1
- ldy #0
- lda (p3l),y
- ban $ea,epc1
- iny
- lda (p3l),y
- sta p1h
- iny
- lda (p3l),y
- sta p1l
- :epl2
- lda #0
- sta (p2l),x
- inw p2l
- dew p1l
-
- lda p1h
- bne epl2
- lda p1l
- bne epl2
- adb p3l,2
- jmp epc3
- :epc1
- sta (p2l),y
- inw p2l
- :epc3
- inw p3l
- lda p3l
- ban $ff,epl1
- lda p3h
- ban $8f,epl1
-
- ldx #0
- :hupl
- lda crb,x
- sta cr,x
- lda crb+256,x
- sta cr+256,x
- lda crb+512,x
- sta cr+512,x
- lda crb+768,x
- sta cr+768,x
- ixn hupl
-
- :cop456
-
- lda #0
- sta ofvl
- sta ofbl
- sta ofbh
- :cpl6
- put 3,cnt2
- :cpl5
- lda cnt2
- asl
- tax
- clc
- lda icsv,x
- adc ofvl
- sta p2l
- lda icsv+1,x
- adc #0
- sta p2h
-
- lda icsc,x
- adc ofvl
- sta p3l
- lda icsc+1,x
- adc #0
- sta p3h
-
- lda icsb,x
- adc ofbl
- sta p1l
- lda icsb+1,x
- adc ofbh
- sta p1h
-
- jsr coi
-
- dec cnt2
- bpl cpl5
- adb ofbl,64
- clc
- lda ofvl
- adc #8
- sta ofvl
- cmp #32
- bcc cpl6
-
- lda #$ff
- sta $d401+14
- lda #$80
- sta $d404+14
-
- :ral1
- lda #25
- sta cnt1
- pws vr0,p1l
- pws cr,p2l
- :ral4
- ldy #0
- :ral3
- ldx #8
- :ral2
- lda (p1l),y
- jsr gnc
- sta (p1l),y
- clc
- lda p1h
- adc #4
- sta p1h
- dxn ral2
-
- sub p1l,$2000
- lda (p2l),y
- jsr gnc
- sta (p2l),y
- iyb 37,ral3
-
- adb p1l,40
- adb p2l,40
-
- dec cnt1
- bne ral4
- jmp ral1
-
- :gnc
- stx cnt3
- sta cnt2
- lsr
- lsr
- lsr
- lsr
- jsr igt
- asl
- asl
- asl
- asl
- sta p3l
- lda cnt2
- and #$f
- jsr igt
- ora p3l
- ldx cnt3
- r
-
- :igt
- tax
- lda $d41b
- and #3
- beq tab0
- bae 1,tab1
- bae 2,tab2
- lda ctab3,x
- r
- :tab0
- lda ctab0,x
- r
- :tab1
- lda ctab1,x
- r
- :tab2
- lda ctab2,x
- r
-
- :coi
- put 6,cnt1
- pws 320+bmap,p4l
- pws 40+vr0,p5l
- pws 40+cr,p6l
-
- :cpl4
- ldx #8
- :cpl3
-
- ldy #7
- :cpl1
- lsy p4l,p1l
- dyp cpl1
-
- ldy #0
- lda #8
- sta ia
- :cpl2
- lsy p5l,p2l
- clc
- lda p5h
- adc #4
- sta p5h
- lda p2h
- adc #4
- sta p2h
- dec ia
- bne cpl2
-
- lsy p6l,p3l
-
- sub p5l,$1fff
- sub p2l,$1fff
- inw p3l
- inw p6l
- adb p1l,8
- adb p4l,8
-
- dxn cpl3
-
- add p4l,320-64
- add p1l,320-64
- add p3l,40-8
- add p6l,40-8
- add p5l,40-8
- add p2l,40-8
-
- dec cnt1
- beq *+5
- jmp cpl4
-
- rts
-
- :icsb
- w 01*320+bmap
- w 07*320+bmap
- w 13*320+bmap
- w 19*320+bmap
- :icsv
- w 01*40+vr0
- w 07*40+vr0
- w 13*40+vr0
- w 19*40+vr0
- :icsc
- w 01*40+cr
- w 07*40+cr
- w 13*40+cr
- w 19*40+cr
-
- :ofvl b 0
- :ofbl b 0
- :ofbh b 0
-
- ;0 1 2 3 4 5 6 7 8 9 a b c d e f
- :ctab0 b $0,$1,$4,$f,$2,$8,$9,$7,$5,$b,$e,$9,$2,$7,$a,$f
- :ctab1 b $0,$1,$c,$3,$4,$a,$b,$d,$a,$6,$8,$9,$4,$d,$5,$3
- :ctab2 b $0,$1,$4,$f,$c,$5,$6,$7,$e,$b,$5,$6,$2,$7,$8,$3
- :ctab3 b $0,$1,$2,$3,$c,$e,$9,$d,$8,$9,$e,$b,$c,$d,$8,$f
-
-
-