Setting up the HSGPL for MAME

From Ninerpedia
Jump to navigation Jump to search

Introduction

The HSGPL is a peripheral expansion expansion card created by the System-99 User Group (SNUG). It contains Flash ROM circuits and RAM circuits, so parts of its memory is persistent. The HSGPL is able to simulate 16 individual cartridges. They can be switched by the console-internal cartridge selection. The intended use is to dump a plugged-in cartridge on disk, and then to upload the data into one of the 16 banks.

In addition, the HSGPL replaces the GROMs in the console. When the card is plugged in, the console GROMs should be removed, or the card will not offer its complete functionality.

This also means that a completely blank HSGPL will not work. In that case, the TI system will immediately lock up with a black screen when turned on. The minimum contents of an HSGPL is a basic DSR and the console GROM contents. Each real HSGPL card is delivered with this minimum content.

The HSGPL emulation

In the TI part of the MESS emulator, the HSGPL card is emulated with the implementation to be found in machine/ti99/hsgpl.c. The complete circuitry is emulated by following the functional description (instead of utilizing the schematics and printed board layout). Since MESS does not provide ROM contents due to copyright restrictions, you have to get an own copy of the HSGPL DSR and initial memory contents. If you own an HSGPL you can dump the contents with your real TI and transfer them to the MESS TI emulation. Otherwise you should get in contact with the SNUG people and request a copy of the DSR.

You can select the HSGPL in the Driver Configuration menu. Locate the setting HSGPL extension and turn it on or off.

HSGPL extension       On

Once more, keep in mind:

If you activate the HSGPL extension without the initial ROM contents, the emulation will lock up. This is not an error - it perfectly mirrors the real happenings.

With the real hardware, you do not have to care about the initial setup. You cannot set up the card in-system; the flash ROMs have to be burned separately. After this initial procedure, you can certainly modify all contents (and, of course, render it unusable if you are careless enough).

Although in MESS we usually strive to stay with the real features as closely as possible, in this case we opted for a minor exception. The HSGPL emulation is slightly enhanced to its real counterpart by offering a special mode that allows us to upload an initial system without letting the empty card lock up out system. This mode can be selected as the HSGPL extension setting Flash:

HSGPL extension     Flash

Once you have uploaded the initial system you must set this switch to On in order to properly use the card.

Setting up Step-By-Step

In the following I will guide you through the setup process, picking you up with a completely blank HSGPL, and dropping you off with a completely working device.

Flashing the DSR on the card

Note that unless stated otherwise, SNUG states that the usage of the ROMs is only allowed for owners of a real HSGPL card.

The first thing to do is to install a DSR on the card. On the SNUG Website you will find a tool called DSRLDR3. This is a generic tool to burn contents onto a flash ROM. Also, you will find on that website the HSGPL rom packages, one for 40 column, one for 80 column setups. For the standard TI (without EVPC) we will go for the 40 column version. You need the "complete package". Make sure that you eventually have 8 files named HSGPL*.P99.

After downloading the files you must transfer them to the PC, either via disks and using a tool on the PC for reading TI-formatted disks, or via a serial connection. The DSRLDR3 program is stored in TIFILES format. Also, the ROMs in the DSR zip file are TIFILES files. You have to import these files into a disk image before using them in the emulation.

Supposed you have all eight files and the DSRLDR3 on your disk image,

  • launch the MESS emulator, selecting the ti99_4a(e) ROMs
  • insert the disk image in the file manager (on floppy 1), or set this in the command line arguments
  • insert the Editor/Assembler cartridge (RPK) in slot 1
  • load the DSRLDR3 program using option 5, "RUN PROGRAM FILE"

When the program starts you have a black screen with blue text on it. At first you have to set the file name of the DSR files to be burned onto the card. Type F for Filename and enter the name of the first DSR file on your disk. My files are named HSGPLDS0 to HSGPLDS7, so I enter DSK1.HSGPLDS0.

Next, type L for Load and confirm the safety dialog. If everything goes well you should observe all files being burned on the card, increasing the number of the file and the target location. If you get a warning message FlashID not recognized you should remove the old contents of the HSGPL by deleting the hsgpl.nv file. It is found in the nvram folder that was automatically created, and there in the system subdirectory.

Finally, a message should appear that all files have been loaded correctly. You can now leave the DSRLDR3 program.

Installing the console GROM content

The contents of GROMs 0-2 are contained in one of the flash ROMs as a backup, and we will now copy these data to the proper locations.

Using the HSGPL for different systems