TI-994a How-To

tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

Flandango wrote: Wed May 26, 2021 9:50 pm Sorry to butt in unannounced, but I came across a comment or two about the Ti994/a core not having the drive support that the Mist core does. So I figured what better way to learn some fpga development and get familiarized (somewhat) with Quartus then to try to add the floppy feature to the Ti994/a core.
Now I never owned the system, nor do I have a Mist to compare with but I think I got a core working with two floppy drives.
If anybody is interested in trying out, especially those who know how it's suppose to work, let me know and I can post the .rbf.
Great! Thanks very much. It'a a great new! :D I can surely help to do the tests on floppy drive support. I had a complete system with PEB in '80 and now a TI wih NanoPEB to compare if needed. Moreover, I have compiled the modules list for games/utils that runs on MiSTer, but require a disk drive to be 100% functional.

Just let me know where to download the core.

Again, many thanks for your work!
Flandango
Core Developer
Posts: 388
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 41 times
Been thanked: 328 times

Re: TI-994a How-To

Unread post by Flandango »

Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.
Attachments
Ti994a_20210526.zip
Ti994a test core with dsk image floppy support.
(1.05 MiB) Downloaded 377 times
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

I'm deeply familiar with pretty much all things floppy on the TI - and the big thing is the controller. Which one did you implement? Happy to do some in-depth testing as well.
Flandango
Core Developer
Posts: 388
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 41 times
Been thanked: 328 times

Re: TI-994a How-To

Unread post by Flandango »

I brought over the WD1772 that is used on the Mist core but had to modify it to work with the DSR floppy image format that I was able to find.
It should support single and double sided images (single density), 40 tracks per side with 9 sectors per track.
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

Flandango wrote: Thu May 27, 2021 11:49 am Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.
Many thanks. I'll do some tests in the next days and let you know.
remowilliams
Posts: 34
Joined: Sun May 24, 2020 7:13 pm
Has thanked: 20 times
Been thanked: 14 times

Re: TI-994a How-To

Unread post by remowilliams »

Flandango wrote: Thu May 27, 2021 11:49 am Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.
I've got Tunnels of Doom loaded, I've been waiting for this for sooo long on the core! :)

Also tested saving/loading game which seems to work.

BNlt9X.png
BNlt9X.png (930 Bytes) Viewed 9754 times
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

OK...anyone have a short primer on how to optimally load cartridges? Extended BASIC from MAME/MESS, for example, has 1 C, 1 D, and 4 GROMs. If I load them in order, I get nothing.
User avatar
tontonkaloun
Posts: 354
Joined: Sun May 24, 2020 7:38 pm
Has thanked: 152 times
Been thanked: 51 times

Re: TI-994a How-To

Unread post by tontonkaloun »

rhester72 wrote: Thu May 27, 2021 4:05 pm OK...anyone have a short primer on how to optimally load cartridges? Extended BASIC from MAME/MESS, for example, has 1 C, 1 D, and 4 GROMs. If I load them in order, I get nothing.
First _c.bin then _g.bin and _d.bin
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: TI-994a How-To

Unread post by akeley »

Flandango wrote: Wed May 26, 2021 9:50 pm I figured what better way to learn some fpga development and get familiarized (somewhat) with Quartus then to try to add the floppy feature to the Ti994/a core.
Many thanks for adding this much-needed feature. In case you'd like to continue learning, we have a similar problem over at the BBC Micro camp ;)
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

tontonkaloun wrote: Thu May 27, 2021 4:30 pm
rhester72 wrote: Thu May 27, 2021 4:05 pm OK...anyone have a short primer on how to optimally load cartridges? Extended BASIC from MAME/MESS, for example, has 1 C, 1 D, and 4 GROMs. If I load them in order, I get nothing.
First _c.bin then _g.bin and _d.bin
Thanks - turns out having the GROMs split MESS/MAME-style is no bueno for MiSTer. Found pyTIrom and things are much better!
caffeinekid
Posts: 75
Joined: Wed Nov 04, 2020 10:03 am
Has thanked: 21 times
Been thanked: 14 times

