REXsharp
Updated November 4, 2023
NEWS
Version 2.2 firmware is now released! See the Software section below for details. Version 2.2 offers the following improvements:
- introduction of a new feature - RAM image write-protect
- some improvements in how RAM images are managed
- list of bug fixes and features is captured below - see Features and Bug Fixes
Version 2.1 firmware is now available! See the Software section below for details.
Version 2.1 offers the following improvements:
- repaired a number of defects, most importantly repaired a defect when trying to use UR-2
Version 2 offers the following improvements:
- First, and most importantly, a serious bug that impacted stability is addressed in Version 2
- Version 2 also includes some new features:
- integrated VT100 video driver support (for M100/T102 only) see --> REX# / REXCPM Integrated VT100 driver
- multi-bank support (for T200 and NEC only)
- CNTL-A to start REX Manager quickly from Menu
Overview
What is REX#?
REX# is an add-on memory card that plugs into the Option ROM socket in a supported laptop, augmenting significantly the amount of memory in the laptop as well as what that memory can be used for.
- REX# provides 1MB of flash memory for the laptop.
- REX# puts bank switched flash memory into the OPTION ROM memory bank (1x32k bank)
- The 1MB flash (32 blocks of 32kB) may then be accessed, one 32k block at a time.
- REXMGR (aka REX Manager) software, loaded into the first 32k block, makes all this memory useful!
Main Features and Functions of REX#
REX# (via REXMGR software) enables several key capabilities for the Model T user.
- Option ROMs: Applications for Model T laptops were originally distributed as Option ROMs. These ROM images may be loaded into flash blocks, and then quickly switched/activated for use by REX Manager.
- RAM Images: Users can quickly backup or restore the current working RAM of the laptop into one of the 32k flash blocks. This provides a great way to store data, programs, or quickly recover from a cold boot situation.
- Quick Menu: the laptop main menu now has some custom keystrokes that speed up REX# usage.
- Active OPTROM display: the main menu also shows the name of the installed option ROM.
- Integrated VT100 external video driver support
- Additional nice things: REX Manager fixes the Y2K date display problem
Model T variants supported by REX#
- TRS-80 Model 100
- Tandy 102
- Tandy 200
- NEC PC-8201, 8201A, 8300
- Olivetti M10
- KC-85 (well I don't have one but I'm sure it would work!)
Notes ===== Model 100: * In Europe and UK, and probably elsewhere, there are newer versions of M100 that have different boards. * Model numbers are 26-3801B and 26-3802B. * REX# does not function correctly in these models, due to the significantly different main ROM. Olivetti M10 note: * In order to use REX#, the Olivetti M10 must have it's main ROM updated to be "like the M100". * The M10 is compatible with standard 27C256 eproms * Obtain the replacement main ROM image, burn the image and mounting the chip in the main ROM socket. * the link to the M10 ROM page --> Olivetti M10 ROM patch
Links
REX Products ordering information
Hack to enable TTL serial data on the BCR port
Status
* REX# is now generally available, and can be ordered subject to availability.
Hardware Installation
Installation information for Model 100 here ----> REX# M100 install
Installation information for Tandy 102 here ----> REX# T102 install
Installation information for Tandy 200 here ----> REX# T200 install
Installation information for NEC here ----> REX# NEC install
Installation information for M10 here ----> REX# M10 install
Quick Start
So, you have just received your REX# and want to get going.
1) Power down the laptop. Follow the hardware installation steps.
2) Power on your laptop, enter BASIC, and type
M100/T102/M10:
CALL63012
T200:
CALL61167,2
NEC:
EXEC62394
REX Manager will check for and install the REXMGR menu entry, and REX Manager will start.
REX# ships with TS-DOS pre-loaded, so you can get started with that application immediately.
In the main Menu of the laptop, you will see a program called REXMGR is now installed. You can run that program any time to enter REX Manager, to load and run all the different ROMs you wish, and to allow you to manage your RAM backups.
To load files to/from REX, you MUST have a way of hosting files REX can access over the serial (RS232) port.
To host files for transfer to REX via REX Manager alternatives include
- NADSBox, LaddieCon for Windows XP, 2000, Vista, Windows 7,
- DLPlus for Linux/OSX/BSD, Desklink for Win98 or DOS or
- DLPilot for PalmOS 3.x era devices (UNVERIFIED, but should work)
- Desklink
- mComm
Recommended TPDD Server
Unfortunately it is difficult to guarantee that REX# works under all possible conditions with all possible combinations of TPDD server, cabling options, real serial vs USB, bluetooth etc.
What I use is as follows, and I recommend it as it 100% reliable for me.
* PC (Linux (I use Ubuntu 16.04) or Windows (I use 10)) * Real RS-232 serial port support * LaddieAlpha as the TPDD server * Null modem RS-232 cable
Documentation
REX Manager User Guide for REXsharp
Technical Information
Work in progress!!!
Use with MVT100 external Video
Derived from the TRS-80 Disk Video Interface software (aka Disk Basic), both REX# and REXCPM include support now for the "integrated VT100 Driver". This is provided in V2 software, for M100/T102.
Note: No support planned for T200, NEC or M10, at this time.
see --> REX# / REXCPM Integrated VT100 driver
A minor issue has been identified. When switching from M100 to CP/M, it is possible that the M100 leaves the SCREEN in the scroll lock state.
Here is a simple basic program that de-scroll locks the screen and starts CPM. It assumes RXCMGR is installed.
CPM.BA 10 screen0:cls:print"Enabling scroll..." 20 screen2:printchr$(27);"W"; 25 screen1:printchr$(27);"W"; 30 screen0:print"starting CP/M....." 40 call32804,3
I will pick up a fix in the next bug-fix load...
Software
REX Manager software is a 24kB binary image which is loaded into the lowest 24kB of the FLASH chip. It is what operates REX#, and allows the user to control and use the 1MB of flash storage.
Also provided is a utility for testing REX#, and a utility for upgrading software. You shouldn't need the test utility in general, as it completely wipes any stored information in REX#. It can be useful though if you experience issues and you want to verify the hardware is fine, and "start from scratch".
REX# Manager Software
REX# Manager software operates REX#, integrates it with the laptop OS. Use RX#Ux.DO to load the following software into REX#.
'x' is a variable: 1,2 or N - depending on your model.
Here's the software.
To simplify obtaining the correct software, you can get them all as a single bundle:
REX# software and utilities bundle | Build | Note | File | Release notes |
Version 2.2 | 41 | bugfix release V2.2 November 22, 2023 | RX#V22_b41.ZIP | |
Version 2.2 | 40 | bugfix release V2.2 November 4, 2023 | RX#V22_b40.ZIP | |
Version 2.1 | 19 | bugfix release V2.1 March 14, 2021 | RX#V21_b19.ZIP | V21_b19.txt |
Version 2.1 | 18 | bugfix release V2.1 March 13, 2021 | RX#V21_b18.ZIP | V21_b18.txt |
Version 2.0 | 13 | bugfix release V2.0 January 2021 | RX#V20_b13.ZIP | V20_b13.txt |
Note: * Please communicate any bug reports. * I spend a lot of time testing, but I really benefit from users finding issues! Thanks!
REX# Upgrade Utility
A tool is available below for loading revised REX# Manager software into REX#.
Notes: ====== * Only use this software if you intend to load new REX# Manager software into REX#. * This software is provided as an ASCII file compatible with 7-bit transfers. * It includes checksum calculation to detect problems in file transfer and loading. * Important! If you get the message "CAN'T RUN" ---> please remove the REX hook (CNTL-X or F7) ---> power cycle ---> and try again
Instructions ============ 1. Make sure REX# is in default state, meaning a. REX# Manager is not running (use CNTL-X to remove hooks, or F7 from REXMGR) b. Power cycle once, to ensure the default memory blocks are selected c. Optionally, cold-rebooting the laptop after a power cycle ensures a clean state. 2. Load RX#Ux.DO via serial transfer, or TPDD transfer. 3. RUN RX#Ux.DO in BASIC. RX#Ux.DO allows you to choose to LOAD a REX# application (24kB file) 4. Configure RX#Ux.DO to do the following: a. indicate YES to "Load REX code:" using space bar/enter b. execute these choices by pressing Y. 5. The loader will load up the machine language routine, and begin to execute 6. To LOAD a fresh REX# Manager application, RX#Ux.DO accesses a remote TPDD server to get the binary 24k file. RX#Ux.DO contains it's own TPDD access routines, and does not need a DOS. a. Ensure a TPDD server is ready to go with the source file as needed. ex. RX#_12.BR b. When asked for a NAME, Supply the correct file name (6 characters, no extension, case sensitive) ex RX#_12 File extension is automatically set to .BR 7. Let the program run You should see a counter counting up from zero to 24,576 bytes When complete, REX# should have a fresh software load installed. The directory should be unchanged, and the saved images should be intact.
To (re)install REXMGR: --->Power off. --->Power on. --->From BASIC, ---> CALL 63012 (M100) ---> CALL 61167,2 (T200) ---> EXEC 62394 (NEC) You should see RXCMGR as a MENU entry. Selecting that will start REXMGR software. Important! If you have an old copy of REXMGR in RAM, REXMGR will detect the old copy, and erase/replace it if it is different than the new version.
Note: ===== If you see an error message - "CAN'T RUN", this means that REX# is not in the default state. See instruction #1 above!
Test your REX# Installation
A tool is available to test your REX# in the laptop after it is installed.
IMPORTANT!! This utility will completely erase the FLASH, wiping all stored images! So use this with caution please.
This tool performs the following processes:
- it erases the flash
- it verifies the flash chip memory is working correctly
- it verifies that REX# can select and swap memory blocks correctly
- when finished testing, it will reload REX# Manager software and TS-DOS
- this tool looks for RX#_x2.BR image, and TSDx01.BX (where x indicates model.. 1,2,N)
RX#_x2.BR image is available on this page, above. TSDx01.BX image is available in the Validated OPTROM download, below.
Notes: ====== * Only use this software if you intend to completely wipe, test and rebuild your REX#!! * This software is provided as an ASCII file compatible with 7-bit transfers. * It includes checksum calculation to detect problems in file transfer and loading. * Important! If you get the message "CAN'T RUN" ---> please remove the REX hook (CNTL-X or F7) ---> power cycle ---> and try again
Instructions ============ 1. Make sure REX# is in default state, meaning a. REX# Manager is not running (use CNTL-X to remove hooks, or F7 from REXMGR) b. Power cycle once, to ensure the default memory blocks are selected c. Optionally, cold-rebooting the laptop after a power cycle ensures a clean state. 2. Load RX#Tx.DO via serial transfer, or TPDD transfer. 3. RUN RX#Tx.DO in BASIC. RX#Tx.DO asks you to confirm that you want to run this program. 4. Confirm that you want to execute the program: a. indicate YES to "Execute program? " using space bar/enter b. execute this choice by pressing Y. 5. The loader will load up the machine language routine, and begin to execute. Testing will proceed, and if there is an issue identified the testing will halt at the failure. 6. If testing is successful, the tool will automatically start to load in the REX# Manager image, as well as TS-DOS. RX#Tx.DO contains it's own TPDD access routines, and does not need a DOS. a. Ensure a TPDD server is ready to go with the source files as needed. 7. When complete, REX# should have a fresh software load installed. The directory should be initialized, and TS-DOS should be loaded.
Note: ===== If you see an error message - "CAN'T RUN", this means that REX# is not in the default state. See instruction #1 above!
Option ROM Images for Download
These zip files have been updated to include the latest TS-DOS, which Kurt McCullum has updated to address a directory bug.
Validated OPTROM Images for M100/T102
Validated OPTROM Images for T200
Validated OPTROM Images for NEC
TPDD Server Compatibility
The following is a list of TPDD servers and status of interworking with REX#.
TPDD Server | REX# Build | Laptop | Status | Comment |
LaddieAlpha/Win10 | 19 | All | Works | using real serial port |
LaddieAlpha/Ubuntu14.04 | 19 | All | Works | using real serial port |
Real TPDD1 | 19 | M100 | Does not work | |
Real TPDD2 | 19 | M100 | Does not work | |
mComm Windows/Win10 | 19 | M100 | Works | using real serial port |
Desklink/Dosbox/Win10 | 19 | M100 | Works | using real serial port |
NADSbox | 19 | M100 | Works | |
Backpack | 19 | M100 | Does not work | |
DLPilot | 19 | M100 | Works | Palm3 |
Acknowledgements
I would like to thank those that have contributed to the project:
John Hogerhuis - for all his technical support, and for this Wiki resource
Kenneth Pettit - for VirtualT as this project would not have happened without it
Brian White - for his innovative PCB2MOLEX carrier design
FAQ
What is that new D0 thing? That indicates VT100 driver status. D0 means VT100 driver is inactive. S0/S1/S2 means Safe mode is active, on screen 0, 1 or 2. E0/E1/E2 means Expert mode on screen 0, 1 or 2. I don't recommend using Expert mode!
Why does the screen redisplay once when I TAB to a new bank in T200/NEC? What is happening, is that REX# is being de-installed from the original bank, and re-installed in the new bank. So, during the bank switch, as soon as MENU starts up in the new bank, REXMGR is auto-re-installed. This is followed by a restart.
Why does bank switching take longer than normal in T200/NEC? A normal bank switch just switches the bank followed by a restart. With REX#, it is important to de-install REXMGR from the original bank, and then re-install in the new bank. This adds time to the process of bank switching. Bank switching takes about 3 seconds.
I have a T200 with REX#. Why is the REX# menu only using 8 lines of the screen and not 16? This is a reasonable question.. most T200 software uses the entire screen. With REX#, There really isn't a need for more than 8 lines for how the manager software works. It would be a major re-design to find a way to make T200 seem more native. The approach used here is clearly to re-use all of the same structures as defined for M100, on T200.
Compatibility Issues
UR-2 VIEW80 in M100/T102/NEC When you enable VIEW80 in UR-2, the timer hook is used by UR-2 to alter the screen. This disables REX Manager, and so when you exit UR-2 to MENU, REX# will not be responsive. Simply run REXMGR again to reactive REX Manager.
Bugs
Release 2.2
Rel 2.2: All: Month October is shown as Ont not Oct. Will be fixed in build 41. Rel 2.2: All: Noticed that "write protect" isn't always working correctly. Investigating.
Release 2.1
Rel 2.1: All: Fix the date display. Fix bugs, and replicate system format for Date display. Coded R2.2 / Tested
Rel 2.1: M100/T102: Make display tolerant to "hardware scrolling main ROM". Coded R2.2/ Tested
Rel 2.1: Interworking with actual TPDD does not work. Fix pending. Coded R2.2 / Tested
Rel 2.1: NEC: noticed that, with only one RAM bank installed, pressing TAB or BANK causes laptop to hang in MENU. This should not happen. Probably affects T200 as well. Yes it did. Coded R2.2 / Tested
Rel 2.1: All: Reduce time on power up before option rom is switched, to prevent undesired uninstall of option rom. Coded R2.2 / Tested
Rel 2.1: T200: UR-2 support seems like it is broken. Major defect discovered, coding error on my part. Fixed. Coded R2.2 / tested
Rel 2.1: NEC 8200: Bank switch does not handle memory protect switch on. TBD
Rel 2.1: MVT100 driver: some instability related to auto-power off. Investigating. TBD.
Feature Requests
Rel 2.1: Request to put an "Overwrite?" option to allow images to be saved when one exists already. Great idea! Coded R2.2 / Tested
Rel 2.1: All: when switching RAMs, give option to re-save current RAM or not. Coded R2.2 / Tested
Rel 2.1: M100: add quickmenu command to reNAME or KILL a file in MENU. T200: add quickmenu command to NAME a file in MENU. Coded R2.2 / Tested
Rel 2.1: All: Allow use to de-install the active ROM, leaving no ROM active. F6. Coded R2.2 / Tested
Rel 2.1: All: Support write-protect on RAM images. Implemented Coded R2.2 / Tested