mirror of
https://github.com/cc65/cc65.git
synced 2024-10-30 12:28:25 +00:00
931b6418bf
an unsigned char. Two more video mode constants as discussed on the list. git-svn-id: svn://svn.cc65.org/cc65/trunk@4133 b7a2c559-68d2-44c3-8de9-860c34a00d81
34 lines
786 B
ArmAsm
34 lines
786 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
|
|
|