Re: TI-994a How-To

Unread post by caffeinekid »

Crom, Drom and Grom..? I'm totally lost. LOL
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

rhester72 wrote: Thu May 27, 2021 7:02 pm
tontonkaloun wrote: Thu May 27, 2021 4:30 pm
rhester72 wrote: Thu May 27, 2021 4:05 pm OK...anyone have a short primer on how to optimally load cartridges? Extended BASIC from MAME/MESS, for example, has 1 C, 1 D, and 4 GROMs. If I load them in order, I get nothing.
First _c.bin then _g.bin and _d.bin
Thanks - turns out having the GROMs split MESS/MAME-style is no bueno for MiSTer. Found pyTIrom and things are much better!
Check the 3rd post in this thread... ;-) All the TI99 carts ready for MiSTer (except for a few that have to be separated to be able to run correctly). So just 1 file to load (select C option in the loading menu).
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

Is it a fair statement that DSDD is unsupported?

EDIT: Of course it is, because the author said so very clearly. Derp! :) Sorry about that. Trying to make sure I test every combination I can come up with - but so far, I can't break this build!
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: TI-994a How-To

Unread post by FoxbatStargazer »

remowilliams wrote: Thu May 27, 2021 3:07 pm
Flandango wrote: Thu May 27, 2021 11:49 am Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.
I've got Tunnels of Doom loaded, I've been waiting for this for sooo long on the core! :)

Also tested saving/loading game which seems to work.


BNlt9X.png
Trying to get this done but I think I'm missing something in my system rom setup. I'm using the atariage cart megapack linked on first page.

I can load up the ToD cart as a C rom. Then select a .dsk to load (ToD disk) but nothing seems to happen. Putting in a known file name in ToD just makes "File Error 0 Device Error."

I have boot.bin and tiroms.bin, not sure if or how I need to merge in this disk.bin?
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

FoxbatStargazer wrote: Fri May 28, 2021 2:33 am
remowilliams wrote: Thu May 27, 2021 3:07 pm
Flandango wrote: Thu May 27, 2021 11:49 am Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.
I've got Tunnels of Doom loaded, I've been waiting for this for sooo long on the core! :)

Also tested saving/loading game which seems to work.


BNlt9X.png
Trying to get this done but I think I'm missing something in my system rom setup. I'm using the atariage cart megapack linked on first page.

I can load up the ToD cart as a C rom. Then select a .dsk to load (ToD disk) but nothing seems to happen. Putting in a known file name in ToD just makes "File Error 0 Device Error."

I have boot.bin and tiroms.bin, not sure if or how I need to merge in this disk.bin?
You need to create the tiroms.bin including the disk.bin file. I do not remember if this was already included in the megapack tiroms.bin, since the disk was not supported at that time (at 99% the answer is no...).

To create it, you need to run the command:

createImage.py -v -c -s -d tiroms.bin

(the -d adds the disk.bin file). This is the output you should have:

--------------------------------
-- Checking input files --
Checking 994AGROM.BIN found
Checking 994AROM.BIN found
Checking Disk.Bin found
Checking Spchrom.bin found

-- Copying input files --

|--------------
|Image Map
|--------------
| Applying 65536k of padding.
|--------------
| Copying 994AGROM.BIN done, MD5 Checksum: ed8ff714542ba850bdec686840a79217 (24576k occupied)
| Filling reserved 32768k.
| Applying 8192k of padding.
|--------------
| Copying Disk.Bin done, MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817 (8192k occupied)
| Filling reserved 32768k.
| Copying 994AROM.BIN done, MD5 Checksum: 6cc4bc2b6b3b0c33698e6a03759a4cab (8192k occupied)
| Applying 16384k of padding.
|--------------
| Applying 65536k of padding.
|--------------
| Copying Spchrom.bin done, MD5 Checksum: 7adcaf64272248f7a7161cfc02fd5b3f (32768k occupied)
|--------------

Target ROM tiroms.bin created, MD5 Checksum: 6020d845c86d3f816d0a9b75558720af

--------------------------------

