From 44b065ff99ae4e38243dfff571e28977a1092903 Mon Sep 17 00:00:00 2001 From: Virgil Dupras Date: Tue, 12 May 2020 12:41:47 -0400 Subject: [PATCH] ti84: unify drivers No more low/high --- blk/551 | 4 ++-- blk/559 | 2 +- blk/560 | 2 +- blk/564 | 2 +- recipes/ti84/xcomp.fs | 8 +++----- 5 files changed, 8 insertions(+), 10 deletions(-) diff --git a/blk/551 b/blk/551 index 2eab1b7..e27fedb 100644 --- a/blk/551 +++ b/blk/551 @@ -1,7 +1,7 @@ TI-84+ LCD driver -Implement (emit) on TI-84+ (for now)'s LCD screen. The low -level part are blocks 555-557 and high level ones are 558-560. +Implement (emit) on TI-84+ (for now)'s LCD screen. +Load range: 555-560 The screen is 96x64 pixels. The 64 rows are addressed directly with CMD_ROW but columns are addressed in chunks of 6 or 8 bits diff --git a/blk/559 b/blk/559 index 389b924..12c1379 100644 --- a/blk/559 +++ b/blk/559 @@ -12,5 +12,5 @@ LCD_CURY C@ _row! LCD_CURX C@ 8 / 1+ _col! FNTH 0 DO LCD_BUF FNTH + I + C@ _data! LOOP LCD_CURX C@ FNTW + 1+ DUP LCD_CURX C! ( x ) - [ 96 FNTW - LITN ] > IF _lf THEN ; + 96 FNTW - > IF _lf THEN ; diff --git a/blk/560 b/blk/560 index fc86c7b..b1f21b5 100644 --- a/blk/560 +++ b/blk/560 @@ -1,4 +1,4 @@ : (emit) DUP 0xd = IF DROP _lf EXIT THEN DUP 0x20 0x7e =><= NOT IF DROP EXIT THEN - 0x20 - FNTH * ['] ~FNT + _glyph> ; + 0x20 - FNTH * ~FNT + _glyph> ; diff --git a/blk/564 b/blk/564 index 3b419cb..d21ac6a 100644 --- a/blk/564 +++ b/blk/564 @@ -1,6 +1,6 @@ Keyboard driver -Low layer range: 566-570 +Load range: 566-570 Implement a (key) word that interpret keystrokes from the builtin keyboard. The word waits for a digit to be pressed and diff --git a/recipes/ti84/xcomp.fs b/recipes/ti84/xcomp.fs index 5d142e3..51c0367 100644 --- a/recipes/ti84/xcomp.fs +++ b/recipes/ti84/xcomp.fs @@ -65,16 +65,14 @@ CURRENT @ XCURRENT ! 0x100 BIN( ! 282 LOAD ( boot.z80 ) 393 LOAD ( icore low ) -555 557 LOADR ( LCD low ) +CREATE ~FNT CPFNT3x5 +555 560 LOADR ( LCD low ) 566 570 LOADR ( KBD low ) 415 LOAD ( icore high ) -(entry) ~FNT CPFNT3x5 (entry) _ ( Update LATEST ) PC ORG @ 8 + ! -422 437 XPACKR ( core ) -558 560 XPACKR ( LCD high ) -438 451 XPACKR ( print fmt readln ) +422 451 XPACKR ( core print fmt readln ) ," : _ LCD$ KBD$ (ok) RDLN$ ; _ " ORG @ 0x100 - 256 /MOD 2 PC! 2 PC! H@ 256 /MOD 2 PC! 2 PC!