REXCPM Setup
The REXCPM is a TRS-80 Model 100 addon that provides option ROM emulation, additional memory, and some system hooks. It uses RAM to store all data that will need to be re-programmed every time power is lost to the system.
Notes:
- Shift+Break ends current execution
- The Tandy Portable Disk Drive (TPDD) is emulated using a server program on a modern host computer. I use DL2
- The TPDD is not directly supported by the M100's original software and will use client applications to transfer files.
- You will need to be able to directly send a file over serial to the M100. The
-b
parameter of DL2 can do this, but I prefer to use CuteCom. - Windows users should look here for their options to send files over serial and for a TPDD server.
Required Files
Before starting you should collect all of the following files and put them in a single folder your TPDD server will host to the Model 100. With the exception of RXCINI.DO
which will be sent raw over serial.
RXCINI.DO
,RXC_12.BR
- https://bitchin100.com/wiki/index.php?title=REXCPM#SoftwareCPMUPD.CO
,CPM.CO
, (Cpm410.bk
orCpm210.bk
) - https://bitchin100.com/wiki/index.php?title=M100_CP/M#Installation_and_Set_UpTSD100.BX
- https://bitchin100.com/wiki/index.php?title=REXCPM#Option_ROM_Images_for_Download
Whether you need Cpm410.bk
or Cpm210.bk
depends on if you have the 4MB or 2MB REXCPM hardware respectively.
Create a folder with all of these files in it and prepare to host it with your TPDD server but don't start it yet.
Bootstrapping
You need to send the raw contents of the BASIC program rxcini.do
to the M100 over serial. It will receive it and store it in a file.
Tip: Read through the numbered steps here fully first, you can make a file named “test” and send it some plain text first to confirm your serial connection is working.
- From the main menu run
TEXT
- Set the filename to
RXCINI.DO
* - Press [F2] to Load - Note: Press the [Label] key to see what the function keys do
- Type
COM:88N1D
(9600 baud, 8 Data Bits, None Parity, 1 Stop Bit, No Flow Control)** and press enter. - Note: It will not do anything except stop blinking the cursor after pressing enter. - Connect you M100 to a host computer with a serial port
- Use a serial client to send the contents of the
RXCINI.DO
file over a serial port from your host computer. - Press [Shift]+[Break] on the M100 to end the transfer.
- Press [F8] to return to the menu
* I would recommend using file extensions for most commands, they are not always needed but can act as a secondary form of error checking.
** See Page 86 of the TRS-80 Model 100 User’s Guide for information on the serial port configuration parameters
REX Initialization
The REX board cannot hold the firmware without power. We are going to load in the firmware which will make the following steps to get CP/M running possible.
To complete the following setups you will need a TPDD server running with the *.BR
firmware file in the folder it is hosting.
- On your host computer start the TPDD server
- From the main menu run
BASIC
- Run the command
RUN "RXCINI.DO"
- For the first time you run this select “Yes” to both questions.
- Wait for the steps to finish
- When prompted for a name, enter
RXC_12
(the name of the file ending inBR
) your TPDD server is hosting. - The initialization will complete after transferring this file.
From this point the firmware has been loaded and is available in the background. The TRS-80 Model 100 does not know to access it though. You will use a system CALL
command to load it. These steps are run immediately after the previous steps, but if you ever remove the REXCPM hooks you will need to re-run this to be able to access it again.
- Continue from or re-enter
BASIC
- Run the command
CALL 63012
to initialize the REX manager - You should be brought back to the menu
You will now see the new program RXCMGR
, this allows you to add option ROMs to the M100 to run more complex native M100 software.
TPDD Client
The original TPDD required the user to do similar bootstapping to what we have done so far. From here what we are going to do instead of installing a FLOPPY.CO
program though is add the option ROM TSD100.BX
with a full file management client.
- Run the new program
RXCMGR
- Press [TAB] to switch tom ROM mode
- Press [F2] to Load
- Enter
TSD100
and press [Enter] - Note: The BX extension is for ROM software and BY is for RAM. It will not let you type an extension because it is assumed based on the menu you are in - Press enter on
TSD100
to load it
You will now have the TSD100 TPDD client installed. This will let you easily copy any type of file to the M100. We cannot use the TEXT program to transfer the next needed files because it will not let you create a file with a CO extension. So a proper TPDD client is needed.
Install CP/M
With the firmware loaded onto the REX module and the TPDD client you are finally ready to copy and install CP/M, make sure you have a folder with the required CP/M files in it hosted using a TPDD server.
- Run
TSD100
from the main menu - Press [F4] to switch to the disk view
- Select
CPMUPD.CO
and press [F1] to load it onto the M100 - Press [Enter] after to copy it with the original filename
- Repeat steps 3 & 4 to copy
CPM.CO
- Press [F8] to return to the menu
- Enter BASIC
- Run
CLEAR 0,60000
- Note: This is required or the CPMUPD program will beep and quit - Press [F8] to return to the menu
- Run
CPMUPD.CO
- Enter either
cpm410.bk
orcpm210.bk
depending on if you have the 4MB or 2MB REXCPM hardware respectively. - Let it transfer the files which does take a while
- Done!
With those steps done, from the main menu pres [CTRL]+[C] to load CP/M. [F8] can be used to exit like any other program.
Adding software
The CP/M enenvironment is completely separate from the normal M100 file area. It also does not have the same 6.2 filename restriction. This makes transferring files a little tricky.
The M100 CP/M install comes with import
and export
programs which act as TPDD clients for loading and saving applications while also renaming them. There are some TPDD server workarounds, but the most consistent way to copy files will be to rename any CP/M files to the 6.2 format and copy them using the TPDD server while renaming them back to normal on the M100.
As an example, the file HITCHHIK.DAT
could be renamed to HITCH.DA
on the host computer and copied on the M100 from a TPDD server using the following command in CP/M:
import HITCH.DA HITCHHIK.DAT