TI-994a How-To
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
The way the sectors are laid out on the image is irrelevant to the speed it gets read. It's up to the hardware/emulator/core on how to retrieve that data from the image.
The speed that Mister reads the data/sector/info from the SD Card is pretty fast. Faster than the core can actually read it.
One of the main goals of the Mister project is to try to get the systems as close to cycle perfect as possible. Therefore the Floppy Drive controller and the Floppy Drive portions of the core are written to perform as close to the real thing as possible.
The Floppy Drive Controller I used in this core is the same one used in the Mist core, which is the WD1771. It's also used in the Atari ST core. It was written without interleave in mind (flat 1-X, TI is 0-8). When the "virtual" drive told the Controller that the sector it's looking for is under the virtual head, the controller will start reading/writing the data to and from the SD card/RAM as needed.
With that said, since I had a huge problem trying to get everything working (I'll fix Old Caves and Cutthroat but will brake XB's ability to read the directory, fix that and it will break Formatting only from Disk Manager but not from Disk Utilities), I tweaked a few things with timing and changed the Floppy Drive to interleave the way the TI Controller actually does it (0,7,5,3,1,8,6,4,2) and that kind of helped it a bit. I don't have a real TI99/a with drives to compare it to and Classic99 and Mame differ a little between them on my machine so I can't rely on them as a true comparison.
So attached is the latest beta, which, as far as I know, should work with most of the software we had issues with lately (Old Caves, Cutthroats, Deadline...).
Let me know what I may have broken this time.
As for the Turbo option. I'm still looking into it. It seems to work on a few Groms/Carts that I tried (ex Popeye) but Extended Basic is not happy...at all.
The speed that Mister reads the data/sector/info from the SD Card is pretty fast. Faster than the core can actually read it.
One of the main goals of the Mister project is to try to get the systems as close to cycle perfect as possible. Therefore the Floppy Drive controller and the Floppy Drive portions of the core are written to perform as close to the real thing as possible.
The Floppy Drive Controller I used in this core is the same one used in the Mist core, which is the WD1771. It's also used in the Atari ST core. It was written without interleave in mind (flat 1-X, TI is 0-8). When the "virtual" drive told the Controller that the sector it's looking for is under the virtual head, the controller will start reading/writing the data to and from the SD card/RAM as needed.
With that said, since I had a huge problem trying to get everything working (I'll fix Old Caves and Cutthroat but will brake XB's ability to read the directory, fix that and it will break Formatting only from Disk Manager but not from Disk Utilities), I tweaked a few things with timing and changed the Floppy Drive to interleave the way the TI Controller actually does it (0,7,5,3,1,8,6,4,2) and that kind of helped it a bit. I don't have a real TI99/a with drives to compare it to and Classic99 and Mame differ a little between them on my machine so I can't rely on them as a true comparison.
So attached is the latest beta, which, as far as I know, should work with most of the software we had issues with lately (Old Caves, Cutthroats, Deadline...).
Let me know what I may have broken this time.
As for the Turbo option. I'm still looking into it. It seems to work on a few Groms/Carts that I tried (ex Popeye) but Extended Basic is not happy...at all.
- Attachments
-
- Ti994a_20210624.zip
- (1.06 MiB) Downloaded 231 times
-
- Top Contributor
- Posts: 1323
- Joined: Thu Jun 11, 2020 2:31 am
- Has thanked: 15 times
- Been thanked: 213 times
Re: TI-994a How-To
Thanks for the incredibly detailed explanation and effort, sincerely! I agree, Classic99 at least is WAY off how a real drive works. MAME is closer-ish.
Unfortunately a lot of my time was invested in command modules thus far, so I'll have to switch my guns to disks and see what I can scare out of trees.
Unfortunately a lot of my time was invested in command modules thus far, so I'll have to switch my guns to disks and see what I can scare out of trees.
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 497 times
- Been thanked: 467 times
Re: TI-994a How-To
I said I'll post some pics, but got distracted by ao486 in the meantime....
This is the latest core in NTSC. The dark area between the red line and TV's bezel is ok, it's not the actual display. The dark part between the red line and TI image is what's "missing". The horizontal fill is fine.
Below is the NTSC image from older version of the core (21-06-07). The vertical fill was ok there. I don't have a real TI, but I think it originally filled the whole screen. In this thread you can see some photos of real TIs in action: https://atariage.com/forums/topic/32115 ... o-problem/
And this is PAL image from the latest core. Not sure if there is anything wrong with it or not, since I can't compare it to anything - the old core's PAL filled the screen completely, which wasn't probably right anyway. So this is just for the record.
This is the latest core in NTSC. The dark area between the red line and TV's bezel is ok, it's not the actual display. The dark part between the red line and TI image is what's "missing". The horizontal fill is fine.
Below is the NTSC image from older version of the core (21-06-07). The vertical fill was ok there. I don't have a real TI, but I think it originally filled the whole screen. In this thread you can see some photos of real TIs in action: https://atariage.com/forums/topic/32115 ... o-problem/
And this is PAL image from the latest core. Not sure if there is anything wrong with it or not, since I can't compare it to anything - the old core's PAL filled the screen completely, which wasn't probably right anyway. So this is just for the record.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Posts: 210
- Joined: Thu Feb 04, 2021 11:42 pm
- Has thanked: 18 times
- Been thanked: 46 times
Re: TI-994a How-To
So, how close are we now to packing-up our real Ti99/4a machines, and sticking to this latest core ?
I have a Ti99/4a, Nanopeb, Flashrom99, FinalGrom99, and a PHP2700 Tape Deck. So, I can run pretty-much everything on real hardware. I understand there isn't any tape support, yet, but glad to see disk support finally added.
Speaking of disk support, Flandango - don't suppose you would think of looking at other cores that lack disk support ? BBC Micro/Master core, Apple II core, etc...
I have a Ti99/4a, Nanopeb, Flashrom99, FinalGrom99, and a PHP2700 Tape Deck. So, I can run pretty-much everything on real hardware. I understand there isn't any tape support, yet, but glad to see disk support finally added.
Speaking of disk support, Flandango - don't suppose you would think of looking at other cores that lack disk support ? BBC Micro/Master core, Apple II core, etc...
Re: TI-994a How-To
The core status is very good.MiSTer_Kirk wrote: ↑Sat Jun 26, 2021 7:18 pm So, how close are we now to packing-up our real Ti99/4a machines, and sticking to this latest core ?
I have a Ti99/4a, Nanopeb, Flashrom99, FinalGrom99, and a PHP2700 Tape Deck. So, I can run pretty-much everything on real hardware. I understand there isn't any tape support, yet, but glad to see disk support finally added.
Implemented stuff:
- Console;
- Joysticks
- 32K Memory Expansion;
- Speech Synthesizer (it uses MAME engine, so the best you can have for that chip. Not 100% accurate, but very good);
- TI Disk Controller with 2 drives (DSSD and SSSD formats).
Although there is a PAL/NTSC switch the console is running in PAL. The Turbo modo is broken in this update (it works in the last official release).
Flandango is looking at these two problems. Once fixed he should really request to have his update posted on official repository.
Compatibility:
- SSS carts. Most of the carts are working without any problem (all the classic games work, there are just few applications that are not working).
The support for large carts (256K/512K) is missing, so some recent (...and nice) homebrew are not working (e.g. Flying Shark port).
Note that some MBX games (e.g. Baseball cannot run also on real TI without MBX, while others like Big Foot can run without any problem).
- TI BASIC/XB games: you can run now all of them using the disk drive support added by Flandango;
- Assembler games on disk: you can run now all of them using the disk drive support added by Flandango;
- The Mini Memory seems not to be 100% working (internal 4K RAM missing ?), but I've not tested it in-depth;
Regarding the not implemented (yet?) hardware:
- Tape. All the XB games can be loaded from disk (use CALL FILES(1) for some that requires more VDP memory). The TI BASIC games that runs only on bare console (and cannot be loaded using disk and the CALL FILES(1) command) can be easily converted in SSS cart. You cannot run only some Mini Memory games that is not possible to save on disk (very few titles). So, from my point of view is a "nice to have", but not essential feature.
- SAMS memory expansion. It would be nice to have it to be able to run some games that are using it. It should not too much complex to add (maybe checking the code used in MAME);
- F18A VDP chip replacement. This will be a great addition to run some recent homebrew. For example the Zaxxon port that is currently under development (https://www.youtube.com/watch?v=w1MSsgfxQ2E).
Other hardware: P-System, Gram Kracker, additional disk controllers. All "nice to have", but not essential.
-
- Posts: 210
- Joined: Thu Feb 04, 2021 11:42 pm
- Has thanked: 18 times
- Been thanked: 46 times
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
Tmop, I am having a hard time getting the official released core to work with Turbo turned on in any version of Extended Basic. Basic works fine, along with a few carts that I tried. Can you verify for me that the original core worked with Extended Basic and tell me which version/rom/distro you used so I can test against it?
Also on a note for the Pal/NTSC issue, the core, as it stands right now runs a tad bit faster than normal so the pal test will always come up with slightly higher number(s) when run and therefore always show as Pal. For this I will have to look at slowing down the cpu itself by a little bit.
Re: TI-994a How-To
Flandango wrote: ↑Sun Jun 27, 2021 9:46 pmTmop, I am having a hard time getting the official released core to work with Turbo turned on in any version of Extended Basic. Basic works fine, along with a few carts that I tried. Can you verify for me that the original core worked with Extended Basic and tell me which version/rom/distro you used so I can test against it?
Also on a note for the Pal/NTSC issue, the core, as it stands right now runs a tad bit faster than normal so the pal test will always come up with slightly higher number(s) when run and therefore always show as Pal. For this I will have to look at slowing down the cpu itself by a little bit.
Flandango, I've checked with latest official build:
- TI BASIC works correctly with and without TURBO mode;
- TI Extended BASIC does not work correctly with TURBO mode ON;
In your version of the core TI BASIC and TI Extended BASIC do not work correctly with TURBO mode ON. So, the broken part with your build is only on TI BASIC, the XB was already broken.
The TURBO switch could be related to the original FPGA project, that is using the TMS99105 CPU instead of the TM9900. I remember of a patched "994agrom-ep.bin" file used at beginning, but I think it was only for managing the keyboard in the correct way. Here is the old thread on Atari-Forum, that maybe could be of some help to reconstruct the history of the core: https://www.atari-forum.com/viewtopic.php?t=33684
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
So, I have been working on getting 512k+ SAMS working on the core. Unfortunatly there aren't enough resources to go above 64k, so I had to use SDRAM.
It does have one bug that annoys me because I can't figure out what's wrong, it's with the Disk Manager 3.0 and initializing Disks (DSSD in my case). It will format and after verification it complains about no disk or drive error...The disk is completely formatted though. Disk Utilities had no problem formatting and finishing without error.
So if you folks have at least the 32Meg SDRAM board, and want to give it a try, please let me know how it goes.
And for the experts that have the ability/know-how to debug the actual DM3.0 code and see what's the root cause, I would greatly appreciate it.
This should provide 1Meg of SAMS and I can get the Megademo to work.
Edit: Uploaded the correct file this time.
It does have one bug that annoys me because I can't figure out what's wrong, it's with the Disk Manager 3.0 and initializing Disks (DSSD in my case). It will format and after verification it complains about no disk or drive error...The disk is completely formatted though. Disk Utilities had no problem formatting and finishing without error.
So if you folks have at least the 32Meg SDRAM board, and want to give it a try, please let me know how it goes.
And for the experts that have the ability/know-how to debug the actual DM3.0 code and see what's the root cause, I would greatly appreciate it.
This should provide 1Meg of SAMS and I can get the Megademo to work.
Edit: Uploaded the correct file this time.
- Attachments
-
- Ti994a_20210711-SDRAM-REQUIRED.zip
- (864.03 KiB) Downloaded 261 times
Re: TI-994a How-To
Hi Flandango,Flandango wrote: ↑Sun Jul 11, 2021 2:56 am So, I have been working on getting 512k+ SAMS working on the core. Unfortunatly there aren't enough resources to go above 64k, so I had to use SDRAM.
It does have one bug that annoys me because I can't figure out what's wrong, it's with the Disk Manager 3.0 and initializing Disks (DSSD in my case). It will format and after verification it complains about no disk or drive error...The disk is completely formatted though. Disk Utilities had no problem formatting and finishing without error.
So if you folks have at least the 32Meg SDRAM board, and want to give it a try, please let me know how it goes.
And for the experts that have the ability/know-how to debug the actual DM3.0 code and see what's the root cause, I would greatly appreciate it.
This should provide 1Meg of SAMS and I can get the Megademo to work.
Edit: Uploaded the correct file this time.
sorry, just able to test only today your last build. The SAMS seems to work fine. I've run the SAMS memory test V4.0 and it hasn't reported any issue. It's reportin a 1MB card.
I've run the "Dungeons of Asgard" game (it needs 128KB memory) and it works correctly. This game is in cart format (I'll add it to the next MegaPack).
Not able to run TI-Nopoly, but I need to check the correct procedure to load on MAME.
In attachment a list of supported sw for SAMS (some are avilable on whtech ftp site) if someone else wants to help with the tests.
Is it possible to add a menu option to select the memory options (e.g. none, 32K, SAMS 1MB, etc.)?
Ah, the Disk Manager 3.0 is a beta. The V2.0 is the official version. Also the Disk Manager 1000 can be used as a reliable tool for disk tests.
- Attachments
-
- 20210718_173034.jpg (637.71 KiB) Viewed 15100 times
-
- Posts: 20
- Joined: Mon Jul 19, 2021 2:41 pm
Re: TI-994a How-To
Not working on my mister with 32meg sram. I just get a blank screen I can load roms etc. But nothing once I select them. Works fine with previous versions @Flandango
Re: TI-994a How-To
This is the list of supported sw for SAMS that I haven't included in my previous post...
- Attachments
-
- TI-99-4A-HW-SAMS-AMS-HAMS-v1.07.pdf
- (160.39 KiB) Downloaded 235 times
-
- Posts: 20
- Joined: Mon Jul 19, 2021 2:41 pm
Re: TI-994a How-To
I purchased a larger sram, same issue.. blank scren. i can go into the menu and try and load a rom/grom but never get the title screen..arcadeshopper wrote: ↑Mon Jul 19, 2021 2:43 pm Not working on my mister with 32meg sram. I just get a blank screen I can load roms etc. But nothing once I select them. Works fine with previous versions @Flandango
Re: TI-994a How-To
arcadeshopper wrote: ↑Wed Jul 21, 2021 11:29 pmI purchased a larger sram, same issue.. blank scren. i can go into the menu and try and load a rom/grom but never get the title screen..arcadeshopper wrote: ↑Mon Jul 19, 2021 2:43 pm Not working on my mister with 32meg sram. I just get a blank screen I can load roms etc. But nothing once I select them. Works fine with previous versions @Flandango
My MiSTer has a 32MB RAM with MiSTer core "MiSTer_20210605". If I run this new TI99 core the black screen is showed at the beginning, but if I select the ti99.bin BIOS it then boots correctly.
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
Ok, been playing around a little more and made some changes....
Added the ability to disable SAMS memory.
Added a couple more Cartridge Types:
- Paged378/UberGrom (MegaDemo/Don't Mess with Texas)
- Paged379 (TI-Workshop)
- MiniMem (experimental)
To load cartridges that are larger than 64k, up to 512k, after loading your full system rom (if needed), use the Load Mega Cart option.
In case you didn't know, the MegaDemo cart (512k) can be loaded without a system rom straight from the Mega Cart menu option.
The Cartridge Type names and some menu items are...rough...so if anybody has any suggestions for better names other than Paged379....please let me know.
To test/use MiniMem cart, select MiniMem as Cart Type, this enabled the Mini Mem menu with three options.
- NVRAM File *.dat to load a 4k file with extension .dat that will store the NVRAM the Mini Mem uses.
- Load to load the contents of the file into memory
- Save to...well save the contents of memory to the file.
Currently there is no data validation on either the file or the memory contents so save/load at your own risk.
You can load from one file and save to another, just change/mount a different *.dat file.
Since I never used a mini-mem cart before, I don't know if implementation is correct. I know it would have been better to automatically load/save the NVRAM but it's a bit more complicated, at least for me at the moment plus I would hate to ruin somebody's nvram content when autosave was performed at the wrong time.
I've included a blank 4k file named NVRAM.dat in the zip file to get you started.
And I double checked the attachment...it's an rbf and not an sof...
Added the ability to disable SAMS memory.
Added a couple more Cartridge Types:
- Paged378/UberGrom (MegaDemo/Don't Mess with Texas)
- Paged379 (TI-Workshop)
- MiniMem (experimental)
To load cartridges that are larger than 64k, up to 512k, after loading your full system rom (if needed), use the Load Mega Cart option.
In case you didn't know, the MegaDemo cart (512k) can be loaded without a system rom straight from the Mega Cart menu option.
The Cartridge Type names and some menu items are...rough...so if anybody has any suggestions for better names other than Paged379....please let me know.
To test/use MiniMem cart, select MiniMem as Cart Type, this enabled the Mini Mem menu with three options.
- NVRAM File *.dat to load a 4k file with extension .dat that will store the NVRAM the Mini Mem uses.
- Load to load the contents of the file into memory
- Save to...well save the contents of memory to the file.
Currently there is no data validation on either the file or the memory contents so save/load at your own risk.
You can load from one file and save to another, just change/mount a different *.dat file.
Since I never used a mini-mem cart before, I don't know if implementation is correct. I know it would have been better to automatically load/save the NVRAM but it's a bit more complicated, at least for me at the moment plus I would hate to ruin somebody's nvram content when autosave was performed at the wrong time.
I've included a blank 4k file named NVRAM.dat in the zip file to get you started.
And I double checked the attachment...it's an rbf and not an sof...
- Attachments
-
- Ti994a_20210730-SDRAM.zip
- (871.66 KiB) Downloaded 253 times
- tontonkaloun
- Posts: 354
- Joined: Sun May 24, 2020 7:38 pm
- Has thanked: 154 times
- Been thanked: 52 times
Re: TI-994a How-To
Hello,tmop wrote: ↑Thu Jul 22, 2021 6:07 amarcadeshopper wrote: ↑Wed Jul 21, 2021 11:29 pmI purchased a larger sram, same issue.. blank scren. i can go into the menu and try and load a rom/grom but never get the title screen..arcadeshopper wrote: ↑Mon Jul 19, 2021 2:43 pm Not working on my mister with 32meg sram. I just get a blank screen I can load roms etc. But nothing once I select them. Works fine with previous versions @Flandango
My MiSTer has a 32MB RAM with MiSTer core "MiSTer_20210605". If I run this new TI99 core the black screen is showed at the beginning, but if I select the ti99.bin BIOS it then boots correctly.
You're right, black screen! the only way to boot properly is to manually load the bios ti99.bin
Re: TI-994a How-To
Did you try to rename ti99.bin into boot.rom ?
Had just the same problem and now it works with my mister.
Had just the same problem and now it works with my mister.
- tontonkaloun
- Posts: 354
- Joined: Sun May 24, 2020 7:38 pm
- Has thanked: 154 times
- Been thanked: 52 times
Re: TI-994a How-To
You´re right. I played a litle with other cores and tried then ti99 again and the screen keeps black.
if ti99.bin is in memory then its possible to load the ti99 core again without manual loading the bios.
if ti99.bin is in memory then its possible to load the ti99 core again without manual loading the bios.
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
If you want the core to autoload a particular rom, then yes, rename it as boot.rom, otherwise you will get a black screen until you load a rom via the OSD.
If you are trying to use the SDRAM versions of the core (ones I have labeled the package with SDRAM) and you don't have at least the 32Meg SDRAM module, you will only get a black screen because you won't be able to load roms in.
I have been looking into utilizing the DDR ram that is on the Mister for those who don't have the SDRAM module, but it is too slow and the TI994/a is very picky about timing, especially for Floppy Drive operations, and so far had little success finding the right timings to keep everything happy.
If you are trying to use the SDRAM versions of the core (ones I have labeled the package with SDRAM) and you don't have at least the 32Meg SDRAM module, you will only get a black screen because you won't be able to load roms in.
I have been looking into utilizing the DDR ram that is on the Mister for those who don't have the SDRAM module, but it is too slow and the TI994/a is very picky about timing, especially for Floppy Drive operations, and so far had little success finding the right timings to keep everything happy.
Re: TI-994a How-To
My Mister has a 32 MB SDRAM Module. The SDRAM TI99 Core starts if I load the TI99 Rom via OSD. If I load the ti99 rom before andI reload the core again it starts automaticly.
-
- Top Contributor
- Posts: 468
- Joined: Sun May 24, 2020 7:17 pm
- Has thanked: 35 times
- Been thanked: 99 times
- tontonkaloun
- Posts: 354
- Joined: Sun May 24, 2020 7:38 pm
- Has thanked: 154 times
- Been thanked: 52 times
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
So if I understand it correctly... Currently with the latest core that I posted, if you load a rom, then start another core, or reload this core, it runs the last rom you used in the prior session?
Or are you saying that it is not loading the boot.rom image that you have in the games/TI-99_4A folder?
The core will always start with a black screen until you select a rom with the first load option on the menu or if you have a rom named boot.rom in your games folder.
Or are you saying that it is not loading the boot.rom image that you have in the games/TI-99_4A folder?
The core will always start with a black screen until you select a rom with the first load option on the menu or if you have a rom named boot.rom in your games folder.
Re: TI-994a How-To
Ok, maybe the problem is that the boot.rom is in the TI-99_4A directory and not in the game folder. In the latest official version maybe it's searched in TI-99_4A, so this is why for some people your new core with SDRAM is starting with the blank screen.Flandango wrote: ↑Sat Jul 31, 2021 5:55 pm So if I understand it correctly... Currently with the latest core that I posted, if you load a rom, then start another core, or reload this core, it runs the last rom you used in the prior session?
Or are you saying that it is not loading the boot.rom image that you have in the games/TI-99_4A folder?
The core will always start with a black screen until you select a rom with the first load option on the menu or if you have a rom named boot.rom in your games folder.
-
- Core Developer
- Posts: 459
- Joined: Wed May 26, 2021 9:35 pm
- Has thanked: 59 times
- Been thanked: 383 times
Re: TI-994a How-To
The boot.rom should be in /media/fat/games/TI-99_4A.
The core, both the last official, and this one, don't search for the boot.rom file, it is provided by the system (Framework?) if it finds one in the core's folder under the games folder.
I have tested the last official release, my last non-sdram version and this last one, and they all load the boot.rom from the folder I mentioned above.
If that is not the case for those who are having problems, then I will need to look into it but will also need more info such as configuration settings (i.e. cart type, SAMS enabled/disabled...etc...)
Now, if you are loading a rom, either via boot.rom or manually and you get nothing but a black screen, that is a different story.