On Sat, 21 Feb 2026 at 10:46, B9 <[email protected]> wrote:

> (Note: I may ALSO be confused about how the Hitachi LCD works!)
>

On February 21, 2026 11:08:41 AM PST, Peter Vollan <[email protected]>
wrote:

> If you think there is a processor chip built into the LCD, then, yes, you
> are.
>

Thanks for the clarification, Peter! You are correct, the HD61830B
<https://www.displayfuture.com/Display/datasheet/controller/hd61830b.pdf>
LCD controller is not a programmable processor. Still, it is a pretty nifty
chip with a rich instruction set
<https://www.delta-components.de/products/infos/lcd-graphic/HD61830/8.htm>.
It can access up to 64K of RAM, generate characters (from internal or
external ROM) for a super-fast text-only mode, scroll the entire screen
horizontally or vertically at the pixel level, and set dots using xor
<https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/xor/https://www.chiark.greenend.org.uk/~sgtatham/quasiblog/xor/>
for Qix lines.¹

If I understood Ken correctly, Virtual-T does implement the LCD controller
chip at a low-level, so now I am wondering why these programs by James Yi —
which access the HD61830 chip using OUT 254 and OUT 255 — don't work:

   1. LCDTXT.200
   
<http://LCDhttps://github.com/LivingM100SIG/Living_M100SIG/blob/main/M100SIG/Lib-10-TANDY200/LCDTXT.200TXT.200>:
 Demo
   of Tandy 200's "text" mode

     Uses the text mode of the 200's LCD driver chip to display its internal
     character set.  T200 normally runs in graphics mode all the time.
   When you
     run LCDTXT.CO, created by this Basic loader, it displays the character
   set.
     Then press SHIFT to display a text file in memory.  Then release SHIFT
   to
     display them alternately - that shows how fast the whole screen can be
     updated. Finally press SHIFT again to exit.

   2. EFFECT.LCD
   
<https://github.com/LivingM100SIG/Living_M100SIG/blob/main/M100SIG/Lib-10-TANDY200/EFFECT.LCD>:
   Display double-height characters and scroll left.

     By using out 255 and out 254, James Yi found some  interesting screen
   effects.
     Program includes two examples. By assigning #0-16 to out 255 and
    #0-127 to out 254,
     LCD can be controlled. It might or might not work on M100.

   3. SCROLL.200
   
<https://github.com/LivingM100SIG/Living_M100SIG/blob/main/M100SIG/Lib-10-TANDY200/SCROLL.200>:
   This program uses OUT to achieve a smoothly scrolling effect.

Do these work for other folks under Virtual-T? Is my version too old? Did I
compile it incorrectly?

Thanks,

—b9

Footnote 1: Actually, I didn't see XOR mentioned in the documentation, but
that seems to be what Google Translate says for this blog post
<https://pocketgriffon-hatenablog-com.translate.goog/entry/2021/07/08/081305?_x_tr_sl=ja&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp>
from "Pocket Griffon".

Reply via email to