Monday, June 22, 2020

Sidbox 5 - CRT output video

While we’re working on the sidbox 5 hardware, getting to know the new big brother MCU- this chip is fast!!
with the work with DMA and memory transfer faster than id hoped!

With the displays now arriving and the work getting to know the STM32H743 - the hardware is proving to be amazing.

checking out this video

In this video - I am demonstrating the power of the chip.
its producing a pretty stable video output, with RGB, no shading.. meaning it can only display up to 8 diferent colours (we’re thinking about a 16bit data output through one of the PORTS on the STM32, if we can do that then we’ll be able to get 65k colours using a resistor ladder network (or just a dedicated dac system) the only problem I am facing, IS the sort of wobbling scanlines due to the interupts the chip seems to be doing in the background - I HAVE tried to turn many of these off. But when I did, I broke the main code and things just stopped working.

ANYWAY for now, I am demonstrating the chips real time processing, and a nice little suprise!

the CHIP runs DMA to produce the video blanking pulses, and 3 SPI bit streams via DMA.
This means the chip is transfering this information independently to the CPU, and only feeding back an IRQ to the CPU When the SYNC pulses are finished.

the CPU is NOT held up while the CRT is getting its data.. the only thing the CPU MUST do is listen out for the end of the SYNC pulse sequences, and restart it - the TV and the PVM and the massively picking BVM both sync up perfectly to the pulses.

SO I started off a bit of music, basically a WAVE file that is streamed off the SDCARD.
the sdcard uses again a DMA to stream the audio buffer, and only interupts the CPU half way the DMA stream and at the end of the DMA stream, to tell the cpu “please fetch a bit more music”

now the crazy part is.. THIS was happening WHILE the CRT image was still being produced!

so we ran the asteroids program which is independent software in ram else where, and the interupt settings where not reset.. as a result the game still used the video memory and the crt still produced its image… and the music was still getting its music! all with IRQ, DMA, and SPI with PWM! the CPU is hardly doing anything!!

STM32H743 IS going to make the sidbox some sort of magic in a box!………………… AT LEAST i really hope so