I'm not sure if it's possible to post the tiroms.bin here, however you can find the files for MAME on the TI99 whtech site http://ftp.whtech.com/ site (under Systems ROM). You need to have: 994AGROM.BIN, 994AROM.BIN, Disk.Bin and Spchrom.bin

The TOD disk was not included in the package, you can find it on the same site: http://ftp.whtech.com/Diskettes/Cartrid ... s_of_Doom/

I'll surely update the TI99 MegaPack to support this great core update, but this will require time. Today, I'll try to do some tests and report the results.
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

Flandango wrote: Thu May 27, 2021 11:49 am Here is the rbf file. You will need to include the Disk DSR in your system rom.
I used Disk.Bin with MD5 Checksum: 3169cfe66687d5b9ed45a69da5a12817.

Just completed some test. The disk support works great! Flandango you have done a great job at the first shoot! :-)

These are the tests done:

- XB Games Autoload. Tested with some random games: Bandit, Column Attack (1988 Asgard), Karate Challange (1988 Asgard);
- Wycove Forth autoload game: Space Station Pheta;
- TI BASIC: load/save game;
- Extended BASIC: merge file;
- Adventure Modules: load adventure, save/load game;
- Disk Manager 2. Disk catalog, file copy from DSK1 to DSK2, load copied file from TI BASIC;
- From XB, autoload of BEAX. Test with EA5 file game (Macropede);
- Editor/Assembler Module. Test with "Editor-Assembler PHD 5062" disk. Load Editor;
- Editor/Assembler Module. Load EA3 Game (Monaco race);
- Load of Wycowe FORTH disk;
- XB Game Autoload. Legends v1.1 (1989 Asgard).

All these tests worked great!

I only had a problem with Old Dark Caves 2 (1986, Donn Granros) with an IO Error 26 (2 is SEEK OR STEP and 6 is NO DISK/DRIVE or DRIVE NOT READY), but I need to chek with MAME if is a problem of the copy used.

Excellent job, many many thanks! I appreciated the work done.

Just one feedback: there is no audio/visual feedback on the disk activity. I haven't tested other computer cores. It would be great to have it (in MAME the audio for disk is a nice feature), anyway it's absolutely only cosmetic.

I'll run some additional tests, however I think this version of the core is ready to become an official update and uploaded on the main repository!

Additional features to add are a NTSC/PAL selector (I guess it's now set to NTSC) and an option for the VDP9918 to enable the visualization of more than 4 sprite in a row (this could be available from some other core that uses the same VDP, eg. Colecovision, MSX1).

Again, many thanks for this update! :D
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: TI-994a How-To

Unread post by NML32 »

Cool, disk support for the Ti99/4a :)
I was able to use Disk Manager 1 and 2 to see the disk catalog. I haven't figured out how to load a program from disk. Help, please :)
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

NML32 wrote: Fri May 28, 2021 7:25 pm Cool, disk support for the Ti99/4a :)
I was able to use Disk Manager 1 and 2 to see the disk catalog. I haven't figured out how to load a program from disk. Help, please :)
ok, first grab some disks. There is a pack for MESS TI99 at https://www.ti99iuc.it/web/index.php?pa ... LFLoY1xeUk.

The disks have in the suffix an info on how to load, eg.

- "[TI DISK] Column Attack (1988)(Asgard)[XB+32K Autoload].dsk" means that you need the XB module. Mount the disk, select XB (option 2) after the main title and the game will be loaded automatically.
- "[TI DISK] Doolhof (19xx)(Unknown)[EA5 DOOLHOF].dsk" have to be loaded from Editor Assembler module, option 5. Select Editor assembler from menu, then select the "5 RUN Program File". Type DSK1.DOOLHOF. The game will then start automatically.
- "[TI DISK] Monaco Race (1984)(Ulisoft)[EA3 MONACORACE - MONACO].dsk" have to be loaded from Editor Assembler module, option 3. As above, select the "3 LOAd and RUN". First type DSK1.MONACORACE. When it ask for the name to run, type MONACO.

