]> git.sur5r.net Git - cc65/blob - libsrc/osic1p/cgetc.s
Rename c1p target to osic1p
[cc65] / libsrc / osic1p / cgetc.s
1 ;\r
2 ; char cgetc (void);\r
3 ;\r
4         .export         _cgetc\r
5         .import         cursor\r
6 \r
7         .include        "osic1p.inc"\r
8         .include        "extzp.inc"\r
9 \r
10 ; Input routine from 65V PROM MONITOR, show cursor if enabled\r
11 _cgetc:\r
12         lda     cursor          ; show cursor?\r
13         beq     nocursor\r
14         ldy     CURS_X\r
15         lda     (SCREEN_PTR),y  ; fetch current character\r
16         sta     CURS_SAV        ; save it\r
17         lda     #$A1            ; full white square\r
18         sta     (SCREEN_PTR),y  ; store at cursor position\r
19 nocursor:\r
20         jsr     INPUTC\r
21         pha                     ; save retrieved character\r
22         lda     cursor          ; was cursor on?\r
23         beq     nocursor2\r
24         lda     CURS_SAV        ; fetch saved character\r
25         ldy     CURS_X\r
26         sta     (SCREEN_PTR),y  ; store at cursor position\r
27 nocursor2:\r
28         pla                     ; restore retrieved character\r
29         rts\r