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:
@@ -8,12 +8,14 @@
|
||||
.export _cputcxy, _cputc, cputdirect, putchar
|
||||
.export newline, plot
|
||||
.exportzp CURS_X, CURS_Y
|
||||
|
||||
.import PLOT
|
||||
.import _gotoxy
|
||||
.import popa
|
||||
.import xsize, revers
|
||||
|
||||
.include "cbm610.inc"
|
||||
.include "../cbm/cbm.inc"
|
||||
|
||||
|
||||
_cputcxy:
|
||||
pha ; Save C
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
.import push0, _main
|
||||
.import __BSS_RUN__, __BSS_SIZE__
|
||||
.import irq, nmi
|
||||
.import k_irq, k_nmi, k_plot, k_udtim, k_scnkey
|
||||
.import k_irq, k_nmi, PLOT, UDTIM, SCNKEY
|
||||
|
||||
.include "zeropage.inc"
|
||||
.include "cbm610.inc"
|
||||
@@ -238,7 +238,7 @@ vectable:
|
||||
jmp $0000 ; TKSA
|
||||
jmp $0000 ; MEMTOP
|
||||
jmp $0000 ; MEMBOT
|
||||
jmp k_scnkey ; SCNKEY
|
||||
jmp SCNKEY
|
||||
jmp $0000 ; SETTMO
|
||||
jmp $0000 ; ACPTR
|
||||
jmp $0000 ; CIOUT
|
||||
@@ -247,8 +247,8 @@ vectable:
|
||||
jmp $0000 ; LISTEN
|
||||
jmp $0000 ; TALK
|
||||
jmp $0000 ; READST
|
||||
jmp k_setlfs ; SETLFS
|
||||
jmp k_setnam ; SETNAM
|
||||
jmp SETLFS
|
||||
jmp SETNAM
|
||||
jmp $0000 ; OPEN
|
||||
jmp $0000 ; CLOSE
|
||||
jmp $0000 ; CHKIN
|
||||
@@ -258,15 +258,15 @@ vectable:
|
||||
jmp $0000 ; BSOUT
|
||||
jmp $0000 ; LOAD
|
||||
jmp $0000 ; SAVE
|
||||
jmp k_settim ; SETTIM
|
||||
jmp k_rdtim ; RDTIM
|
||||
jmp SETTIM
|
||||
jmp RDTIM
|
||||
jmp $0000 ; STOP
|
||||
jmp $0000 ; GETIN
|
||||
jmp $0000 ; CLALL
|
||||
jmp k_udtim ; UDTIM
|
||||
jmp k_screen ; SCREEN
|
||||
jmp k_plot ; PLOT
|
||||
jmp k_iobase ; IOBASE
|
||||
jmp UDTIM
|
||||
jmp SCREEN
|
||||
jmp PLOT
|
||||
jmp IOBASE
|
||||
sta ExecReg
|
||||
rts
|
||||
.byte $01 ; Filler
|
||||
@@ -339,23 +339,30 @@ reset_size = * - reset
|
||||
; ------------------------------------------------------------------------
|
||||
; Code for a few simpler kernal calls goes here
|
||||
|
||||
k_iobase:
|
||||
ldx cia
|
||||
ldy cia+1
|
||||
.export IOBASE
|
||||
.proc IOBASE
|
||||
ldx cia
|
||||
ldy cia+1
|
||||
rts
|
||||
.endproc
|
||||
|
||||
k_screen:
|
||||
.export SCREEN
|
||||
.proc SCREEN
|
||||
ldx #80 ; Columns
|
||||
ldy #25 ; Lines
|
||||
rts
|
||||
.endproc
|
||||
|
||||
k_setlfs:
|
||||
.export SETLFS
|
||||
.proc SETLFS
|
||||
sta LogicalAdr
|
||||
stx FirstAdr
|
||||
sty SecondAdr
|
||||
rts
|
||||
.endproc
|
||||
|
||||
k_setnam:
|
||||
.export SETNAM
|
||||
.proc SETNAM
|
||||
sta FileNameLen
|
||||
lda $00,x
|
||||
sta FileNameAdrLo
|
||||
@@ -364,22 +371,27 @@ k_setnam:
|
||||
lda $02,x
|
||||
sta FileNameAdrSeg
|
||||
rts
|
||||
.endproc
|
||||
|
||||
k_rdtim:
|
||||
.export RDTIM
|
||||
.proc RDTIM
|
||||
sei
|
||||
lda time+0
|
||||
ldx time+1
|
||||
ldy time+2
|
||||
lda time+0
|
||||
ldx time+1
|
||||
ldy time+2
|
||||
cli
|
||||
rts
|
||||
.endproc
|
||||
|
||||
k_settim:
|
||||
.export SETTIM
|
||||
.proc SETTIM
|
||||
sei
|
||||
sta time+0
|
||||
stx time+1
|
||||
sta time+0
|
||||
stx time+1
|
||||
sty time+2
|
||||
cli
|
||||
rts
|
||||
.endproc
|
||||
|
||||
; -------------------------------------------------------------------------
|
||||
; Data area - switch back to relocatable mode
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
; PLOT routine for the 610.
|
||||
;
|
||||
|
||||
.export k_plot
|
||||
.export PLOT
|
||||
.importzp crtc
|
||||
|
||||
.include "cbm610.inc"
|
||||
|
||||
|
||||
.proc k_plot
|
||||
.proc PLOT
|
||||
|
||||
bcc set
|
||||
ldx CURS_Y
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
; Keyboard polling stuff for the 610.
|
||||
;
|
||||
|
||||
.export k_scnkey
|
||||
.export SCNKEY
|
||||
.importzp tpi2, ktab1, ktab2, ktab3, ktab4
|
||||
|
||||
.include "cbm610.inc"
|
||||
|
||||
|
||||
.proc k_scnkey
|
||||
.proc SCNKEY
|
||||
|
||||
lda #$FF
|
||||
sta ModKey
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
; C programs will not use it.
|
||||
;
|
||||
|
||||
.export k_udtim
|
||||
.export UDTIM
|
||||
.importzp time
|
||||
|
||||
|
||||
.proc k_udtim
|
||||
.proc UDTIM
|
||||
|
||||
inc time
|
||||
bne L9
|
||||
@@ -22,4 +22,4 @@ L9: rts
|
||||
|
||||
.endproc
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user