With Disk Manager you can check the names for BASIC and TI Extended BASIC program. To run just go to Extended BASIC, type OLD DSK1.NOMEOFGAME and then the RUN command.

For other games: http://tigameshelf.net/
User avatar
NML32
Posts: 288
Joined: Sun May 24, 2020 6:57 pm
Has thanked: 272 times
Been thanked: 43 times

Re: TI-994a How-To

Unread post by NML32 »

Thank you tmop!!
Flandango
Core Developer
Posts: 388
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 41 times
Been thanked: 328 times

Re: TI-994a How-To

Unread post by Flandango »

tmop wrote: Fri May 28, 2021 4:12 pm I only had a problem with Old Dark Caves 2 (1986, Donn Granros) with an IO Error 26 (2 is SEEK OR STEP and 6 is NO DISK/DRIVE or DRIVE NOT READY), but I need to chek with MAME if is a problem of the copy used.
Are you using RXB to load it up? If so I found that using Extended Basic works. It seems that the character set is modified and when the game is in the process of loading the character set (from file DSK1.TXT), it gets to a point where it can load the record into the memory location and it thinks it's not able to read from the disk. It works in Classic99, I haven't tried it in Mame though.
Never mind...it only worked 4 times in a row for me then stopped. Will have to investigate what is going on.
tmop wrote: Fri May 28, 2021 4:12 pm
Just one feedback: there is no audio/visual feedback on the disk activity. I haven't tested other computer cores. It would be great to have it (in MAME the audio for disk is a nice feature), anyway it's absolutely only cosmetic.
Not sure about sound effects but I can look into possibly using the User Led to indicate at least Floppy Activity.
tmop wrote: Fri May 28, 2021 4:12 pm Additional features to add are a NTSC/PAL selector (I guess it's now set to NTSC) and an option for the VDP9918 to enable the visualization of more than 4 sprite in a row (this could be available from some other core that uses the same VDP, eg. Colecovision, MSX1).
I'll look into it.

As for pushing it up as an official update, I don't know the process so I'll be digging through the forums to see if I can figure it out.
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

I've confirmed it also works fine with nonstandard disk formats (read: PLATO). It's incredibly impressive work!
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: TI-994a How-To

Unread post by FoxbatStargazer »

Has anyone tried with their games folder on USB drive? Maybe either the roms or disks won't read correctly from there right now, and why mine isn't working?
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

What's the best video mode anyone's found for 1080p display with scanlines? I'm currently using video_mode=10, which is OK-ish (but the scanlines aren't completely even)...the bigger annoyance is the aspect ratio is noticeably too wide.
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: TI-994a How-To

Unread post by FoxbatStargazer »

Bit off topic but... wouldn't it be video_mode=8 i.e. 1080p? I know we don't have any 5x mode in this core so things may be a bit small but you want to avoid your TV messing up the scaling. You can also try vscale_mode=2 to get the scaling a bit larger, that should create a 4.5x vertical scale which might be workable with some scanline filters.
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

Yeah, that was the problem - mode 8 is a bit on the small side, and mode 10 with soft scanlines still looks better than vscale mode 2 (but only marginally). Maybe if/when the core goes official we'll get grandfathered into a 5x mode.
rhester72
Top Contributor
Posts: 1107
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 13 times
Been thanked: 169 times

Re: TI-994a How-To

Unread post by rhester72 »

I may have found an issue with the disk controller...using Disk Manager 2, if I try to format a DSSD image, it prints "working..." and just sits forever. Haven't tried SSSD yet.

EDIT: SSSD also doesn't format.
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

