Jump to content
IGNORED

Classic99 Feature Request


Willsy

Recommended Posts

Break on non-existant op-code.

 

Pleeeeeease!

 

I know the 9900 skips 'illegal' op-codes. Classic99 already detects them and logs them in the debug window, but I could *seriously* do with it stopping when it hits an unknown/illegal op-code.

 

If it could be an option somewhere that would be great.

 

I wonder how many commercial programs have illegal op-codes in their code path?? :)

Link to comment
Share on other sites

Illegal%20opcode.PNG

 

I wonder how many commercial programs have illegal op-codes in their code path?? icon_smile.gif

I think Turbo Pascal 99 generated programs have some illegal opcode(s). I tried to run this with classic99, win994a, ti99sim, mess, v9t9 and the hardware.

 

After a cold restart, it runs only with v9t9 and the hardware. Classic99 reports some illegal opcode(s).

Edited by lucien2
Link to comment
Share on other sites

Does this bad boy already have printer support? Maybe also pass through support to the real serial port on your PC? Maybe virtual hard drive feature to share files with a real TI?

 

No to serial and printer support - they are things I'd like to do. Printer support, probably virtual rather than direct, serial support I want to do both virtual and modem emulation, but.... all this is probably a long ways off.

 

As for sharing files with a real TI, the files are already saved ready to XMODEM to your TI with your favorite terminal program. ;) TI99DIR is good for copying to disk images (and Compact Flash cards for the CF7 device), and Fred Kaal has an RS232 card mod that lets you use a serial connection to the PC for file access, which should also work. :)

 

Link to comment
Share on other sites

  • 4 years later...

( coming here from http://atariage.com/forums/topic/258690-new-xb-game-wizards-doom/?p=3634882 )

 

 

 

Use FIAD to write to disk in Classic99. If you set your disk type to 3 in the INI you do so at your own risk.

I'll get around to making that official someday - that day will lift the restrictions that make it risky. ;)

 

Maybe just a check-box in the settings ? would be extremely cool, as I do not work with FIAD (at this moment)

 

I have to change it in the INI-file back to "3" from time to time, as it seems to set itself back to "1" automatically.

Is it so ?

Link to comment
Share on other sites

Maybe just a check-box in the settings ? would be extremely cool, as I do not work with FIAD (at this moment)

It is an incomplete feature and it can corrupt your disk images - this is why it's not in the GUI. It just blindly patches in the TI disk controller ROM, it does NOT check that the disk you have set it for is valid for the TI disk controller.

 

I don't have a lot of interest in supporting disk images. I have 2TB of disk space. The TI file system interface was never designed for limits. So they make a good match. Instead, people want to be restricted to 180k (or 360k) images with a maximum of 127 files. I guess that doesn't impact most people, but it seems silly to me. ;) And since it's me doing the work, I've not been terribly interested. There are lots of alternatives these days.

 

It boils down to the difference between reliving the past and building the future. However slowly I get around to it, I've been in favor of the second. I was there for the past, I don't need to relive it. ;) Classic99 is intended as a developer's machine - offering flexibility on the file system, debugging as a priority, and as much as possible, I have personally verified any hardware feature that comes into question to ensure Classic99 gets it right (or at least that I know why it's wrong ;) ). Playing games on it has always been secondary.

 

I have to change it in the INI-file back to "3" from time to time, as it seems to set itself back to "1" automatically.

Is it so ?

If you use the UI to change any settings about the disk, it will recognize that '3' is not a valid setting and drop back to something that is. It will stay at 3 for as long as you don't change anything.

  • Like 2
Link to comment
Share on other sites

Not so much trying to live the past as it is trying to stay "true" to the original hardware. I can see the advantages of using an unrestricted environment, but observing limitations in emulation helps understand what happens on real iron.

 

That said, given the previously stated mission of Classic 99 there are other emulation options for observing native limitations.

Link to comment
Share on other sites

There are very few native limitations you can't get in stock Classic99. In fact, the only deliberate ones are related to filename length and number of files in a folder when using a TI Disk Controller. The TI Disk Controller isn't the be-all end-all for the system, and I want to push people to grow past it. For when you need to test against it, that support is there.

 

Years have shown most people don't agree with me, and that's fine, but not changing my goals because it's my hobby too. ;)

 

Anything that doesn't work correctly is a bug and I'll happily consider correcting it. But not to simply be a TI Disk Controller in disguise. ;)

Link to comment
Share on other sites

