Video Processor

Discuss anything not related to the current Uzebox design like successors and other open source gaming hardware
GLneo
Posts: 31
Joined: Sun Nov 29, 2009 3:22 pm

Video Processor

Post by GLneo »

Hello all, I'm working on the next generation Uzebox ( who isn't :P ), and I would like to use an Atmega wired much like on the original Uzebox but have it only put the image in its memory to the screen and not do any processing. So what I'm wondering is it possible to run this chip at a lower Mhz but still have the video work correctly ( 14.3 Mhz 4x the NTSC color burst frequency) and use a smaller IC ( 20 pin ). Does anyone know if this will work or a good chip for this job? Thank you!
scuzz
Posts: 73
Joined: Sun Sep 13, 2009 4:57 am
Location: Maryland, USA
Contact:

Re: Video Processor

Post by scuzz »

GLneo wrote:put the image in its memory to the screen and not do any processing.
I'm not quite sure I understand what you mean by this, the processing to get to that point is a lot of what the Uzebox seems to do. It outputs the pixels in a timed fashion on 8 pins to a chip which does all of the translation to the television. I'm guessing what you mean is have a separate chip do the pixel mixing (placing the correct pixels on top and whatnot), in which case your best bet is probably going to be the parallax propeller chip. But that chip is more powerful than the Atmega itself! So it almost seems kind of silly (this was recommended in the another thread you started here).
GLneo wrote:So what I'm wondering is it possible to run this chip at a lower Mhz but still have the video work correctly ( 14.3 Mhz 4x the NTSC color burst frequency) and use a smaller IC ( 20 pin ). Does anyone know if this will work or a good chip for this job? Thank you!
Sure it's possible, but you're basically doing that by offloading the processing to another chip. It's also going to be a lot of kernel changes to get the information off the ATMega and onto the video processing chip, and then you'll also have to program the second chip to actually process the video! I'm not sure it would be possible to port games directly to that new architecture :? ... I guess if your goal is to make the ATMega more stable, you'll certainly achieve that, but you almost certainly won't reduce complexity.

Anyway, good luck! I hope I helped...
GLneo
Posts: 31
Joined: Sun Nov 29, 2009 3:22 pm

Re: Video Processor

Post by GLneo »

But that chip is more powerful than the Atmega itself!
For my design I'm using the at91sam7s as the main CPU.

Well let me run though my design as of right now, it is very much like the original NES, a main CPU will run the game and handle input, then it will send sprite info to the lower powered ( and preferably low pin count ) video chip, this chip will be dedicated to updating the screen with the refresh rate, this leaves the full power of the main CPU to the program.

So I'm looking for the simplest chip that has enough SRAM for video processing but the lowest price and pin count for simplicity. I have gone though most of the Atmega's and have yet to find that perfect median.
hpglow
Posts: 269
Joined: Wed Apr 14, 2010 6:06 am

Re: Video Processor

Post by hpglow »

Why not just build around a SOC like a 1GHZ snapdragon or something like that?
GLneo
Posts: 31
Joined: Sun Nov 29, 2009 3:22 pm

Re: Video Processor

Post by GLneo »

I could but I'm still attempting to keep this device from becoming a full blown computer, My current design only ads 1 40pin chip to the original Uzebox. Starting with a 200PGA might break the simplicity...
User avatar
D3thAdd3r
Posts: 3222
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Video Processor

Post by D3thAdd3r »

So what I'm wondering is it possible to run this chip at a lower Mhz but still have the video work correctly ( 14.3 Mhz 4x the NTSC color burst frequency)
You can't achieve the same horizontal resolution with such a slow clock speed. If you are meaning doing it directly in software like the Uzebox currently does with this chip, half the clock speed means half the horizontal resolution period. Besides that you need to remember that sound playback could be affected as well, since some processing occurs on it during the HSYNC. Look at the assembly to any of the video modes and you'll see there are very few "burned" cycles, it's time tight in there. You would NEED external hardware for such a slow chip, some latch/counter setup or something. If you wanted to use the existing kernel video code I'd recommend just running at the standard clock speed, it relies on it.
scuzz
Posts: 73
Joined: Sun Sep 13, 2009 4:57 am
Location: Maryland, USA
Contact:

