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]> 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 <http://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". >>
