4cade/src/demo/serpentine.a

63 lines
1.2 KiB
Plaintext
Raw Normal View History

2022-06-09 22:05:16 +00:00
;license:MIT
;(c) 2022 by qkumba
!cpu 6502
2022-10-01 00:04:02 +00:00
!to "build/DEMO/SERPENTINE#060300",plain
2022-06-09 22:05:16 +00:00
*=$300
!source "src/constants.a" ; no code in these
!source "src/macros.a"
+READ_RAM2_WRITE_RAM2
jsr EnableAccelerator
reset
+LOAD_FILE_KEEP_DIR serpentine, $43F5, serpentine_dir_e-serpentine_dir_b
+READ_ROM_NO_WRITE
+NEW_RESET_VECTOR reset
lda #<callback1
2022-07-26 17:40:05 +00:00
sta $8C58
2022-06-09 22:05:16 +00:00
lda #>callback1
2022-07-26 17:40:05 +00:00
sta $8C59
2022-06-09 22:05:16 +00:00
jmp $43F5
callback1
lda #<callback2
sta $237
lda #>callback2
sta $238
2022-07-26 17:40:05 +00:00
rts
2022-06-09 22:05:16 +00:00
callback2
2022-09-27 17:20:04 +00:00
ldx #3-1
- lda patch,x
sta $8834,x
sta $96AA,x
lda patch2,x
sta $9702,x
sta $9707,x
sta $91B,x
sta $920,x
dex
bpl -
2022-06-09 22:05:16 +00:00
lda #$D0
sta $962D
+DISABLE_ACCEL
jmp $800
2022-09-27 17:20:04 +00:00
patch !byte $4C,<reset,>reset
patch2 !byte $A9,$00,$EA
2022-06-09 22:05:16 +00:00
serpentine
!byte serpentine_e-serpentine_b
serpentine_b
serpentine_dir_b
!text "X/SERPENTINE"
serpentine_dir_e
!text "/SERPENTINE"
serpentine_e
!if * > $3F0 {
!error "code is too large, ends at ", *
}