Not 2 weeks ago I was wondering to myself about the amount of files in the DSK folders and how the TI handled that. I half expected to get an error at some point. I was even more tempted to run the indexer program you sent me on dsk1 to see what would happen. I decided not to try and break things. And now I see why. It's by design that it can handle so much. I for one am grateful. I couldn't imagine having to manage virtual dsk images for all the programming and versions while developing.

That's not to say fixing how a DSK file is handled would be a bad thing, just a lot work. And for that you need motivation. Schmitzi, have you seen Tursi's Amazon wishlist? :)

Edited by Sinphaltimus
Link to comment
Share on other sites

The TI DSR system doesn't have the concept of a directory, unfortunately, so the only standard for getting a listing was created by the TI disk controller. Fortunately, this standard (opening the device itself without a filename) imposes no limits of number of records. Unfortunately, it implies a limit on the filename length (10 characters), but at least when read by systems that don't make assumptions (such as BASIC), longer filenames work fine in that same system.

 

Since some programs do blow up on longer filenames, though, I proposed and implemented a simple change to the open syntax that requests long filenames instead of short. This seems to work fine from assembly and basic both and allows older software not to break. I haven't finished implementing a short filename version of long filenames (along the lines of what Windows did when they did this change).

 

The limit of 127 files comes from the way filenames are actually stored on a TI floppy. While the information sector can be placed anywhere on the disk, there's only a single sector allocated for locating the information sectors. Each file needs two bytes for the index, and there are 256 bytes in a sector, so that means 128 files. However, the last entry must be >0000 to mark the end of the list, so 127 files it is.

 

Some assembly programs read the directory directly from the disk, bypassing the open command - of course these programs won't work on anything but a floppy drive. In the day, that didn't matter because so few people had hard drive controllers. It's unfortunate they didn't have more time to get out there and catch on.

 

Classic99, by default, supports both directory methods in FIAD folders and will default to 10 character filenames and 127 files maximum returned, to avoid crashing software that assumes those limits. However, there are options in the disk configuration to turn off those limits, and/or any program that uses the alternate open method is assumed to not have those limits either... although since it didn't go anyway I'm the only one who ever wrote anything that did. ;) (Small edit: appears the options affect both methods at the moment).

 

Anyway, just background, nothing to change -- and these settings don't impact the FIAD ability to access any number of files or long filenames, it's just working with the old directory methods. Since you can use Windows explorer to get a directory, I figured that was just a nicety. ;)

  • Like 3
Link to comment
Share on other sites

  • 8 months later...

Here's a feature request - forgive me if it is already possible, please do tell.

What about configuration or Profile settings?

I'd like to have a profile that will retain the settings for development (XB cart, XB256 DSK) and others for specific games like Wizard's Doom.

So when C99 loads I can pick my Wizard's Doom profile and it will assign the correct DSK with XB Cart inserted, or I can choose my Compiler profile which will have EA cart and XB256 tools in dsk, etc....

  • Like 2
Link to comment
Share on other sites

Profiles are a neat idea.

 

Saving MiniMemory RAM is harder than it sounds - the emulator doesn't track that information. The system boots as a 9900 attached to the hardware and 64k of RAM, then loads ROM overtop of that RAM. It's been on the list for a while, but I was going to roll it in with a cross-platform cartridge format (which at the time I thought was going to be RPK).

 

I agree that writing more than one word at a time would be nice. ;) Your proposal looks like an easy way to do it.

 

Cassettes are low on my list -- but in particular to this request, some file formats for the Win994A simulator were designed by the author to not be readable by other emulators. Do you know the file format of a TITAPE file?

  • Like 1
Link to comment
Share on other sites

Profiles are a neat idea.

 

Saving MiniMemory RAM is harder than it sounds - the emulator doesn't track that information. The system boots as a 9900 attached to the hardware and 64k of RAM, then loads ROM overtop of that RAM. It's been on the list for a while, but I was going to roll it in with a cross-platform cartridge format (which at the time I thought was going to be RPK).

 

I agree that writing more than one word at a time would be nice. ;) Your proposal looks like an easy way to do it.

 

Cassettes are low on my list -- but in particular to this request, some file formats for the Win994A simulator were designed by the author to not be readable by other emulators. Do you know the file format of a TITAPE file?

Here is some info from Yahoo Groups, may be relevant:

Eric Bray
Oct 12, 2007
Not to my knowlege!

 

Cory Burr wrote:

 

"Early in the design phase of the Win994a Simulator, it was decided

that the cassette recorder used by the original TI-99/4a computer

