[posted] VGA out for Teensy 4.0/4.1

What you explain with the 2D HW Block is like it work on STM32F7xx / H7xx with the LTDC and DMA2D ;) ... but you need to have the corresponding pins available ...
Hi Jean Marc :)
Any news on the project ? , i have work on some other project and hope you advance in your VGA problems ...
No, not really. I tried isolating the DMA code to ask more support on the forum but I finally decided to work on another project too.
And no much more luck on the new project too ;-(
Hi ,
to overcome the tiny 320x240 SPI LCD , have you consider to use something like this chip ? :
I don't know the max res we can get but it's for PAL/NTSC composite , like what was used in the time the computer you emulate was doing.
Here is just SPI needed , no more 8 bits parallel bus.
But it add another pcb ....
The other model "VS23S040" have 4x more internal SRAM , but here it's only in BGA ....


PS : or use the esp32 ability to made composite video out in place of this chip .... or ... this time VGA out from esp32 :) ... well i stop ... too much idea ...
I did not know that chip but I have good news...

Since 5 mins ago, the 640x480 more is working.... yeah!!!
I used 2 shift registers combined with a 64bit destination DMA transfer.

I will publish the code this evening or tomorrow as I have some guest for a BBQ in the afternoon.
If you have changes in your drawing routines, please share them again, I will merge it at same time. Sorry I did not do it last time, I was so desperate and I had some other work to do...

There is still some disturbance with the amiga emulator but I think combining shift registers is the good approach. If I could combine 4 that would be even better.
Hi Jean Marc :)
I just tested your new lib , it work well.
But i have to compile for 'smallest code' , in other mode they are more glitch in screen.
640x480 is one of the mode that work at best actually , but i don't have test everything ;)

Congratz !!
I did not notice that with the vgatestpatern sample but if I run your drawing test, there is indeed at some point some small horizontal lines and I also noticed that the screen becomes black few secs when compiling for faster code but not with smallest code. Not sure what it is. At least some progress this w-e ;-)
Hi Jean Marc :)
I will finish some code for my LCD Maximite 2 on STM32 first on this board ( https://www.waveshare.com/product/mcu-tools/development-boards/stm32-open/openh743i-c-package-b.htm ) and i will try your new emulators , and then , it's time to go back 27 years ago and play ... DOOM ...
I think i will do a new more compact test pcb , here i start to have a plate of spaghetti with all the cable flying around :D
For the stability of VGA with sound i think that we have to wait for the next teensy version , in the hope they are going to output the correct pins for LCD/VGA

Last edited:
I added an 'experimental' schematic next to the pinout and pushed the initial interrupt based I2S PCM5102 sound driver. Still a bit buggy but ok...
VIDEO PLL is default de-activated in the library now so 640x480 mode is not available. I noticed it was not very stable when used in the amiga emulator.
You can always activate it back with the compiler switch in the code.
Hi Jean Marc ;)
I'm back to home and finished the teensy test-board , i get your latest source and see you added the mouse , what is the pins to use for the mouse ?
Actually the USB port got the USB KB , and i don't see where i can attach the mouse , the Amiga emulator start with a calibration (probably the mouse) and it stop here for me :eek:
Do you use a USB Hub to connect KB + Mouse ?

Cheers ...

PS : Ho !! i just see on your youtube that you use a combo KB/Mouse .... i have to check if i have something like that at home :)
Last edited:
Indeed, I used a mouse/kb combo from Logitech.
But you can also connect a hub to the teensy USB port.
if you have a hub, you need to uncomment //USBHub hub1(myusb);
in emuapi.cpp.
I just hope UAE code still fit in available RAM if you do this.

I used that yesterday to connect my USB midi cable on the Atari ST. Uncommenting same line.
I used an active hub but then I switched to a passive one, it was still low power enough.

Atari ST emu is now able to control MIDI via USB now ;-)
I will publish the code on Wednesday...
Thanks for this information ,

Arduino output , compiled as smallest code (it's in french)
Le croquis utilise 1069568 octets (13%) de l'espace de stockage de programmes. Le maximum est de 8126464 octets.
Les variables globales utilisent 500476 octets (95%) de mémoire dynamique, ce qui laisse 23812 octets pour les variables locales. Le maximum est de 524288 octets.

Still 23kb available :)

It's just that i'm blocked on Calibration Process where i'm supposed to hit the red cross , i tested with 3 different mouse , i see no cursor , is it another option i have to check to overide this ?
it must be something related to some keys detected wrongly? JOY2_BTN?

You can comment out below code completely.
and force toggleMenu(true);


if ((tft.isTouching()) || (emu_ReadKeys() & MASK_JOY2_BTN) ) {
Hi ,
You where right , it was the 3 buttons , as i used other buttons on this test board connection was inverted ,it was like the 3 buttons was constantly pressed , now everything is ok.
Thanks ;)
I think i found a bug with the mouse.
When you click on a mouse button it release alone and not when you release the button yourself.
The 2 mouse buttons act like that , i see this in amiga emulator , try to open the workbench upper bar menu with the right button , and you see what i mean ;)

It's me again :)
Just a question about the Amiga and or ST emulator.
Allot of games and apps use 2 or more disk (adf) , is it a way to have more than one adf disk file linked at start of the emulator ?
Or is it a way to switch between the adf files if needed ?

You can also select 2 floppies from the menu now (space bar when on second) and return on the first floppy used to start. You can use user2 button to swap them when running. I tried on harlequin 2 floppies version and it worked..
Just tested on Turrican , it work :D
Image quality is great , i just get some horizontal line sometimes , but actually i don't have sound that come out of the pcm5102 , i will check my connection tomorrow.
I have see that the screen is right shifted , a picture is here :
As you see , just a part of the score is visible.
It's like what's append 2 or 3 month ago when you started the 640x480 driver :)
Probably a timing issue.