Updates
This commit is contained in:
@@ -22,6 +22,7 @@ HIMEM := $73 ; Highest available memory address+1
|
||||
;-----------------------------------------------------------------------------
|
||||
; Vectors
|
||||
|
||||
DOSWARM := $03D0 ; DOS warmstart vector
|
||||
BRKVec := $03F0 ; Break vector
|
||||
SOFTEV := $03F2 ; Vector for warm start
|
||||
PWREDUP := $03F4 ; This must be = EOR #$A5 of SOFTEV+1
|
||||
|
||||
@@ -24,10 +24,14 @@
|
||||
#define COLOR_WHITE 0x07
|
||||
|
||||
/* Characters codes */
|
||||
#define CH_CTRL_C 0x03
|
||||
#define CH_ENTER 0x0D
|
||||
#define CH_ESC 0x1B
|
||||
#define CH_CURS_LEFT 0x08
|
||||
#define CH_CURS_RIGHT 0x15
|
||||
#define CH_CURS_UP 0x19
|
||||
#define CH_CURS_DOWN 0x1A
|
||||
#define CH_ESC 0x1B
|
||||
|
||||
|
||||
/* Masks for joy_read */
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
;
|
||||
|
||||
.export __STARTUP__ : absolute = 1 ; Mark as startup
|
||||
.export _exit
|
||||
|
||||
.import initlib, donelib
|
||||
.import zerobss, callmain
|
||||
@@ -14,12 +15,60 @@
|
||||
; ------------------------------------------------------------------------
|
||||
|
||||
.segment "STARTUP"
|
||||
jsr init
|
||||
jsr zerobss
|
||||
jsr callmain
|
||||
_exit: ldx #<exit
|
||||
lda #>exit
|
||||
jsr reset
|
||||
jsr donelib
|
||||
exit: ldx #$02
|
||||
: lda rvsave,x
|
||||
sta SOFTEV,x
|
||||
dex
|
||||
bpl :-
|
||||
ldx #zpspace-1
|
||||
: lda zpsave,x
|
||||
sta sp,x
|
||||
dex
|
||||
bpl :-
|
||||
ldx #$FF
|
||||
txs
|
||||
jmp DOSWARM
|
||||
|
||||
|
||||
|
||||
.segment "ONCE"
|
||||
|
||||
init: ldx #zpspace-1
|
||||
: lda sp,x
|
||||
sta zpsave,x
|
||||
dex
|
||||
bpl :-
|
||||
|
||||
ldx #$02
|
||||
: lda SOFTEV,x
|
||||
sta rvsave,x
|
||||
dex
|
||||
bpl :-
|
||||
|
||||
lda HIMEM
|
||||
ldx HIMEM+1
|
||||
sta sp
|
||||
stx sp+1
|
||||
jsr initlib
|
||||
jsr zerobss
|
||||
jsr callmain
|
||||
jsr donelib
|
||||
ldx #<_exit
|
||||
lda #>_exit
|
||||
jsr reset
|
||||
jmp initlib
|
||||
|
||||
.code
|
||||
|
||||
reset: stx SOFTEV
|
||||
sta SOFTEV+1
|
||||
eor #$A5
|
||||
sta PWREDUP
|
||||
rts
|
||||
|
||||
.segment "INIT"
|
||||
zpsave: .res zpspace
|
||||
rvsave: .res 3
|
||||
|
||||
Reference in New Issue
Block a user