+wavemotion Posted February 28 Author Share Posted February 28 Okay... was up at 5AM rearing to go as usual on this stuff... three cups of coffee later and overdumps are working and the code is just about cleaned up. We got through the initial 100 RPK set I put together as a test suite - covering all PCB types and from various manufacturers to try and sus out any problems. All 100 RPKs report working cleanly at this time - woot! I'll expand the test suite as I want to make sure this all works as close to perfect as possible. I may expand to also support MAME .zip files which will require a little more McGuyvering to place the ROMs into memory (as GROMs are split up into 6K individual ROMs and cart ROMs more closely mirror what would be dumped from individual ROM chips on the board) - though it would require that the user supply the TI Carts XML file from MAME. Maybe that's not worth it... @Tursi - I know you've got 1001 projects cooking but if you do get to RPK support, you're free to use any part of my codebase. https://github.com/wavemotion-dave/DS994a/tree/main/arm9/source/rpk The two libraries I use are lowzip (for depacking) and yxml (for XML parsing) - both are really simple and designed to work on virtually any architecture (you provide the file read callback). Both are released under the permissive MIT license for any use imaginable. My code is, of course, equally free to borrow in part or whole. 5 Quote Link to comment Share on other sites More sharing options...
Tursi Posted February 28 Share Posted February 28 Ah, appreciate it! I will take a note on that. Thank you! 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 28 Share Posted February 28 I'm not sure whether it makes sense for you to handle MAME ZIP files. You'd have to parse the hash/ti99_cart.xml file as well (which contains the information that is kept in the layout.xml of the RPKs). 1 Quote Link to comment Share on other sites More sharing options...
+wavemotion Posted February 29 Author Share Posted February 29 Thanks, as usual, guys! Another day, another question! I was comparing the BIOS files from MAME to Classic99 and noticed that the TI Disk Controller ROM was different in the last 16 bytes which confused me briefly until I remembered that the last 16 bytes of the memory map are the registers for the TI Disk Controller. Which means that these two dumps were simply taken from two different machines at different times, I supposed. My emulator will search for BIOS by name and also CRC - but as it's not reliable to know the CRC of the Disk Controller ROM... maybe that's not practical? Is there a definitive dump of what a real TI Disk Controller ROM looks like in the last 16 bytes (I assume 0xFFFF)? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted February 29 Share Posted February 29 The 3cb8 should be the CRC value which is also what you find in the MAME dumps in ti99_fdc.zip. I don't remember how they were dumped, though. Many of the ROM contents from TI have a CRC16 value at the end. 1 Quote Link to comment Share on other sites More sharing options...
+wavemotion Posted February 29 Author Share Posted February 29 Okay... sounds like the MAME dump is the definitive one (which makes sense as the goal is to preserve and document actual HW). In practice, I suspect it doesn't really matter what the last 16 bytes are for this particular DSR ROM. Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 1 Share Posted March 1 Yeah, mine probably came from V9T9 in the mid-90s, no way to know how it was dumped. 1 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted March 1 Share Posted March 1 17 hours ago, wavemotion said: I was comparing the BIOS files from MAME to Classic99 and noticed that the TI Disk Controller ROM was different in the last 16 bytes which confused me briefly until I remembered that the last 16 bytes of the memory map are the registers for the TI Disk Controller. Which means that these two dumps were simply taken from two different machines at different times, I supposed. My emulator will search for BIOS by name and also CRC - but as it's not reliable to know the CRC of the Disk Controller ROM... maybe that's not practical? Is there a definitive dump of what a real TI Disk Controller ROM looks like in the last 16 bytes (I assume 0xFFFF)? This is what Thierry Nouspikel says: The controller card comprises a 8192 bytes (>2000) ROM that contains a power-up subroutine, four DSR for high-level file access and many subprograms for low- or mid- or high-level disk access. As usual with peripheral cards, that ROM appears at >4000-5FFF when CRU bit 0 is set to one for that card. Note that the controller's register map at >5FF0-5FFF, thus the last 16 bytes of the ROM cannot be accessed. You'll find a commented disassembly listing of the whole ROM on my download page (warning: it's written in an ugly programming style). ...lee 4 Quote Link to comment Share on other sites More sharing options...
+wavemotion Posted March 1 Author Share Posted March 1 https://github.com/wavemotion-dave/DS994a V2.0: 01-Mar-2024 by wavemotion-dave (Jadzia Edition) Support for .rpk (Rom PacKs - same as used by MAME/MESS). Fix for save/load state of games that use RAM (MBX carts, MiniMem, etc) Improved SAMS handling so that the proper amount of RAM is detected On DSi and above, DSK3 is now fully buffered and writable. Lots of small tweaks and cleanups across the board as time permitted. Refactored and reduced resources so we free up an additional 256K of valuable memory for the future! A whirlwind of activity this past week - we finished up the beta last night and it's now ready for release. Thanks to all the kind folks here to provided suggestions, some testing and most of all, guidance. If you are using my emulator, don't be shy about telling me. Knowing that our work is being used is often the only form of compensation some developers get! 9 Quote Link to comment Share on other sites More sharing options...
ti99iuc Posted March 1 Share Posted March 1 (edited) it is a cool update! if someone interested maybe could be useful this ZIP collection of stuff ready to use for Mame (with .rpk files too), disks and cartridges images. it has been done by @tmop69 some years ago. https://www.ti99iuc.it/web/_upload/image/MessMameTutorial/Files/TI99_MAME_MESS_Software_Pack_V3.1_by_TMOP.zip Edited March 1 by ti99iuc 3 Quote Link to comment Share on other sites More sharing options...
Gary from OPA Posted March 1 Share Posted March 1 @wavemotion love the work you done. I always wanted a nice portable at TI99 and last one in portable format I tried was on the PSP and it was a pain to get the infrared keyboard working and wasn't as full featured as this one. Sadly for legal reasons I can only admire your work as I can't own or use anything that has ability to run Nintendo games or needs to be hacked to run homebrew. Oh'well this nice to see it happening including you supporting the ability to load up my SOB console from update. Thinking of portable TI99 emulators is there one available for those mini Pandora type systems which have a real keyboard and foldable screen, that would be cool. Maybe a mini-pc then. hmm have to do some research. 3 Quote Link to comment Share on other sites More sharing options...
+wavemotion Posted March 4 Author Share Posted March 4 Not ready for a new release, but did check in some minor improvements this weekend. Version 2.0c is my daily build and contains improved handling for CAPS LOCK/ALPHALOCK so that it shows a small virtual LED on the actual key when the lock is engaged. I've also added speech samples to Milton Bradley's Superfly. You might say "Oh no!" but I say "OHHHHH YEEEEESSSS!" 3 2 Quote Link to comment Share on other sites More sharing options...
+wavemotion Posted March 9 Author Share Posted March 9 https://github.com/wavemotion-dave/DS994a V2.1: 09-Mar-2024 by wavemotion-dave Now using a small light on the CAPS/ALPHALOCK key to indicate if CAPS LOCK is on (cleaner look). GROM auto-increment of address will properly preserve the upper bits so we don't inadvertently select the next GROM in our system (accuracy improvement). Added partial speech samples for MB Superfly. Minor cleanups of SAMS handling and improved commenting in that driver now that I understand the hardware better. Improved TMS9900 debugger for development use. Nothing earth-shattering here - just a bit of spit and polish. 7 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.