Emulators

From Ninerpedia
Revision as of 17:14, 21 November 2011 by Epergrem (talk | contribs) (Updated URL for PC99 and The CYC)
Jump to navigation Jump to search

An emulator is a program that simulates the components of the real machine as precisely as possible. It contains lots of simulations for the various chips like the processor, the video chip, the sound chip, ROM, RAM, and so on. By connecting all simulated circuits according to the schematics of the real machine, the complete system shows a behaviour that simulates the behaviour of the real machine.

In contrast, a simulator is a program that is designed to function like the original target regardless of how it is implemented underneath the covers of the program. The goal is to provide an application to the user which looks and feels like the real machine it is intended to simulate.

Emulators have to execute the ROM contents of the real machine, so they need dumps from its ROM memories. Simulators can use their own implementations of parts or all of the system behaviour. A simulator is great for running programs that were designed for the system. A simulator is not good for developing low-level applications on since it does fully implement the underlying hardware.

While emulators - if done correctly - are a very precise mapping of the real machine, users may experience a more comfortable handling with simulators. For instance, simulators may provide an access to the host file system and allow the simulated system to load and store files on it. In contrast, emulators usually make use of image files to represent the data medium (like a floppy disk) and make the ROM "believe" it sees the real medium. This requires all operations to be done on images which are usually only readable within the emulator - you cannot use PC tools to edit files. Also, it is difficult to integrate enhancements beyond the features of the real machine.

Win994A is a simulator, while MESS is an emulator. Classic 99 shows characteristics of both.

What emulators exist for the TI-99/4a?

Fortunately there is a variety of emulator that you can use. While most are free, one in particular is commercial and requires payment. Here is a brief summary of the emulators:

  • Classic99 - (Add more Information Here)
  • MESS - stands for "Multiple Emulator Super System" and not only does it emulate the TI-99/4a, it does a whole host of other systems. This a great tool for those that work with multiple types of computers and systems. The focus of MESS is a precise emulation, sometimes at the cost of usage comfort.
  • PC99 - it runs in the DOS enviorment and emulates the TI-99/4A and some peripherals. Owners of PC99 can purchase the CyC CD which has all the modules and disks for the TI in PC99 format. Comes with manuals and other materials. Link: CaDD Electronics Home Page
  • TI4Amiga - (Add Information Here)
  • TI-99/Sim - (Add Information Here) Link: http://www.mrousseau.org/programs/ti99sim/
  • TI994W - Link: http://members.ziggo.nl/fgkaal/Software/sw_ti994w.html#ti994w (Add Information Here)
  • V9T9 - is another popular emulator. Though the author is no longer actively developing the software, it provides a great emulator for the TI. A lot of modules and disks exist in V9T9 format as well. Also available as MacV9T9 - (Add Information Here).
  • Win99/4A - in some regards can be considered a simulator rather than an emulator. The author acknowledges that they excluded features that are not useful or appear to be rarely used. That said, it is great product and currently is under active development.

What is the easiest emulator to start out with?

I'm fairly new to the emulation scene for the TI and have a pretty good idea of how I would rank them as far as being easy to setup and use.

  • Win994a - single installation program for the entire suite. Hands down the easiest to get running.
  • MESS - Finding the ROMs is the tough part but I created a bundle for people to use so that problem is solved. Easy to unzip and setup.
  • PC99 - Great instructions and easy to setup. The only reason that it is 3rd is that it costs money so MESS beat it out.

What TI emulators exist for Macintosh systems?

MacV9T9 is sole native TI emulator for the Mac. It is no longer being maintained and it supports the 040 and PPC architectures and requires a pre OS X environment to run. NOTE: There is an open-source utility called SheepShaver that allows you to run PowerPC - Classic MacOS applications and this could be used to run MacV9T9. MESS is also available for the Mac (older and newer) and the TI-99/4, TI-99/4a and TI-99/8 systems are emulated in this environment. Beyond that the only option is run Windows/DOS based emulators within a virtualized environment.

Here is a short list of the possible VM environments for the Mac:

  • Virtual PC for Macintosh - does not support Intel Macs and will not be updated (damn that Bill guy!)
  • Parallels - only supports Intel based Macs
  • VMware Fusion - only supports Intel based Macs
  • Apple's BootCamp - only support Intel Based Macs and requires at least Leopard
  • DOSBox - for both PPC and Intel Macs running OS X

