]> git.sur5r.net Git - cc65/blob - libsrc/c128/cpeekcolor.s
Fixed gcc compiler warning (#867)
[cc65] / libsrc / c128 / cpeekcolor.s
1 ;
2 ; 2016-02-28, Groepaz
3 ; 2017-06-26, Greg King
4 ;
5 ; unsigned char cpeekcolor (void);
6 ;
7
8         .export         _cpeekcolor
9
10         .include        "c128.inc"
11
12
13 _cpeekcolor:
14         bit     MODE
15         bmi     @c80
16
17         ldy     CURS_X
18         lda     (CRAM_PTR),y    ; get color
19         and     #$0F
20         ldx     #>$0000
21         rts
22
23 @c80:   lda     CRAM_PTR
24         ldy     CRAM_PTR+1
25         clc
26         adc     CURS_X
27         bcc     @s
28         iny
29
30         ; get byte from VDC mem
31 @s:     ldx     #VDC_DATA_LO
32         stx     VDC_INDEX
33 @L0:    bit     VDC_INDEX
34         bpl     @L0
35         sta     VDC_DATA
36         dex
37         stx     VDC_INDEX
38         sty     VDC_DATA
39
40         ldx     #VDC_RAM_RW
41         stx     VDC_INDEX
42 @L1:    bit     VDC_INDEX
43         bpl     @L1             ; wait for blanking
44         lda     VDC_DATA
45         and     #$0F
46
47 ; translate VDC->VIC colour
48
49 vdctovic:
50         ldy     #$0F + 1
51 @L2:    dey
52         cmp     $CE5C,y
53         bne     @L2
54         tya
55         ldx     #>$0000
56         rts