dos33fsprogs/games/mist/lights_off.s

57 lines
1.7 KiB
ArmAsm

; make the room dark if the lights are off
; for use mostly on stoneship
dark_translate:
ldx #0
dark_translate_loop:
lda $c00,X
tay
lda dark_translate_table,Y
sta $c00,X
lda $d00,X
tay
lda dark_translate_table,Y
sta $d00,X
lda $e00,X
tay
lda dark_translate_table,Y
sta $e00,X
lda $f00,X
tay
lda dark_translate_table,Y
sta $f00,X
dex
bne dark_translate_loop
rts
; 0,1,3,4,5,8,9,b,c,d,e,f -> 0
; 2,6,7,A -> 2
dark_translate_table:
; 0 1 2 3 4 5 6 7 8 9 A B C D E F
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 0
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 1
.byte $20,$20,$22,$20,$20,$20,$22,$22,$20,$20,$22,$20,$20,$20,$20,$20 ; 2
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 3
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 4
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 5
.byte $20,$20,$22,$20,$20,$20,$22,$22,$20,$20,$22,$20,$20,$20,$20,$20 ; 6
.byte $20,$20,$22,$20,$20,$20,$22,$22,$20,$20,$22,$20,$20,$20,$20,$20 ; 7
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 8
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; 9
.byte $20,$20,$22,$20,$20,$20,$22,$22,$20,$20,$22,$20,$20,$20,$20,$20 ; A
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; B
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; C
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; D
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; E
.byte $00,$00,$02,$00,$00,$00,$02,$02,$00,$00,$02,$00,$00,$00,$00,$00 ; F