Main ROM Management Feature: Difference between revisions

From Bitchin100 DocGarden
Jump to navigationJump to search
No edit summary
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Main ROM Management 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).
== Overview ==


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).


'''Why would you want this??'''
 
== Supported Models ==
 
  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?? ==




Line 19: Line 32:




'''How it works'''
== How it works ==




Line 43: Line 56:
*  Connect the chip select line for the main ROM to TP1 on REX.  This involves soldering.
*  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.
<table border="1">
<tr><td>Model</td><td>/CS 0x0000 to 0x7FFF</td><td>/CS 0x8000 to 0x9FFF</td><td>note</td></tr>
<tr><td>M100</td><td>TP1 <--> M12 pin 27 </td><td>N/A</td><td>pull ROM from socket</td></tr>
<tr><td>T102</td><td>TP1 <--> M12 pin 20 </td><td>N/A</td><td>snip pin at ROM, tie ROM pin to +5V</td></tr>
<tr><td>T200</td><td>TP1 <--> M15 pin 20 </td><td>TP2 <--> M13 pin 22 </td><td>pull ROMs from socket</td></tr>
<tr><td>PC-8201</td><td>TP2 <--> ROM0 pin20 </td><td>N/A</td><td>pull ROM from socket</td></tr>
</table>


'''The Primary ROM Image'''
== The Primary ROM Image ==




Line 56: Line 80:




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.
For M100/T102/T200, the signature is the changing of the word "MENU" to the word "Menu" at offset 0003H in the standard binary image.
   
For PC-8201, the signature is code 052H 'R' at offset 0007H in the standard binary image.


When REX sees the signature, 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 ==
 
'''Loading Primary and Secondary Images'''




Line 67: Line 92:




'''Using Primary or Secondary Images'''
== Using Primary or Secondary Images ==


Once you have  
Once you have  
Line 74: Line 99:
* opened up your laptop and
* opened up your laptop and
* disabled your main ROM(s)
* disabled your main ROM(s)
* run and wire from /CS to TP1 on REX
* 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.
then REX will be able to manage your main ROMs.


Line 82: Line 108:


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.
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'''
== The Hardware Mod ==




Line 99: Line 127:




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.
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 ==
== 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.
<table border="1">
<tr><td>Model</td><td>Description</td><td>File</td><td>Checksum</td><td>Submitter / Date</td></tr>
<tr><td>M100</td><td>Default Image for 32k Main ROM</td><td>[[Media:R_M100.BR|R_M100.BR]]</td><td>A32C</td><td>[[User:Sadolph|Sadolph]] 08:59, 18 October 2010 (PDT)</td></tr>
<tr><td>T102</td><td>Default Image for 32k Main ROM</td><td>[[Media:R_T102.BR|R_T102.BR]]</td><td>A922</td><td>[[User:Sadolph|Sadolph]] 08:59, 18 October 2010 (PDT)</td></tr>
<tr><td>T200</td><td>Default Image for 32k Main ROM</td><td>[[Media:RT2001.BR|RT2001.BR]]</td><td>E168</td><td>[[User:Sadolph|Sadolph]] 04:02, 14 February 2011 (PST)</td></tr>
<tr><td>T200</td><td>Default Image for 8k Main ROM</td><td>[[Media:RT2002.BR|RT2002.BR]]</td><td>AD06</td><td>[[User:Sadolph|Sadolph]] 04:02, 14 February 2011 (PST)</td></tr>
<tr><td>PC-8201</td><td>Default Image for 32k Main ROM</td><td>[[Media:R_8201.BR|R_8201.BR]]</td><td>FBD5</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 16:13, 7 November 2015 (PST)</td></tr>
</table>

Latest revision as of 16:19, 7 November 2015

Overview

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).


Supported Models

 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 0x9FFFnote
M100TP1 <--> M12 pin 27 N/Apull ROM from socket
T102TP1 <--> M12 pin 20 N/Asnip pin at ROM, tie ROM pin to +5V
T200TP1 <--> M15 pin 20 TP2 <--> M13 pin 22 pull ROMs from socket
PC-8201TP2 <--> ROM0 pin20 N/Apull 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.


For M100/T102/T200, the signature is the changing of the word "MENU" to the word "Menu" at offset 0003H in the standard binary image.

For PC-8201, the signature is code 052H 'R' at offset 0007H in the standard binary image.

When REX sees the signature, 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

THEN

  • 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.

ModelDescriptionFileChecksumSubmitter / Date
M100Default Image for 32k Main ROMR_M100.BRA32CSadolph 08:59, 18 October 2010 (PDT)
T102Default Image for 32k Main ROMR_T102.BRA922Sadolph 08:59, 18 October 2010 (PDT)
T200Default Image for 32k Main ROMRT2001.BRE168Sadolph 04:02, 14 February 2011 (PST)
T200Default Image for 8k Main ROMRT2002.BRAD06Sadolph 04:02, 14 February 2011 (PST)
PC-8201Default Image for 32k Main ROMR_8201.BRFBD5Sadolph (talk) 16:13, 7 November 2015 (PST)