Browse Source

ti/lcd: add support for backspace

Also, fix visual glitch on line wrap.
pull/75/head
Virgil Dupras 4 years ago
parent
commit
6d9f96aee6
1 changed files with 18 additions and 7 deletions
  1. +18
    -7
      kernel/ti/lcd.asm

+ 18
- 7
kernel/ti/lcd.asm View File

@@ -153,13 +153,6 @@ lcdSendGlyph:
ld a, (LCD_CURCOL)
call lcdSetCol

; let's increase (and wrap) col now
inc a
ld (LCD_CURCOL), a
cp 16
jr nz, .skip
call lcdLinefeed
.skip:
ld b, FNT_HEIGHT
.loop:
ld a, (hl)
@@ -167,6 +160,14 @@ lcdSendGlyph:
call lcdData
djnz .loop

; Increase column and wrap if necessary
ld a, (LCD_CURCOL)
inc a
ld (LCD_CURCOL), a
cp 16
jr nz, .skip
call lcdLinefeed
.skip:
pop hl
pop bc
pop af
@@ -240,6 +241,8 @@ lcdClrScr:
lcdPutC:
cp ASCII_LF
jp z, lcdLinefeed
cp ASCII_BS
jr z, .bs
push hl
call fntGet
jr nz, .end
@@ -247,3 +250,11 @@ lcdPutC:
.end:
pop hl
ret
.bs:
ld a, (LCD_CURCOL)
or a
ret z ; going back one line is too complicated.
; not implemented yet
dec a
ld (LCD_CURCOL), a
ret

Loading…
Cancel
Save