mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-27 21:29:36 +00:00
waterfall: update to copy correct pages
This commit is contained in:
parent
304c4edff2
commit
3f0bc8fdb3
@ -16,7 +16,7 @@ waterfall.dsk: WATERFALL
|
||||
WATERFALL: waterfall.o
|
||||
ld65 -o WATERFALL waterfall.o -C ../linker_scripts/apple2_1000.inc
|
||||
|
||||
waterfall.o: waterfall.s gr_copy.s \
|
||||
waterfall.o: waterfall.s gr_copy.s gr_unrolled_copy.s \
|
||||
waterfall_page1.inc waterfall_page2.inc tfv_sprites.inc
|
||||
ca65 -o waterfall.o waterfall.s -l waterfall.lst
|
||||
|
||||
|
@ -56,655 +56,3 @@ gr_copy_line:
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;=========================================================
|
||||
; fast copy rows 22-36 from $C00 to $800
|
||||
;=========================================================
|
||||
;
|
||||
; 6 + 7*8*40 = 2246 cycles
|
||||
; 6*7*40 = 1680 bytes of code?
|
||||
|
||||
gr_copy_row22:
|
||||
|
||||
;= y = 22 $5a8 $da8/$9a8 =========================
|
||||
; x=0,y=22
|
||||
lda $da8
|
||||
sta $9a8
|
||||
lda $da9
|
||||
sta $9a9
|
||||
lda $daa
|
||||
sta $9aa
|
||||
lda $dab
|
||||
sta $9ab
|
||||
lda $dac
|
||||
sta $9ac
|
||||
lda $dad
|
||||
sta $9ad
|
||||
lda $dae
|
||||
sta $9ae
|
||||
lda $daf
|
||||
sta $9af
|
||||
|
||||
; x=8,y=22
|
||||
lda $db0
|
||||
sta $9b0
|
||||
lda $db1
|
||||
sta $9b1
|
||||
lda $db2
|
||||
sta $9b2
|
||||
lda $db3
|
||||
sta $9b3
|
||||
lda $db4
|
||||
sta $9b4
|
||||
lda $db5
|
||||
sta $9b5
|
||||
lda $db6
|
||||
sta $9b6
|
||||
lda $db7
|
||||
sta $9b7
|
||||
|
||||
; x=16,y=22
|
||||
lda $db8
|
||||
sta $9b8
|
||||
lda $db9
|
||||
sta $9b9
|
||||
lda $dba
|
||||
sta $9ba
|
||||
lda $dbb
|
||||
sta $9bb
|
||||
lda $dbc
|
||||
sta $9bc
|
||||
lda $dbd
|
||||
sta $9bd
|
||||
lda $dbe
|
||||
sta $9be
|
||||
lda $dbf
|
||||
sta $9bf
|
||||
|
||||
; x=24,y=22
|
||||
lda $dc0
|
||||
sta $9c0
|
||||
lda $dc1
|
||||
sta $9c1
|
||||
lda $dc2
|
||||
sta $9c2
|
||||
lda $dc3
|
||||
sta $9c3
|
||||
lda $dc4
|
||||
sta $9c4
|
||||
lda $dc5
|
||||
sta $9c5
|
||||
lda $dc6
|
||||
sta $9c6
|
||||
lda $dc7
|
||||
sta $9c7
|
||||
|
||||
; x=32,y=22
|
||||
lda $dc8
|
||||
sta $9c8
|
||||
lda $dc9
|
||||
sta $9c9
|
||||
lda $dca
|
||||
sta $9ca
|
||||
lda $dcb
|
||||
sta $9cb
|
||||
lda $dcc
|
||||
sta $9cc
|
||||
lda $dcd
|
||||
sta $9cd
|
||||
lda $dce
|
||||
sta $9ce
|
||||
lda $dcf
|
||||
sta $9cf
|
||||
|
||||
;= y = 24 $628 $e28/$a28 =========================
|
||||
; x=0,y=24
|
||||
lda $e28
|
||||
sta $a28
|
||||
lda $e29
|
||||
sta $a29
|
||||
lda $e2a
|
||||
sta $a2a
|
||||
lda $e2b
|
||||
sta $a2b
|
||||
lda $e2c
|
||||
sta $a2c
|
||||
lda $e2d
|
||||
sta $a2d
|
||||
lda $e2e
|
||||
sta $a2e
|
||||
lda $e2f
|
||||
sta $a2f
|
||||
|
||||
; x=8,y=24
|
||||
lda $e30
|
||||
sta $a30
|
||||
lda $e31
|
||||
sta $a31
|
||||
lda $e32
|
||||
sta $a32
|
||||
lda $e33
|
||||
sta $a33
|
||||
lda $e34
|
||||
sta $a34
|
||||
lda $e35
|
||||
sta $a35
|
||||
lda $e36
|
||||
sta $a36
|
||||
lda $e37
|
||||
sta $a37
|
||||
|
||||
; x=16,y=24
|
||||
lda $e38
|
||||
sta $a38
|
||||
lda $e39
|
||||
sta $a39
|
||||
lda $e3a
|
||||
sta $a3a
|
||||
lda $e3b
|
||||
sta $a3b
|
||||
lda $e3c
|
||||
sta $a3c
|
||||
lda $e3d
|
||||
sta $a3d
|
||||
lda $e3e
|
||||
sta $a3e
|
||||
lda $e3f
|
||||
sta $a3f
|
||||
|
||||
; x=24,y=24
|
||||
lda $e40
|
||||
sta $a40
|
||||
lda $e41
|
||||
sta $a41
|
||||
lda $e42
|
||||
sta $a42
|
||||
lda $e43
|
||||
sta $a43
|
||||
lda $e44
|
||||
sta $a44
|
||||
lda $e45
|
||||
sta $a45
|
||||
lda $e46
|
||||
sta $a46
|
||||
lda $e47
|
||||
sta $a47
|
||||
|
||||
; x=32,y=24
|
||||
lda $e48
|
||||
sta $a48
|
||||
lda $e49
|
||||
sta $a49
|
||||
lda $e4a
|
||||
sta $a4a
|
||||
lda $e4b
|
||||
sta $a4b
|
||||
lda $e4c
|
||||
sta $a4c
|
||||
lda $e4d
|
||||
sta $a4d
|
||||
lda $e4e
|
||||
sta $a4e
|
||||
lda $e4f
|
||||
sta $a4f
|
||||
|
||||
;= y = 26 $6a8 $ea8/$aa8 =========================
|
||||
; x=0,y=26
|
||||
lda $ea8
|
||||
sta $aa8
|
||||
lda $ea9
|
||||
sta $aa9
|
||||
lda $eaa
|
||||
sta $aaa
|
||||
lda $eab
|
||||
sta $aab
|
||||
lda $eac
|
||||
sta $aac
|
||||
lda $ead
|
||||
sta $aad
|
||||
lda $eae
|
||||
sta $aae
|
||||
lda $eaf
|
||||
sta $aaf
|
||||
|
||||
; x=8,y=26
|
||||
lda $eb0
|
||||
sta $ab0
|
||||
lda $eb1
|
||||
sta $ab1
|
||||
lda $eb2
|
||||
sta $ab2
|
||||
lda $eb3
|
||||
sta $ab3
|
||||
lda $eb4
|
||||
sta $ab4
|
||||
lda $eb5
|
||||
sta $ab5
|
||||
lda $eb6
|
||||
sta $ab6
|
||||
lda $eb7
|
||||
sta $ab7
|
||||
|
||||
; x=16,y=26
|
||||
lda $eb8
|
||||
sta $ab8
|
||||
lda $eb9
|
||||
sta $ab9
|
||||
lda $eba
|
||||
sta $aba
|
||||
lda $ebb
|
||||
sta $abb
|
||||
lda $ebc
|
||||
sta $abc
|
||||
lda $ebd
|
||||
sta $abd
|
||||
lda $ebe
|
||||
sta $abe
|
||||
lda $ebf
|
||||
sta $abf
|
||||
|
||||
; x=24,y=26
|
||||
lda $ec0
|
||||
sta $ac0
|
||||
lda $ec1
|
||||
sta $ac1
|
||||
lda $ec2
|
||||
sta $ac2
|
||||
lda $ec3
|
||||
sta $ac3
|
||||
lda $ec4
|
||||
sta $ac4
|
||||
lda $ec5
|
||||
sta $ac5
|
||||
lda $ec6
|
||||
sta $ac6
|
||||
lda $ec7
|
||||
sta $ac7
|
||||
|
||||
; x=32,y=26
|
||||
lda $ec8
|
||||
sta $ac8
|
||||
lda $ec9
|
||||
sta $ac9
|
||||
lda $eca
|
||||
sta $aca
|
||||
lda $ecb
|
||||
sta $acb
|
||||
lda $ecc
|
||||
sta $acc
|
||||
lda $ecd
|
||||
sta $acd
|
||||
lda $ece
|
||||
sta $ace
|
||||
lda $ecf
|
||||
sta $acf
|
||||
|
||||
;= y = 28 $728 $f28/$b28 =========================
|
||||
; x=0,y=28
|
||||
lda $f28
|
||||
sta $b28
|
||||
lda $f29
|
||||
sta $b29
|
||||
lda $f2a
|
||||
sta $b2a
|
||||
lda $f2b
|
||||
sta $b2b
|
||||
lda $f2c
|
||||
sta $b2c
|
||||
lda $f2d
|
||||
sta $b2d
|
||||
lda $f2e
|
||||
sta $b2e
|
||||
lda $f2f
|
||||
sta $b2f
|
||||
|
||||
; x=8,y=28
|
||||
lda $f30
|
||||
sta $b30
|
||||
lda $f31
|
||||
sta $b31
|
||||
lda $f32
|
||||
sta $b32
|
||||
lda $f33
|
||||
sta $b33
|
||||
lda $f34
|
||||
sta $b34
|
||||
lda $f35
|
||||
sta $b35
|
||||
lda $f36
|
||||
sta $b36
|
||||
lda $f37
|
||||
sta $b37
|
||||
|
||||
; x=16,y=28
|
||||
lda $f38
|
||||
sta $b38
|
||||
lda $f39
|
||||
sta $b39
|
||||
lda $f3a
|
||||
sta $b3a
|
||||
lda $f3b
|
||||
sta $b3b
|
||||
lda $f3c
|
||||
sta $b3c
|
||||
lda $f3d
|
||||
sta $b3d
|
||||
lda $f3e
|
||||
sta $b3e
|
||||
lda $f3f
|
||||
sta $b3f
|
||||
|
||||
; x=24,y=28
|
||||
lda $f40
|
||||
sta $b40
|
||||
lda $f41
|
||||
sta $b41
|
||||
lda $f42
|
||||
sta $b42
|
||||
lda $f43
|
||||
sta $b43
|
||||
lda $f44
|
||||
sta $b44
|
||||
lda $f45
|
||||
sta $b45
|
||||
lda $f46
|
||||
sta $b46
|
||||
lda $f47
|
||||
sta $b47
|
||||
|
||||
; x=32,y=28
|
||||
lda $f48
|
||||
sta $b48
|
||||
lda $f49
|
||||
sta $b49
|
||||
lda $f4a
|
||||
sta $b4a
|
||||
lda $f4b
|
||||
sta $b4b
|
||||
lda $f4c
|
||||
sta $b4c
|
||||
lda $f4d
|
||||
sta $b4d
|
||||
lda $f4e
|
||||
sta $b4e
|
||||
lda $f4f
|
||||
sta $b4f
|
||||
|
||||
;= y = 30 $7a8 $fa8/$ba8 =========================
|
||||
; x=0,y=30
|
||||
lda $fa8
|
||||
sta $ba8
|
||||
lda $fa9
|
||||
sta $ba9
|
||||
lda $faa
|
||||
sta $baa
|
||||
lda $fab
|
||||
sta $bab
|
||||
lda $fac
|
||||
sta $bac
|
||||
lda $fad
|
||||
sta $bad
|
||||
lda $fae
|
||||
sta $bae
|
||||
lda $faf
|
||||
sta $baf
|
||||
|
||||
; x=8,y=30
|
||||
lda $fb0
|
||||
sta $bb0
|
||||
lda $fb1
|
||||
sta $bb1
|
||||
lda $fb2
|
||||
sta $bb2
|
||||
lda $fb3
|
||||
sta $bb3
|
||||
lda $fb4
|
||||
sta $bb4
|
||||
lda $fb5
|
||||
sta $bb5
|
||||
lda $fb6
|
||||
sta $bb6
|
||||
lda $fb7
|
||||
sta $bb7
|
||||
|
||||
; x=16,y=30
|
||||
lda $fb8
|
||||
sta $bb8
|
||||
lda $fb9
|
||||
sta $bb9
|
||||
lda $fba
|
||||
sta $bba
|
||||
lda $fbb
|
||||
sta $bbb
|
||||
lda $fbc
|
||||
sta $bbc
|
||||
lda $fbd
|
||||
sta $bbd
|
||||
lda $fbe
|
||||
sta $bbe
|
||||
lda $fbf
|
||||
sta $bbf
|
||||
|
||||
; x=24,y=30
|
||||
lda $fc0
|
||||
sta $bc0
|
||||
lda $fc1
|
||||
sta $bc1
|
||||
lda $fc2
|
||||
sta $bc2
|
||||
lda $fc3
|
||||
sta $bc3
|
||||
lda $fc4
|
||||
sta $bc4
|
||||
lda $fc5
|
||||
sta $bc5
|
||||
lda $fc6
|
||||
sta $bc6
|
||||
lda $fc7
|
||||
sta $bc7
|
||||
|
||||
; x=32,y=30
|
||||
lda $fc8
|
||||
sta $bc8
|
||||
lda $fc9
|
||||
sta $bc9
|
||||
lda $fca
|
||||
sta $bca
|
||||
lda $fcb
|
||||
sta $bcb
|
||||
lda $fcc
|
||||
sta $bcc
|
||||
lda $fcd
|
||||
sta $bcd
|
||||
lda $fce
|
||||
sta $bce
|
||||
lda $fcf
|
||||
sta $bcf
|
||||
|
||||
;= y = 32 $450 $c50/$850 =========================
|
||||
; x=0,y=32
|
||||
lda $c50
|
||||
sta $850
|
||||
lda $c51
|
||||
sta $851
|
||||
lda $c52
|
||||
sta $852
|
||||
lda $c53
|
||||
sta $853
|
||||
lda $c54
|
||||
sta $854
|
||||
lda $c55
|
||||
sta $855
|
||||
lda $c56
|
||||
sta $856
|
||||
lda $c57
|
||||
sta $857
|
||||
|
||||
; x=8,y=32
|
||||
lda $c58
|
||||
sta $858
|
||||
lda $c59
|
||||
sta $859
|
||||
lda $c5a
|
||||
sta $85a
|
||||
lda $c5b
|
||||
sta $85b
|
||||
lda $c5c
|
||||
sta $85c
|
||||
lda $c5d
|
||||
sta $85d
|
||||
lda $c5e
|
||||
sta $85e
|
||||
lda $c5f
|
||||
sta $85f
|
||||
|
||||
; x=16,y=32
|
||||
lda $c60
|
||||
sta $860
|
||||
lda $c61
|
||||
sta $861
|
||||
lda $c62
|
||||
sta $862
|
||||
lda $c63
|
||||
sta $863
|
||||
lda $c64
|
||||
sta $864
|
||||
lda $c65
|
||||
sta $865
|
||||
lda $c66
|
||||
sta $866
|
||||
lda $c67
|
||||
sta $867
|
||||
|
||||
; x=24,y=32
|
||||
lda $c68
|
||||
sta $868
|
||||
lda $c69
|
||||
sta $869
|
||||
lda $c6a
|
||||
sta $86a
|
||||
lda $c6b
|
||||
sta $86b
|
||||
lda $c6c
|
||||
sta $86c
|
||||
lda $c6d
|
||||
sta $86d
|
||||
lda $c6e
|
||||
sta $86e
|
||||
lda $c6f
|
||||
sta $86f
|
||||
|
||||
; x=32,y=32
|
||||
lda $c70
|
||||
sta $870
|
||||
lda $c71
|
||||
sta $871
|
||||
lda $c72
|
||||
sta $872
|
||||
lda $c73
|
||||
sta $873
|
||||
lda $c74
|
||||
sta $874
|
||||
lda $c75
|
||||
sta $875
|
||||
lda $c76
|
||||
sta $876
|
||||
lda $c77
|
||||
sta $877
|
||||
|
||||
;= y = 34 $4d0 $cd0/$8d0 =========================
|
||||
; x=0,y=34
|
||||
lda $cd0
|
||||
sta $8d0
|
||||
lda $cd1
|
||||
sta $8d1
|
||||
lda $cd2
|
||||
sta $8d2
|
||||
lda $cd3
|
||||
sta $8d3
|
||||
lda $cd4
|
||||
sta $8d4
|
||||
lda $cd5
|
||||
sta $8d5
|
||||
lda $cd6
|
||||
sta $8d6
|
||||
lda $cd7
|
||||
sta $8d7
|
||||
|
||||
; x=8,y=34
|
||||
lda $cd8
|
||||
sta $8d8
|
||||
lda $cd9
|
||||
sta $8d9
|
||||
lda $cda
|
||||
sta $8da
|
||||
lda $cdb
|
||||
sta $8db
|
||||
lda $cdc
|
||||
sta $8dc
|
||||
lda $cdd
|
||||
sta $8dd
|
||||
lda $cde
|
||||
sta $8de
|
||||
lda $cdf
|
||||
sta $8df
|
||||
|
||||
; x=16,y=34
|
||||
lda $ce0
|
||||
sta $8e0
|
||||
lda $ce1
|
||||
sta $8e1
|
||||
lda $ce2
|
||||
sta $8e2
|
||||
lda $ce3
|
||||
sta $8e3
|
||||
lda $ce4
|
||||
sta $8e4
|
||||
lda $ce5
|
||||
sta $8e5
|
||||
lda $ce6
|
||||
sta $8e6
|
||||
lda $ce7
|
||||
sta $8e7
|
||||
|
||||
; x=24,y=34
|
||||
lda $ce8
|
||||
sta $8e8
|
||||
lda $ce9
|
||||
sta $8e9
|
||||
lda $cea
|
||||
sta $8ea
|
||||
lda $ceb
|
||||
sta $8eb
|
||||
lda $cec
|
||||
sta $8ec
|
||||
lda $ced
|
||||
sta $8ed
|
||||
lda $cee
|
||||
sta $8ee
|
||||
lda $cef
|
||||
sta $8ef
|
||||
|
||||
; x=32,y=34
|
||||
lda $cf0
|
||||
sta $8f0
|
||||
lda $cf1
|
||||
sta $8f1
|
||||
lda $cf2
|
||||
sta $8f2
|
||||
lda $cf3
|
||||
sta $8f3
|
||||
lda $cf4
|
||||
sta $8f4
|
||||
lda $cf5
|
||||
sta $8f5
|
||||
lda $cf6
|
||||
sta $8f6
|
||||
lda $cf7
|
||||
sta $8f7
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
648
waterfall/gr_unrolled_copy.s
Normal file
648
waterfall/gr_unrolled_copy.s
Normal file
@ -0,0 +1,648 @@
|
||||
;=========================================================
|
||||
; fast copy rows 22-36 from $C00 to $400
|
||||
;=========================================================
|
||||
;
|
||||
; 6 + 7*8*40 = 2246 cycles
|
||||
; 6*7*40 = 1680 bytes of code?
|
||||
|
||||
gr_copy_row22:
|
||||
|
||||
;= y = 22 $5a8 $da8/$9a8 =========================
|
||||
; x=0,y=22
|
||||
lda $da8
|
||||
sta $5a8
|
||||
lda $da9
|
||||
sta $5a9
|
||||
lda $daa
|
||||
sta $5aa
|
||||
lda $dab
|
||||
sta $5ab
|
||||
lda $dac
|
||||
sta $5ac
|
||||
lda $dad
|
||||
sta $5ad
|
||||
lda $dae
|
||||
sta $5ae
|
||||
lda $daf
|
||||
sta $5af
|
||||
|
||||
; x=8,y=22
|
||||
lda $db0
|
||||
sta $5b0
|
||||
lda $db1
|
||||
sta $5b1
|
||||
lda $db2
|
||||
sta $5b2
|
||||
lda $db3
|
||||
sta $5b3
|
||||
lda $db4
|
||||
sta $5b4
|
||||
lda $db5
|
||||
sta $5b5
|
||||
lda $db6
|
||||
sta $5b6
|
||||
lda $db7
|
||||
sta $5b7
|
||||
|
||||
; x=16,y=22
|
||||
lda $db8
|
||||
sta $5b8
|
||||
lda $db9
|
||||
sta $5b9
|
||||
lda $dba
|
||||
sta $5ba
|
||||
lda $dbb
|
||||
sta $5bb
|
||||
lda $dbc
|
||||
sta $5bc
|
||||
lda $dbd
|
||||
sta $5bd
|
||||
lda $dbe
|
||||
sta $5be
|
||||
lda $dbf
|
||||
sta $5bf
|
||||
|
||||
; x=24,y=22
|
||||
lda $dc0
|
||||
sta $5c0
|
||||
lda $dc1
|
||||
sta $5c1
|
||||
lda $dc2
|
||||
sta $5c2
|
||||
lda $dc3
|
||||
sta $5c3
|
||||
lda $dc4
|
||||
sta $5c4
|
||||
lda $dc5
|
||||
sta $5c5
|
||||
lda $dc6
|
||||
sta $5c6
|
||||
lda $dc7
|
||||
sta $5c7
|
||||
|
||||
; x=32,y=22
|
||||
lda $dc8
|
||||
sta $5c8
|
||||
lda $dc9
|
||||
sta $5c9
|
||||
lda $dca
|
||||
sta $5ca
|
||||
lda $dcb
|
||||
sta $5cb
|
||||
lda $dcc
|
||||
sta $5cc
|
||||
lda $dcd
|
||||
sta $5cd
|
||||
lda $dce
|
||||
sta $5ce
|
||||
lda $dcf
|
||||
sta $5cf
|
||||
|
||||
;= y = 24 $628 $e28/$a28 =========================
|
||||
; x=0,y=24
|
||||
lda $e28
|
||||
sta $628
|
||||
lda $e29
|
||||
sta $629
|
||||
lda $e2a
|
||||
sta $62a
|
||||
lda $e2b
|
||||
sta $62b
|
||||
lda $e2c
|
||||
sta $62c
|
||||
lda $e2d
|
||||
sta $62d
|
||||
lda $e2e
|
||||
sta $62e
|
||||
lda $e2f
|
||||
sta $62f
|
||||
|
||||
; x=8,y=24
|
||||
lda $e30
|
||||
sta $630
|
||||
lda $e31
|
||||
sta $631
|
||||
lda $e32
|
||||
sta $632
|
||||
lda $e33
|
||||
sta $633
|
||||
lda $e34
|
||||
sta $634
|
||||
lda $e35
|
||||
sta $635
|
||||
lda $e36
|
||||
sta $636
|
||||
lda $e37
|
||||
sta $637
|
||||
|
||||
; x=16,y=24
|
||||
lda $e38
|
||||
sta $638
|
||||
lda $e39
|
||||
sta $639
|
||||
lda $e3a
|
||||
sta $63a
|
||||
lda $e3b
|
||||
sta $63b
|
||||
lda $e3c
|
||||
sta $63c
|
||||
lda $e3d
|
||||
sta $63d
|
||||
lda $e3e
|
||||
sta $63e
|
||||
lda $e3f
|
||||
sta $63f
|
||||
|
||||
; x=24,y=24
|
||||
lda $e40
|
||||
sta $640
|
||||
lda $e41
|
||||
sta $641
|
||||
lda $e42
|
||||
sta $642
|
||||
lda $e43
|
||||
sta $643
|
||||
lda $e44
|
||||
sta $644
|
||||
lda $e45
|
||||
sta $645
|
||||
lda $e46
|
||||
sta $646
|
||||
lda $e47
|
||||
sta $647
|
||||
|
||||
; x=32,y=24
|
||||
lda $e48
|
||||
sta $648
|
||||
lda $e49
|
||||
sta $649
|
||||
lda $e4a
|
||||
sta $64a
|
||||
lda $e4b
|
||||
sta $64b
|
||||
lda $e4c
|
||||
sta $64c
|
||||
lda $e4d
|
||||
sta $64d
|
||||
lda $e4e
|
||||
sta $64e
|
||||
lda $e4f
|
||||
sta $64f
|
||||
|
||||
;= y = 26 $6a8 $ea8/$aa8 =========================
|
||||
; x=0,y=26
|
||||
lda $ea8
|
||||
sta $6a8
|
||||
lda $ea9
|
||||
sta $6a9
|
||||
lda $eaa
|
||||
sta $6aa
|
||||
lda $eab
|
||||
sta $6ab
|
||||
lda $eac
|
||||
sta $6ac
|
||||
lda $ead
|
||||
sta $6ad
|
||||
lda $eae
|
||||
sta $6ae
|
||||
lda $eaf
|
||||
sta $6af
|
||||
|
||||
; x=8,y=26
|
||||
lda $eb0
|
||||
sta $6b0
|
||||
lda $eb1
|
||||
sta $6b1
|
||||
lda $eb2
|
||||
sta $6b2
|
||||
lda $eb3
|
||||
sta $6b3
|
||||
lda $eb4
|
||||
sta $6b4
|
||||
lda $eb5
|
||||
sta $6b5
|
||||
lda $eb6
|
||||
sta $6b6
|
||||
lda $eb7
|
||||
sta $6b7
|
||||
|
||||
; x=16,y=26
|
||||
lda $eb8
|
||||
sta $6b8
|
||||
lda $eb9
|
||||
sta $6b9
|
||||
lda $eba
|
||||
sta $6ba
|
||||
lda $ebb
|
||||
sta $6bb
|
||||
lda $ebc
|
||||
sta $6bc
|
||||
lda $ebd
|
||||
sta $6bd
|
||||
lda $ebe
|
||||
sta $6be
|
||||
lda $ebf
|
||||
sta $6bf
|
||||
|
||||
; x=24,y=26
|
||||
lda $ec0
|
||||
sta $6c0
|
||||
lda $ec1
|
||||
sta $6c1
|
||||
lda $ec2
|
||||
sta $6c2
|
||||
lda $ec3
|
||||
sta $6c3
|
||||
lda $ec4
|
||||
sta $6c4
|
||||
lda $ec5
|
||||
sta $6c5
|
||||
lda $ec6
|
||||
sta $6c6
|
||||
lda $ec7
|
||||
sta $6c7
|
||||
|
||||
; x=32,y=26
|
||||
lda $ec8
|
||||
sta $6c8
|
||||
lda $ec9
|
||||
sta $6c9
|
||||
lda $eca
|
||||
sta $6ca
|
||||
lda $ecb
|
||||
sta $6cb
|
||||
lda $ecc
|
||||
sta $6cc
|
||||
lda $ecd
|
||||
sta $6cd
|
||||
lda $ece
|
||||
sta $6ce
|
||||
lda $ecf
|
||||
sta $6cf
|
||||
|
||||
;= y = 28 $728 $f28/$b28 =========================
|
||||
; x=0,y=28
|
||||
lda $f28
|
||||
sta $728
|
||||
lda $f29
|
||||
sta $729
|
||||
lda $f2a
|
||||
sta $72a
|
||||
lda $f2b
|
||||
sta $72b
|
||||
lda $f2c
|
||||
sta $72c
|
||||
lda $f2d
|
||||
sta $72d
|
||||
lda $f2e
|
||||
sta $72e
|
||||
lda $f2f
|
||||
sta $72f
|
||||
|
||||
; x=8,y=28
|
||||
lda $f30
|
||||
sta $730
|
||||
lda $f31
|
||||
sta $731
|
||||
lda $f32
|
||||
sta $732
|
||||
lda $f33
|
||||
sta $733
|
||||
lda $f34
|
||||
sta $734
|
||||
lda $f35
|
||||
sta $735
|
||||
lda $f36
|
||||
sta $736
|
||||
lda $f37
|
||||
sta $737
|
||||
|
||||
; x=16,y=28
|
||||
lda $f38
|
||||
sta $738
|
||||
lda $f39
|
||||
sta $739
|
||||
lda $f3a
|
||||
sta $73a
|
||||
lda $f3b
|
||||
sta $73b
|
||||
lda $f3c
|
||||
sta $73c
|
||||
lda $f3d
|
||||
sta $73d
|
||||
lda $f3e
|
||||
sta $73e
|
||||
lda $f3f
|
||||
sta $73f
|
||||
|
||||
; x=24,y=28
|
||||
lda $f40
|
||||
sta $740
|
||||
lda $f41
|
||||
sta $741
|
||||
lda $f42
|
||||
sta $742
|
||||
lda $f43
|
||||
sta $743
|
||||
lda $f44
|
||||
sta $744
|
||||
lda $f45
|
||||
sta $745
|
||||
lda $f46
|
||||
sta $746
|
||||
lda $f47
|
||||
sta $747
|
||||
|
||||
; x=32,y=28
|
||||
lda $f48
|
||||
sta $748
|
||||
lda $f49
|
||||
sta $749
|
||||
lda $f4a
|
||||
sta $74a
|
||||
lda $f4b
|
||||
sta $74b
|
||||
lda $f4c
|
||||
sta $74c
|
||||
lda $f4d
|
||||
sta $74d
|
||||
lda $f4e
|
||||
sta $74e
|
||||
lda $f4f
|
||||
sta $74f
|
||||
|
||||
;= y = 30 $7a8 $fa8/$ba8 =========================
|
||||
; x=0,y=30
|
||||
lda $fa8
|
||||
sta $7a8
|
||||
lda $fa9
|
||||
sta $7a9
|
||||
lda $faa
|
||||
sta $7aa
|
||||
lda $fab
|
||||
sta $7ab
|
||||
lda $fac
|
||||
sta $7ac
|
||||
lda $fad
|
||||
sta $7ad
|
||||
lda $fae
|
||||
sta $7ae
|
||||
lda $faf
|
||||
sta $7af
|
||||
|
||||
; x=8,y=30
|
||||
lda $fb0
|
||||
sta $7b0
|
||||
lda $fb1
|
||||
sta $7b1
|
||||
lda $fb2
|
||||
sta $7b2
|
||||
lda $fb3
|
||||
sta $7b3
|
||||
lda $fb4
|
||||
sta $7b4
|
||||
lda $fb5
|
||||
sta $7b5
|
||||
lda $fb6
|
||||
sta $7b6
|
||||
lda $fb7
|
||||
sta $7b7
|
||||
|
||||
; x=16,y=30
|
||||
lda $fb8
|
||||
sta $7b8
|
||||
lda $fb9
|
||||
sta $7b9
|
||||
lda $fba
|
||||
sta $7ba
|
||||
lda $fbb
|
||||
sta $7bb
|
||||
lda $fbc
|
||||
sta $7bc
|
||||
lda $fbd
|
||||
sta $7bd
|
||||
lda $fbe
|
||||
sta $7be
|
||||
lda $fbf
|
||||
sta $7bf
|
||||
|
||||
; x=24,y=30
|
||||
lda $fc0
|
||||
sta $7c0
|
||||
lda $fc1
|
||||
sta $7c1
|
||||
lda $fc2
|
||||
sta $7c2
|
||||
lda $fc3
|
||||
sta $7c3
|
||||
lda $fc4
|
||||
sta $7c4
|
||||
lda $fc5
|
||||
sta $7c5
|
||||
lda $fc6
|
||||
sta $7c6
|
||||
lda $fc7
|
||||
sta $7c7
|
||||
|
||||
; x=32,y=30
|
||||
lda $fc8
|
||||
sta $7c8
|
||||
lda $fc9
|
||||
sta $7c9
|
||||
lda $fca
|
||||
sta $7ca
|
||||
lda $fcb
|
||||
sta $7cb
|
||||
lda $fcc
|
||||
sta $7cc
|
||||
lda $fcd
|
||||
sta $7cd
|
||||
lda $fce
|
||||
sta $7ce
|
||||
lda $fcf
|
||||
sta $7cf
|
||||
|
||||
;= y = 32 $450 $c50/$850 =========================
|
||||
; x=0,y=32
|
||||
lda $c50
|
||||
sta $450
|
||||
lda $c51
|
||||
sta $451
|
||||
lda $c52
|
||||
sta $452
|
||||
lda $c53
|
||||
sta $453
|
||||
lda $c54
|
||||
sta $454
|
||||
lda $c55
|
||||
sta $455
|
||||
lda $c56
|
||||
sta $456
|
||||
lda $c57
|
||||
sta $457
|
||||
|
||||
; x=8,y=32
|
||||
lda $c58
|
||||
sta $458
|
||||
lda $c59
|
||||
sta $459
|
||||
lda $c5a
|
||||
sta $45a
|
||||
lda $c5b
|
||||
sta $45b
|
||||
lda $c5c
|
||||
sta $45c
|
||||
lda $c5d
|
||||
sta $45d
|
||||
lda $c5e
|
||||
sta $45e
|
||||
lda $c5f
|
||||
sta $45f
|
||||
|
||||
; x=16,y=32
|
||||
lda $c60
|
||||
sta $460
|
||||
lda $c61
|
||||
sta $461
|
||||
lda $c62
|
||||
sta $462
|
||||
lda $c63
|
||||
sta $463
|
||||
lda $c64
|
||||
sta $464
|
||||
lda $c65
|
||||
sta $465
|
||||
lda $c66
|
||||
sta $466
|
||||
lda $c67
|
||||
sta $467
|
||||
|
||||
; x=24,y=32
|
||||
lda $c68
|
||||
sta $468
|
||||
lda $c69
|
||||
sta $469
|
||||
lda $c6a
|
||||
sta $46a
|
||||
lda $c6b
|
||||
sta $46b
|
||||
lda $c6c
|
||||
sta $46c
|
||||
lda $c6d
|
||||
sta $46d
|
||||
lda $c6e
|
||||
sta $46e
|
||||
lda $c6f
|
||||
sta $46f
|
||||
|
||||
; x=32,y=32
|
||||
lda $c70
|
||||
sta $470
|
||||
lda $c71
|
||||
sta $471
|
||||
lda $c72
|
||||
sta $472
|
||||
lda $c73
|
||||
sta $473
|
||||
lda $c74
|
||||
sta $474
|
||||
lda $c75
|
||||
sta $475
|
||||
lda $c76
|
||||
sta $476
|
||||
lda $c77
|
||||
sta $477
|
||||
|
||||
;= y = 34 $4d0 $cd0/$8d0 =========================
|
||||
; x=0,y=34
|
||||
lda $cd0
|
||||
sta $4d0
|
||||
lda $cd1
|
||||
sta $4d1
|
||||
lda $cd2
|
||||
sta $4d2
|
||||
lda $cd3
|
||||
sta $4d3
|
||||
lda $cd4
|
||||
sta $4d4
|
||||
lda $cd5
|
||||
sta $4d5
|
||||
lda $cd6
|
||||
sta $4d6
|
||||
lda $cd7
|
||||
sta $4d7
|
||||
|
||||
; x=8,y=34
|
||||
lda $cd8
|
||||
sta $4d8
|
||||
lda $cd9
|
||||
sta $4d9
|
||||
lda $cda
|
||||
sta $4da
|
||||
lda $cdb
|
||||
sta $4db
|
||||
lda $cdc
|
||||
sta $4dc
|
||||
lda $cdd
|
||||
sta $4dd
|
||||
lda $cde
|
||||
sta $4de
|
||||
lda $cdf
|
||||
sta $4df
|
||||
|
||||
; x=16,y=34
|
||||
lda $ce0
|
||||
sta $4e0
|
||||
lda $ce1
|
||||
sta $4e1
|
||||
lda $ce2
|
||||
sta $4e2
|
||||
lda $ce3
|
||||
sta $4e3
|
||||
lda $ce4
|
||||
sta $4e4
|
||||
lda $ce5
|
||||
sta $4e5
|
||||
lda $ce6
|
||||
sta $4e6
|
||||
lda $ce7
|
||||
sta $4e7
|
||||
|
||||
; x=24,y=34
|
||||
lda $ce8
|
||||
sta $4e8
|
||||
lda $ce9
|
||||
sta $4e9
|
||||
lda $cea
|
||||
sta $4ea
|
||||
lda $ceb
|
||||
sta $4eb
|
||||
lda $cec
|
||||
sta $4ec
|
||||
lda $ced
|
||||
sta $4ed
|
||||
lda $cee
|
||||
sta $4ee
|
||||
lda $cef
|
||||
sta $4ef
|
||||
|
||||
; x=32,y=34
|
||||
lda $cf0
|
||||
sta $4f0
|
||||
lda $cf1
|
||||
sta $4f1
|
||||
lda $cf2
|
||||
sta $4f2
|
||||
lda $cf3
|
||||
sta $4f3
|
||||
lda $cf4
|
||||
sta $4f4
|
||||
lda $cf5
|
||||
sta $4f5
|
||||
lda $cf6
|
||||
sta $4f6
|
||||
lda $cf7
|
||||
sta $4f7
|
||||
|
||||
rts ; 6
|
||||
|
@ -46,15 +46,16 @@ waterfall_demo:
|
||||
jsr TEXT
|
||||
jsr HOME
|
||||
bit KEYRESET
|
||||
bit PAGE0
|
||||
|
||||
;===================
|
||||
; init vars
|
||||
|
||||
lda #0
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
; Load foreground to graphic page1 (apple page2)
|
||||
|
||||
lda #$0c
|
||||
sta BASH
|
||||
@ -67,19 +68,16 @@ waterfall_demo:
|
||||
sta GBASH
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current ; copy to page1
|
||||
|
||||
; GR part
|
||||
bit PAGE1
|
||||
bit LORES ; 4
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
; bit PAGE1
|
||||
; bit LORES ; 4
|
||||
; bit SET_GR ; 4
|
||||
; bit FULLGR ; 4
|
||||
|
||||
;=============================
|
||||
; Load graphic page1
|
||||
; Load bg to memory
|
||||
|
||||
lda #$0c
|
||||
sta BASH
|
||||
@ -92,13 +90,13 @@ waterfall_demo:
|
||||
sta GBASH
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
; lda #0
|
||||
; sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current
|
||||
; jsr gr_copy_to_current
|
||||
|
||||
; GR part
|
||||
bit PAGE0
|
||||
; bit PAGE0
|
||||
|
||||
|
||||
;==============================
|
||||
@ -331,6 +329,7 @@ gr_offsets:
|
||||
.include "../asm_routines/gr_unrle.s"
|
||||
.include "../asm_routines/keypress.s"
|
||||
.include "gr_copy.s"
|
||||
.include "gr_unrolled_copy.s"
|
||||
|
||||
|
||||
.include "waterfall_page1.inc"
|
||||
|
Loading…
Reference in New Issue
Block a user