Krool885 Posted June 9 Share Posted June 9 (edited) Hi everyone! I've made a little compiled XB program and turned it into a cart with the "MAKECART8" file and I wanted to boot the cart straight from the .exe, so I followed the Classic99 docs and set up appmode. I'm pretty sure this bit is working right, but I can't get the Usercart definition in the .ini file to work properly. There was one thread about this with one of those sidecar cartridges, but I couldn't get anything useful from it. Since the cart works perfectly from user, open, [path] in the emulator, I used the * type since I didn't know what I was doing. I know it ignores the length and address in this mode but it didn't work when left out so I added some values that I think are right (compiled XB carts are 32k) but in theory they shouldn't matter. This is what I've got: [UserCart0] name="name" ROM0=*|6000|8000|FILES\name.bin I've tried a whole load of settings but the closest I've gotten is the name on the cartridge selection menu that then sits doing nothing when selected. Any thoughts? Edited June 9 by Krool885 fixed a typo Quote Link to comment Share on other sites More sharing options...
HOME AUTOMATION Posted June 9 Share Posted June 9 1 hour ago, Krool885 said: ROM0=8|0000|2000|FILES\name.bin ...Worth a shot. Quote Link to comment Share on other sites More sharing options...
Krool885 Posted June 9 Author Share Posted June 9 Nope... Same result unfortunately. Quote Link to comment Share on other sites More sharing options...
SteveB Posted June 9 Share Posted June 9 ROM0=8|0000|22000|FILES\name.bin perhaps? Quote Link to comment Share on other sites More sharing options...
Krool885 Posted June 9 Author Share Posted June 9 It works! Thanks so much, I suspect I would've been at that for hours otherwise. Quote Link to comment Share on other sites More sharing options...
Tursi Posted June 9 Share Posted June 9 (edited) "Read the debug log". The length of 32k is >8000 in hex, "22000" is 136k. Classic99 will load that but it will also tell you that the file on disk is not actually 136k in size. The reason that SteveB's worked is because the start address for bank-switched cartridges is 0000, not 6000. 8000 is still the correct size. In the first case, you would have seen that it miscalculated the cartridge size since you started it 24k into the ROM space. 24k+32k=56k, so it would have rounded up and assumed you wanted a 64k cartridge. Can we please reduce the number of guesses we post? We can educate people how to KNOW what to put in there. Guesses just make it look like magic, and it really isn't. Wrong guesses that work on one image might fail on another with no idea why. The probable reason why '*' didn't just work is you didn't include the tag character in the name (ie: name8.bin). It's possible I didn't put the workaround for no recognized tag character in the INI read, as I was really irritated to have to implement it in the first place. Again, the debug log would have explicitly said what it was trying to do, and you'd probably have noticed it was wrong. So "ROM0=8|0000|8000|FILES\name.bin" How do you know whether it's "6000" or "0000" for the cartridge starting address? Does it fit in 8k? If yes, it's not paged and so it lives in the /cpu/ address space - cartridges are at >6000. If it's bigger, then the emulator knows it has to be a cartridge at >6000 in the CPU space, and it needs to know where in the EPROM space it loads (because it is possible to break it up into multiple files). So for anything that needs to page, it has its own dedicated address space that represents the EPROM, and so starts at >0000. Or to be simpler, types "8" and "9" start at 0000, types "C","X","G" start at 6000. Edited June 9 by Tursi 4 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.