mirror of
https://github.com/cc65/cc65.git
synced 2024-08-29 09:29:19 +00:00
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
35 lines
787 B
ArmAsm
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
|
|
|