4cade/src/glue.launch.lc2.a

28 lines
860 B
Plaintext
Raw Normal View History

;license:MIT
;(c) 2018-2021 by 4am & qkumba
;
2019-10-09 17:16:29 +00:00
; Functions to launch games and self-running demos
;
; /!\ These live in LC RAM 2 and rely on the ProRWTS code which is also in LC RAM 2. /!\
; Code in LC RAM 1 (which is most program code) should call the functions in glue.launch
; which handle bank switching for you.
2019-10-09 17:04:39 +00:00
LaunchInternal
tsx ; back up stack pointer
2019-11-27 21:51:43 +00:00
stx STACKPTR + 1
inx
- pla
sta STACKBASE - $100 + gStackSize,x
; back up stack
inx
bne -
stx RestoreStackNextTime + 1
2019-10-09 17:04:39 +00:00
; tell |Reenter| to restore the stack and stack pointer
txa
2019-10-09 17:04:39 +00:00
ldy #$18
- sta $bf57,y
dey
bne -
jmp $106 ; jump to pre-launch code