Difference between revisions of "Setting up the HSGPL for MAME"
Line 1: | Line 1: | ||
The following descriptions refer to MESS releases 0.146 and higher. | |||
'''Please respect the copyright of the SNUG. Usage of the ROMs is only allowed for owners of a real HSGPL card'''. | |||
== Introduction == | == Introduction == | ||
Line 5: | Line 9: | ||
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. | 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. | 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 == | == The HSGPL emulation == | ||
Line 11: | Line 15: | ||
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. | 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. | ||
To use the HSGPL you have to plug it into a slot of the [[Peripheral Expansion System | Peripheral Expansion Box]]: | |||
mess ti99_4a -peb:slot3 hsgpl ... | |||
Once more, keep in mind: | Once more, keep in mind: | ||
<div style="margin-left:2em; margin-right:2em; padding:1em; background-color:#eecccc">If you activate the HSGPL extension without the initial ROM contents, the emulation will lock up | <div style="margin-left:2em; margin-right:2em; padding:1em; background-color:#eecccc">If you activate the HSGPL extension without the initial ROM contents, the emulation will lock up.</div> | ||
This is not an emulation glitch - it is exactly what will happen with the real device. | |||
With the real hardware, you do not have to care about the initial setup. Moreover, you actually cannot set up the card in-system; the flash ROMs have to be burnt separately. After this initial procedure, you can certainly modify all contents (and, of course, render it unusable if you are careless enough). | |||
In MESS we slightly modify the HSGPL to allow for in-system flashing. We add a DIP switch in the MESS [[Dip switches]] menu: | |||
Once you have uploaded the initial system you must | HSGPL mode: Flash | ||
After you left the on-screen menu, press F3 to reset the system, and the TI should start up. The effect of this switch is that you can now actually access the card, but only in a region that does not hide the system GROMs. This suffices to flash the card. | |||
Once you have uploaded the initial system you must reset this switch to '''Normal''' in order to properly use the card. | |||
== Setting up Step-By-Step == | == Setting up Step-By-Step == | ||
Line 33: | Line 41: | ||
=== Flashing the DSR on the card === | === Flashing the DSR on the card === | ||
The first thing to do is to install a [[DSR]] on the card. On the [http://home.arcor.de/system-ninety-nine-user-group/index_e.htm SNUG Website] you will find a tool called DSRLDR3. This is a 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 get the 40 column version. You need the "complete package". Make sure that you eventually have 8 files named HSGPL*.P99. | |||
The DSRLDR3 program is stored in [[TIFILES format]], as are the ROMs in the DSR zip file. 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, you proceed as follows: | |||
* Launch the MESS emulator | |||
mess ti99_4a -peb:slot3 hsgpl -peb:slot8 hfdc -flop1 mysetup.dsk -cart editor_assembler.rpk | |||
You can also start the emulator on the command line without these arguments, or with a front-end like [[QMC2]]. Do not forget to insert the cards and media as written above. | |||
* Load the DSRLDR3 program [[Editor/Assembler#Run_Program_File|option 5]] | |||
* RUN PROGRAM FILE * | |||
FILE NAME? | |||
DSK1.DSRLDR3 | |||
When the program starts you have a black screen with cyan-colored text on it. At first you have to set the file name of the DSR files to be burnt 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 | |||
File: DSK1.HSGPLDS0 | |||
Next, type L for Load. You will get a warning | |||
Caution! Really programming? Confirm with "Y" | |||
Confirm the 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 files. They can be found in the nvram folder that was automatically created, and there in the system subdirectory (here: ''hsgpl/ti99_4a''). | |||
Finally, a message should appear: | |||
All Files loaded correctly (Any Key) | |||
which proves that all files have been loaded correctly. You can now leave the DSRLDR3 program with QUIT or FCTN-9. | |||
''' | Wait ... '''leave the configuration switch to "Flash"''' - you are not done yet. | ||
=== Installing the console GROM content === | === Installing the console GROM content === |
Revision as of 19:59, 21 November 2012
The following descriptions refer to MESS releases 0.146 and higher.
Please respect the copyright of the SNUG. Usage of the ROMs is only allowed for owners of a real HSGPL card.
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 are 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.
To use the HSGPL you have to plug it into a slot of the Peripheral Expansion Box:
mess ti99_4a -peb:slot3 hsgpl ...
Once more, keep in mind:
This is not an emulation glitch - it is exactly what will happen with the real device.
With the real hardware, you do not have to care about the initial setup. Moreover, you actually cannot set up the card in-system; the flash ROMs have to be burnt separately. After this initial procedure, you can certainly modify all contents (and, of course, render it unusable if you are careless enough).
In MESS we slightly modify the HSGPL to allow for in-system flashing. We add a DIP switch in the MESS Dip switches menu:
HSGPL mode: Flash
After you left the on-screen menu, press F3 to reset the system, and the TI should start up. The effect of this switch is that you can now actually access the card, but only in a region that does not hide the system GROMs. This suffices to flash the card.
Once you have uploaded the initial system you must reset this switch to Normal 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
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 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 get the 40 column version. You need the "complete package". Make sure that you eventually have 8 files named HSGPL*.P99.
The DSRLDR3 program is stored in TIFILES format, as are the ROMs in the DSR zip file. 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, you proceed as follows:
- Launch the MESS emulator
mess ti99_4a -peb:slot3 hsgpl -peb:slot8 hfdc -flop1 mysetup.dsk -cart editor_assembler.rpk
You can also start the emulator on the command line without these arguments, or with a front-end like QMC2. Do not forget to insert the cards and media as written above.
- Load the DSRLDR3 program option 5
* RUN PROGRAM FILE * FILE NAME? DSK1.DSRLDR3
When the program starts you have a black screen with cyan-colored text on it. At first you have to set the file name of the DSR files to be burnt 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
File: DSK1.HSGPLDS0
Next, type L for Load. You will get a warning
Caution! Really programming? Confirm with "Y"
Confirm the 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 files. They can be found in the nvram folder that was automatically created, and there in the system subdirectory (here: hsgpl/ti99_4a).
Finally, a message should appear:
All Files loaded correctly (Any Key)
which proves that all files have been loaded correctly. You can now leave the DSRLDR3 program with QUIT or FCTN-9.
Wait ... leave the configuration switch to "Flash" - you are not done yet.
Installing the console GROM content
If you now prematurely switch the HSGPL to on, you will still get a black screen when you restart the emulation. This is correct, as you have just unplugged the console GROMs but have not yet put content into the locations of the HSGPL that should replace these GROMs.
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. This must be done with a small assembler program. I wrote such a program that you have to assemble before using.
Type in the code, assemble using Editor/Assembler, and the run the program via option 3. The program will autostart, and after completion of the process, returns to the Master Title Screen. You should now open the OSD menu and change the switch to
HSGPL extension On
Now exit the emulation. Do not reset the emulator unless you have already unplugged the Editor/Assembler cartridge.
When you restart, make sure you do not have any cartridge plugged in, or the HSGPL card will crash (which is a bug in the emulation). Check that you remove Editor/Assembler and that you do not have any -cart1 or similar as command line option.
You know that HSGPL is working correctly when you see a new Master Title Screen which says below the center of the screen:
PRESS ANY KEY, SELECT GRM-BASE
Using the HSGPL for different systems
The HSGPL may be set up for 40 column operation or for 80 columns. The first option is used when you have a standard TI console; the second is recommended for those that have an EVPC video card, which adds 80 column capabilities.
The problem is that either version should not be used with the wrong system. This is handled by MESS, however, so you do not have to care about this. If you have a look at the nvram folder in your MESS installation directory you will notice that it contains subfolders named after the systems that were run. For instance, you will find a ti99_4a and a ti99_4ev folder which correspond to the stock console and to the EVPC-enhanced system.
You should now do the flash process for each system that you want to use the HSGPL card in. Each system gets an individual hsgpl.nv file so there is no mix-up.
The SGCPU
The SGCPU system is a comparably new TI computer system that was designed by the SNUG people and consists of an expansion card that contains the complete chipset of the original TI console. However, instead of the standard GROMs you have to use the HSGPL. And it also requires the EVPC card.
Accordingly, you will have to create a suitable HSGPL card first before you can use the SGCPU. This is done quite easily (when you know it, everything sounds easy):
- Prepare a HSGPL card on a ti99_4ev system.
- Copy the hsgpl.nv file to the ti99_4p subdirectory of the nvram directory.