[Coco] A Technical Question
Mark McDougall
msmcdoug at iinet.net.au
Sun May 20 09:18:34 EDT 2012
On 20/05/2012 5:10 AM, Fedor Steeman wrote:
> That sounds like an awesome idea! I hope this would become a reality some
> day. Given the CoCo3's capabilities, what would be the highest
> resolution/color depth you could push it up to through VGA? Perhaps
> 800x600x32 ???
In theory, there's no real limit to the resolution or colour depth if you're
re-generating the screen in an FPGA. However, you quickly run into
practicality problems of how much graphics data the 6809 can push around.
Besides, my aim wasn't really to produce a new Amiga, but rather enhance the
current hardware with perhaps a few more colours and sprites etc. We still
want 100% backwards compatibility, and still have the new modes 'look like'
a Coco...
My thoughts were much along the same lines as the (Apple II) Carte Blanche,
and have the cartridge "snoop" (video) memory accesses. It then re-generates
the VGA video from an internal copy of the memory, whilst being able to
overlay sprites, for example. The sprite controller would be mapped into
Coco memory space somewhere suitably unobtrusive.
The main problem I can see with this approach is the fact that the VGA video
generation is completely asynchronous to the GIME, even more-so for a PAL
Coco. This precludes any "bare-metal" programming of the GIME that relies on
horizontal raster interrupts, for example.
I'm really not sure how to solve this issue. One possibility would be to
connect the RGB sync output to the FPGA on a separate cable, and derive the
video timing from there. Another is to somehow (partly?) 'disable' the
on-board GIME and have the FPGA implementation 'master' the system. Don't
know, haven't thought it through so I'm thinking out loud here...
But, as I said, this is something that can be prototyped wholly within an
FPGA! It would involve taking a complete Coco3 implementation, and adding
the 'cartridge' logic wired via the bus (complete with 2nd GIME) and
extended graphics functionality. Would be an interesting project!
One could even get real fancy and provide advanced functions to rotate the
video memory mapping, or maybe provide software programmable resolutions.
This would make porting of the Williams arcade games and Tutankham, for
example, much much easier! ;) Actually there's a point; maybe a blitter
could be added too!
Then again, this is also something you could do with an 'enhanced GIME' that
simply replaced the original one. I really like the idea of using a stock
Coco as far as possible.
Regards,
--
| Mark McDougall | "Electrical Engineers do it
| <http://members.iinet.net.au/~msmcdoug> | with less resistance!"
More information about the Coco
mailing list