1
0
mirror of https://github.com/cc65/cc65.git synced 2024-12-27 15:29:46 +00:00
cc65/libsrc/c128/conio.s
cuz 99ecc9a609 Removed initialization code to set the screen size and replaced it by a
separate module that contains a module constructor. In some cases, the
code was even unnecessary, since the screen size is known in advance.


git-svn-id: svn://svn.cc65.org/cc65/trunk@476 b7a2c559-68d2-44c3-8de9-860c34a00d81
2000-11-23 19:05:32 +00:00

46 lines
573 B
ArmAsm

;
; Ullrich von Bassewitz, 06.08.1998
;
; Low level stuff for screen output/console input
;
.export initconio, doneconio
.exportzp CURS_X, CURS_Y
.import xsize, ysize
.include "c128.inc"
.include "../cbm/cbm.inc"
.bss
keyvec: .res 2
.code
initconio:
; Save the old vector
lda KeyStoreVec
sta keyvec
lda KeyStoreVec+1
sta keyvec+1
; Set the new vector. I can only hope that this works for other C128
; versions...
lda #<$C6B7
ldx #>$C6B7
SetVec: sei
sta KeyStoreVec
stx KeyStoreVec+1
cli
rts
doneconio:
lda keyvec
ldx keyvec+1
bne SetVec