Finally, after a few days of headaches, I got the koolest splashscreen evah displayed on my STM32F429i-DISCO board, via DMA2D!
The dma2d branch is already available at:
https://github.com/TexZK/ChibiOS-RT-Community/tree/dma2d
(the ltdc branch was merged into this one)
There are a few things to test and adjust in the API, since some registers aren't very well documented in the Reference Manual, but at least the demo is working.
I also encounter some problems when launching sdram and erase commands via Chibi's shell, to write on the SDRAM. I'll open another thread for that anyway, because I don't know if my code for sleeping waits is wrong, or it's just an issue when mixing Chibi with ST's SDRAM code. I only know that the ISR counter or the scheduler get messed up... ugh!
Chrom-ART 2D hardware accelerator driver (DMA2D)
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: Chrom-ART 2D hardware accelerator driver (DMA2D)
Cool!
Now it remains to port the rest of the game and attach a joystick.
Giovanni
Now it remains to port the rest of the game and attach a joystick.
Giovanni
Re: Chrom-ART 2D hardware accelerator driver (DMA2D)
Well done! It's merged into the community repository by now.
~ Tectu
~ Tectu
Re: Chrom-ART 2D hardware accelerator driver (DMA2D)
D'oh, I fixed that stupid mistake that gave me threading troubles. I forgot to keep the default heap allocator boundaries inside the 112kB RAM bank, and instead it allocated the shell stack somewhere in the uninitialized SDRAM
Everything seems to work now
Everything seems to work now
Re: Chrom-ART 2D hardware accelerator driver (DMA2D)
LOL...awesome. Would be hilarious if you can actually port that game over.
Re: Chrom-ART 2D hardware accelerator driver (DMA2D)
Oh well, I've been wondering about making a Wolf3D-like engine for 10 years, but: it requires way too much time, nobody will play it, every embedded platform needs its own port... So, despite my willpower and affection for that game (which was the kickstart of my computer-related career), I won't.
There's Wolf4SDL, but SDL needs to be ported for a generic ChibiOS-powered platform, and I think it would be very troublesome. Another way is to adapt SDL calls with a mini-SDL driver (like miniGL did).
I only hope somebody will use my DMA2D driver to speed up 2D stuff. Note: DMA2D doesn't output less than 16 bits per pixel, so it is totally useless for manipulating a palettized (8-bit) frame buffer, which must be handled by hand like the good old days.
There's Wolf4SDL, but SDL needs to be ported for a generic ChibiOS-powered platform, and I think it would be very troublesome. Another way is to adapt SDL calls with a mini-SDL driver (like miniGL did).
I only hope somebody will use my DMA2D driver to speed up 2D stuff. Note: DMA2D doesn't output less than 16 bits per pixel, so it is totally useless for manipulating a palettized (8-bit) frame buffer, which must be handled by hand like the good old days.
Who is online
Users browsing this forum: No registered users and 29 guests