Complete redesign of the CBM610 support.
Use wrappers to call the kernal in bank 15 instead of implementing kernal functionality within the cc65 libs (eats performance but is much smaller and simpler). Improved startup/shutdown code allows a return to the system bank without calling the BASIC cold start vector. git-svn-id: svn://svn.cc65.org/cc65/trunk@2793 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
|
||||
.export _set_brk, _reset_brk
|
||||
.export _brk_a, _brk_x, _brk_y, _brk_sr, _brk_pc
|
||||
.import _atexit
|
||||
.import _atexit, BRKVec
|
||||
|
||||
.include "cbm610.inc"
|
||||
|
||||
@@ -74,6 +74,8 @@ L1: lda #<brk_handler ; Set the break vector to our routine
|
||||
|
||||
.proc brk_handler
|
||||
|
||||
pla
|
||||
sta _brk_01
|
||||
pla
|
||||
sta _brk_y
|
||||
pla
|
||||
@@ -90,15 +92,11 @@ L1: lda #<brk_handler ; Set the break vector to our routine
|
||||
pla ; PC high
|
||||
sbc #0
|
||||
sta _brk_pc+1
|
||||
lda IndReg
|
||||
sta _brk_01
|
||||
lda ExecReg
|
||||
sta IndReg
|
||||
|
||||
jsr uservec ; Call the user's routine
|
||||
|
||||
lda _brk_01
|
||||
sta IndReg
|
||||
sta IndReg
|
||||
|
||||
lda _brk_pc+1
|
||||
pha
|
||||
|
||||
Reference in New Issue
Block a user