46f1085e2d
- 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
47 lines
576 B
ArmAsm
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
|