Flandango wrote: Fri May 28, 2021 10:59 pm
tmop wrote: Fri May 28, 2021 4:12 pm I only had a problem with Old Dark Caves 2 (1986, Donn Granros) with an IO Error 26 (2 is SEEK OR STEP and 6 is NO DISK/DRIVE or DRIVE NOT READY), but I need to chek with MAME if is a problem of the copy used.
Are you using RXB to load it up? If so I found that using Extended Basic works. It seems that the character set is modified and when the game is in the process of loading the character set (from file DSK1.TXT), it gets to a point where it can load the record into the memory location and it thinks it's not able to read from the disk. It works in Classic99, I haven't tried it in Mame though.
Never mind...it only worked 4 times in a row for me then stopped. Will have to investigate what is going on.
tmop wrote: Fri May 28, 2021 4:12 pm
Just one feedback: there is no audio/visual feedback on the disk activity. I haven't tested other computer cores. It would be great to have it (in MAME the audio for disk is a nice feature), anyway it's absolutely only cosmetic.
Not sure about sound effects but I can look into possibly using the User Led to indicate at least Floppy Activity.
tmop wrote: Fri May 28, 2021 4:12 pm Additional features to add are a NTSC/PAL selector (I guess it's now set to NTSC) and an option for the VDP9918 to enable the visualization of more than 4 sprite in a row (this could be available from some other core that uses the same VDP, eg. Colecovision, MSX1).
I'll look into it.

As for pushing it up as an official update, I don't know the process so I'll be digging through the forums to see if I can figure it out.

First, a correction on the error on Old Dark Cave. The IO Error 26 is from BASIC, so the correct meaning is:
2 for INPUT
6 for DEVICE ERROR: "may occur if the diskette is not initialised or is damaged. It may also occur if the system had is power disconnected during a previous print, the disk unit is not functioning properly, etc."

For your reference, the Disk Memory System manual is available here (https://www.ti99iuc.it/web/sfoglia/?cid=123#book/17).

The same disk is working fine in MAME. This game is on a DSDD disk, so this could be the issue. Moreover, the version used is not the original, but has some "turbo" loader in it. I'll try to find the original version to check if it's working.

I've done some other tests. With Disk Manager 2 and 3 it's not possible to format a disk. It seems that is stopping at the beginning of the process (maybe not all the features of the controller are implemented).

I've also filled a DSSD disk with the same program and checked the files on PC and it seems that all the files are ok.

If you need some additional information on the controller you can find them at this page: http://www.unige.ch/medecine/nouspikel/ti99/disks.htm

Many thanks.
Flandango
Core Developer
Posts: 388
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 41 times
Been thanked: 328 times

Re: TI-994a How-To

Unread post by Flandango »

Thanks for the info Tmop. Yes I couldn't get any of the disk tools to initialize a floppy. Have you managed to get an emulator to initialize a floppy so I can compare cpu <=> floppy controller communications?
As for Old Dark Cave disk, it could be the turbo loader and a timing issue with the drive/cpu.
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: TI-994a How-To

Unread post by FoxbatStargazer »

FoxbatStargazer wrote: Sat May 29, 2021 12:34 am Has anyone tried with their games folder on USB drive? Maybe either the roms or disks won't read correctly from there right now, and why mine isn't working?
Moved everything to SD card and still can't get any disk loaded in ToD. The ToD cart is loaded as a C rom correct?
tmop
Posts: 72
Joined: Mon May 25, 2020 6:53 am
Has thanked: 58 times
Been thanked: 44 times

Re: TI-994a How-To

Unread post by tmop »

Flandango wrote: Sat May 29, 2021 1:14 pm Thanks for the info Tmop. Yes I couldn't get any of the disk tools to initialize a floppy. Have you managed to get an emulator to initialize a floppy so I can compare cpu <=> floppy controller communications?
As for Old Dark Cave disk, it could be the turbo loader and a timing issue with the drive/cpu.
I have initialized 2 disks with MAME, one for SSSD and one for DSDD. I've used Disk Manager 2 with the standard TI disk controller (the same used for MiSTer). For both configurations (DSSD and SSSD) it was possible to complete the process (approx. 1 minute and 44 secs for DSSS and 55 seconds for SSSD). If you need technical infos the mantainer of the TI99 version on MAME is Michael Zapf and is active on the AtariAge forum on the TI subforum.

To create empty disks from PC it's possible to use TiDir (https://www.ti99-geek.nl/Projects/ti99dir/ti99dir.html).

I've just found a different version without the Turbo loader on a 90K disk. I'll try and let you know.

Thanks.
Post Reply