Emulators

From Ninerpedia
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 - A Windows-based emulator that emulates the TI-99/4A and the TI-99/4. It includes ROMs built-in under license from Texas Instruments and requires minimal setup to get started. It supports a number of add-ons in various states but the prime focus is to aid development of new software on the standard base console with 32K.
  • Js99'er - An online JavaScript-based emulator that runs in a web browser and emulates the TI-99/4A and a number of peripherals including near-complete support for the F18A video upgrade. Link: http://js99er.net
  • MESS - stands for "Multiple Emulator Super System" and not only does it emulate the TI-99/4A, it also includes the TI-99/4, the rare TI-99/8, and the Geneve. Moreover, it also allows the emulation of countless other computer systems outside of the TI world. 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.
  • pc99w - it runs in the Windows environment and emulates the TI-99/4A and some peripherals. pc99 is capable of emulating Myarc RAM card and Myarc Extended Basic. The emulation is supplied on dvd or usb stick and includes pc99dos and The Cyc. Released November 2016. link: http://www.cadd99.com/
  • TI4Amiga - Port of the DOS emulator by Ton Brouwer. http://aminet.net/package/misc/emu/TI4Amiga
  • ti99sim - An emulator for Linux users. 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, actually the first one for the TI-99/4A. Many disks and cartridges are in V9T9 format. For a long time, no new versions were released. In early 2013, the author Ed Swartz released a new version written in Java and runs on Windows, OSX, and Linux. It can be downloaded at http://eswartz.github.io/emul/. Also available as MacV9T9. Old version can be found at http://www.99er.net/emul.shtml#V9T9
  • Win994a - 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?

This is a difficult question. Each emulator has its strengths and shortcomings. You should probably not judge the book by its cover, that is, easy installation need not guarantee satisfaction later, as emulators are pretty complex systems. After all, they mimic complete computing systems, including various physical devices.

Many of the emulators are still actively maintained, so you should be able to get in contact with the authors to get support.

You can use more than one emulation, and in most cases module and disk files are more or less interchangeable between emulations, or easily converted.

Do these emulators need Windows to run?

MESS is available for Windows, Linux, and the Mac (older and newer). All the TI-99/4, TI-99/4A, TI-99/8, and Geneve systems are properly emulated in all these host operating systems.

Other emulators that are designed to run under Windows may possibly run in a virtual machine environment. Please see the VM options for your operating system. Some emulators have been reported to run under Wine.

PC99 was written for DOS and will run with the Linux utility dosemu which is supplied with most Linux distributions.

The Java-based V9T9 should run on most platforms, and the web-based JS99er will run in most modern web browsers.

Emulators and disk images

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 - Sector Dump Format (also referred to as "v9t9 format") (.dsk)
  • PC99 - Track Dump Format (aka "pc99 format") (.dsk)
  • MESS - sector dump format (v9t9) (.dsk) and track dump format (pc99) (.dtk or .dsk)
  • Win994a - sector dump format (v9t9) (.TIDisk)
  • Classic99 - sector dump format (v9t9) (.dsk) and track dump format (pc99) (.dtk or .dsk)
  • JS99'er - sector dump formation (v9t9) (.dsk)

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

Refer to TIDIR article for link to Fred's website and screen grab of TiDir in action.

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.

What is a "TIFILES" file?

TIFILES files are individual TI files with a 128 byte header prepended that contains information intended to be used to recreate the TI-specific properties of the file. It was devised for use with XMODEM transfers and is sometimes called 'XMODEM' format, but it also permits those files to be stored on foreign filesystems such as a PC and later recreated on a TI (ie: for a BBS).

See the section on TIFILES format.

Classic99 natively reads and writes TIFILES format files, and they can be directly transmitted to a real TI via most XMODEM terminal packages.

What is a "FIAD" file?

FIAD is the native V9T9 file format, and stands for "Files On A Disk". It allows storing TI files individually on a PC filesystem like TIFILES, but was devised to allow preserving the TI specific information such as the filename on a PC DOS filesystem.

Classic99 and V9T9 can read and write V9T9 format files, but they must be converted (either to TIFILES or stored on a disk image) before they can be transferred to a real TI.

Using an IDE drive

Q: 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

Exchanging files between host PC and emulated TI

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.

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

Classic99 Users: Classic99 can directly write Windows text files using either configuration or a special override sequence in the filename. It can also write to the clipboard using the device name "CLIP", which allows you to simply paste the text into any other editor.

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

Refer also to the article TiDir with which you can take for example a DV80 TI Writer file from an emulated disk, transfer it to a Windows Text File in a Windows directory and when you have finished editing it, transfer it back to a DV80 file then move the file onto an emulated disk image.


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!

TIImageTool

See the information on mizapf.de for a description of TIImageTool.