]> git.sur5r.net Git - cc65/blob - libsrc/c128/cpeekrevers.s
Made the code that logs indirect-goto referals be a little more efficient.
[cc65] / libsrc / c128 / cpeekrevers.s
1 ;
2 ; 2016-02-28, Groepaz
3 ; 2017-06-26, Greg King
4 ;
5 ; unsigned char cpeekrevers (void);
6 ;
7
8         .export         _cpeekrevers
9
10         .include        "zeropage.inc"
11         .include        "c128.inc"
12
13
14 _cpeekrevers:
15         lda     MODE
16         bmi     @c80
17
18         ldy     CURS_X
19         lda     (SCREEN_PTR),y  ; get char
20
21 @return:
22         and     #$80            ; get reverse flag
23         asl     a
24         tax                     ; ldx #>$0000
25         rol     a               ; return boolean value
26         rts
27
28 @c80:
29         lda     SCREEN_PTR
30         ldy     SCREEN_PTR+1
31         clc
32         adc     CURS_X
33         bcc     @s
34         iny
35
36         ; get byte from VDC mem
37 @s:     ldx     #VDC_DATA_LO
38         stx     VDC_INDEX
39 @L0:    bit     VDC_INDEX
40         bpl     @L0
41         sta     VDC_DATA
42         dex
43         stx     VDC_INDEX
44         sty     VDC_DATA
45
46         ldx     #VDC_RAM_RW
47         stx     VDC_INDEX
48 @L1:    bit     VDC_INDEX
49         bpl     @L1             ; wait for blanking
50         lda     VDC_DATA
51         jmp     @return