Posted: Mon Apr 10, 2006 3:25 am
kctia:
Again, you can also use digitized composite. If you store your pixels as 16 bit words, you can have 6-bits dedicated to luminance, and 5 bits each to the I and Q color burst phases. Or, just store the raw DAC output sequence in RAM and spit it out an 8-bit R-2R DAC. You literally are not going to get any simpler than that. Monochrome is trivial, though color support may involve some math as you need to figure out the composition of the chroma and luma signals.
Am outputting to plain RGB at NTSC frequencies. Such a unit outputting NTSC and VGA will get higher marks from hobbyists instead of locking into one or the other.
The C64DTV does it with a 4-bit luma and 4-bit chroma DACs, so a 5-bit DAC is all that is really required for this type of stuff.
Never heard of the C64DTV. Throw a link?
Quote:
8 bit port with signals compatible to 65C22 (use the register/data addressing fields trick used in the TMS34010 where the first byte is the register specifier and the second byte is data.)
I don't understand.
Simpler interfacing to use such a graphics board with an SBC.
You send 2 bytes in a row
Byte 1: register addres
Byte 2: register data
and use those in a variation thereof.
Quote:
An eprom space for graphics to be references from the FPGA. Test patterns, game graphics, you name it. This way, you dont have to spend precious ROM space on your 6502 uploading graphics into it. Have this rom up to 27C801 which gives 1 meg by 8 of graphics fun
Umm...not sure I understand this either. What do you mean by "references from the FPGA?" Why not just use a huge addressing capacity instead? Something like the VIC-II chip's ability to address only 16K of video memory, but most of those bits are programmable but fixed based on various VIC-II registers? (E.g., sprite address pointer bytes, for example, or character map pointer, or character font pointer, etc)
None of the above. Back when I was designing on this game system called Neo Geo, all graphics where sprite based as 16 by 16 tiles. You could select from 65,356 of these tile graphics. The basics for a sprite anyways would be:
SpriteTile#
SpriteX
SpriteY
SpriteXScaling (Neo Geo did these on the fly by a hardware lookup table)
SpriteYScaling
The idea being the 27C801 would store all the graphics you want, then you can simply call them up.
PutSprite(Graphic#325,Xpos320,Ypos2)
Quote:
USB, tis a must as well.
I'll leave that for a microcontroller to deal with -- that has no place belonging inside the FPGA itself, unless that was its sole purpose.
The FPGA would be in effect a programmable graphics board. More versatile. 8 bit port for the SBC, USB for people who want to address it via usb, I2C for the same kind of thing. Versatility, ya know...
Quote:
Do you think it could be done to the point of less than $150 per board?
In mass quantities, perhaps. Not in singles.
I differ. The test board is $150. The chip is $23 in single quantitites. I estimate that a board utilizing the specs would be around $129, single quantitites. or less. If it gets higher than $150, then simply buy the test board from above and program it in the methods then sell that!
Again, you can also use digitized composite. If you store your pixels as 16 bit words, you can have 6-bits dedicated to luminance, and 5 bits each to the I and Q color burst phases. Or, just store the raw DAC output sequence in RAM and spit it out an 8-bit R-2R DAC. You literally are not going to get any simpler than that. Monochrome is trivial, though color support may involve some math as you need to figure out the composition of the chroma and luma signals.
Am outputting to plain RGB at NTSC frequencies. Such a unit outputting NTSC and VGA will get higher marks from hobbyists instead of locking into one or the other.
The C64DTV does it with a 4-bit luma and 4-bit chroma DACs, so a 5-bit DAC is all that is really required for this type of stuff.
Never heard of the C64DTV. Throw a link?
Quote:
8 bit port with signals compatible to 65C22 (use the register/data addressing fields trick used in the TMS34010 where the first byte is the register specifier and the second byte is data.)
I don't understand.
Simpler interfacing to use such a graphics board with an SBC.
You send 2 bytes in a row
Byte 1: register addres
Byte 2: register data
and use those in a variation thereof.
Quote:
An eprom space for graphics to be references from the FPGA. Test patterns, game graphics, you name it. This way, you dont have to spend precious ROM space on your 6502 uploading graphics into it. Have this rom up to 27C801 which gives 1 meg by 8 of graphics fun
Umm...not sure I understand this either. What do you mean by "references from the FPGA?" Why not just use a huge addressing capacity instead? Something like the VIC-II chip's ability to address only 16K of video memory, but most of those bits are programmable but fixed based on various VIC-II registers? (E.g., sprite address pointer bytes, for example, or character map pointer, or character font pointer, etc)
None of the above. Back when I was designing on this game system called Neo Geo, all graphics where sprite based as 16 by 16 tiles. You could select from 65,356 of these tile graphics. The basics for a sprite anyways would be:
SpriteTile#
SpriteX
SpriteY
SpriteXScaling (Neo Geo did these on the fly by a hardware lookup table)
SpriteYScaling
The idea being the 27C801 would store all the graphics you want, then you can simply call them up.
PutSprite(Graphic#325,Xpos320,Ypos2)
Quote:
USB, tis a must as well.
I'll leave that for a microcontroller to deal with -- that has no place belonging inside the FPGA itself, unless that was its sole purpose.
The FPGA would be in effect a programmable graphics board. More versatile. 8 bit port for the SBC, USB for people who want to address it via usb, I2C for the same kind of thing. Versatility, ya know...
Quote:
Do you think it could be done to the point of less than $150 per board?
In mass quantities, perhaps. Not in singles.
I differ. The test board is $150. The chip is $23 in single quantitites. I estimate that a board utilizing the specs would be around $129, single quantitites. or less. If it gets higher than $150, then simply buy the test board from above and program it in the methods then sell that!