Dont forget you need the PSRAM chip soldered under the Teensy4.1 board, else it will not work!
Best is indeed to use the VGA output.
You should only select one of the supported display (comment...
Type: Posts; User: Jean-Marc
Dont forget you need the PSRAM chip soldered under the Teensy4.1 board, else it will not work!
Best is indeed to use the VGA output.
You should only select one of the supported display (comment...
you can also let run the emu at full VGA res
in teensyuae41.ino use tft.begin(VGA_MODE_640x480);
and in uae.cpp
#define WIN_H TFT_HEIGHT*2
It will skip lines also but use...
for the missing lines you can play with the option
gfx_correct_aspect in uae.cpp.
Setting to 1 will fit the image to the 240 available lines but as a result will remove some lines at fixed...
I get this problem of the black screen from time to time (with all emulator and especially doom)
When I have it, I close teensyduino SDK fully and reopen it with the project.
Recompile and re-flash...
sorry for the late reply.
Not sure what is wrong with your monitor.
I had updated the code the last w-e with the reduced values of the back porch.
I tested on the 3 monitors I have here. They...
The Teensy is now able to emulate an Atari ST computer with VGA output and MIDI control via its USB host interface.
https://www.youtube.com/watch?v=H-TlCDBwdak...
The shift you have in Turrican is not because of the VGA driver but is a bug in the emulator.
You have the issue with other games as Toki.
I have it too.
Hi,
According to your drawing,
back_porch = 800-756= 44
and front_porch = 660-640 = 20
So in the lib do:
#define frontporch_pix 20 //16
#define backporch_pix 44 //48
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...
it must be something related to some keys detected wrongly? JOY2_BTN?
You can comment out below code completely.
and force toggleMenu(true);
readCallibration();
if ((tft.isTouching())...
Hi,
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...
yes CrystalHammer works nicely but you have to run it from an HDD image (whdload installed in an HDF image).
I have tried all variants of the games on floppy and only the 93 remake works (adf) and...
Some updates:
Better sound, USB mouse+keyboard and 640x240 rendering resolution over VGA!!!
Amiga:
https://www.youtube.com/watch?v=vex335vHc68
And of course it competitor, Atari ST:...
Hi Frank,
Sure, the Teensy 4.1 is such a beast ;-)
Please also have look at the latest version of the VGA driver with "non DMA" I2S sound (to reduce video interference) and improved image...
Thanks for your explanation. I plan some midi experiment next week, I feel more confident now. Anyhow I still have 2 T4.1 in the packaging in case of ;-)
This question is probably stupid but I don't want to kill my Teensy4.1 with a stupid manipulation...
I currently have a simple wireless keyboard dongle connected to the USB host header pins of the...
here is a picture
22168
I just tried and the latest code published is working with the ILI for me.
You can try reducing the SPI clock in tft_t_dma.cpp
#define SPICLOCK 60000000
you can try 40000000?
May be some...
I did not reconnect the ILI display but at least on the VGA:
- when I compile the sketch I have: 508596 octets of RAM (97%)
- my DOOM1.wad file seems to be same (see below)
if I run it (latest...
Il did not try the latest code with the ili display but I think it is because you have a non official wad file' it only works with official version. You should take it from doom95, it must be around...
hi Paul,
Your sample did help, I could now add and I2S audio driver (interrupt based, for PCM5102) to the VGA output and now the disturbance on the video DMA transfers is gone.
I updated the...
Hi Defragster,
Thanks confirming. It was indeed a problem with T4.0 but not with T4.1!
A "kind of" schematic has been added in the project. Emulators as the Colecovision and the ZX Spectrum ones now supports sound with VGA. Others also but still few bugs to fix ;-(
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...
PCM5102 Indeed. Not sure they are all the same modules I only use 3 lines+ power. No master clock needed. I also use the default volume level so no real need for i2c else there is a default control...
I will for sure add the schematic this w-e, I am now busy to add a dedicated audio driver to the VGA library to avoid DMA disturbance. I saw some light at the end of the tunnel yesterday!
Not yet but I am working on it. It is a general issue with my VGA driver, that audio DMA transfer is interfering with the VGA ones. I am experimenting with interrupt based transfer. I hope some light...
Hi Paul,
It improves. If I start it using below code I get at least the interrupt but only once.
I2S1_TCSR = I2S_TCSR_TE | I2S_TCSR_BCE | I2S_TCSR_FRDE | I2S_TCSR_FRIE;
static int ind=0;...
I am looking for a way to transfer I2S using interrupt instead of DMA.
This library was supporting it on the Teensy 3.
https://github.com/hughpyle/teensy-i2s
It does not work on the Teensy4....
If someone is interested, I ported most of the emulators now to the VGA driver.
I also released a version of DOOM yesterday.
Everything is part of the GIT.
...
This is a great idea! What about a Dreamcast version with vmu on a little lcd ?
I forgot to mention, please compile with the option "faster code" else the PSRAM seems to "hang up" the CPU at short intervals
Happy to share this little video with you...
https://www.youtube.com/watch?v=adYwnctiKsg
and the code of course:
https://github.com/Jean-MarcHarvengt/MCUME
(Doom is part of the tree next to...
I really appreciated the idea to solder extra ram and flash devices at the bottom of the T4.1. May be same can be done to extend pins via an smd connector?
I never closed this thread but it actually worked fine. See vgat4 library as example. Videopll is there optional for use and needed for the 640x480 mode.
AFAIK nobody tried yet. I taught about it while developing the vgat4 library. In 8 bits mode (clut) at least the 2d DMA copy could be used for scrolling , etc
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...
Last version of the code has been pushed to the git !
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...
Hi,
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 ;-(
I will merge your changes this evening. May be we should introduce cropping at pixel level for every primitives...
Another idea would be to use the 2D HW block to provide Blit/ScaledBlit. Of course...
I will merge the changes tomorrow ;-)
Still no solution for the DMA ;-(
No luck with the code...;-(
I really believe that the DMA copy in the interrupt does not fill the 4 shift registers...
So below code is not behaving as expected.
triggerSelect =...
I noticed that I needed the full DMA setup in the interrupt. Then your DMA config seems to work with minorLoopOperation=4(at least I get what I would expect with a single shiftbuf, with...
The code you propose results in a black screen.
I was looking at your DMA copy code, trying to use it with a single shift register (at least I know what I expect on the screen for that one!)
if...
Thanks a lot!
I will try all that today if I have the time between the various family trips planned. It is the last opportunity as tomorrow I am back to work...
The code I had pushed 2 days ago...
Is it possible to combine 4 shift registers to store 16 pixels in one go instead of 4?
How do I do this?
Now it copies 4 bytes per major loop into a single 32bits shift reg and I use...
There is no DAC on the Teensy 4.
I am not sure MQS can be used for video signal.
BTW Bitluni used a tricky feature of the DAC on the ESP32.
It was possible to use the I2S to output on the DAC...
Thank again for you support.
I understand the video PLL now and could use it at the place of the SW PLL.
It does not really improve but I learned at least something new!
I found why I have so...
The 2 DMAs cannot be started exactly at the same time as the DMA has a kind of queue of control.
This is why the RRRG and GGBB per pixel are not in phase.
You have to compensate by shifting the...