Main ROM Management Feature
Main ROM Management, supported in release 4.6, is feature in REX whereby the internal system ROM(s) may be replaced by specific blocks in REX. There are 4 blocks reserved for this - block 2 (2 and 3 for T200) for the "Primary" Main ROM, and block 4 (4 and 5 for T200) for the "Secondary". In the M100/T102, only 32k is required for the Main ROM, but in the T200, 64k is needed (occupying block 3 and 5 also).
The following models can use Main ROM Management: Model 100 Tandy 102 Tandy 200 NEC PC-8201
Note: PC-8300 cannot use Main ROM Management.
Why would you want this??
Well, you get to apply updates to your system ROM.
- Y2K fix
- custom character sets
- Lomem modification
- fixs to other known bugs in the M100 rom
- Your own name replacing Microsoft
- you get the idea.
How I recommend approaching this, is to leave the default standard main ROM image in block 2, and the put any crazy new main roms in block 4. That way you always have a good system ROM to rely on.
The Primary main ROM (block 2) is the power up default for REX, and should be handled carefully.
How it works
REX Manager always uses the Primary ROM to operate, but allows the selection of either Primary or Secondary when using the laptop and applications. (REXMGR needs the standard image routines).
When configured correctly, the user can identify which ROM image should be operational. At power up, REX defaults to operate from the Primary ROM, however as part of the autoconfiguration function, the user's preference of Primary or Secondary is detected and configured, so that the laptop is operating in it's prefered state.
NOTE - IF YOU PUT A BAD IMAGE IN PRIMARY AND USE IT, REX WILL BE NON FUNCTIONAL. YOU WILL HAVE TO PHYSICALLY REINSTALL YOUR MAIN ROM TO RECOVER.
NOTE - IF YOU PUT A BAD IMAGE IN SECONDARY AND SELECT IT, REX WILL BE NON FUNCTIONAL. YOU WILL HAVE TO COLD BOOT YOUR LAPTOP TO RECOVER.
You can use the checksum feature to confirm your loading of images.
To replace the system ROM you have to do a few things
- Prepare REX by inserting a specific default system ROM image in the Primary location.
- Disable your internal main ROM (remove it or otherwise)
- Connect the chip select line for the main ROM to TP1 on REX. This involves soldering.
Connection point for Main ROM Management
The chip select line(s) have to be connected to REX. The following table identifies where to connect the chip select lines.
|Model||/CS 0x0000 to 0x7FFF||/CS 0x8000 to 0x9FFF||note|
|M100||TP1 <--> M12 pin 27||N/A||pull ROM from socket|
|T102||TP1 <--> M12 pin 20||N/A||snip pin at ROM, tie ROM pin to +5V|
|T200||TP1 <--> M15 pin 20||TP2 <--> M13 pin 22||pull ROMs from socket|
|PC-8201||TP2 <--> ROM0 pin20||N/A||pull ROM from socket|
The Primary ROM Image
Turns out that REX cannot easily tell when it is providing the main ROM or not. But, since there is both a Primary and Secondary main ROM capability, REX needs to know if it is providing the function so that it can be managed correctly.
How we get around this limitation is that, for any Main ROM image in REX, we must embed a specific sequence in a specific location, to tell REX when it's main ROM images are active.
Any ROM image that is installed in REX for use in Main ROM Replacement must have a small signature included.
This signature is the chaning of the word "MENU" to the word "Menu" at offset 0003h in the standard binary image. When REX sees lower case characters, it "deduces" that the original internal ROM is no longer in use, and one of the REX based main ROM images is in use.
Loading Primary and Secondary Images
Using REX Manager (4.6 or higher), tab to the SYS menu. In this menu you may load 32kb images from TPDD representing your desired ROM images into either the Primary or Secondary locations.
Using Primary or Secondary Images
Once you have
- loaded at least the default Primary image FIRST, and
- opened up your laptop and
- disabled your main ROM(s)
- run and wire from /CS of the Main ROM to TP1 on REX
- if T200, then run a wire from /CS of the 2nd (8kb) Main ROM to TP2 on REX
then REX will be able to manage your main ROMs.
REX Manager always uses the Primary ROM, but allows the selection of either Primary or Secondary for laptop applications.
You can freely update your Secondary ROM as you wish to implement and try out other ROM images. So long as the Primary ROM remains intact you can always recover your REX from a nasty main ROM installation in the Secondary ROM.
Once REX is providing the main ROM, users cannot update, change or delete the Primary image on REX using REX Manager.
The Hardware Mod
There are lots of ways to this. It is much easier on T200 and M100 than T102, since the ROM in T102 is soldered.
The minimum job is to disable the internal ROM(s) and hardwire REX to the /CS lines. A more clever thing to do is to make a little switch circuit that allows the main rom chips to be selected or deselected manually. That is possible but more work.
For now I will say consult the schematics for detailed information, and roll your own.
For M100/T200, I would it is as easy as removing the main ROM chip(s) and running a single wire to REX from the /CS pin on the ROM socket to TP1 (TP1 and TP2 on T200).
For T102, you have to disable the main ROM, either by snipping /CS and soldering the chip pin to +5V, or by removing the chip completely.
On T200, the first Main ROM (32kb) is M15 and /CS is on pin 20. Also, the 2nd Main ROM (8kb) is M13 and /CS is on pin 22.
Main ROM Image files
The following files are default base image files which have been modified for use with Main ROM Management. They have MENU converted to Menu at 0003h. These files also have the Y2K patch applied.
Using the T102 image in the M100 is a nice way to get the fixes for a number of small ROM bugs in the original operating system.
|Model||Description||File||Checksum||Submitter / Date|
|M100||Default Image for 32k Main ROM||R_M100.BR||A32C||Sadolph 08:59, 18 October 2010 (PDT)|
|T102||Default Image for 32k Main ROM||R_T102.BR||A922||Sadolph 08:59, 18 October 2010 (PDT)|
|T200||Default Image for 32k Main ROM||RT2001.BR||E168||Sadolph 04:02, 14 February 2011 (PST)|
|T200||Default Image for 8k Main ROM||RT2002.BR||AD06||Sadolph 04:02, 14 February 2011 (PST)|
|PC-8201||Default Image for 32k Main ROM||R_8201.BR||FBD5||Sadolph (talk) 16:13, 7 November 2015 (PST)|