Jump to content

TI_Master

Members
  • Content Count

    2
  • Joined

  • Last visited

Everything posted by TI_Master

  1. And on the same topic, running these on a 99/4A would be a rather huge undertaking. First you would have to disassemble each game, that in itself would be quite a project. But further, you'd have to code a library to run on the 4A to replace all the console ROM code of the Tutor. I imagine a lot of the built in routines aren't needed by the cartridges, so that might not be as big a chore as it sounds, but you'd have to figure out all the routines that are needed and not needed first by the cartridges. Another issue is the CPU speed. A 9995 runs circles around the 9900 in the 99/4A (although the 9900 implementation in the 4A is quite hamstrung due to all the wait state bottlenecks created by the 16 to 8-bit bus conversion). The 9995 also has a small number of opcodes (signed multiply/divide come to mind) that don't exist on a 9900, so you'd have to make sure those opcodes are not used by carts, or if they are, you'd have to write alternative code for those. So it could certainly be done, but it would be a rather huge time investment.
  2. Couple of comments, the original version of the Geneve games did reset the 9640. I could not remember if I'd later fixed them to just return to MDOS or not, so it sounds like I may have. That, or possibly later versions of MDOS handle the method of exit I use more gracefully In a nutshell though, the Tomy OS used around 40-48K of internal ROM. The space between 32K and 48K was the location of the built in Tomy BASIC (it may also exist below the 32K mark but that's not relevant). Tomy cartridges map to >8000 and up, so when a cartridge is installed, the built in BASIC disappears. Tomy's OS includes a huge library of hardware specific routines, all called via a vector table that starts near the beginning of the ROM. Since a vector table is used, Tomy would be able to update the hardware specific routines as needed, or create future enhancements (newer hardware, etc) by extending the vector table, or recoding the software. The best thing about it all is that none of the cartridges directly touch hardware. That means that it is not necessary to modify them to run the code on the Geneve, as long as the Tomy OS is suitably patched. Tomy's OS was very obviously written by, or in conjunction with, TI. Numerous scratchpad offsets match those used in the 99/4A precisely, things like KSCAN, floating point, etc, are identical offsets. The built in BASIC uses internal tokens, that are mostly the same as those used by TI XB. If you've ever looked at the cartridges, they look designed by whoever did the 99/4A's cartridges, you can plug a 99/4A cartridge into the Tutor. It won't work of course, don't do this But the connectors and such are the same form factor. But the existence of the vector table, the compatible VDP and sound chips, and the use of the TMS9995 made moving the code to a Geneve pretty simple to do. All I had to do was load the Tomy OS/cartridge code into the Geneve on pages that replace >0000 and up, and then hand off control to the Tomy OS. The real trick, was tracing down those vector table entries, and modifying all code that was related to direct hardware access to sound, video, joysticks, and the keyboard. That was really a drop in the bucket of all that code, the vast majority of it didn't need to be touched. Note that any other controller or such that was unique to the Tomy would not currently be handled properly on the Geneve, so there might be theoretically some games out there that might not work properly. My assumption was that the Japanese version would likely use the same hardware vector table, and thus, the carts from the Pyuuta would be compatible, and it is good to see that it seems to be the case.
×
×
  • Create New...