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". >>> >>> >> >
