Jump to content

Photo

Classic99 Feature Request

classic99 emulator

22 replies to this topic

#1 Willsy OFFLINE  

Willsy

    River Patroller

  • 3,024 posts
  • Location:Uzbekistan (no, really!)

Posted Tue Oct 23, 2012 8:32 AM

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?? :)

#2 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 284 posts
  • Location:Switzerland

Posted Tue Oct 23, 2012 11:15 AM

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, Mon Oct 10, 2016 10:50 AM.


#3 Gemintronic OFFLINE  

Gemintronic

    Jason S. - Lead Developer & CEO

  • 8,851 posts

Posted Tue Oct 23, 2012 11:46 AM

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?

#4 Willsy OFFLINE  

Willsy

    River Patroller

  • Topic Starter
  • 3,024 posts
  • Location:Uzbekistan (no, really!)

Posted Tue Oct 23, 2012 12:18 PM

Oh wow! So it's already in there! Woohoo! :thumbsup: :thumbsup: Somehow I missed that. I'm running QI360. Looks like it's time to upgrade!

#5 lucien2 OFFLINE  

lucien2

    Moonsweeper

  • 284 posts
  • Location:Switzerland

Posted Tue Oct 23, 2012 1:27 PM

By the way, Willsy and Vorticon, thanks for these links. I just "ate" the first book and I'm "eating" the second one.

http://www.atariage....25#entry2510747
http://www.atariage....ost__p__2510870

#6 Willsy OFFLINE  

Willsy

    River Patroller

  • Topic Starter
  • 3,024 posts
  • Location:Uzbekistan (no, really!)

Posted Tue Oct 23, 2012 2:24 PM

Ah! The Soul of a New Machine. One of the greatest books I've every read. Just read the reviews on Amazon. Superb book!

#7 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Wed Oct 24, 2012 1:32 PM

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. :)


#8 schmitzi OFFLINE  

schmitzi

    River Patroller

  • 3,876 posts
  • ToXiC
  • Location:Germany

Posted Sun Nov 20, 2016 5:34 AM

( 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 ?



#9 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Sun Nov 20, 2016 2:47 PM

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.

#10 OLD CS1 OFFLINE  

OLD CS1

    River Patroller

  • 3,936 posts
  • Technology Samurai
  • Location:Tallahassee, FL

Posted Sun Nov 20, 2016 7:27 PM

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.



#11 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Sun Nov 20, 2016 9:29 PM

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. ;)

#12 Sinphaltimus OFFLINE  

Sinphaltimus

    Stargunner

  • 1,971 posts
  • Distracted at the Keyboard
  • Location:Poconos, PA

Posted Mon Nov 21, 2016 4:12 AM

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, Mon Nov 21, 2016 4:13 AM.


#13 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Mon Nov 21, 2016 2:44 PM

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. ;)

#14 Sinphaltimus OFFLINE  

Sinphaltimus

    Stargunner

  • 1,971 posts
  • Distracted at the Keyboard
  • Location:Poconos, PA

Posted Tue Aug 15, 2017 3:59 PM

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....



#15 schmitzi OFFLINE  

schmitzi

    River Patroller

  • 3,876 posts
  • ToXiC
  • Location:Germany

Posted Tue Aug 15, 2017 4:01 PM

I made different Classic99.ini´s for my purposes, copying them with a batch-menu (and starting the emulator) :)



#16 senior_falcon OFFLINE  

senior_falcon

    Dragonstomper

  • 948 posts
  • Location:Lansing, NY, USA

Posted Tue Aug 15, 2017 6:06 PM

Here are a couple more:

1 - can you make the MiniMemory automatically save the ram from >7000 to >7FFF just like the battery would?

2 - when doing memory writes in the debugger there are times when it would be nice to write more than one consecutive word at a time.  Something like C8330=FFE7FFE7

Thanks!



#17 notwhoyouthink OFFLINE  

notwhoyouthink

    Star Raider

  • 70 posts

Posted Wed Aug 16, 2017 10:53 AM

I know i have mentioned this before, but i would really like some sort of support for cassette.

i have a few dozen .TITAPE's i use in Win994a Simulator, and it would be awsome to be able to use them under classic99.



#18 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Wed Aug 16, 2017 12:39 PM

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?

#19 RickyDean ONLINE  

RickyDean

    Dragonstomper

  • 686 posts

Posted Wed Aug 16, 2017 12:46 PM

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.
>


#20 schmitzi OFFLINE  

schmitzi

    River Patroller

  • 3,876 posts
  • ToXiC
  • Location:Germany

Posted Wed Aug 16, 2017 1:07 PM

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 ? :)



#21 RXB OFFLINE  

RXB

    River Patroller

  • 2,803 posts
  • Location:Vancouver, Washington, USA

Posted Wed Aug 16, 2017 8:16 PM

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?



#22 LASooner OFFLINE  

LASooner

    Chopper Commander

  • 154 posts

Posted Wed Aug 16, 2017 11:22 PM

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.



#23 Tursi OFFLINE  

Tursi

    River Patroller

  • 4,824 posts
  • HarmlessLion
  • Location:BUR

Posted Wed Aug 30, 2017 5:10 PM

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.




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users