kat71753 Posted May 11 Share Posted May 11 (edited) You still deserve credit for classic99 and I'm trying to find a way to give you proper attribution with this project. I use linux so I don't have easy access to visual basic to put a splash in front of the executable s. If I can I'd like to add the attached file as part of a splash in front of the actual carts being loaded in 'app mode'. It sure won't take anything away from the games. Most of my steam games have some type of splash or waiting before taking me into the games. Edited May 11 by kat71753 1 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 (edited) If anyone else here has Visual Basic and would like to contribute to this project. I've attached an image of what this needs. The syntax is a little off but it's pretty close. This was done in linux gambas but gambas does not compile exe's. The VB compiled executable could be renamed to the game cart's title and then classic99 left as is or renamed to Game.exe https://drive.google.com/drive/folders/1yKMdgUTU45kDoWOOkhlPL4gWD9SxLjWY?usp=drive_link An exe could be uploaded into the misc folder. If you do, please include source code. This way no one can say it contains viruses, or anything else malicious. Edited May 11 by kat71753 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 11 Author Share Posted May 11 2 hours ago, kat71753 said: [usercart0] name=D-Station_I ROM0=C|6000|8192|dstatn1C.BIN I was under the impression the the 2nd set of numbers after the | was for the file size of the cart. 8192 would be the file size of this one. Yes, but all numbers must be in hexadecimal. When you enter 8192, Classic99 reads >8192, and that's actually 33170. In hex, it would be "2000". (The "6000" is also in hexadecimal). The odds are the cart size being too large will still work, but Classic99 will complain bitterly (and might refuse to load it, I forget if it truncates too-large files or just refuses them). You can put Windows Calculator into 'scientific' mode or just use Google to convert numbers to hex 2 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 11 Author Share Posted May 11 1 hour ago, kat71753 said: You still deserve credit for classic99 and I'm trying to find a way to give you proper attribution with this project. I use linux so I don't have easy access to visual basic to put a splash in front of the executable s. If I can I'd like to add the attached file as part of a splash in front of the actual carts being loaded in 'app mode'. It sure won't take anything away from the games. Most of my steam games have some type of splash or waiting before taking me into the games. Or you could just disable the autostart - Classic99 will change the master title page to attribute Classic99 automatically 1 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 1 hour ago, Tursi said: Yes, but all numbers must be in hexadecimal. When you enter 8192, Classic99 reads >8192, and that's actually 33170. In hex, it would be "2000". (The "6000" is also in hexadecimal). The odds are the cart size being too large will still work, but Classic99 will complain bitterly (and might refuse to load it, I forget if it truncates too-large files or just refuses them). You can put Windows Calculator into 'scientific' mode or just use Google to convert numbers to hex THANK YOU! That was definitely informative. Note added!! Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 (edited) 1 hour ago, Tursi said: Or you could just disable the autostart - Classic99 will change the master title page to attribute Classic99 automatically I have Steam set for both. I have an entry for it to just load classic99 so that I can run other things than just games...and It's not quite the same feel as pressing 1 or 2 I can't argue but it takes you straight into the game you want to play...and the thing is I've setup joystick emulation so that no keyboard is needed to press 1 or 2...mapped q and p to buttons....Wish they added a p for pause to ti invaders...my all time favorite...but sadly parsec was one of the few that did get a pause. I'm sitting in a lazyboy recliner not at a desk...when I go to play a game...I stand the keyboard upright to the side and sit the mouse over on the coffee table....I hate having to reach for mouse and keyboard with a joystick in my lap...while right in the middle of a game. Edited May 11 by kat71753 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 (edited) I used classic99 for this because RetroArch doesn't offer a core for the TI994a. I'm not familiar enough with Messen or other and it seems overly complicated. I didn't mean anything by it regarding putting "Powered By Classic 99" on a cartridge. So I hope that wasn't misconstrued. I realize it's kind of opposite of that but it wouldn't feel right either stamping a logo on the TI994A Computer...Please keep in mind too that I'm using Linux so I'm already having to emulate a windows environment either with Steam or Bottles. Edited May 11 by kat71753 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 11 Share Posted May 11 On 5/8/2024 at 10:26 AM, kat71753 said: name=Killer Caterpillar rom0=C|6000|80000|killercater.bin I've tried this with every possible letter rom0=G|6000|80000|killercaterC.bin rom0=C|6000|80000|killercaterC.bin rom0=8|6000|80000|killercater8.BIN Nothing works but the game loads fine via the menu. Debug says loading file killer caterpillar 'non inverted' bank mask. I haven't managed to run my copy of Killer Caterpillar in any emulator (here attached as an RPK file from which you can unzip a 16K ROM file), so could you please post the copy that loads fine via the menu? Regarding the configurations you tried, 80000 means 512K, so this should be changed to 4000 = 16K. And if you use type 8, the start address should really be 0000 instead of 6000 (but maybe Classic99 ignores this?). Killer Caterpillar is a ROM (not a GROM), but I don't know if it's inverted or not since it doesn't work either way for me. Killer.rpk Quote Link to comment Share on other sites More sharing options...
JasonACT Posted May 11 Share Posted May 11 (edited) 43 minutes ago, Asmusr said: but I don't know if it's inverted or not since it doesn't work either way for me. It is inverted, when I rename the .bin to have '9' on the end of the filename part, it works in my PPEB device. If I swap the 8KB sections around and rename it again to end in '8' it loads in both my device and Classic99 (which it didn't before, either way). Seems I somehow got the '9' loader right. But I don't parse the .rpk XML, I only look for 9's, 8's, G's, D's and C's. Killerb8.zip Edited May 11 by JasonACT 1 2 Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 11 Share Posted May 11 (edited) 1 hour ago, JasonACT said: It is inverted, when I rename the .bin to have '9' on the end of the filename part, it works in my PPEB device. If I swap the 8KB sections around and rename it again to end in '8' it loads in both my device and Classic99 (which it didn't before, either way). You're right but isn't that rather strange? I thought that changing from 8 to 9 would have exactly the same effect as swapping the banks. Edited May 11 by Asmusr Quote Link to comment Share on other sites More sharing options...
JasonACT Posted May 11 Share Posted May 11 27 minutes ago, Asmusr said: You're right but isn't that rather strange? I thought that changing from 8 to 9 would have exactly the same effect as swapping the banks. Well, maybe, or maybe not. My loader, when seeing '9', simply changes the address for loading each bank - so it ends up looking like an '8'... With all the same write addresses to switch banks as it normally would for an '8', and with it starting in the "1st bank". I saw this file has a header in each bank, but maybe it wasn't coded properly to activate the right bank in the 2nd header? I didn't really look close enough to be sure though. 2 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted May 11 Share Posted May 11 17 hours ago, kat71753 said: [usercart0] name=D-Station_I ROM0=C|6000|8192|dstatn1C.BIN I was under the impression the the 2nd set of numbers after the | was for the file size of the cart. 8192 would be the file size of this one. If that number is hexadecimal, then yes, but it looks like it is decimal. >>>Oops!—already answered. Sorry...I missed the next page of posts. @OLD CS1, please delete.<<< From OLD CS1: Nope. Everyone is being helpful, including you. ...lee Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 11 Share Posted May 11 2 hours ago, JasonACT said: Well, maybe, or maybe not. My loader, when seeing '9', simply changes the address for loading each bank - so it ends up looking like an '8'... With all the same write addresses to switch banks as it normally would for an '8', and with it starting in the "1st bank". I saw this file has a header in each bank, but maybe it wasn't coded properly to activate the right bank in the 2nd header? I didn't really look close enough to be sure though. Right. If it's loaded as inverted it must start up in the 2nd bank. 2 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 (edited) 5 hours ago, Asmusr said: I haven't managed to run my copy of Killer Caterpillar in any emulator (here attached as an RPK file from which you can unzip a 16K ROM file), so could you please post the copy that loads fine via the menu? Regarding the configurations you tried, 80000 means 512K, so this should be changed to 4000 = 16K. And if you use type 8, the start address should really be 0000 instead of 6000 (but maybe Classic99 ignores this?). Killer Caterpillar is a ROM (not a GROM), but I don't know if it's inverted or not since it doesn't work either way for me. Killer.rpk 7.81 kB · 2 downloads This was pulled from the FinalGrom99 zip file I believe. It will work fine via classic99 menu load but not using app mode. Debugger says non inverted. killercater.bin Edited May 11 by kat71753 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 11 Share Posted May 11 (edited) Renamed to 8.BIN and changed to 0000 ...beeep [usercart0] name=Killer Caterpillar rom0=8|0000|4000|killercater8.BIN Yeah I extracted that file killer.rpk and Killer.bin is borked. It just beeps...likely a bad dump. Edited May 11 by kat71753 Quote Link to comment Share on other sites More sharing options...
+acadiel Posted May 11 Share Posted May 11 2 hours ago, kat71753 said: Renamed to 8.BIN and changed to 0000 ...beeep [usercart0] name=Killer Caterpillar rom0=8|0000|4000|killercater8.BIN Yeah I extracted that file killer.rpk and Killer.bin is borked. It just beeps...likely a bad dump. Nope, Killer Caterpiller is a dump of my Sidecar cartridge and the dump is correct. I believe it and Arcturus were at the DSR ROM address space of >4000 too. It’s not a regular cartridge. Edit: This was the convo I had with @Tursi 15 years ago about the bank structure. Note this uses the entire 8K of DSR plus some of upper 32K. All of you are chasing the wrong memory addresses 🙂 3 1 Quote Link to comment Share on other sites More sharing options...
Tursi Posted May 12 Author Share Posted May 12 (edited) As always, "Read the debug log™". I should register that as the Classic99 trademark. Quote but maybe Classic99 ignores this? Those numbers are the /authority/ in the INI file. If it ignored them, it wouldn't be possible to load the ROM because it wouldn't know what to do with it. (The exception being type '*', which is the same as drag and drop). That said, you're right that all bank switched types (so 8 and 9) load into an /eprom/ space, not CPU memory space, so you want to start them at 0000 unless you have a reason not to. Paging would be way off in that case. Quote I thought that changing from 8 to 9 would have exactly the same effect as swapping the banks. Yep. Seems a red herring. Quote My loader, when seeing '9', simply changes the address for loading each bank - so it ends up looking like an '8' Exactly what Classic99 does (but it might be the other way around, since I implemented inverted first). Quote If it's loaded as inverted it must start up in the 2nd bank. Classic99 looks for a bank to start in these days. That might be causing an issue if the cart has an assumption, but generally any bank with a header is a safe bet. Quote Debugger says non inverted. This is not detected. It's loading non-inverted because it believes you have told it to. In this case it's because it can't recognize 'r' as a bin type, so it falls back on non-inverted. killercater.bin does run - but are the background graphics supposed to be all blocky like that? They look corrupt. So getting it working. After drag and drop, Classic99 reports: [34204] Loading file (D:\new\killercater.bin) from disk: Type 8, Bank 0, Address 0x0000, Length 0x4000 [34204] Loaded 16384 bytes, non-inverted, bank mask 0x1 [34204] Found ROM header in page 0, setting bank. NOT REALISTIC. Everything you need for the INI file is right there in that first line: name=Killer Caterpillar rom0=8|0000|4000|d:\new\killercater.bin Type 8, address 0000, length 4000 (and the filename) With that, it works fine from the menu. Was also able to make it work from App mode. (That is kind of a fun use, now that you make me try it ). Quote Note this uses the entire 8K of DSR plus some of upper 32K. I vaguely remember that! Someone must have done a conversion at some point, cause this definitely runs as a non-inverted cart. Edited May 12 by Tursi Quote Link to comment Share on other sites More sharing options...
Asmusr Posted May 12 Share Posted May 12 18 hours ago, Asmusr said: Right. If it's loaded as inverted it must start up in the 2nd bank. Just to explain a bit more, because it puzzled me for a while: The cartridge file I posted has the exact same header and loader code in both banks, but the code doesn't start by setting the bank (it does a strange MOV R0,@>1770 instead), so if bank 0 happens to be selected it will copy the same game code twice to the >A000 area and will crash. This version must be loaded as inverted and start up in bank 1. The version that JasonACT posted where the banks are swapped, on the other hand, depends on starting in bank 0 and it must be loaded as non-inverted. 3 Quote Link to comment Share on other sites More sharing options...
JasonACT Posted May 12 Share Posted May 12 40 minutes ago, Asmusr said: it does a strange MOV R0,@>1770 instead Should have used @>6000 Yes, I looked too. I'd call it a small bug. Technically though, the emulators (I tried a couple) are setting the wrong initial bank for inverted cartridge files being loaded. I have no real opinion on that being a bug. Quote Link to comment Share on other sites More sharing options...
+acadiel Posted May 12 Share Posted May 12 I should just desolder the chips and dump the raw roms and put them here again and for carts in DSR and mem expansion space 1 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 13 Share Posted May 13 On 5/11/2024 at 8:34 PM, Tursi said: name=Killer Caterpillar rom0=8|0000|4000|d:\new\killercater.bin This did not work for me. The bin file must be intact or it wouldn't load by menu...but this just beeeeps in app mode. Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 13 Share Posted May 13 [audio] max_volume=80 samplerate=22050 backgroundNoise=0 continuousReader=0 [AppMode] EnableAppMode=1 AppName=Killer Caterpillar SkipTitle=1 AutoStartCart=2 [Disk0] Type=0 [Disk1] Type=1 Path=.\DSK1\ FIAD_WriteV9T9=0 FIAD_ReadTIFILES=1 FIAD_ReadV9T9=1 FIAD_WriteDV80AsText=0 FIAD_WriteAllDVAsText=0 FIAD_WriteDF80AsText=0 FIAD_WriteAllDFAsText=0 FIAD_ReadTextAsDV=1 FIAD_ReadTextAsDF=0 FIAD_ReadTextWithoutExt=0 FIAD_ReadImgAsTIAP=1 FIAD_AllowNoHeaderAsDF128=0 FIAD_EnableLongFilenames=0 IMAGE_UseV9T9DSSD=0 DISK_AutoMapDSK1=0 [Disk2] Type=1 Path=.\DSK2\ FIAD_WriteV9T9=0 FIAD_ReadTIFILES=1 FIAD_ReadV9T9=1 FIAD_WriteDV80AsText=0 FIAD_WriteAllDVAsText=0 FIAD_WriteDF80AsText=0 FIAD_WriteAllDFAsText=0 FIAD_ReadTextAsDV=1 FIAD_ReadTextAsDF=0 FIAD_ReadTextWithoutExt=0 FIAD_ReadImgAsTIAP=1 FIAD_AllowNoHeaderAsDF128=0 FIAD_EnableLongFilenames=0 IMAGE_UseV9T9DSSD=0 DISK_AutoMapDSK1=0 [Disk3] Type=1 Path=.\DSK3\ FIAD_WriteV9T9=0 FIAD_ReadTIFILES=1 FIAD_ReadV9T9=1 FIAD_WriteDV80AsText=0 FIAD_WriteAllDVAsText=0 FIAD_WriteDF80AsText=0 FIAD_WriteAllDFAsText=0 FIAD_ReadTextAsDV=1 FIAD_ReadTextAsDF=0 FIAD_ReadTextWithoutExt=0 FIAD_ReadImgAsTIAP=1 FIAD_AllowNoHeaderAsDF128=0 FIAD_EnableLongFilenames=0 IMAGE_UseV9T9DSSD=0 DISK_AutoMapDSK1=0 [Disk4] Type=0 [Disk5] Type=0 [Disk6] Type=0 [Disk7] Type=0 [Disk8] Type=0 [Disk9] Type=0 [CF7] BIOS= Disk=.\cf7Disk.img Size=134217728 [emulation] AVIFilename=C:\Classic99.AVI throttlemode=0 fast16bitram=0 maxcpf=50000 overdrive=50 enableSpeedKeys=0 enableEscape=1 pauseinactive=0 ctrlaltreset=0 invertcaps=1 speechenabled=1 system=1 slowdown_keyboard=1 ps2keyboard=1 sams_enabled=1 sams_size=3 enableAltF4=1 enableF10Menu=1 enableINIWrite=1 bankedConsoleGROMs=1 [joysticks] active=1 joy1mode=0 joy1xaxis=0 joy1yaxis=1 joy1btns=-1 joy1minX=16384 joy1minY=16384 joy1maxX=49152 joy1maxY=49152 joy2mode=1 joy2xaxis=0 joy2yaxis=1 joy2btns=-1 joy2minX=16384 joy2minY=16384 joy2maxX=49152 joy2maxY=49152 [roms] cartgroup=2 cartidx=0 [video] FilterMode=2 frameskip=0 heatmapfadespeed=25 hzRate=60 MaintainAspect=1 EnableF18A=1 Enable80Col=1 Enable128k=0 InterleaveGPU=1 StretchMode=2 Flicker=1 ScreenScale=-1 ScreenX=552 ScreenY=459 LockFullScreen=0 topX=844 topY=460 [debug] ScrambleRam=0 CorruptDSKRAM=0 enableDebugOpcodes=0 [tvfilter] hue=100 saturation=100 contrast=100 brightness=100 sharpness=100 scanlines=1 [TIPISim] URI1= URI2= URI3= TipiDirSort=FIRST TipiAuto=off TipiTz=Emu/Classic99 TipiSSID= TipiPSK= TipiName=TIPISim [LastDiskMRU] MRU1= MRU2= MRU3= MRU4= MRU5= MRU6= MRU7= MRU8= MRU9= MRU10= [LastPathMRU] MRU1= MRU2= MRU3= MRU4= MRU5= MRU6= MRU7= MRU8= MRU9= MRU10= [LastCartMRU] MRU1= MRU2= MRU3= MRU4= MRU5= MRU6= MRU7= MRU8= MRU9= MRU10= [usercart0] name=Killer Caterpillar rom0=8|0000|4000|killercater.bin Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 13 Share Posted May 13 (edited) changed that "bankedConsoleGROMs=0" and the path to the bin is correct...it's in the root of the folder. same as all working games Edited May 13 by kat71753 Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 13 Share Posted May 13 On 5/11/2024 at 8:34 PM, Tursi said: So getting it working. After drag and drop, Classic99 reports: [34204] Loading file (D:\new\killercater.bin) from disk: Type 8, Bank 0, Address 0x0000, Length 0x4000 [34204] Loaded 16384 bytes, non-inverted, bank mask 0x1 [34204] Found ROM header in page 0, setting bank. NOT REALISTIC. Everything you need for the INI file is right there in that first line: I don't know if it's because I'm emulating a window's environment in linux or what but on mine I can't scroll in the left pane nor is it resizable. Quote Link to comment Share on other sites More sharing options...
kat71753 Posted May 13 Share Posted May 13 (edited) Yeah it's clipping info off...I've never seen that "Type 8" in the debugger on carts that I know for sure are. Am I missing something here regarding AMS mode 2? (There is no mention of AMS mode in the pdf. Is this a reference to sams?) I just did a drag n drop of the bin. 2xxxxx ...ain't the right line for what I was doing just saw the 16384 which is 4000 in hex. killercater.bin Edited May 13 by kat71753 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.