![]() |
Forum Index : Microcontroller and PC projects : Seeking Games Programmers
![]() ![]() ![]() ![]() |
|||||
Author | Message | ||||
twofingers![]() Guru ![]() Joined: 02/06/2014 Location: GermanyPosts: 1576 |
Maybe my fault ![]() Screen output is not the issue. I guess Kiid has found a solution ? causality ≠ correlation ≠ coincidence |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
Oh, OK, gotcha. My mistake. ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
gadgetjack Senior Member ![]() Joined: 15/07/2016 Location: United StatesPosts: 169 |
How about a version using one of these for graphics? http://excamera.com/sphinx/gameduino3/ I have used these and they work well and not too costly. Just a thought.... |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
It looks like a neat unit but the aim is to have something with a VGA output. Geoff Geoff Graham - http://geoffg.net |
||||
gadgetjack Senior Member ![]() Joined: 15/07/2016 Location: United StatesPosts: 169 |
They have a model with vga out also. Same interface. http://excamera.com/sphinx/gameduino/index.html#gameduino Worth a look?? Maybe... |
||||
darthmite![]() Senior Member ![]() Joined: 20/11/2011 Location: FrancePosts: 240 |
Why use a chip for VGA when the MCU can do it with no work ? I dont know what chip you want to use but if you don't want to add external ram or vga chip it's better to directly choose a chip that do everything ![]() I mean the PIC32MZ DA ... internal graphics controller , they say for LCD (like STM32) but with another timing you made VGA in the resolution you need ![]() You can have some graphics layers in the internal 32Mb SDRAM without to take the ''precious'' SRAM , and most of all , you can extend MMBasic allot more than before with the 2Mb Flash. The sprites can be loaded in a part of the sdram , music modules , images for background , or what ever else you need ![]() The only bad point is that the 176 Pin MCU have 0.4 mm pin spacing , it's not easy to solder but doable (i do it on other MCU). With a easy R2R DAC you can output color VGA like here : https://www.youtube.com/watch?v=gQznHo5hwaQ It was on stm32 (192Mhz) but PIC32 can do that too ![]() HDMI will be better and more actual if we found a chip that can convert LCD (VGA) signals to HDMI without adding allot of components ... Cheers. Theory is when we know everything but nothing work ... Practice is when everything work but no one know why ;) |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
QUESTION: With the PIC32MZ DA's internal graphics controller, does that mean it might be possible to have VGA output with more then 8 colours, or is that still the limit? Just curious. I know the original concept used three hardware SPI channels to drive the RGB lines to the VGA, but if the new chip has an internal graphics controller, that would take that load off the core and so might be possible to get more colours out of it? 0.4mm pin-pitch is getting scary. ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
Yes, it could generate far more than 8 colours. This chip has its own graphics controller so it does not use SPI to generate the video and that means that the number of SPI channels is not a limiting factor. The main problem is that it is a whole new way of generating video with many possible pitfalls and will require a lot of research and work to get it going. I estimate that it could be months of work - I might be wrong but it would not be trivial. I have some samples on the way so I guess that I will find out the hard way. By way of contrast, Peter's VGA capability in the MZ chip is essentially a copy of my code for the original Colour Maximite which in turn was based on code written by Lucio Di Jasio in his book and in turn that was based on advice he received from Microchip engineers. Generating VGA with the DA chip would be new from the ground up. I have soldered 0.4mm chips often and it is only a slight increment in difficulty on 0.5mm. If you are good with 0.5mm then 0.4mm will not be a problem. Having said that many constructors cannot successfully solder 0.5mm chips and many more will fail with 0.4mm. This will severely limit the number people who could use a design based on the 176-pin chip. Geoff Geoff Graham - http://geoffg.net |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
Okey dokey, thanks for that Geoff. ![]() Have you decided on what MZ chip you are actually going to use in the new beast? Peter's MMX seems a good starting point, as the hardware is already tested etc, but those chips might not have the graphics controller in them or something - I think darthmite was saying something like that earlier in the thread - I will have to have a read again. EDIT: Just had a bit of a re-read, and it would seem the 100-pin 0.5mm chip is the current front-runner, a-la a repackaged MMX. Smoke makes things work. When the smoke gets out, it stops! |
||||
vegipete![]() Guru ![]() Joined: 29/01/2013 Location: CanadaPosts: 1129 |
Is thousands of VGA colours that important? What is the target market? A chip like the PIC32MZ2064DAA176 sure looks cool but it looks like a lot of learning to figure out the GPU. In contrast, it looks to me that a Serial Quad Interface (SQI) peripheral could double the current number of colours (well, almost, there would be 2 identical blacks) and likely even simplify the programming to generate the VGA signal. However, I haven't looked deeply enough to figure out if the SQI baud rate can be set accurately enough for sensible VGA dot clocks. Could be that special crystal frequencies will be necessary to use the SQI for generating VGA signals. Visit Vegipete's *Mite Library for cool programs. |
||||
Grogster![]() Admin Group ![]() Joined: 31/12/2012 Location: New ZealandPosts: 9593 |
I was thinking along the lines of 16-colour myself. Certainly not wanting or needing thousands. If you are wanting to push the fact you can code BASIC games on the new beast, 8-colour is quite limiting visually. Even the old 8-bit machines like the Atari and Commodore-64 could do 256 colour. They DID use separate chips to do that though, it was NOT all done inside the 6502 CPU. Atari used the GITA graphics controller chip for colour etc, and it talked with the ANTIC controller chip to produce colour composite video output. There were different part number ANTIC chips for NTSC and PAL/SECAM! Nowadays it is all done in the software! ![]() My point being that both those computers were great games machines back in the day, cos they supported 256 colour. A CMM2 with 8-colour is fine, but it is not going to pull in the interest for game players OR writers like the old-school machines did, unless some serious thought is given to upping the number of available colours. I don't mean to rain on the parade - the CMM2 concept is awesome. Any new MM is awesome. ![]() ![]() Smoke makes things work. When the smoke gets out, it stops! |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
The PIC32MZ DA can easily achieve 24 bit colour at 800x480 (WVGA) resolution with multiple video planes for scrolling, sprites, etc. The specs talk about 1920x1080 and higher resolutions although I am not sure of the colour depth. By the way, I am thinking of calling this the Maximite 3. Geoff Graham - http://geoffg.net |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10241 |
What is the reference for this? I know there is lots of memory but the Microchip examples are only for 800x480 and The very limited docs I've found don't seem to give any info on maximum pixel clock rate which may well be the limiting factor |
||||
robert.rozee Guru ![]() Joined: 31/12/2012 Location: New ZealandPosts: 2437 |
geoff: how easy (or hard) would it be to have an mmbasic interrupt that is called at the start of the VGA vertical blanking interval? this would allow for doing some neat video tricks without need for double buffering and the likes. in the approximately 1.4ms available before the next field starts being displayed such an interrupt would most certainly have enough time to call a C-function, or possibly enough time to do some graphics manipulation in basic code. and would it be practical during the VBI to switch between two different frame buffers held at different addresses in RAM? cheers, rob :-) |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10241 |
This is how the latest MMX code works |
||||
cosmic frog Guru ![]() Joined: 09/02/2012 Location: United KingdomPosts: 302 |
I'm liking that name ![]() Or to make it sound more retro- The Maximite 3000 |
||||
Geoffg![]() Guru ![]() Joined: 06/06/2011 Location: AustraliaPosts: 3285 |
What neat tricks? Most people who ask for this are remembering the old 8-bit computers where writing to the display memory at the wrong time could cause interference on the display. In the Maximite this does not happen, you can update the display whenever you want. Geoff Graham - http://geoffg.net |
||||
MicroBlocks![]() Guru ![]() Joined: 12/05/2012 Location: ThailandPosts: 2209 |
Personally i would try to define the 'market' for the new efforts. Is it only because some attention from 8-bit guy? It is always hard to predict what will be popular and what will not. Going against an Rpi, or even just a PC using Small Basic. Or every single browser using Javascript and canvas. Is there actually a market? I can see a market for embedded controllers. There is not that much available that is easy to program. But emulating an 80's computer has been done to death. The great thing for me was that the VGA output (and composite! on those cheap small car monitors) could be shown on a simple old monitor, but who still has these? I'll bet less and less people every year. And i used it to control stuff, not writing games or anything else. Too many much better options available already. The existing maximite could use a little upgrade by adding some usefull stuff from the micromite. But for the rest.... i am not sure it is worth the effort. Microblocks. Build with logic. |
||||
matherp Guru ![]() Joined: 11/12/2012 Location: United KingdomPosts: 10241 |
Certainly as far as a MZ DA port I agree completely. This would be a huge effort and the product would end up pretty expensive. I can't see it being laid out on a 2-layer board which increases costs significantly. It would be on the margin of being able to be soldered by hand. Also the DA has a pretty extensive errata and documentation for the graphics capability is very poor even by Microchip standards. |
||||
darthmite![]() Senior Member ![]() Joined: 20/11/2011 Location: FrancePosts: 240 |
For VGA i used 320x240 up to 640x480 resolution on stm32f429 in 16bpp at 60hz with just a R2R DAC ![]() @Geoff , dont go to reinvent the wheel , just take the timing i have use on stm32 and convert the code for the pic32mz DA and you are done ![]() It follow the VGA timing specification so it can work everywhere. This lib is from my old stm32 VGA project and worked well ![]() 2018-02-03_040829_STM32F429_VGA.zip Cheers. Theory is when we know everything but nothing work ... Practice is when everything work but no one know why ;) |
||||
![]() ![]() ![]() ![]() |
![]() |
![]() |
The Back Shed's forum code is written, and hosted, in Australia. | © JAQ Software 2025 |