Tuesday, 9 December 2025

An LCD for Freebee

I've got this idea for making a coreboard that plugs in to freebee that contains it's own LCD controller. I can buy (from Core electronics) a lovely little 10" 1280x800 LCD, with a converter board that takes a VGA input. If I do 2 pixels per bee pixel horizontally, and 3 pixels vertically, I get a 640 x 266 display, which is terribly close to the 80x24 bee mode (640 x 264).

I bought one of these (panel is a B101EW05), and this is what it looks like on freebee, via a GBS-8200 CGA-VGA upscaler. It's not too shabby:

the data sheet for the panel says it works with dot-clocks from 64-85 MHz, so at (say) 80 MHz, halving horizontal resolution, I only have to generate pixels at 40 MHz. That's doable with 74AHC...

Here's a little board I knocked up to drive it. I use an ICE40HX1K FPGA, which has 64kbit of dual port RAM, which can be used as a line buffer, plus a PLL for generating a 6x dot clock. I've put an LVDS serialiser in as well, so it'll drive the panel directly. Yeah, not a lot of through hole parts in this one.

And built. This is not like most boards I do lately, featuring TQFP and TSSOP parts, 0603 resistors and caps, and some fiendish SMD inductors that don't have leads at all. Now to get to writing Verilog code for the FPGA.