I just found out that James Yi at one point documented some of the things
he figured out about the HD61830 LCD Controller in the file LCDIO.200
<https://github.com/LivingM100SIG/Living_M100SIG/blob/main/M100SIG/Lib-10-TANDY200/LCDIO.200>.
Is Virtual T supposed to be able to do things like:

   - Change how many pixels wide each character is.
   - Change font to double-height or half-height.
   - Adjust the screen darkness programmatically.
   - Position any arbitrary byte in the LCD’s 8K of RAM as the top-left
   character on screen.

Thanks,

—b9

On Tue, Feb 24, 2026 at 7:54 AM B 9 [email protected]
<https://mailto:[email protected]> wrote:

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