Which emulator would you use and for what reason?

As you can tell by the categories on this FAQ, there is a focus on Win994a, MESS and PC99. Each of them have their pros and cons so hopefully this entry helps steer you in the right direction.

If you are looking to run existing software and generally to play/use the TI-99/4a I would look at either Win994a or MESS. Win994a is a great all-in-one suite that is easy to get up and running and it contains a large library of software. The only problem with Win994a is the "Win" part. If you use Linux, Unix or a Mac then this does you no good. At this point MESS would be a better choice.

If you are looking to play around with the TI and other systems (Apple, Commodore, etc.) then MESS is definitely your best option. MESS allows you to emulate A LOT of different systems. And as previously mentioned, it runs on a variety of platforms.

If you are look to play around with the TI and are looking to develop I would point you toward PC99 and or MESS. Both of these titles are focused on emulating the underlying hardware and that helps out no matter what level of programming you are doing (code, DSR, etc). I'm not saying development can't be done with the other emulators, I'm just pointing out which one is better suited.

Summary: Windows users looking to play -> Win994a, MESS Non-windows user looking to play -> MESS Windows users looking to develop -> PC99, MESS Non-windows users looking to develop -> MESS

Which emulators use which types of disk images?

This is quick list but it should be sufficient and it covers the most popular emulator:

  • V9T9 - v9t9 (.dsk)
  • MESS - v9t9 (.dsk)
  • PC99 - pc99 (.dsk)
  • Win994a - v9t9 (.TIDisk)

Is there a way to capture and use cassette tape data with emulators?

Yes. There is a program out there called CS1er that will take a WAV audio file of a TI Cassette Program and convert it to a FIAD file. FIAD is the native V9T9 file format and many emulators support V9T9 formats. You can find more about CS1er at the following website: http://www.cs1er.com

How do I convert PC99 format images to V9T9 format?

The easiest method, because it is GUI driven, seems to be to use Fred Kaal's TiDir program. Here are the basic steps:

  1. Open TiDir to the directory where you PC99 image file resides.
  2. In TiDir select your PC99 image.
  3. From the file menu choose "Convert PC99 DSK-file to TI99 DSK-file"
  4. TiDir will prompt you for a location and file name to save the file.

There also is a command prompt utility on WHTECH but this one seems a bit more straight forward and it provides other great functionality! TiDir and other programs can be found on Fred's site which is index on my Links page at: http://www.ti-994a.com/links.html

Thanks to Jacques Groslouis for pointing out that TiDir has this functionality.

What is a "TIFILES" file?

See the section on TIFILE format.

If you were to take a file and send it over to a PC or some other computer via a modem or serial cable it would arrive on the other end but lose some information. It would lose information like what kind of file it is, protection status, how large it is, etc. In order not to lose that information, proper communication programs on the TI prepend (stick on the front) a 128 byte header to the file that captures this information. So now when the file arrives on the other computer it is actaully a little bit larger.

When the 128 byte header is prepended to the file it becomes a "TIFILES". So by definition, a TIFILES file is a regular file with a 128 byte header. Now if you were to send that same program back to the TI, the 128 byte header gets read so the file is created properly on the TI. Of course, the 128 byte header is removed when it is back on the TI. The 128 byte header is small set of information used to properly rebuild the file once sent back to the TI. If you send a NON-TIFILES file (one without the 128 byte header) to the TI it will get built but more than likely it won't work properly.

Is it possible to load an IDE drive on a PC with information from disk images (V9T9, PC99) and then move it to the TI with an IDE controller for use?

I don't believe a tool or program exists to do this. This is speculation here but in order to do this one of the following must ocurr:

  1. There must be a program written on the PC that understands PC99/V9T9 images and a driver that supports the TI formatted version of an IDE drive (essentially a PC equivalent of the DSR).
  2. One of the emulators must be aware and be able to use a TI formated version of an IDE drive which would still require a driver to be written.

So from those two possibilities the need for a driver (DSR like program) for the PC to understand and to be able to work with a TI formated IDE is requried. Also, the driver would have to either work with an TI IDE system based on Thierry's DSR and/or Fred Kaal's DSR. All in all this is a big effort.

