| |
andym00
Registered: Jun 2009 Posts: 44 |
Ultimax unleashed..
Well, someone did what I've been wanting to do for some time.. Driving VIC fetches from external memory, and stuffing register writes over the bus.. Hooray for Ultimax mode I guess :)
Always wanted to build something like this, but kudos to Laurent for acutally getting there..
https://www.youtube.com/watch?v=yy4Gr11EXHM
He's got a few videos up of it in action.. Nothing ultra crazy, but proof it's all working..
https://www.youtube.com/channel/UCDfSVxlHK9AJHPRCoGqDYZQ |
|
... 43 posts hidden. Click here to view all posts.... |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: Quoting Martin PiperAnd the ROM doesn't have to be a ROM, it can be any signal from any source. Thought that as well, but technically, VIC always only reads data (except for RAM refresh). =)
Then again, the CPU may also write to external addresses (if not permanently halted by perpetual DMA).
Anyhow, with VIC reading external data, one could make something that would convert whatever video signal to VIC bitmap/characters (with FLI and sprites and whatnot) at full 50 Hz refresh rate. Kinda lame, but kinda cool as well. View random videos through a realthing VIC filter.
I'd rather just take out the VIC chip and build the rest of the system around it. The dram refresh feature can be just ignored, right ? |
| |
Krill
Registered: Apr 2002 Posts: 2804 |
Plugging in a cartridge is way easier and less likely to kill a precious C-64 or VIC itself. =)
And i think running the VIC in a non-native environment comes with a whole new set of problems, including the analogue sort. |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: Plugging in a cartridge is way easier and less likely to kill a precious C-64 or VIC itself. =)
And i think running the VIC in a non-native environment comes with a whole new set of problems, including the analogue sort.
I wish the day was longer than 24 hours, there's so much stuff I'd love to try, including this. Just few weeks ago I bought myself STM32 board and even managed to generate analog 15Khz RGB video on it. I feel like I could get something like in the OP here, but I've got so many things going on, work, demos intros, games... I regret not getting into this sooner when I was still in school hehe |
| |
Krill
Registered: Apr 2002 Posts: 2804 |
Quoting tlrCool concept! I guess something like this could be done using the 1541U2 as platform. I think there was some experimental copper code in there at one time but you could always go full custom. Seeing that "REU release" (https://csdb.dk/toplist.php?type=release&subtype=%286%29) is a thing, going full Copper using 1541U would be the next logical step. But there aren't any plans to permanently add something like that, are there? |
| |
Golara Account closed
Registered: Jan 2018 Posts: 212 |
Quote: Quoting tlrCool concept! I guess something like this could be done using the 1541U2 as platform. I think there was some experimental copper code in there at one time but you could always go full custom. Seeing that "REU release" (https://csdb.dk/toplist.php?type=release&subtype=%286%29) is a thing, going full Copper using 1541U would be the next logical step. But there aren't any plans to permanently add something like that, are there?
I think they should create a new tag called "steroids" or something, since there's so few releases of this type anyway, no point in dividing it even more. |
| |
Laurent
Registered: Apr 2004 Posts: 40 |
I added a 50 FPS 'movie' here :
https://www.youtube.com/watch?v=PZ6uRSK7x7U |
| |
ChristopherJam
Registered: Aug 2004 Posts: 1359 |
Nice work! On both the hardware/firmware side and the video conversion.
What mode does VIC think it is displaying? |
| |
Laurent
Registered: Apr 2004 Posts: 40 |
This is basically NUFLI, hi-res bitmap FLI with 7 sprites underlay, X-expanded.
There are a few differences with the NUFLI format though.
There are 9 cycles left per raster-line:
* one to update $d011 to trigger badlines (done at cycle #11 so FLI bug not visible)
* one to update a single sprite Y position to achieve full-screen multiplexing (they are staggered 1 pixel apart vertically)
* seven to update the 7 sprites colors every raster-line
Because of the THCM samples, 4 cycles of sprite colors are used to update SID registers every other raster-line. It doesn't seem to alter the "quality" of the pictures that much.
Last key thing, I don’t listen to the address that VIC requests, instead i use the internal cycle (X,Y) information to grab the right data inside the picture (char matrix, bitmap and sprites graphics) that makes things quite simple especially for sprites. |
| |
ThunderBlade
Registered: Jan 2002 Posts: 74 |
Wow, very cool! I played around with the REU some years ago to put full hires bitmap in border by changing $3FFF all the time or something. But REU timing of 1541U and real REU were different so I stopped. Never got the idea to generate a NUFLI that way, you are great man!! |
| |
chatGPZ
Registered: Dec 2001 Posts: 11088 |
Can't do this with a REU of course :)
Can you give some more technical data? How big is the file that is played back? Is it compressed? Streamed from what medium?
This reminds me a lot of some things we tested in early chameleon development (before we decided to not create a new platform). Early 1541U drafts also included similar ideas iirc. (And its totally doable on either, with the right core of course) |
Previous - 1 | 2 | 3 | 4 | 5 | 6 - Next |