Willie1914 Posted October 11, 2018 Share Posted October 11, 2018 (edited) Hi everyone, I'm new to these forums (joined within the past few months), and I have a SuperSpace II cartridge which I purchased decades ago and would like to create an image usable by a TI-99/4a emulator. Can anyone direct me to a tutorial on how to do this? My SSII cart is getting up there in age and I don't know how much longer it will continue to function. Thanks in advance, Willie Edited October 11, 2018 by Willie1914 Quote Link to comment Share on other sites More sharing options...
+arcadeshopper Posted October 11, 2018 Share Posted October 11, 2018 a super space is basically just ram at the cartridge rom address. so if you write a program that is designed to run at memory address 6000 it should work in that space.. there's 8k.. basic info on the cart idea and software is here http://www.mainbyte.com/ti99/supercart/supercart.html if you are looking for development tools and instructions try the development forum https://atariage.com/forums/forum/119-ti-994a-development/ Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted October 11, 2018 Share Posted October 11, 2018 I've got an SS2 cart myself. I chatted with Tursi once about making a compatible image for Classic99 but he was disinclined to do so because there was little software written for it and it uses a slightly different approach to bank switching. Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 11, 2018 Share Posted October 11, 2018 I've got an SS2 cart myself. I chatted with Tursi once about making a compatible image for Classic99 but he was disinclined to do so because there was little software written for it and it uses a slightly different approach to bank switching. Yeah...SS2 bank-switches via the CRU. It also has 32 KiB RAM in ROM space—enough for 4 banks. ...lee Quote Link to comment Share on other sites More sharing options...
+acadiel Posted October 11, 2018 Share Posted October 11, 2018 Hi everyone, I'm new to these forums (joined within the past few months), and I have a SuperSpace II cartridge which I purchased decades ago and would like to create an image usable by a TI-99/4a emulator. Can anyone direct me to a tutorial on how to do this? My SSII cart is getting up there in age and I don't know how much longer it will continue to function. Thanks in advance, Willie So are you trying to read what's stored on the cart and save it so you can run it on a TI emulator? Quote Link to comment Share on other sites More sharing options...
Willie1914 Posted October 11, 2018 Author Share Posted October 11, 2018 Thanks for the replies everyone. Yes, I've written some assembly-code programs that take advantage of the SSII RAM configuration and would like to duplicate this functionality so that I can run my S/W via emulation. I was wondering what it would take to create a "module" that would be recognized by an emulator to let me run my S/W. Quote Link to comment Share on other sites More sharing options...
+9640News Posted October 11, 2018 Share Posted October 11, 2018 With Lee's comments of it being a 32K CRU bank switched CRU selecteable ram, unless an emulator specifically supports that type of memory, you are going to be limited to using only 8K of the 32K memory. The emulator would have to have extra code to tap the other 24K of memory. Does the device swap in 2K, 4K, 6K, or 8K chunks? I presume this is entirely n the >6000 to >7FFF memory range? Does any emulator support this capability??? If Tursi did not pursue for Classic 99, that pretty much leaves only MAME that might have that capability, and I doubt it has those features. Is there software you can run that saves all the memory presently? Does it have a file header to know where to load the individual segments? Where I am going with the questioning is that if your entire program is running in the SS2, and IF you have 32K memory, you may be able to modify any bank switching you have from CRU memory selection to copying segments from other memory areas >2000->3FFF or >A000->FFFC back to the "default" area of the 8K super cart. Granted, this is going to slow the program down, but if it is not timing critical, it may not be significant enough to be of concern. Just trying to give you some other options. Of course what I mentioned defeats the purpose of the SuperSpace cartridge as you may as well have ran the program in the normal 32K memory space to begin with. Beery Quote Link to comment Share on other sites More sharing options...
+Ksarul Posted October 11, 2018 Share Posted October 11, 2018 I think PC99 has the capability for the DBT CRU switching method built in, so there is probably one emulator that supports it. The other option is to change the code in your programs that hit the CRU switch bits and replace them with bank addresses >6000, >6002, >6004 and >6008. That's what we've done to normalize some of the DBT cartridges that used the CRU switching method in the past. Then you can put the programs into any of the newer cartridge boards and run them as ROMs, or if you needed the E/A portion, you could put your software into ROM on an UberGROM and load the 1284 with the EA GROM. This latter method would probably work fine on a FinalGROM cartridge as well. Quote Link to comment Share on other sites More sharing options...
Willie1914 Posted October 11, 2018 Author Share Posted October 11, 2018 Thanks for the reply -- my s/w (running on an actual TI-99/4A) swaps in 8k chunks. At this point I think I'll abandon trying to get it to run in an emulated environment as is, and start re-writing to employ a MiniMem cart + 32k memory expansion. A bit more work, but it seems like that is the only option open to me. Thanks again, everyone, for your replies. Best regards, Willie Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted October 11, 2018 Share Posted October 11, 2018 Unless you are actually writing to RAM in the >6000 – >7FFF address space during program execution, you should be fine converting to bank-switching via “writing” to the switching addresses @Ksarul mentioned. ...lee Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 12, 2018 Share Posted October 12, 2018 MAME implements the SuperSpace2 cartridge type. 2 Quote Link to comment Share on other sites More sharing options...
+9640News Posted October 12, 2018 Share Posted October 12, 2018 MAME implements the SuperSpace2 cartridge type. Looks like someone thought of everything! 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 12, 2018 Share Posted October 12, 2018 To create a Superspace cartridge, use this layout.xml <?xml version="1.0" encoding="utf-8"?> <romset version="1.0"> <resources> <rom id="gromdump" file="phm3055g.bin"/> <ram id="ssram" file="superspace.nv" type="persistent" store="external" length="32768" /> </resources> <configuration> <pcb type="super"> <socket id="grom_socket" uses="gromdump"/> <socket id="ram_socket" uses="ssram"/> </pcb> </configuration> </romset> The phm3055g.bin is the dump of the Editor/Assembler cartridge. The "superspace.nv" file will be automatically created, and holds the contents of the buffered 32K RAM. The superspace.rpk must contain the above layout.xml and the phm3055g.bin files. 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted October 12, 2018 Share Posted October 12, 2018 Looks like someone thought of everything! Hey, that's not nice. Classic99 supports the CRU banking too -- it's just not clear to me whether SuperSpace2 specifically uses the same one as I implemented. I implemented it for TI Workshop and it didn't work on Red Baron. I've never had any SuperSpace software to test it with. I don't recall the conversation with Adamantyr (although I'm sure it happened), but maybe it was before I added that. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 13, 2018 Share Posted October 13, 2018 Are TI Workshop and Red Baron available in rpk format? This page, mentions a pcb type="pagedcru", which rpks are using that? Is the CRU banking documented anywhere? Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted October 13, 2018 Share Posted October 13, 2018 Hey, that's not nice. Classic99 supports the CRU banking too -- it's just not clear to me whether SuperSpace2 specifically uses the same one as I implemented. I implemented it for TI Workshop and it didn't work on Red Baron. I've never had any SuperSpace software to test it with. I don't recall the conversation with Adamantyr (although I'm sure it happened), but maybe it was before I added that. My apologies, I should have elaborated a bit further on this! I believe that SS2 uses a different CRU banking system. I got the manuals so I was able to describe it. You also pointed out that the FinalGROM is already emulated, and is a far superior platform for bank-switching cartridges. Absolutely true. And finally, that while you could certainly take it on as a feature request, it would be very low priority and not likely to come for some time. Again, because I was literally the only person to ask about the cartridge specifically in recent memory. There simply wasn't enough of them made to create a large 99'er group who needed it. Quote Link to comment Share on other sites More sharing options...
Tursi Posted October 13, 2018 Share Posted October 13, 2018 Fine, everyone use MAME then. But if the manual's available, I'll take a look. How does MAME differentiate the different CRU banking schemes? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 13, 2018 Share Posted October 13, 2018 Are TI Workshop and Red Baron available in rpk format? This page, mentions a pcb type="pagedcru", which rpks are using that? Is the CRU banking documented anywhere? I should update the description in Ninerpedia, right. For now, please have a look at the comments in the source: https://github.com/mamedev/mame/blob/master/src/devices/bus/ti99/gromport/cartridges.cpp Starting at line 426 you will find the descriptions of all cartridge types. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 13, 2018 Share Posted October 13, 2018 I should update the description in Ninerpedia, right. For now, please have a look at the comments in the source: https://github.com/mamedev/mame/blob/master/src/devices/bus/ti99/gromport/cartridges.cpp Starting at line 426 you will find the descriptions of all cartridge types. Thanks. Quote Link to comment Share on other sites More sharing options...
Asmusr Posted October 13, 2018 Share Posted October 13, 2018 So SuperSpace II is switching banks by writing either >0002, >0008, >0020, or >0080 to CRU address >0800. The MAME emulation of pagedcru is extending this to 8 banks. What do other CRU switched cartridges use (TI Workshop and Red Baron have been mentioned)? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 13, 2018 Share Posted October 13, 2018 I have two versions of TI Workshop. As you see by unpacking, they are using pagedcru or paged379i. tiworkshop_cru.rpk redbaron.rpk tiworkshop.rpk 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted October 14, 2018 Share Posted October 14, 2018 I made the paged379i version of TI Workshop using Classic99 - so if that's compatible with SuperSpace, then Classic99's paging should work with other SuperSpace.... My notes suggest that Red Baron fails on Classic99 because I don't disable the ROM-based paging, and it writes to ROM space. I never got around to proving that. 1 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.