1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-26 05:29:30 +00:00
cc65/libsrc/c128/videomode.s
uz 9656dde9e3 Fix scrolling (again). The old code switched off scrolling completely, as a
consequence it didn't work when write(FILENO_STDOUT, ...) was used. So we will
have to disable scrolling on a per character basis in cputc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4617 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-03-07 13:37:58 +00:00

35 lines
787 B
ArmAsm

;
; Ullrich von Bassewitz, 2009-09-07
;
; unsigned __fastcall__ videomode (unsigned Mode);
; /* Set the video mode, return the old mode */
;
.export _videomode
.import SWAPPER, BSOUT
.include "c128.inc"
.proc _videomode
cmp MODE ; Do we have this mode already?
beq @L9
lda MODE ; Get current mode ...
pha ; ... and save it
jsr SWAPPER ; Toggle the mode
lda #14
jsr BSOUT ; Switch to lower case chars
pla ; Get old mode into A
; Done, old mode is in A
@L9: ldx #$00 ; Clear high byte
rts
.endproc