convert two analogue pulses (5000/second) for display on HDMI or Composite Video

Started by charliecoutas, Jun 29, 2026, 01:19 PM

Previous topic - Next topic

JonW

 Ha, ur very welcome, Charlie. You do so much; the least I can do is make it yours. I would prefer to redesign the board for you guys ( no charge, maybe a private tour!), as this really is HW shitola design, like most Chinese designs: 90 per cent there, but the last 10 per cent kills you and your market.  Also Love Les to get something in the Museum too as he is proper smart, maybe a retro PIC game on HDMI!!

Live in Wilts, not far.  I am pimping the dead space as I speak with Glyphs + (Caps) ASCII for you. Battery, ohms, bars, Wi-Fi symbols- these are above the SSD1306 code but will be ignored by the SSD ASIC.

FPGA

It is triggered by a single Start/Stop button on the FPGA; it uses an LFSR to generate a real tape and sprocket in 64 bits.  It wraps top-to-bottom, 32 bits per frame.  I reckon with a couple of Lasers and photodiodes/IO, we can read and decode live tape with ease.   I can also adjust the RTL in some areas to make editing easier. Also, if you want something specific for a demo, let me know.  After that, the display is yours to pimp


Glyphs in progress above/below the user window of SSD1306.  Some are 1 or (2-3-byte) glyphs with parameters, like battery gauge and Wi-Fi strength.

BTW i did explain it, but pictures are way better than words..  This is baked into the FPGA with a trigger, so as you run the tape, it starts scrolling at emulated speed. It has other options to show pictures and run scripts, but these are generated by Python scripts that build the Verilog for me, then re-synthesis, reprogram, just basic font reproduction via PY.  The glyphs are real-time from PIC/MCU so some can be adjusted.  Working on cursor position, glyph /parameter. 

I'll build some 27Q43 demos for you as this will really show off the display capability.  Doing it in Verilog or RTL is much slower

I

charliecoutas

That's flipping brilliant Jon! I haven't dipped my toe in the FPGA world but I did use some Programmable Array Logic (PAL) many years ago.

I have just spent half an hour trying to add a photo of my screen driver in action but the forum thingy won't let me. I am trying to add a jpeg image but it says that only certain file types, including jpeg, are allowed. Is it my age that is the problem?

Charlie

Jon: All trips round the museum are "private" and personal.

RGV250


JonW


charliecoutas

Sorry, .jpg  The file size is 620K. It lets me add a photo of my grandchild! But not my screen.

charliecoutas

Tried making a short movie, can't upload that either! I can upload .jpg but not .jpeg Correction, i can upload some .jpg files but not others.

JonW

The way to do the movie is to get a YouTube account, upload it privately, and post the link here


RGV250


top204

Same here Bob.

Excellent work Jon, and that is an understatement!

I have attached the source code and firmware for my re-creation of the ZX81 Mazogs game using a PIC18F26K22 device on an SSD1306 OLED. I also have the game running on SSD1309, SH1106 and the old faithful, KS0108 LCDs as well, but your emulator is for an SSD1306, so it is attached below. I am busy writing the wording for the game on my google site, but you might like to try the game out on your emulator. Note that it works fully on a real OLED, and in the simulator, so it will give your emulator a good test.

The pinouts for the SSD1306 OLED are:

$define GLCD_CS_Pin  PORTC.0                ' The pin that connects to the SSD1306 CS pin
$define GLCD_RST_Pin PORTB.4                ' The pin that connects to the SSD1306 Reset pin
$define GLCD_DC_Pin  PORTB.5                ' The pin that connects to the SSD1306 DC pin
$define GLCD_CLK_Pin PORTC.3                ' The pin that connects to the SSD1306 Clk pin
$define GLCD_DIN_Pin PORTC.5                ' The pin that connects to the SSD1306 Din pin


And they can be found, along with the button pin ports, in the "Globals.inc" file.

There is also a proteus simulator file, with its 18F26K22 device already pointing to the compiled; "MAZOGs_SSD1306_18F26K22.bas" file.

Regards
Les


charliecoutas

I have a bit to learn about Youtube. Try this:

https://youtu.be/s_bDlCO-Ju0

JonW

Hi LES

Thats great, ill give it a go as I thin i have the 26k22 on a dev board.  It should work....