Turned the 'ST' status byte into a symbol resolved by the linker in order to allow to use it from code living in the 'cbm' directory.

Moved getdevice.s from 'c64'/'c128' to 'cbm' making use of the new 'ST' setup.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5834 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
ol.sc 2012-09-30 18:20:15 +00:00
parent 1e3197691a
commit 59e96ef740
23 changed files with 46 additions and 77 deletions

View File

@ -56,7 +56,6 @@ OBJS = _scrsize.o \
devnum.o \
fast.o \
get_tv.o \
getdevice.o \
joy_stddrv.o \
kbhit.o \
kernal.o \
@ -66,6 +65,7 @@ OBJS = _scrsize.o \
randomize.o \
revers.o \
slow.o \
status.o \
systime.o \
sysuname.o \
tgi_colors.o \

View File

@ -10,6 +10,7 @@
.import RESTOR, BSOUT, CLRCH
.import __INTERRUPTOR_COUNT__
.import __RAM_START__, __RAM_SIZE__, __STACKSIZE__
.importzp ST
.include "zeropage.inc"
.include "c128.inc"

View File

@ -1,67 +0,0 @@
;
; Oliver Schmidt, 2012-09-04
;
; unsigned char getfirstdevice (void);
; unsigned char __fastcall__ getnextdevice (unsigned char device);
;
.export _getfirstdevice
.export _getnextdevice
.import isdisk
.import opencmdchannel
.import closecmdchannel
.importzp tmp2
.include "c128.inc"
;------------------------------------------------------------------------------
; _getfirstdevice
_getfirstdevice:
lda #$FF
; Fall through
;------------------------------------------------------------------------------
; _getnextdevice
_getnextdevice:
tax
next: inx
cpx #$FF
beq done
; [open|close]cmdchannel already call isdisk internally but they
; interpret a non-disk as a no-op while we need to interpret it
; as an error here
jsr isdisk
bcs next
; [open|close]cmdchannel don't call into the Kernal at all if they
; only [in|de]crement the reference count of the shared cmdchannel
; so we need to explicitly initialize ST here
lda #$00
sta ST
stx tmp2
jsr opencmdchannel
ldx tmp2
jsr closecmdchannel
ldx tmp2
; As we had to reference ST above anyway we can as well do so
; here too (instead of calling READST)
lda ST
; Either the Kernal calls above were successfull or there was
; already a cmdchannel to the device open - which is a pretty
; good indication of its existence ;-)
bmi next
done: txa
ldx #$00
rts

5
libsrc/c128/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $90 ; IEC status byte

View File

@ -61,6 +61,7 @@ OBJS = _scrsize.o \
mainargs.o \
randomize.o \
revers.o \
status.o \
systime.o \
sysuname.o

View File

@ -11,6 +11,7 @@
.import callmain, zerobss
.import MEMTOP, RESTOR, BSOUT, CLRCH
.import __INTERRUPTOR_COUNT__
.importzp ST
.include "zeropage.inc"
.include "plus4.inc"

5
libsrc/c16/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $90 ; IEC status byte

View File

@ -55,7 +55,6 @@ OBJS = _scrsize.o \
devnum.o \
get_ostype.o \
get_tv.o \
getdevice.o \
joy_stddrv.o \
kbhit.o \
kernal.o \
@ -65,6 +64,7 @@ OBJS = _scrsize.o \
mouse_stddrv.o \
randomize.o \
revers.o \
status.o \
systime.o \
sysuname.o \
tgi_colors.o \

View File

@ -11,6 +11,7 @@
.import __INTERRUPTOR_COUNT__
.import __RAM_START__, __RAM_SIZE__ ; Linker generated
.import __STACKSIZE__ ; Linker generated
.importzp ST
.include "zeropage.inc"
.include "c64.inc"

5
libsrc/c64/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $90 ; IEC status byte

View File

@ -76,6 +76,7 @@ S_OBJS = c_acptr.o \
filename.o \
filetype.o \
filevars.o \
getdevice.o \
gotox.o \
gotoxy.o \
gotoy.o \

View File

@ -11,10 +11,9 @@
.import isdisk
.import opencmdchannel
.import closecmdchannel
.importzp ST
.importzp tmp2
.include "c64.inc"
;------------------------------------------------------------------------------
; _getfirstdevice

View File

@ -70,6 +70,7 @@ OBJS = _scrsize.o \
mainargs.o \
randomize.o \
revers.o \
status.o \
sysuname.o
#--------------------------------------------------------------------------

View File

@ -6,8 +6,7 @@
;
.export checkst
.include "pet.inc"
.importzp ST
.proc checkst
@ -22,5 +21,3 @@
rts
.endproc

View File

@ -9,6 +9,7 @@
.import callmain
.import CLRCH, BSOUT
.import __INTERRUPTOR_COUNT__
.importzp ST
.include "zeropage.inc"
.include "pet.inc"

View File

@ -5,8 +5,7 @@
;
.export READST
.include "pet.inc"
.importzp ST
.proc READST

5
libsrc/pet/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $96 ; IEC status byte

View File

@ -82,6 +82,7 @@ OBJS = _scrsize.o \
mainargs.o \
randomize.o \
revers.o \
status.o \
systime.o \
sysuname.o

View File

@ -11,6 +11,7 @@
.import __INTERRUPTOR_COUNT__
.import __RAM_START__, __RAM_SIZE__ ; Linker generated
.import __STACKSIZE__ ; Linker generated
.importzp ST
.include "zeropage.inc"
.include "plus4.inc"

5
libsrc/plus4/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $90 ; IEC status byte

View File

@ -61,6 +61,7 @@ OBJS = _scrsize.o \
mainargs.o \
randomize.o \
revers.o \
status.o \
sysuname.o
#--------------------------------------------------------------------------

View File

@ -11,6 +11,7 @@
.import __INTERRUPTOR_COUNT__
.import __RAM_START__, __RAM_SIZE__ ; Linker generated
.import __STACKSIZE__ ; Linker generated
.importzp ST
.include "zeropage.inc"
.include "vic20.inc"

5
libsrc/vic20/status.s Normal file
View File

@ -0,0 +1,5 @@
;
; Oliver Schmidt, 2012-09-30
;
.exportzp ST := $90 ; IEC status byte