needed to be emulated. This was functionality that came built-in to

every TI-99/4a. Also, several early cartridges like the Chess

Cartridge, used cassette tape exclusively for the saving and

restoring of chess games.

 

TI-99/4a refers to this physical cassette recorder device as CS1. The

Win994a Simulator emulates cassette tapes using tape files. These

files are actual hard disk files on your PC that contain all the data

contents of a physical cassette tape. One tape file is the

equivalent to one cassette tape. The name that you assign to the

tape file is synonymous to the title you would write on the tape

label of the cassette tape. You can create as many new tape files

(virtual cassette tapes) as you need using the Tape Creator. Use

the "Create New Tape..." item on the Tapes Menu to bring up the Tape

Creator.

 

In addition to the actual tape content data, each tape file holds a

tape position number that tracks the exact current recording/playback

location of the tape. This is synonymous to the three digit tape

counter found on most cassette tape recorders. This tape position

number allows you to fast-forward or rewind to a specific location on

the tape. The tape position number counts up as you record or play a

tape file; just like a real recorder. Because this number is

recorded in the tape file itself, the next time you load the tape

file, you will find that the tape is still at the location you last

left it.

 

Tape files are stored in a subdirectory called "Tapes" under

the "Win994a" directory in which the simulator is installed.

The "Tapes" subdirectory is created automatically by the Win994a

installer when you first install the program on your PC. Tape files

appear with the file extension ".TITape". If you obtain tape files

from other sources, such as a website, you must copy the tape file

into the "Tapes" subdirectory to make it available to the Win994a

Simulator.

 

As you use and create tape files, the names of the most recently used

tapes will appear at the bottom of the Tapes Menu. To load one of

these recent tapes, simply click on the name. The list will track the

last eight most recently used tape files.

 

To load a tape into Win994a's virtual cassette recorder, invoke the

Insert Tape dialog box. You can call up this box using the "Insert

Cassette Tape..." item on the Tapes Menu. There is also an "Insert

Tape" shortcut icon on the toolbar.

 

To eject a tape, use the "Remove..." menu item or click the "Remove

Tape" shortcut icon on the toolbar. It is usually not necessary to

eject tapes. Tapes are ejected automatically whenever you load a

different tape.

 

To rewind a tape to it's starting position, use the "Rewind Tape"

menu item or toolbar shortcut icon. The rewind function is the same

as positioning the tape to location zero.

 

To fast-forward or rewind a tape to a known position, invoke the

Position Tape dialog box. You can call up this box by using

the "Position Tape" menu item or toolbar shortcut icon.

 

When you exit Win994a, the name of any tape in the "virtual cassette

drive" is saved. The next time you start Win994a, the tape will

reappear in the drive, positioned where you last left it."

 

 

 

--- In ti99-4a@yahoogroups.com, "roundfilesilver"

<roundfilesilver@...> wrote:

>

> Is it possible to save data from win99/4A to a real audiocassette

rather than the virtual one?

> Before you ask why would you want to do that, let's just say I'm

curious if it can actually be

Hide message history
> done.

>

Link to comment
Share on other sites

Profiles are a neat idea.

 

...

Cassettes are low on my list -- but in particular to this request, some file formats for the Win994A simulator were designed by the author to not be readable by other emulators. Do you know the file format of a TITAPE file?

 

Maybe possible (and easier) with .WAV ?

Or are there many many TITAPE- and just a hand full of .WAV-files ? I don´t know.

With a WAV-import, maybe there is also a possibility to connect the old TI cassette player to the PC (->Classic99) to use real tapes ? :)

Link to comment
Share on other sites

I thought about using RXB that has CALL IO that is direct control of IO ports including Cassette Read/Write/Verify.

 

The idea is input a Cassette and have CALL IO read that data and save the data to the SAMS memory then make a Disk File of that saved file.

 

That way you could load the same file and reverse to save to Cassette or make a normal disk file.

 

This would make conversions easy, including RXB CALL IO works with Win994a so you can use it on MESS, Win994a and Classic99?

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

I'd like to have a favorites list for disks that would show up in each DSK entry so you could easily swap disks from one drive to the next because so many programs are hard coded to DSK1.

You can work around the hard-coding in most programs by making sure "Automap DSK1" is checked on the disk mount dialog. When it sees that, it will check all loaded data for the string "DSK1" and automatically change it to whatever DSK number it's mounted on. Works with everything I've tried so far. ;)

 

A favorites list is something I've wanted too. I'll add it to the list.

  • Like 1
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...