From 3f0bc8fdb35aaaaa469c35893aa6c510dbc1c72a Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 2 Aug 2018 15:35:14 -0400 Subject: [PATCH] waterfall: update to copy correct pages --- waterfall/Makefile | 2 +- waterfall/gr_copy.s | 652 ----------------------------------- waterfall/gr_unrolled_copy.s | 648 ++++++++++++++++++++++++++++++++++ waterfall/waterfall.s | 27 +- 4 files changed, 662 insertions(+), 667 deletions(-) create mode 100644 waterfall/gr_unrolled_copy.s diff --git a/waterfall/Makefile b/waterfall/Makefile index bb59b489..7324579d 100644 --- a/waterfall/Makefile +++ b/waterfall/Makefile @@ -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 diff --git a/waterfall/gr_copy.s b/waterfall/gr_copy.s index 97b86b88..acd83f6f 100644 --- a/waterfall/gr_copy.s +++ b/waterfall/gr_copy.s @@ -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 - diff --git a/waterfall/gr_unrolled_copy.s b/waterfall/gr_unrolled_copy.s new file mode 100644 index 00000000..4c89fc95 --- /dev/null +++ b/waterfall/gr_unrolled_copy.s @@ -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 + diff --git a/waterfall/waterfall.s b/waterfall/waterfall.s index 1f177cff..90a2746a 100644 --- a/waterfall/waterfall.s +++ b/waterfall/waterfall.s @@ -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"