4cade/src/prelaunch/pipe.dream.a

60 lines
1.1 KiB
Plaintext
Raw Normal View History

2020-05-28 03:53:25 +00:00
;license:MIT
2022-05-27 23:29:52 +00:00
;(c) 2020, 2022 by qkumba
2020-05-28 03:53:25 +00:00
!cpu 6502
!to "build/PRELAUNCH.INDEXED/PIPE.DREAM",plain
2020-05-28 03:53:25 +00:00
*=$106
my_vbl
!source "src/prelaunch/common.a"
+READ_RAM1_NO_WRITE
2022-10-04 20:37:33 +00:00
lda WaitForVBL
cmp #$60
beq @skip_vbl
2020-05-28 03:53:25 +00:00
lda WaitForVBL+1
sta @copy_vbl+1
lda WaitForVBL+2
sta @copy_vbl+2
2022-10-04 20:37:33 +00:00
@skip_vbl
2022-05-27 23:29:52 +00:00
lda MachineStatus
and #CHEATS_ENABLED
php
2020-05-28 03:53:25 +00:00
ldy #0
@copy_vbl
2022-10-04 20:37:33 +00:00
lda WaitForVBL,y
; SMC, default to no VBL
2020-05-28 03:53:25 +00:00
sta my_vbl,y
iny
cmp #$60
bne @copy_vbl
sta $207E
jsr $2000
jsr $939
lda #$4C
sta $9D52
lda #<my_vbl
sta $9D53
lda #>my_vbl
sta $9D54
2022-05-27 23:29:52 +00:00
plp
beq +
lda #<callback
sta $8BB
lda #>callback
sta $8BC
+
2020-05-28 03:53:25 +00:00
jmp $881
2022-05-27 23:29:52 +00:00
callback
lda #$A5
sta $A453 ; patch - don't decrease time
jmp $B679
2020-05-28 03:53:25 +00:00
!if * > $1C0 {
!error "code is too large, ends at ", *
}