home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
64'er 1990 September
/
64er_Magazin_90-09_1990_Markt__Technik_de_Side_A.d64
/
hamdem1.src
< prev
next >
Wrap
Text File
|
2022-10-26
|
4KB
|
434 lines
: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