Use external symbols for the CBM kernal jump table functions. This allows

to emulate these functions on platforms where one or more of these functions
are not available (PET, CBM-II).


git-svn-id: svn://svn.cc65.org/cc65/trunk@1544 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
cuz
2002-11-19 23:02:47 +00:00
parent 3b081086f3
commit 6d498d8187
70 changed files with 720 additions and 187 deletions

View File

@@ -23,6 +23,7 @@ OBJS = _scrsize.o \
conio.o \
cputc.o \
kbhit.o \
kernal.o \
mouse.o \
randomize.o \
readjoy.o \

View File

@@ -5,9 +5,9 @@
;
.export xsize, ysize
.import SCREEN
.constructor initscrsize
.include "../cbm/cbm.inc"
.code

View File

@@ -9,9 +9,10 @@
.export newline, plot
.import popa, _gotoxy
.import xsize, revers
.import PLOT
.include "c64.inc"
.include "../cbm/cbm.inc"
_cputcxy:
pha ; Save C

View File

@@ -8,11 +8,12 @@
.import initlib, donelib
.import zerobss, push0
.import _main
.import RESTOR, BSOUT, CLRCH
.import __RAM_START__, __RAM_SIZE__ ; Linker generated
.include "zeropage.inc"
.include "c64.inc"
.include "../cbm/cbm.inc"
.code

90
libsrc/c64/kernal.s Normal file
View File

@@ -0,0 +1,90 @@
;
; Ullrich von Bassewitz, 19.11.2002
;
; C64 kernal functions
;
.export CINT
.export IOINIT
.export RAMTAS
.export RESTOR
.export VECTOR
.export SETMSG
.export SECOND
.export TKSA
.export MEMTOP
.export MEMBOT
.export SCNKEY
.export SETTMO
.export ACPTR
.export CIOUT
.export UNTLK
.export UNLSN
.export LISTEN
.export TALK
.export READST
.export SETLFS
.export SETNAM
.export OPEN
.export CLOSE
.export CHKIN
.export CKOUT
.export CLRCH
.export BASIN
.export BSOUT
.export LOAD
.export SAVE
.export SETTIM
.export RDTIM
.export STOP
.export GETIN
.export CLALL
.export UDTIM
.export SCREEN
.export PLOT
.export IOBASE
;-----------------------------------------------------------------------------
; All functions are available in the kernal jump table
CINT = $FF81
IOINIT = $FF84
RAMTAS = $FF87
RESTOR = $FF8A
VECTOR = $FF8D
SETMSG = $FF90
SECOND = $FF93
TKSA = $FF96
MEMTOP = $FF99
MEMBOT = $FF9C
SCNKEY = $FF9F
SETTMO = $FFA2
ACPTR = $FFA5
CIOUT = $FFA8
UNTLK = $FFAB
UNLSN = $FFAE
LISTEN = $FFB1
TALK = $FFB4
READST = $FFB7
SETLFS = $FFBA
SETNAM = $FFBD
OPEN = $FFC0
CLOSE = $FFC3
CHKIN = $FFC6
CKOUT = $FFC9
CLRCH = $FFCC
BASIN = $FFCF
BSOUT = $FFD2
LOAD = $FFD5
SAVE = $FFD8
SETTIM = $FFDB
RDTIM = $FFDE
STOP = $FFE1
GETIN = $FFE4
CLALL = $FFE7
UDTIM = $FFEA
SCREEN = $FFED
PLOT = $FFF0
IOBASE = $FFF3

View File

@@ -17,7 +17,7 @@
.rodata
_tgi_mode_table:
.byte TGI_MODE_320_200_2, "c64-320-200-2.tgi", 0
.byte TGI_MODE_320_200_2, "c64-high.tgi", 0
.byte 0 ; End marker