CPUWIZ Posted April 19, 2014 Share Posted April 19, 2014 RevEng and me have done it, it was pretty tricky and I'll let Rev chime in on some of the work he had to go through. But the result is that there is a new bankswitching scheme on this planet. I think we'll call it SC1024, it works by banking in and out entire 128K bankswitched games (bank 0-5 @ $8000, bank 6 @ $4000 and bank 7 @ $C000). 12 Quote Link to comment Share on other sites More sharing options...
mckafka99 Posted April 19, 2014 Share Posted April 19, 2014 Woot! Woot! Sign me up for the #2 cart! (Should it come to pass.) Looks great! Quote Link to comment Share on other sites More sharing options...
mmervine Posted April 19, 2014 Share Posted April 19, 2014 Awesome...I will take one please! Quote Link to comment Share on other sites More sharing options...
gorfcadet Posted April 19, 2014 Share Posted April 19, 2014 Do want! Quote Link to comment Share on other sites More sharing options...
Jinks Posted April 19, 2014 Share Posted April 19, 2014 Want 1 please!! Great work! Quote Link to comment Share on other sites More sharing options...
Jinks Posted April 19, 2014 Share Posted April 19, 2014 What does??" Give as good as you get?" In the description to basketbrawl mean?? Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 19, 2014 Share Posted April 19, 2014 (edited) RevEng and me have done it, it was pretty tricky and I'll let Rev chime in on some of the work he had to go through Tech details... the games each of the games needed to be patched so the bankswitching scheme used not only 3 bits for 0-7 banks, but also another 3 bits to identify which 128k bank needed to be active during any bank switch. This was easier said than done, since some of the games used their bank value variables for other purposes. And in some cases the value was loaded out of a location in the current bank, rather than a "lda #value" "sta $8000" pair. The MESS debugger was invaluable for this tracking down all of the bank switch hits. The biggest challenge of them all was Ninja Golf. Even when it was seemingly fully patched, it was still hitting the $8003 hotspot with a weird value during it's startup routine. Thanks to the debugger, I found an off-by-1 bug in its initialization code, which caused an indirect address write to try and write to this odd location. Since the original game code uses $9000 as a hotspot, instead of the usual $8000, it looks like they never tracked down the source of this bug, but instead tweaked the hardware to ignore it! anyway, I'm hoping you guys enjoy this collection. We hand-picked the games to try and included some of the rarer 128k games, based on the feedback from the 1st collection. Edited April 19, 2014 by RevEng 6 Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 19, 2014 Share Posted April 19, 2014 What does??" Give as good as you get?" In the description to basketbrawl mean?? http://dictionary.cambridge.org/dictionary/british/give-as-good-as-you-get Quote Link to comment Share on other sites More sharing options...
Jinks Posted April 19, 2014 Share Posted April 19, 2014 http://dictionary.cambridge.org/dictionary/british/give-as-good-as-you-get ThanksI never heard that term before. Its British.. ok that explains a lot.. I guess I couldn't be asked to look it up for myself. Quote Link to comment Share on other sites More sharing options...
Lynxpro Posted April 19, 2014 Share Posted April 19, 2014 That isn't a British-exclusive term. I've heard that for years here in Northern California. Quote Link to comment Share on other sites More sharing options...
LidLikesIntellivision Posted April 19, 2014 Share Posted April 19, 2014 I would love to have one! Quote Link to comment Share on other sites More sharing options...
MAC-42 Posted April 19, 2014 Share Posted April 19, 2014 Aww, man! Another really excellent project I want a piece of. Looks like I'd better get a second paper route or something! 1 Quote Link to comment Share on other sites More sharing options...
DracIsBack Posted April 19, 2014 Share Posted April 19, 2014 Sweet! I might be all over this too! Quote Link to comment Share on other sites More sharing options...
toymailman Posted April 19, 2014 Share Posted April 19, 2014 Count me in for one! Quote Link to comment Share on other sites More sharing options...
iesposta Posted April 19, 2014 Share Posted April 19, 2014 I will buy one to go with my Multicart #1 please. I don't have any of these games. Once Harmony Concerto arrives and my XM module ships, I foresee ending my ColecoVision collecting due to lack of funds, time and interest. Quote Link to comment Share on other sites More sharing options...
+Mitch Posted April 19, 2014 Share Posted April 19, 2014 The biggest challenge of them all was Ninja Golf. Even when it was seemingly fully patched, it was still hitting the $8003 hotspot with a weird value during it's startup routine. Was this related to the hidden joystick test in Ninja Golf? I want one when they are ready to go. Mitch Quote Link to comment Share on other sites More sharing options...
Jinks Posted April 19, 2014 Share Posted April 19, 2014 Only could fit 8 games? Not complaining.. just asking. Quote Link to comment Share on other sites More sharing options...
jaybird3rd Posted April 19, 2014 Share Posted April 19, 2014 Very clever! Congratulations on getting the games to work with your new bankswitching design. I remember going through a similar process with the Aquaricart: the games that I included in that cartridge weren't designed with bankswitching in mind at all, so they were writing into the cartridge ROM all over the place (usually because of missing bounds checks, sloppy memory initialization, and other programming errors). I also relied pretty heavily on MESS's debugger to see what was going on. 1 Quote Link to comment Share on other sites More sharing options...
Mayhem Posted April 19, 2014 Share Posted April 19, 2014 Very interesting indeed... and if there's a cart, yeah, chalk me in for one as well Quote Link to comment Share on other sites More sharing options...
CPUWIZ Posted April 19, 2014 Author Share Posted April 19, 2014 Only could fit 8 games? Not complaining.. just asking. One megabyte is the largest chip available in the required footprint. @Jay: Cheers. Quote Link to comment Share on other sites More sharing options...
PAC-MAN PRIME Posted April 19, 2014 Share Posted April 19, 2014 Amazing! Please add me to the list! Quote Link to comment Share on other sites More sharing options...
+evg2000 Posted April 19, 2014 Share Posted April 19, 2014 add me to the list also, if there is one Quote Link to comment Share on other sites More sharing options...
RevEng Posted April 20, 2014 Share Posted April 20, 2014 Was this related to the hidden joystick test in Ninja Golf? No, the code in question appears to be part of the DLL initialization. It's implemented as a classic count-down loop which should have run from NUMBER_of_ELEMENTS-1 to 0, but instead it runs from NUMBER_of_ELEMENTS to 0. As a result, during the first loop iteration it reaches past the list of RAM locations and grabs some bogus data, which just happens to be within the hotspot range. Easy enough to see now, with the MESS debugger. I imagine back in the day it gave somebody ulcers trying to track it down. Quote Link to comment Share on other sites More sharing options...
+Allan Posted April 20, 2014 Share Posted April 20, 2014 Did this affect the game at all? Allan Quote Link to comment Share on other sites More sharing options...
+SabertoothRetro Posted April 20, 2014 Share Posted April 20, 2014 Amazing! Plus, it's great to see some of the rarer titles on cart no. 2. If this is a list, please put me on it. 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.