Updated the cx16 library to the Commander X16's ROM prerelease 37.
This commit is contained in:
39
libsrc/cx16/layer_enable.s
Normal file
39
libsrc/cx16/layer_enable.s
Normal file
@@ -0,0 +1,39 @@
|
||||
;
|
||||
; 2020-05-02, Greg King
|
||||
;
|
||||
; unsigned char __fastcall__ vera_layer_enable (unsigned char layers);
|
||||
; /* Display the layers that are "named" by the bit flags in layers.
|
||||
; ** A value of 0b01 shows layer 0, a value of 0b10 shows layer 1,
|
||||
; ** a value of 0b11 shows both layers. Return the previous value.
|
||||
; */
|
||||
;
|
||||
|
||||
.export _vera_layer_enable
|
||||
|
||||
.include "cx16.inc"
|
||||
|
||||
|
||||
mask = VERA::DISP::ENABLE::LAYER1 | VERA::DISP::ENABLE::LAYER0
|
||||
|
||||
.proc _vera_layer_enable
|
||||
stz VERA::CTRL ; Use display register bank 0
|
||||
asl a
|
||||
asl a ; Shift new flags into position
|
||||
asl a
|
||||
asl a
|
||||
ldy VERA::DISP::VIDEO
|
||||
|
||||
eor VERA::DISP::VIDEO
|
||||
and #mask
|
||||
eor VERA::DISP::VIDEO ; Replace old flags with new flags
|
||||
sta VERA::DISP::VIDEO
|
||||
|
||||
tya
|
||||
and #mask ; Get old flags
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
lsr a
|
||||
ldx #>$0000
|
||||
rts
|
||||
.endproc
|
||||
Reference in New Issue
Block a user