| |
knue
Registered: Dec 2012 Posts: 37 |
A wild idea for a Cartridge/Gfx-Card
I'm probably not the first guy having this idea but anyway, here it is. This is what came to my mind when reading about REUs:
* You have a c64 driver program that shows some fancy gfx mode like sth FLI-based and/or using sprites as overlays.
* After each screen refresh the C64 gets a RAM update (similar to a DMA from an REU) from a cartridge.
* The cartridge runs the actual software. Maybe some ARM chip or so that just converts its internal virtual image to the to the C64's FLI/RAM layout.
Now, the actual software run on the ARM chip can implement tons of huge sprites, tons of parallax layers and what not. It just has to feed the rendered image to the C64 over the bus which renders it via the FLI-driver.
I'm pretty sure that it will work, but there are some pitfalls:
* Of course there is the famous FLI-bug. Maybe you can work around this bug, if you are in the business of sending arbitrary stuff over the data bus anyway. I don't know.
* Also, Assuming you can send 1 byte/cycle there isn't enough time to send enough data for a whole FLI picture in the overscan area. So either, you have to double-buffer and only update the screen every other frame or so, or you have to work with a smaller screen area (leaving the remaining part to show some status bars or so for a game).
What do you guys think? |
|
| |
JackAsser
Registered: Jun 2002 Posts: 1989 |
What Groepaz said. |
| |
Martin Piper
Registered: Nov 2007 Posts: 634 |
The design scope for this is to use types of components available during C64 production times:
https://martin-piper.itch.io/bomb-jack-display-hardware/devlog/..
One idea is to have a generic processing board, which is software programmable, that is able to return information to the C64, or control the video hardware memory directly: https://github.com/martinpiper/BombJack/blob/5f122705e0a38e9de7.. |
| |
Krill
Registered: Apr 2002 Posts: 2839 |
I think VIC displaying external memory using Ultimax mode is the more elegant solution compared to shoveling DMA data all the time:
Ultimax unleashed..
But maybe there can be a hybrid which would use both banked-in external data and complex DMA transfers while still running the 6510 (here and there).
Also what Groepaz said. |
| |
knue
Registered: Dec 2012 Posts: 37 |
Cool stuff. Thanks for the hints :) |
| |
zzarko
Registered: Feb 2003 Posts: 66 |
Here is another similar project, Sidekick64:
https://github.com/frntc/Sidekick64
And many videos:
https://www.youtube.com/channel/UCApxaKhZB726r2Qkso9ARYQ/videos |
| |
Burglar
Registered: Dec 2004 Posts: 1031 |
Quoting JackAsserWhat Groepaz said. I totally agree |
| |
MagerValp
Registered: Dec 2001 Posts: 1055 |
Oh neat, I hadn't seen that one.
I previously built a FIFO based interface to use a Pi0 as a graphics card on the C64, but it was write only. I'm currently playing with interfacing through a 65C22, so we'll see how well that works. Indirect access is always less interesting than memory mapping, and I have some ideas there... |
| |
anonym
Registered: Jan 2002 Posts: 247 |
Quote: Quoting JackAsserWhat Groepaz said. I totally agree
Yes, but I don't agree with how he said it. |