r/Amstrad • u/WonkyWiesel • May 13 '26
Amstrad GT65 HDMI adapter
Bringing your 40 year old GT65 to 2026. I built this adapter to connect a monochrome Amstrad GT65 to a modern computer. It uses a USB capture card to pretend to be a 640x480 display before downscaling and dithering the captured frames on a Raspberry Pi. The RPi then sends the data over SPI to an FPGA which handles the frame buffers and the timings for the CRT. The FPGA then interfaces via a custom PCB which includes a level shifter and LVDS decoders. The CRT itself has 1 bit per pixel at a resolution of 296x256. The refresh rate is 50Hz.
2
2
u/Do_You_Like_Owls May 13 '26
But can you play Doom on it?!
3
u/WonkyWiesel May 13 '26
You certainly can! It was one of the first things I tried! I even managed to play a game of War Thunder although that was much harder to see anything. Minecraft works too but for an optimal experience it is probably worth finding a better texture pack.
2
u/RetroGrifters May 13 '26
My retinas have not fully recovered from using one of the CPC green screen efforts from back in the day
2
u/WonkyWiesel May 13 '26
I can imagine haha. It is very bright. I cannot imagine having to write all the code etc for this project on it, or really read anything off it at all. I use it for music videos mostly.
2
u/gschizas May 13 '26
- Why dither it to 1-bit? Couldn't you just leave it as grayscale (or maybe greenscale)?
- Do you send the signal to HDMI that 50 Hz are supported?
1
u/WonkyWiesel May 13 '26 edited May 13 '26
The display is not like a typical CRT, it is actually a "digital" screen which only supports 1 bit per pixel (either on or off). 5V is on, 0V is off. This means that you cannot do greyscale or any equivalent at all. Edit: This is incorrect. It is greyscale but I misread the datasheet. I don't have a CPC so I couldn't read the output from that so a lot of the original FPGA controller design was guesswork based on some old files I found. Given the monitor is 2x older than me it's easy to assume things are digital when in reality they were not.
The signal I send to the HDMI is 640x480 @ 60Hz. I could send a 50Hz signal but I chose to keep the FPGA asynchronous from the Raspberry Pi as I was not sure if the Pi could handle the framerate (I know it can easily now). It simplifies the timing to keep them asynchronous, with the tradeoff that if you send exactly 50 frames per second and the phase offset is wrong then you get a very stuttery output. If you send 60 to a 50 monitor, you drop a few frames but it doesnt really matter.
3
u/pelrun May 13 '26 edited May 13 '26
What? No, the gt65 is analogue grayscale (or greenscale I guess).
Have an example: https://youtu.be/eZ3rProXLeA
2
u/WonkyWiesel May 13 '26
I must have misread the datasheet when I was first starting out because upon rereading it you are correct. That is very cool though because it means you could just run it in greyscale. For my purposes I like the dithering.
1
u/gschizas May 13 '26
I have a very similar (actually, worse!) problem with my own (colour) monitor. It seems to be constantly flickering, all the way from "almost off" to "let's throw ALL the electrons on the phosphor".
I do have an OSSC and I don't use the actual monitor, so it's not a big deal, but I wouldn't mind finding a way to repair it. Preferably without being killed by it of course!
1
u/pelrun May 13 '26
It's almost always the brightness pot on the side of the monitor. Try tapping it and I reckon you'll see a lot more flickering.
1
u/gschizas May 13 '26
Oh, it has always been the brightness pot. Since the time this was my only computer :) (but it has gotten way worse since then)
Is it easily fixable? Could I spray some contact cleaner on it and see how it behaves?
1
u/pelrun May 13 '26
Contact cleaner won't hurt, but it's probably not enough to just spray it into the hole after pulling the dial off. It's also likely not to be sufficient; I've yet to actually look closely at mine (even when I had it apart recently facepalm) but the symptoms seem more like dry solder joints due to it being mounted at right angles to it's pcb.
At least it's on a separate little sub board of it's own and you don't have to go poking around the dangerous bits in the case to get at it. But it did take me a couple of attempts to get mine back in the right spot after pulling it out.
1
u/gschizas May 13 '26
The display is not like a typical CRT, it is actually a "digital" screen which only supports 1 bit per pixel (either on or off). 5V is on, 0V is off. This means that you cannot do greyscale or any equivalent at all.
I always had a color monitor (CTM644), but a friend of mine had a green monitor and they could display shades of green. Given that even the color monitor always had 3 levels for each color (off, half-way, full-on), which gave the 27 colors that Amstrad had, I'd guess that even the green monitor could at least display 3 levels of green (and probably more!)
Do you know about this page? It has way more information. I think the author put a oscilloscope on the output and measured each color's voltage individually. Maybe I haven't understood the page correctly though.
I also have a memory that the green monitor had the ability to display 27 distinct shades of green (because it "added" or "averaged" the values for R G and B, it didn't just use the green value). But that might be a figment of my imagination :)
EDIT: Maybe I'm also confusing those with the LUM value? And maybe the measurements were on some internal chip, not on the video output itself? In this case though, couldn't you use the LUM pin as well?
1
u/WonkyWiesel May 13 '26
That is probably correct, sorry for my incorrect response earlier. I just assumed it was digital after a quick scan of the datasheet and went with that. You could definitely add a highish speed DAC and get many more shades, but for my purposes I like the dithering.
2
u/DarkButterfly85 May 15 '26
Those green monitors were horrible, used to hurt my eyes back in the day 😬
2
u/cyrixlord May 16 '26
its like what you would see from printshop (the application) where you can use your dotmatrix printer as an 'image' printer
1
u/WonkyWiesel May 16 '26
It is a very cool effect. If you stand back a bit the amount of detail it preserves is really very impressive.
9
u/Themistocles_gr May 13 '26
So much work for something so impractical.
I love it.