Created
December 23, 2025 06:45
-
-
Save JimmyDansbo/835e800447155a2f92fa58b39daacba1 to your computer and use it in GitHub Desktop.
Test of copying between VERA data0 and data1 where address of data0 is altered between copy's
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| !cpu w65c02 | |
| !macro SYS_LINE .main { | |
| *=$801 | |
| !word .next_line ; Pointer to next BASIC line | |
| !word $000A ; Line number $000A = 10 | |
| !byte $9E ; SYS BASIC token | |
| !byte 48+(.main/1000)%10 ; Address where ASM starts in PETSCII | |
| !byte 48+(.main/100)%10 | |
| !byte 48+(.main/10)%10 | |
| !byte 48+(.main/1)%10 | |
| !byte $00 ; End of BASIC line | |
| .next_line: | |
| !word $0000 ; End of BASIC program | |
| } | |
| vaddrl = $9F20 | |
| vaddrm = $9F21 | |
| vaddrh = $9F22 | |
| data0 = $9F23 | |
| data1 = $9F24 | |
| vctrl = $9F25 | |
| +SYS_LINE main | |
| main: | |
| jsr setupvmem | |
| lda vctrl ; Select DATA0 | |
| and #$FE | |
| sta vctrl | |
| lda #$10 ; Data0 increment1, bank 0 | |
| sta vaddrh | |
| stz vaddrl ; Data0 points to $00100 | |
| lda #$01 | |
| sta vaddrm | |
| lda vctrl ; Select DATA1 | |
| ora #$01 | |
| sta vctrl | |
| lda #$10 ; Data1 increment1, bank 0 | |
| sta vaddrh | |
| stz vaddrl ; Data1 points to $01000 | |
| lda #$10 | |
| sta vaddrm | |
| lda data0 ; Copy from data0 to data1 | |
| sta data1 | |
| lda data0 | |
| sta data1 | |
| lda vctrl ; Select DATA0 | |
| and #$FE | |
| sta vctrl | |
| stz vaddrl ; Data0 points to $00200 | |
| lda #$02 | |
| sta vaddrm | |
| lda data0 ; Copy from data0 to data1 | |
| sta data1 | |
| lda data0 | |
| sta data1 | |
| rts | |
| setupvmem: | |
| lda vctrl ; Select DATA0 | |
| and #$FE | |
| sta vctrl | |
| lda #$10 ; Data0 increment1, bank 0 | |
| sta vaddrh | |
| stz vaddrl ; Data0 points to $00100 | |
| lda #$01 | |
| sta vaddrm | |
| lda #$aa | |
| sta data0 | |
| sta data0 | |
| lda #$02 ; Data0 points to $00200 | |
| sta vaddrm | |
| stz vaddrl | |
| lda #$bb | |
| sta data0 | |
| sta data0 | |
| rts |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Build with: acme -f cbm -o VMEMCOPY.PRG vmem_copy.asm