My apologies for sounding presumptuous. I was not thinking you would be
making the fixes. I just was looking for a central location for the fixes
so it could be worked on bit by bit (by me and others) and over time come
to completion. If you would prefer I use a different fork to be staging
such work so that it doesn't distract you, I can do that.

—b9



On Fri, Feb 27, 2026 at 6:37 AM Kenneth Pettit <[email protected]> wrote:

> Oh, I think maybe you read something into my message that I didn't
> intend.
>
> I was more giving advice on the changes you would need to make to the
> existing code vs. offering up services.  VirtualT is open source such that
> anyone can make updates.  I don't have anywhere near the amount of time
> available it would take to implement and test T200 display features like
> the ones you described (though the last one about positioning any byte in
> RAM as the top is already there).
>
> Ken
>
> On 2/26/26 7:25 PM, B9 wrote:
>
> Thanks, Ken! I can make a list of what I've noticed missing and include
> some programs to exercise the features.
>
> Where should I file the bug report?
>
> --b9
>
>
> On February 26, 2026 5:00:23 AM PST, Kenneth Pettit <[email protected]>
> <[email protected]> wrote:
>
>> Hi b9,
>>
>> No, I'm sure when I added T200 emulation mode, I only implemented the
>> subset of commands from the HD61830 controller chip that were actually
>> being used by the ROM.  Those other features would need to be added
>> specifically (i.e. any addiitonal I/O ports added (there probably aren't
>> any) and then code to detect and implement the command sequences.
>>
>> Would also need code to test those additions.
>>
>> Ken
>>
>> On 2/25/26 8:59 PM, B 9 wrote:
>>
>> 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