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:
cuz
2003-12-20 23:13:26 +00:00
parent 018a68a2fe
commit a7042ddbe4
28 changed files with 1086 additions and 1033 deletions

View File

@@ -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