Original question by: Alfredo Cevolini

Win994A

Can I run Win994a in Wine on a Linux or Mac system?

The answer at this point is no. I gave this a try with a Wine 1.0 build and it installed and laucnhed with no problems. But the redraw of certain parts of the window doesn't show up and you can't move things around. It will function but it's not usuable.

Can I code on my PC and then transfer it into Win994a?

Yes. The Win994a Disk Manager utility allows you to import/export PC text, FIAD and BASIC source files. This is very powerful because it let's you edit in great tools like TextPad, VIM, and emacs where you are more comfortable and probably a lot faster!

Can I connect to a printer so I can print out stuff within Win994a?

The RS232 emulation works in Win994a but it does not allow you to connect to a real device (modem, printer, etc). What it does is allow you to output data to a serial device (RS232, PIO) and once that connection is closed it will bring up a print dialog box in Windows where you can then print to a printer or other device. If you hava a PDF driver you could even print out to a PDF document rather than the printer.

So you cannot communicate with real devices but you can get a print out by leveraging print devices that Windows has. For example, in TI BASIC you can do the following:

  1. Open the the RS232 port with: OPEN #1:"RS232.EC"
  2. Load up your BASIC/XB program either from disk or by typing it in.
  3. List it to the RS232 port with: LIST "RS232"

How do I import a text file of a Basic program from my PC into Win994a?

I would like to point out that kind of text editor you use and the format of the saved file is important. Not all editors save files the same way or have the same line endings. I did this test with a program called TextPad. If you use WordPad or Notepade then I would suggest you go to textpad.com and download this. It will blow the doors off of those poorly written tools.

Here is what I did:

  1. In TextPad I created a Basic program and saved it as "TEST.BAS".
  2. In Win994a Disk Manager I browsed for a disk image and then clicked on "Import BASIC Source".
  3. I selected my "TEST.BAS" file and then it asks me what I want to call the file on the TI Disk. I named it "TEST".
  4. I closed the Win994a Disk Manager and then opened Win994a with my disk image loaded and Extended Basic as a cartridge.
  5. In Extended Basic I "Merged" in the file with the following command: MERGE DSK1.TEST

That's it! Now I can save the program, run it or add to it.

Where do I get software and/or roms for Win994a?

You don't have to! The good news is that the installation of Win994a contains an entire library of cassettes, diskettes and cartridges for the TI. You just install and go!

How can I get Basic and XB files from Win994a to my PC?

If you have the FREE program PDF995 on your PC as one of your 'printers' on your machine, then you can do a {List "PIO"} from the command line of any program.

You can then chose PDF995 as your printer and print the listing on your PC as a .pdf file.

Then use the [highlight & copy] feature of Adobe Reader to save the listing to a WordPad or a Notepad document. Save the file you have just completed!

Now you have a PC .txt file of your Basic or XBasic program that can be edited and used in the Win994a Disk Manager to make into a {Merge} file that can be saved out as a Basic or XBasic program.

What is the Win994a Disk Manager?

This utility program is part of the Win994a suite. It's a great tool for doing the following operations:

  1. Creating Disk and Tape images
  2. Importing/Exporting Text files
  3. Importing/Exporting FIAD files
  4. Importing/Exporting BASIC source files

In short it not only helps to create image files, it also allows you to import/export data to and from those image files.

I cannot see or load my disk image file in one of the Win994a tools, what is wrong?

If you open an image with one of the tools, Win994a Disk Manager for instance, it will essentially lock or hold the file. This means that while it is open you cannot open it with the emulator. So if you know a valid file exists then make sure it is not open with one of the other tools.


MESS

Can I run MESS in Wine on a Linux or Mac system?

Yes. MESS has a version called SDLMESS which runs on these platforms natively, i.e. without Dosbox or emulators.

Can I connect to a printer so I can print out stuff within MESS?

MESS allows you to create an RS232/PIO device and then mount it when starting up. Once it is mounted you can then send information like print outs and it get written to the device.

The device is basically a text file where the output goes. Once you exit out of MESS you can open that device/text file with a text editor and do what you would like with it, like printing it out.

Does any version of MESS allow you to use the RS232 port?

