cc65/libsrc/geos-common/conio/cgetc.s
ol.sc 46f1085e2d Fixed several aspects of the GEOS CONIO implementation:
- cputc was drawing at the wrong position, therefore one line had to be removed as a workaround.
- chline, cvline were drawing one pixel to large lines.
- cclear was drawing an in both directions one pixel to big rect.
- the cursor was drawn at wrong times at wrong places in a wrong size.

git-svn-id: svn://svn.cc65.org/cc65/trunk@5874 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-10-23 19:42:57 +00:00

47 lines
576 B
ArmAsm

;
; Maciej 'YTM/Elysium' Witkowiak
;
; 27.10.2001
; 06.03.2002
; unsigned char cgetc (void);
.export _cgetc
.import cursor
.importzp cursor_x, cursor_y
.include "jumptab.inc"
.include "geossym.inc"
_cgetc:
; show cursor if needed
lda cursor
beq L0
; prepare cursor
lda #7
jsr InitTextPrompt
lda cursor_x
ldx cursor_x+1
sta stringX
stx stringX+1
lda cursor_y
sta stringY
jsr PromptOn
L0: jsr GetNextChar
tax
beq L0
pha
; from 'The Hitchhiker's Guide To GEOS'
php
sei
jsr PromptOff
lda #0
sta alphaFlag
plp
pla
ldx #0
rts