Re: Video Processor

Post by scuzz »

GLneo wrote:For my design I'm using the at91sam7s as the main CPU.

Well let me run though my design as of right now, it is very much like the original NES, a main CPU will run the game and handle input, then it will send sprite info to the lower powered ( and preferably low pin count ) video chip, this chip will be dedicated to updating the screen with the refresh rate, this leaves the full power of the main CPU to the program.

So I'm looking for the simplest chip that has enough SRAM for video processing but the lowest price and pin count for simplicity. I have gone though most of the Atmega's and have yet to find that perfect median.
Why are you looking elsewhere for video output? You have a 200MHz processor! The PLL can be programmed to output between 80 and 200MHz, pretty much regardless of your input clock frequency (at least according to the at91sam7s series datasheet (check out page 30, or section 24.4 in the full datasheet)). With those kinds of speeds you could likely reliably do all of the video processing and even generate the output for NTSC yourself and still still have enough time left over for tea and crumpets :P .

Anyway, the only thing I could really imagine serving as an offboard video chip for something like this would be more RAM. I think you have more processing power than even the most intense video game could dish out on an Uzebox-style console.

--EDIT--
If you're using a 14.3181818 MHz clock input like the regular Uzebox (aka you're planning on using the AD725) then all you need to feed into your PLL is 105 as a divisor, and 1,430 as the multiplier in the PLL and you should get a 195MHz clock speed.

Unfortunately this won't give you a nice clock speed for the USB device port (if you're planning on using that), because the peripheral divider only allows for dividing by 1, 2, or 4. And dividing by 4 only gives you 48.75MHz (instead of the needed 48MHz), but since you were trying to run it at 14.3181818181818181818181818181818MHz anyway you probably weren't planning on having a USB port anyway :P .

Okay, I seriously need to be working on my paper... Kit, AWAAAAAAAAAAAAAAAAAAAAAAAAAY!
hpglow
Posts: 269
Joined: Wed Apr 14, 2010 6:06 am

Re: Video Processor

Post by hpglow »

Image
Just make a custom OS for that and bam, open source video game console smaller than a DVD case.
scuzz
Posts: 73
Joined: Sun Sep 13, 2009 4:57 am
Location: Maryland, USA
Contact:

Re: Video Processor

Post by scuzz »

hpglow wrote:Just make a custom OS for that and bam, open source video game console smaller than a DVD case.
Where's the fun in knowing it works before you start?! :P

In all seriousness though that thing is ridiculous!
Genesi Website wrote:A feature of all products is Aura, a proprietary BIOS and hardware abstraction layer that is compatible with either OpenFirmware (IEEE1275) or Unified Extensible Firmware Interface (UEFI). Included in the abstraction layer is an x86 emulator, which allows standard PC graphics cores or components to be used with ARM™ and Power™.
A BUILT-IN x86 EMULATOR??!?!?! This thing could just run doom or quake out of the box! Though if you were going to go that route I'd probably go for the Beagle board:
Image
$150 from both Mouser and Sparkfun (the picture is a link). It's really popular and has a big community following (who has already ported quake to it).

As a side note: If you changed the multiplier from my previous comment to 1408 you get a 192MHz clock speed which is perfect for the USB port as a divide by 4 would give you exactly 48MHz (well, technically 47.99999994MHz, but that's close enough).
User avatar
D3thAdd3r
Posts: 3222
Joined: Wed Apr 29, 2009 10:00 am
Location: Minneapolis, United States

Re: Video Processor

Post by D3thAdd3r »

This is all sacrilege I say!! ;) If we could channel all this innovative energy towards the current design, instead of planning it demise, we'd have some killer stuff. I'd think it cool for anyone wanting to immediately fork the Uzebox project, to contribute something to it at some point. Don't get me wrong, the ideas are always interesting, but I wonder how divisive it would be to have multiple boxes in an already small community. Lots of stuff for you hardware guys to do: external usb, networking, etc for the actual platform. Just seems like a lot of gears are turning to make the Uzebox less relevant on it's home turf, I know I sound like a broken record on this subject :lol:
Post Reply