Nope. only pc99 and v9t9 that i know of have any serial support. The v9t9 serial support is weak and won't work right in any dos emulation I've tried so far including vmware and dosbox.

Question by James DiGriz and answer by Gregory McGill.

Update:

I stand corrected. DOSbox with improved com routines I found on the net is working with v9t9 and my real modem via directserial..the tcpip modem emulation to telnet isnt working due to flow control issues.. I'm trying to dial richard's bbs with mass transfer right now but its busy :(

Ok I got on. Logged on at 2400 baud with my courier modem on my pc. :) via v9t9 running mass transfer under dos box 0.65.. how cool is that :) Had to change the default config mappings for dosbox to get them out of the way for v9t9.. easy to do in the keymapper..

How can I create blank disks (90k, 180k, etc) for use with MESS?

MESS ships with a program called "imgtool.exe" that can be used to do this from the command prompt. This program used to be in the "tools" directory of the MESS installation but recently was moved to the main directory itself. You can find the program file at: mess-installation>imgtool.exe.

The following are the commands you would use to create the various disks. Please note that MESS uses the V9T9 format so these images should be shareable with V9T9 as well.

90k (SS/SD):

imgtool create v9t9 sssd.DSK --sides=1 --tracks=40 --sectors=9 

180k (SS/DD):

imgtool create v9t9 sssd.DSK --sides=1 --tracks=40 --sectors=18 

360k (DS/DD):

imgtool create v9t9 sssd.DSK --sides=2 --tracks=40 --sectors=18

How do I get and use MESS for the TI-99/4A?

MESS is an emulation engine that supports a variety of systems, actually a lot of systems! You can get MESS up and running for the TI-99/4a in a matter of minutes.

  1. Get MESS
  2. Get ROMS and Cartridges for TI-99/4a
  3. Startup MESS. I use MESSGUI which is a GUI interface to MESS.
    • Navigate to c:mess
    • Run c:messmessgui.exe
    • Select "TI99/4A Home Computer (US)" on the left panel.
    • Select the cartridge you want in the middle panel and double-click.

That's it, you should be up and running. You can change some of the DIP settings in MESS for the TI to enable and disable features like the HSGPL, Speech, Memory Cards, etc.

Where can I get ROMS for the TI-99/4a for use with MESS?

I always had a hard time tracking down the MESS ROMS for the TI. On WHTECH there is a MESS97 Addon-Pack that has the roms but its for an older version and has other stuff I didn't need.

I took that package and slimmed it down so it has only the pieces for the TI-99/4A and then created a new zip file. The new file is only 5mb and contains the following:

  1. ROMS for the TI-99/4a
  2. All the cartridge files/roms.
  3. Some basic blank disks
  4. Diskettes for E/A and TI-Writer.

Best advice: Use your favorite search engine. They are out there, somewhere.

PC99

Can I connect to a printer so I can print out stuff within PC99?

Out of the three emulators covered in this FAQ (Win994a, MESS and PC99), PC99 is the only one that actually allows you to talk to your PC's serial and parallel ports. This means you can actually connect a printer to your PC and print to it.

For example, I could actually hook up a dot matrix printer to my Parallel port on my PC and print to it from PC99. The PC99 manual goes into detail about how to configure/map your ports. This is one of the examples of why PC99 is such a good emulator for the TI.

What are the different files I can move into PC99?

  • Text files to TI-Writer using ASC2DV80.EXE
  • Binary BAS/XB files to TI BAS/XB using BIN2PGM.EXE
  • Binary with TIFILES header to TI file using DLCONV.EXE
  • V9T9 File to PC99 format using VF2PC99.EXE
  • V9T9 Disk to PC99 Disk format using VD2PC99.EXE

Can I transfer PC99 disk to and from my real TI?

Yes. PC99 comes with two programs called RSECTOR and WSECTOR. WSECTOR (write) listens for data comming from RSECTOR(read) and then writes it to a disk disk. If you want to transfer from PC99 to the TI you would you RSECTOR in PC99 and WSECTOR on the TI. If you want to go the other way you would switch.

RSECTOR and WSECTOR communicate via a serial connection. You will need a serial cable that goes from your PC with PC99 to the TI with some kind of RS232 expansion.

How can I convert v9t9 disk or file to PC99?

