Sinphaltimus Posted November 5, 2016 Share Posted November 5, 2016 It all started here:http://atariage.com/forums/topic/241547-official-ti-994a-hi-score-competition/page-38- Post #927 I attempted to load the Centipede bin file from the fr99 collection in to classic99 and it didn't work until Sometimes99er responded "Try and change the name from centipede.bin to centipedec.bin" To which I complied and it worked.So I went and grabbed my Zombi42.bin that I know works with fr99 and the same issue happens. It doesn't show up in the TI boot menu.So my question is this: "what is the criteria that must be met for an fr99 compatible bin file (I guess that just means a non-inverted bin) to work properly in classic99?" Somehow renaming centipede worked but why? how does Sometimes99 know that it would work and the exact name to rename it to? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted November 5, 2016 Share Posted November 5, 2016 Somehow renaming centipede worked but why? how does Sometimes99 know that it would work and the exact name to rename it to? From the manual, page 45. :-) Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted November 5, 2016 Author Share Posted November 5, 2016 From the manual, page 45. :-) Which manual? Quote Link to comment Share on other sites More sharing options...
Asmusr Posted November 5, 2016 Share Posted November 5, 2016 Which manual? The Classic99 manual. Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted November 5, 2016 Author Share Posted November 5, 2016 (edited) Yeah, I don't understand. I get that the C needs to be at the end of the filename which has max characters of 10 but how would a noob know that c is the proper choice? I'm going to try that with my bin file to see if it works. I suppose in order to know you really have to know. There's no way to find out?OK so I added a C to the end of the filename (ZOMBIE42.bin to ZOMBI42C.bin) And it showed up in the menu but does not work. Screen goes blank, high pitched squeal. Need to reset via menus (not ctrl+alt+(+)). So I guess I'll just keep changing the last letter to something else in that list from the manual and hope it works eventually?Edit: Nope, none work. I guess there's something special about this bin that isn't supported in c99?ZOMBI42.bin Edited November 5, 2016 by Sinphaltimus Quote Link to comment Share on other sites More sharing options...
+mizapf Posted November 5, 2016 Share Posted November 5, 2016 The "c" at the end of the file name (without the extension) is a traditional marker for "ROM6" area content. A "d" at the end is ROM6/second bank (as used in Extended Basic). The "g" signifies GROM space. This was also used in MESS in good old times before I found that cartridge handling much too fragile (requires too much knowledge from the user), and before the number of cartridge types rapidly increased. The solution was to add metadata (layout.xml) to define what goes where and put everything inside a ZIP container, renamed to .RPK. The concept with the current ZIP cartridges is the same, but the metadata are contained in the MAME distribution itself. 1 Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted November 5, 2016 Author Share Posted November 5, 2016 Yeah, way above my head right now. The best I can do is open the debugger and find this..Illegal opcode (00DB) at address >DCFE, Bank >0001, DSR >FFFF Illegal opcode (00DB) at address >DCFE, Bank >0001, DSR >FFFF Illegal opcode (00DB) at address >DCFE, Bank >0001, DSR >FFFF being repeated over and over when it crashes. I've used this bin file on real iron via the flashrom without any issues as far as I can tell. So I'm at a loss as to why the same bin doesn't work in c99. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted November 5, 2016 Share Posted November 5, 2016 Non-inverted files should be called xxxxxxxx8.bin to work with Classic99. All FR99 files are non-inverted. Try naming your file zombi42-8.bin 1 Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted November 5, 2016 Author Share Posted November 5, 2016 Non-inverted files should be called xxxxxxxx8.bin to work with Classic99. All FR99 files are non-inverted. Try naming your file zombi42-8.bin And just like that it works. Anyone develop the matrix yet for ti? I mean the real one.l Like just plug something in to the back of my skull so I can instantly know all this stuff. Thank you. Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 5, 2016 Share Posted November 5, 2016 (edited) I wanted to note that this is not "so it works with Classic99", it is "so Classic99 can auto-detect the type". The scheme was developed for the V9T9 emulator in the 90s and I extended the concept for newer types because I like loading cartridges lazily. You can make any filename work just fine in Classic99 by defining the cartridge in Classic99.ini. There's no naming restrictions there because you tell the emulator everything. The other thing to note is there is no 10 character limit on a ROM filename (*when used directly by emulation). The 10 character limit is a TI Disk Controller limit, and ROM files aren't loaded by the TI Disk Controller, they are loaded by the emulator itself. Auto-detection is more restrictive than the Classic99.ini. In particular, it assumes that you are loading at the base address of the cartridge port (>6000), so you can't split, say, a bank-switched program over multiple files. To do that, use Classic99.ini. But it's easier to just concatenate. So for auto-detection, you first need to know "what kind of cartridge ROM is it?" There are four types today: GROM - TI's custom memory chips. Ending your filename with "G.BIN" allows autodetection of this. The maximum size of a GROM cartridge auto-loaded into the cartridge port is 40k, GROM paging must be specified in the INI. ROM (not-paged) - This is the standard 8K of ROM memory. Ending your filename with "C.BIN" (for 'CPU' memory) allows autodetection of this. ROM (paged inverted) - This was for cartridges on the original release of the "379" switching PCB. It is called 'inverted' because when you select the 'first' page by bank, you get the last 8k of the EPROM. Because of the chip in use, I selected "9.BIN" as the filename ending for this type. This supports up to 32MB of ROM. ROM (paged non-inverted) - This is the newer style, including the FlashROM99. It is called non-inverted because when you select the 'first' page by bank, you get the first 8k of the EPROM. The '378' was one of the chips that worked this way, so I selected "8.BIN" as the filename ending for this type. This supports up to 32MB of ROM. For legacy reasons, there's another autodetected name, and that is "D.BIN". V9T9 used this for the second file of 16k cartridges such as Extended BASIC (which is really 12k, but they duplicated the common 4k block in the two banks). Internally it's a "type 9", I don't expect too many new pieces of software to use this. So how do you select which one to use? If you're the programmer, you probably have some idea what you have created. If you have just received a file and want to rename it, you can narrow it down by size. (Whether it's ROM or GROM is usually known by SOMEONE... and there's only one GROM option). If the ROM file is 8k, it's a 'C', always. There's no need to bankswitch 8k (although /either/ bankswitch type will probably also work. It never switches, so it doesn't matter what is selected). If the ROM file is larger than 8k, then it must bank by definition... but there's no external way to know for sure whether it's 8 or 9. Look for clues like 'inverted' or not in the description. FlashROM99 are always non-inverted ( 8 ), and most newer stuff is. Ultimately, you can just try it -- make sure to test if you just try, though, since the menu may come up and still not run if the header is in multiple banks. So to summarize (underscore is not mandatory but I like to separate it from the filename): GROM File: xxxxxx_G.BIN 8K ROM: xxxxxx_C.BIN Inverted: xxxxxx_9.BIN Non-Invert: xxxxxx_8.BIN The other types in the manual there are only for use in the INI file. Edited November 5, 2016 by Tursi 4 Quote Link to comment Share on other sites More sharing options...
Sinphaltimus Posted November 5, 2016 Author Share Posted November 5, 2016 ALL OF THIS ^^^^^ GOLD!Thanks for that! Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted November 6, 2016 Share Posted November 6, 2016 ... ROM (paged inverted) - This was for cartridges on the original release of the "379" switching PCB. It is called 'inverted' because when you select the 'first' page by bank, you get the last 8k of the EPROM. Because of the chip in use, I selected "9.BIN" as the filename ending for this type. This supports up to 32MB of ROM. ... I wish to offer a clarification: The Classic99 manual says ‘3’ is the signal for an inverted ROM binary (probably for the ‘3’ of ‘379’, when inverted ROM binaries were the only ones produced). I checked and, indeed, ‘9’ works, so you obviously changed Classic99 to work with both. If you posted that, I missed it or forgot it (more likely—I'm old!). Now that there are both inverted and non-inverted binaries, it is clearly better to be using ‘9’ to signal an inverted binary that works with the 74LS379 latch (inverted mode) in the same manner that ‘8’ now signals a non-inverted binary that works with the 74LS378 latch. ...lee 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted November 6, 2016 Share Posted November 6, 2016 Huh... you are correct, the code uses '3' (my own memory needs more frequent refreshes ). I don't see any case of the code actually supporting '9', though... as you note it makes sense, so perhaps it's time to retcon that and make it true. If it didn't work, the next version will. 2 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.