Sprybug Posted January 15, 2017 Share Posted January 15, 2017 Hey guys, I know that the new Harmony is able to do 64K, does that also mean that DPC+ would also be able to handle 64K? If so, that'd be excellent, because I'd love to continue using DPC+ for Robot Zed, but for the scale of the game, I need more space. Not so much in coding, but for the graphics bank. Would it be possible to do, let's say, Bank 1 being used as it is now for the DPC+ code, banks 2-8 for your personal code, and then banks 9-16 (32k) for the graphics bank and the rest of what needs to make DPC+ work. Let me know! 2 Quote Link to comment Share on other sites More sharing options...
+Gemintronic Posted January 19, 2017 Share Posted January 19, 2017 I'm pretty far from an expert on DPC+. Until a better answer comes along here's what my impression is:You get around 24k max. batari would have to be convinced to refocus his time to expand that.I think the Melody boards can go up to 64k. Maybe you could try your hand at writing your own display kernel in assembly to get better fidelity without DPC+ I guess another option would be the stuff Spiceware is working on. Apparently it would allow most of your game to run in C. Maybe that would allow you to store more stuff as well. Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted January 19, 2017 Share Posted January 19, 2017 Hey guys, I know that the new Harmony is able to do 64K, does that also mean that DPC+ would also be able to handle 64K? The DPC+ driver's designed around a 32K of ROM with this layout: What I would do is: clone the driver revise the bank layout by inserting 8 new banks (6-13) before Display Data add 8 bankswitch hotspots so they'd range from $FFEE-FFFB (32K uses $FFF6-FFFB) I implemented the support in Stella and believe it'd be fairly easy to modify it to support 32K and 64K versions. I think batari's the only one with source for the DPC+ Harmony/Melody driver, so he'd need to make those changes. After that bB would also need to be updated. Data for the datastreams must be in Display Data RAM due to performance (the ARM can access RAM 4 times faster than ROM). When a DPC+ cartridge is first powered on the contents of Display Data ROM is copied into Display Data RAM. I suspect bB is set up so the graphics all exist in that 4K Display Data, which limits how much you can have. For my games I copy the graphics into RAM as needed, so the RAM holds different data when the main menu is displayed than it does when the game screen is active. I guess another option would be the stuff Spiceware is working on. Apparently it would allow most of your game to run in C. Maybe that would allow you to store more stuff as well. Space Rocks and Stay Frosty 2 are DPC+ games written in C (not bB). I've a tutorial on that - it's not finished, but is probably enough to get somebody started, especially if they download the source for my games that I've posted in my blog. 2 Quote Link to comment Share on other sites More sharing options...
Words Fail Posted January 2, 2023 Share Posted January 2, 2023 (edited) On 1/18/2017 at 10:54 PM, SpiceWare said: Data for the datastreams must be in Display Data RAM due to performance (the ARM can access RAM 4 times faster than ROM). When a DPC+ cartridge is first powered on the contents of Display Data ROM is copied into Display Data RAM. I suspect bB is set up so the graphics all exist in that 4K Display Data, which limits how much you can have. For my games I copy the graphics into RAM as needed, so the RAM holds different data when the main menu is displayed than it does when the game screen is active. Is there something I can read up on somewhere about copying graphics into RAM as needed? I have a DPC+ game. I didn't see that you only have 4k for graphics and I have 8 bytes left! I figured since the code is in bank3 that's all there is to it. So this is what I have currently: A game with title screen, game over screen, get ready screen, secret screen, and 30 levels.. not to mention player and 4 enemies. I do not have a boss yet and I was hoping to add more levels. I could remove the secret screen or get ready because I need the boss.. but I'd love to keep it all in. I have almsot 3 whole banks free.. well I still have to add boss code in, and some sound effects, and miscellaneous stuff to fix/add, so let's say for reference I have one bank totally free. I'd love to be able to swap out my levels so I can add another 15 or 30 levels. I am not familiar with C or ASM. Edited January 2, 2023 by Words Fail Quote Link to comment Share on other sites More sharing options...
+SpiceWare Posted January 2, 2023 Share Posted January 2, 2023 15 minutes ago, Words Fail said: Is there something I can read up on somewhere about copying graphics into RAM as needed? This topic should help, it shows how to define player0 graphics in ROM. 1 Quote Link to comment Share on other sites More sharing options...
Words Fail Posted January 2, 2023 Share Posted January 2, 2023 12 minutes ago, SpiceWare said: This topic should help, it shows how to define player0 graphics in ROM. Thanks I'll look tomorrow when I get off work. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.