PC99 has two utilities to transfer V9T9 files and disks into PC99 format. VF2PC99.EXE is used to convert a V9T9 file image into PC99 format. VD2PC99.EXE is used to convert a V9T9 disk image into PC99 format.

How do I move a file from my PC to a emulator images file?

This is a broad question so let me put some parameters around it. Let's assume that someone is is looking to move a TI type file (text, basic, archive, etc.) to either a v9t9 or pc99 image. PC99 uses the pc99 image, Win994a and Mess use the v9t9 image type file.

Let me state that there are lots of ways to do this. I could use a serial connection with PC99 or some other craft utility. For simplicity sake I'm going to describe to methods that are easy to use and that anyone with a PC can use.

Win994a DiskManager

This tool that comes with Win994a is a great utility. You can create a virtual floppy (v9t9 image) or use an existing image. Make sure that you select the image you want to use by clicking on the Browse button in the upper right corner.

With your image selected you can now click on the "Import FIAD File" which will move the file(s) you want to the disk image. IMPORTANT: in the Files Type field change the value to "All Files (*.*)". You can now browse to files you want to import, select them. That's it!

TI99-PC

This is a utility that can do a lot with real TI Disks and virtual disks. The first thing to understand is that there is now a 3rd image format for this program that is called a "TI99-PC Image".

You will want to do this if you want to move a file to PC99 or if you don't use Win994a. The process is as follows: Import your files to a TI99-PC Image and then import that image to either a PC99 or v9t9 image. Yes it is extra steps but it works.

You can find TI99-PC in the PC Utilities folder on WHTECH. There is a manual to explain all of the details. I'm just going to give you the menu choices here:

1) To import a file from DOS to a TI99-PC image you will choose, from the Main Menu, option #2 and then option #6.

2a) To import a TI99-PC Image file to a PC99 image you will choose, from the Main Menu, option #1 and then option #3.

2b) To import a TI99-PC Image file to a v9t9 image you will choose, from the Main Menu, option #1 and then option #5.

NOTE: Greg McGill had the suggestion of using TI99-PC so credits to him on that!

Can I bring my BASIC programs over to my PC as a text file for viewing?

Yes. Fred Kaal has a great program called TiDir that allows you to view/extract the contents of emulator files and disks. TiDir works with both V9T9 and PC99 format files/disks. Both MESS and Win994a use V9T9 format and PC99 uses PC99 format. The program even allows you to work with ARK files created by Barry Boone's Archiver. A link to Fred's site can be found on http://www.ti-994a.com/links.html.

Win994a Users: there is a built-in way for Win994a to have output sent to a printer connected to your Windows PC. Another entry in the FAQ explains this in detail and it can be found under: Emulation -> Win994a

MESS Users: there is also a built in way for MESS to print to a text file and then on your PC you can do what you want with it (save it, print it, etc). Another entry in the FAQ explains this in detail and can be found under: Emulation -> MESS

What is the Cyc CD-ROM?

The "Cyc", as it is known, is a great collection of software and documentation that is meant to complement PC99. Since the the software is arranged for PC99, the owners of this commercial CD will only sell it to registered owners of PC99. The Cyc contains the following:

  • All TI PHM Modules in PC99 format.
  • All released TI PHD Diskettes in PC99 format.
  • All TI PHM and PHD Manuals in PDF format.
  • Articles by noted TI authors in PDF format.
  • Full text of certain TI books in PDF format.
  • A listing of all books related to the TI.
  • An alphabetical List of 1,500 pages of TI information in PDF format.
  • PHx lists that shows all TI numbered products (PHM modules, PHD disks, PHT cassettes) in PDF format.
  • Many third-party and unreleased TI modules in PC99 format.
  • Indexes to all major TI publications, and full text of selected magazines in PDF format.
  • User group disk and publication collections in PDF and PC99 format.
  • Information, manuals, and disks from TI vendors in PDF and PC99 format.
  • Thousands of other disks in PC99 format.

More information about the Cyc and PC99 can be found at: http://www.cadd99.com/

Further links

pc99 - http://www.cadd99.com/

v9t9 - http://www.99er.net/emul.shtml#V9T9

mess - http://www.mess.org/

win994a - http://99er.net/win994a.shtml