S1500 Posted April 5, 2010 Share Posted April 5, 2010 What's the easiest method to add modules to the menu list for cartridges in Classic 99? I'm at work, and have been a bit busy to read any ftm. Reason being, MESS locks up horribly on Buck Rogers. MESS locked up to the point where it was constantly looping a sound, and any normal attempts to kill the task failed miserably. Yeah, don't use buck rogers. I would love to easily switch games in Classic 99 instead of using MESS's cumbersome UI. I did however realize that you can just select the 2 files for a cart(why are they in 2 files?) and hit enter, and it runs. You don't have to individually mount the cart files. Instead, just go straight from the picker. Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted April 5, 2010 Share Posted April 5, 2010 Not really sure, but I seem to recall that Tursi has plans on adding a cartridge library (perhaps something in the style as win994A has?). At this time, I suppose the only way to add cartridges to the menu in classic99, is to add the appropriate entries in the classic99.ini file. Something like this: [usercart0] name=Tutankham rom0=3|0000|8000|D:\Projekte\tutankham\tms9900\TUT.bin I'm afraid you'l have to read the manual (in this case classic99.txt) Here is an extract on the ROM section [roms] cartgroup 0 Apps 1 Games 2 User cartidx -1 No cartridge selected ?? index of the cartridge from the appropriate menu [userCart0] (and so on up to 99) name Name of the cartridge. If blank or missing, the cartridge is ignored. message Compatibility notes, if desired rom0 (0-3 for a total of 4 ROMs per cartridge) Contains notes for loading the cartridge. This is a pipe-limited row of data, formatted like so: T|AAAA|LLLL|filename T is the single character ROM type. Most carts only use G, C and X types. C CPU ROM D DSR ROM E DSR ROM bank 2 (used for p-code) G GROM* P P-Code GROM R CPU RAM - this is loaded like CPU ROM but is not flagged as read-only! S Speech ROM V VDP RAM X XB Bank 2 ROM (called 'D' in some systems, but I used D already) A AMS memory, RLE encoded (not working correctly yet) K Paste string for the keyboard after boot (to autostart tasks, not a filename) 3 Packed banks with a '379 style decoder. Similar to XB style but more banks and all in one file. Note that this assumes a load at >6000, so you are specifying the offset in the banking space, with bank 0 at >0000, bank 1 at >2000, etc. SuperSpace carts (CRU >400) can be loaded this way for now, too, but will likely split them up later. Max size is 64k. (* GROM is special - to support multiple GROM bases, you can now load GROMs into different memory bases - up to 16 of them! By default, GROMs load into memory base 0. Append a hex number 1-F after the G to specify a different base (like: G1). The console will detect these and add them to the start menu! Note that not all GROMs will work at alternate bases. Also note, in the real console, the console GROMs appear at all bases, so you can't load alternate bases at less than >6000. Classic99 does not support using this with cartridges that include CPU ROM. Each GROM base is offset 4 from the previous, ie: GROM Read is >9800, >9804, >9808, etc.) AAAA - load address in hexadecimal LLLL - length of data in hexadecimal (will override actual size of file) filename - filename on disk to load This system supports both raw ROM files, and ROM files with a 6 byte GRAM Kracker style header. The header is detected by checking if the first byte is >00 or >FF, and if the 5th and 6th bytes represent the load address. The header will be ignored if detected - the data in this INI file is considered authoritative. Quote Link to comment Share on other sites More sharing options...
Tursi Posted April 5, 2010 Share Posted April 5, 2010 (edited) Sorry that there is not yet a more intuitive way... core functionality has always been high priority in the very limited time I get to work on it. There is one shortcut - if you are loading ROMs in the 'V9T9' format, which is also what MESS uses, you'll note they end with C.BIN, D.BIN or G.BIN. If all the files in the cart end like that, Classic99 has an auto-loader under Cartridge->User->Open, just select any one of the three files and it will find the others. If it's not in that format, or it's one of the newer bank switch carts, then there's no autodetect, and you must use the INI file method. It's on the TODO list to add the MESS RPK format, which will simplify things nicely (if I can find a non-GPL unzip library....) As for why they are separate files.. just legacy. Each file is a dump from a single type of memory, usually. C is the Cartridge ROM at >6000, up to 8k. D is the second bank of Cartridge ROM at >6000, up to 8k, used for Extended BASIC (and Atarisoft carts). G is GROM space, usually concatenated together into a single file, loading at >6000 and supporting up to 24k. The MESS RPK format zips the files together and includes an XML layout file, which is surely the best way to go forward. XML is nicely extensible so we should be able to add manuals, screenshots, and cover scans to it as well. (edit: and I need to update that doc, apparently.. as far as I remember it supports up to 16 ROMs per cartridge now ) Edited April 5, 2010 by Tursi Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 6, 2010 Share Posted April 6, 2010 (edited) I wrote a UI for MESS to simplify playing games... It was called TI Mess or something like that. I put it up on 99er.net.... I can dig it up - haven't used it in eons. Found it! TI99MessUpdate.zip Edited April 6, 2010 by unhuman Quote Link to comment Share on other sites More sharing options...
S1500 Posted April 6, 2010 Author Share Posted April 6, 2010 Hmm. So that's what the RPK format is. I'll use the classic99 'File-open" method, especially if you can just specify 1 file of three. 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.