REXsharp: Difference between revisions

From Bitchin100 DocGarden
Jump to navigationJump to search
No edit summary
 
(173 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:REXsharp.PNG]]
[[Image:REXsharp.PNG]]


'''under development! stay tuned!'''
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 --> [[Integrated VT100 driver|REX# / REXCPM Integrated VT100 driver]]
** multi-bank support (for T200 and NEC only)
** CNTL-A to start REX Manager quickly from Menu


= Overview =
= Overview =
Line 14: Line 36:




<big>'''Main Benefits of REX#'''</big>
<big>'''Main Features and Functions of REX#'''</big>


REX# (via REXMGR software) enables several key capabilities for the Model T user.   
REX# (via REXMGR software) enables several key capabilities for the Model T user.   
Line 20: Line 42:
* 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.
* 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.
* 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
* Additional nice things:  REX Manager fixes the Y2K date display problem


 
= Model T variants supported by REX# =
<big>'''Model T variants supported by REX#'''</big>


* TRS-80 Model 100
* TRS-80 Model 100
Line 33: Line 57:




=== M100 note ===
  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|Olivetti M10 ROM patch]]


* In Europe and UK, and probably elsewhere, there are newer versions of M100 that have different boards.
= Links =
* Model numbers are 26-3801B and 26-3802B.
* REX# does not function correctly in these models, due to the significantly different main ROM.


[[REX|REX Products home page]]


=== Olivetti M10 note ===
[[Ordering_Information|REX Products ordering information]]


* In order to use REX#, the Olivetti M10 must have it's main ROM updated to be "like the M100".
[[BCR_TTL_SERIAL_HACK|Hack to enable TTL serial data on the BCR port]]
* The M10 is compatible with standard 27C256 eproms, so it is a matter of obtaining the replacement main ROM image, burning the image and mounting the chip in the main ROM socket.
* the link to the M10 ROM page is below.


Olivetti M10 ROM patch
= Status =
[[Olivetti M10 ROM patch|Olivetti M10 ROM patch]]


  * REX# is now generally available, and can be ordered subject to availability.


=== Links ===
= Hardware Installation =
[[M100 CP/M|Philip Avery's M100 CP/M Page]]


[[REX|REX Products home page]]
Installation information for Model 100 here ----> [[REXsharp Installation in M100|REX# M100 install]]


[[Ordering_Information|REX Products ordering information]]
Installation information for Tandy 102 here ----> [[REXsharp Installation in T102|REX# T102 install]]


Installation information for Tandy 200 here ----> [[REXsharp Installation in T200|REX# T200 install]]


= Status =
Installation information for NEC here ----> [[REXsharp Installation in NEC|REX# NEC install]]


  * REX# is now generally available, and can be ordered subject to availability.
Installation information for M10 here ----> [[REXsharp Installation in M10|REX# M10 install]]
  * Inventory status will be kept up to date at the Ordering page.




Line 69: Line 98:
So, you have just received your REX# and want to get going.   
So, you have just received your REX# and want to get going.   


1)  follow the hardware installation steps
1)  Power down the laptop. Follow the hardware installation steps.


2)  power on your laptop, enter BASIC, and type
2)  Power on your laptop, enter BASIC, and type


M100/T102/M10:
M100/T102/M10:
   CALL63012
   CALL63012


T200 (Bank 1 only):
T200:
   CALL61167,2  
   CALL61167,2  


NEC (Bank 1 only):
NEC:
   EXEC62394  
   EXEC62394  


Line 94: Line 123:
* [[DLPlus]] for Linux/OSX/BSD, [[Desklink]] for Win98 or DOS or
* [[DLPlus]] for Linux/OSX/BSD, [[Desklink]] for Win98 or DOS or
* [[DLPilot]] for PalmOS 3.x era devices (UNVERIFIED, but should work)
* [[DLPilot]] for PalmOS 3.x era devices (UNVERIFIED, but should work)
as the best [[TPDD]] devices for use with REX Manager.
* 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 =


Here's what you need to do:
[[REX Manager User Guide for REXsharp]]


  0.  Read this entire page!  There is information further in the page that you need to know to be able to
= Technical Information =
      initialize the device, and get started
  00. '''AFTER''' going through the initialization procedure outlined below and the main REX software is loaded
      onto your REXCPM, it will be able to be used just like REX. You can review the information at the REX Wiki
      page for general information about REX use. But don't jump ahead just yet!


  1.  Install your REXCPM.  Links to information about installation in M100 and T102 is at this page, below.
  2.  Initialize your REXCPM by running RXCINI.DO.  This lets you load the RXCMGR application and initialize the directory.
      Unlike REX, REXCPM is based on RAM and cannot be shipped pre-programmed.
      The user must install the RXCMGR application, which is a binary file which must be loaded into a
      specific memory block in the SRAM.
      Additionally, the RXCMGR application needs a directory, to track what ROM images are stored in REX.
      Please scroll down and read about how to use RXCINI.DO.  Software is available below.
  3.  Now you are ready to use REXCPM and RXCMGR.  You can use it just like a REX.  Create ram backups, load option ROMs etc.


Work in progress!!!


Once initialization is complete, you can access RXCMGR.
= 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.  


  Power cycle the laptop to ensure that REXCPM hardware is in the default state.
see --> [[Integrated VT100 driver|REX# / REXCPM Integrated VT100 driver]]
  In BASIC, type
      CALL 63012
  This should start RXCMGR, and should install RXCMGR in the laptop directory.


= Hardware Installation =
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.


Installation information for Model 100 here ----> [[REXCPM Installation in M100|M100 install]]
Here is a simple basic program that de-scroll locks the screen and starts CPM.
It assumes RXCMGR is installed.


Installation information for Tandy 102 here ----> [[REXCPM Installation in T102|T102 install]]


= Use with M100CP/M =
  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


REX operation and CP/M operation are independent.  To install CP/M, follow the instructions on the M100CP/M page.
The link to Philip's M100CP/M page is near the top of this page.
Once CP/M is running, REX provides a quick mechanism to "jump" into it.


  REX Quick Menu function has been expanded to include a new command.
I will pick up a fix in the next bug-fix load...
  CNTL-C from MENU immediately transfers control to CP/M.


= Use with MVT100 external Video =
= Software =  


Currently the REXCPM "ROM" software is not compatible with the VT100 driver for M100I am working on integrating this function, but for now they conflict because they both try to use the CHGET hook.
REX Manager software is a 24kB binary image which is loaded into the lowest 24kB of the FLASH chipIt is what operates REX#, and allows the user to control and use the 1MB of flash storage.


It is possible to use use MVT100 with REXCPM by un-installing the REX hook (CNTL-X at MENU)After REX is inoperative, the VT100 driver can be loaded.  But since there is no way to remove the VT100 software once installed, I would suggest caution.
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".


As soon as I have integrated the VT100 driver into REXCPM, I will post an update.


= Documentation =
===REX# Manager Software===


   Stay tuned!
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.


= Software =


==="The ROM"===
Here's the software.


As shipped, REXCPM is a blank piece of SRAM.  In order to get rolling you need to load in the REXCPM "ROM" application.
To simplify obtaining the correct software, you can get them all as a single bundle:
Use RXCINI to load the following software.


Here's the software:
{| class="wikitable"
{| class="wikitable"
|'''REXCPM "ROM"'''||'''Build'''||'''Status'''||'''File'''
|'''REX# software and utilities bundle'''||'''Build'''||'''Note'''||'''File'''||'''Release notes'''
|-
|-
|RXC_11||39|| Beta. Still testing! ||[[Media:RXC_11_b39.ZIP|RXC_11_b39.ZIP]]
|Version 2.2|| 41 || bugfix release V2.2 November 22, 2023 ||[[Media:RXSV22_b41.ZIP|RX#V22_b41.ZIP]] ||
[[Media:V22_b41.zip|V22_b41.txt]]
|-
|Version 2.2|| 40 || bugfix release V2.2 November 4, 2023 ||[[Media:RXSV22_b40.ZIP|RX#V22_b40.ZIP]] ||
[[Media:V22_b40.zip|V22_b40.txt]]
|-
|Version 2.1|| 19 || bugfix release V2.1 March 14, 2021 ||[[Media:RXSV21_b19.ZIP|RX#V21_b19.ZIP]]||[[Media:V21_b19.zip|V21_b19.txt]]
|-
|Version 2.1|| 18 || bugfix release V2.1 March 13, 2021 ||[[Media:RXSV21_b18.ZIP|RX#V21_b18.ZIP]]||[[Media:V21_b18.zip|V21_b18.txt]]
|-
|Version 2.0|| 13 || bugfix release V2.0 January 2021 ||[[Media:RXSV20_b13.ZIP|RX#V20_b13.ZIP]]||[[Media:V20_b13.zip|V20_b13.txt]]
|-
|-
|}
|}


  Note:  REXCPM "ROM" software is based on classic REX with several differences.
          - 16 32k Blocks are available for use by the REXCPM "ROM"
          - the remaining SRAM is dedicated to CP/M use
          - the software has some simplifications
          - SRAM based operation means some low level changes to how REX works
          Please communicate any bug reports.


===Initialization===


A tool is available for initializing a fresh REXCPM, or if you want to rebuild it you can use this tool also.
  Note:
Since REXCPM is based on SRAM, and there is no on-board battery (only a large 1000uF capacitor), by the time you receive your REX the memory contents will be blank. So, you have to load REXCPM with the REXCPM application and any option ROMs you want to use.
  * 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


Here's the software:
{| class="wikitable"
|'''Utility'''||'''Version'''||'''File'''
|-
|RXCINI||1||[[Media:RXCINI.ZIP|RXCINI.DO]]
|-
|}


   Instructions
   Instructions
   ============
   ============
   1.  Make sure REXCPM is in default state, meaning
   1.  Make sure REX# is in default state, meaning
       a. RXCMGR is not running (use CNTL-X to remove hooks, or F7 from RXCMGR)
       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
       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.  
       c. Optionally, cold-rebooting the laptop after a power cycle ensures a clean state.  
   2.  Load RXCINI.DO via serial transfer, or TPDD transfer.  It is 8 bit ASCII.
   2.  Load RX#Ux.DO via serial transfer, or TPDD transfer.
      If transferring via serial, use 8 bit mode, not 7 bit.  RXCINI.DO contains encoded machine language. 
   3.  RUN RX#Ux.DO in BASIC.
   3.  RUN RXCINI.DO in BASIC.
       RX#Ux.DO allows you to choose to LOAD a REX# application (24kB file)
       RXCINI.DO allows you to do either or both of two processes:
   4.  Configure RX#Ux.DO to do the following:
      a.  You can choose to LOAD a REXCPM application (28kB file)
       a.  indicate YES to "Load REX code:" using space bar/enter
      b.  You can choose to INITIALIZE (reset to blank) the REX directory, which stores ROM image names. 
       b.  execute these choices by pressing Y.
      You can guess that initializing the directory removes any existing directory entries.
      The REXCPM application EXCLUDES the directory, so you must initialize the directory if you are
      starting from scratch and there is no existing directory (or stored images!).
   4.  Configure RXCINI.DO to do the following:
       a.  indicate YES to "Load REX code:"
       b.  indicate YES to "Init REX dir :"
      c.  execute these choices
   5.  The loader will load up the machine language routine, and begin to execute
   5.  The loader will load up the machine language routine, and begin to execute
   6.  To LOAD a fresh REXCPM application, RXCINI.DO accesses a remote TPDD device to get the binary 28k file.
   6.  To LOAD a fresh REX# Manager application, RX#Ux.DO accesses a remote TPDD server to get the binary 24k file.
       RXCINI.DO contains it's own TPDD access routines, and does not need a DOS.
       RX#Ux.DO contains it's own TPDD access routines, and does not need a DOS.
       a. Ensure a TPDD device is ready to go with the source file as needed.
       a. Ensure a TPDD server is ready to go with the source file as needed. ex. RX#_12.BR
       b. Supply the correct file name (6 characters, no extension, case sensitive)
       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
       File extension is automatically set to .BR
   7.  Let the program run
   7.  Let the program run
       When complete, REXCPM should have a fresh "ROM" load for REXCPM, and a freshly initialized directory.
      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.


  From BASIC,
  CALL 63012
  to start/install RXCMGR.




   Note:
   Note:
   If you see an error message - "Can't run!", this means that REXCPM is not in the default state.
  =====
   If you see an error message - "CAN'T RUN", this means that REX# is not in the default state.
  See instruction #1 above!


===Backup and Restore===
= Option ROM Images for Download =


A tool is available for backing up or restoring REXCPM memory contents to TPDD.
These zip files have been updated to include the latest TS-DOS, which Kurt McCullum has updated to address a directory bug.
Some of the REXCPM SRAM is dedicated to CP/M while other memory is dedicated to REX functionality.
This tool allows you to select:


  * Either a Backup or Restore process
[[Media:M100_OPTION_ROMSv2.zip|Validated OPTROM Images for M100/T102]]
  * REXCPM or CP/M memory regions
    REXCPM memory includes REXCPM ROM image + directory + 16 blocks
    Total of 17 32kB blocks.
    CP/M memory includes all of the CP/M disk space, including directory (but excluding CP/M OS)
    For 2MB, 40 32kB blocks.  For 4MB, 104 32kB blocks.
  * Serial port speed - 19200 8N1 or 76800 8N1 "Large Packet"


[[Media:T200_OPTION_ROMSv2.zip|Validated OPTROM Images for T200]]


The tool uses the standard RS-232 port on the M100.  Standard TPDD clients can operate at 19200 baud, but LaddieAlpha is capable of operation at 76800 baud, and also able to support large packet sizes, both of which help to speed up the process.
[[Media:NEC__OPTION_ROMSv2.zip|Validated OPTROM Images for NEC]]


  NOTE:  LaddieAlpha with 76800 Large Block support is not generally available yet.  Stay tuned.


Backup/Restore processes can take some time; use this table for guidance.
==TPDD Server Compatibility==
 
The following is a list of TPDD servers and status of interworking with REX#.


{| class="wikitable"
{| class="wikitable"
|'''Process'''||'''Memory size'''||'''Duration'''||'''Duration'''
|'''TPDD Server'''||'''REX# Build'''||'''Laptop'''||'''Status'''||'''Comment'''
|-
|-
|REXCPM||either||19200||5:20 min
| LaddieAlpha/Win10 || 19 || All|| Works || using real serial port
|-
|-
|CP/M||2MB||19200||13 min
| LaddieAlpha/Ubuntu14.04 || 19 || All|| Works || using real serial port
|-
|-
|CP/M||4MB||19200||33 min
| Real TPDD1 || 19 || M100 || Does not work ||  
|-
|-
|REXCPM||either||76800||2:10 min
| Real TPDD2 || 19 || M100 || Does not work ||  
|-
|-
|CP/M||2MB||76800||5 min
| mComm Windows/Win10 || 19 || M100|| Works || using real serial port
|-
|-
|CP/M||4MB||76800||13:15 min
| Desklink/Dosbox/Win10 || 19 || M100|| Works || using real serial port
|-
|-
|}
| NADSbox || 19 || M100|| Works ||
 
|-
Here's the software:
| Backpack || 19 || M100|| Does not work ||
{| class="wikitable"
|'''Utility'''||'''Version'''||'''File'''
|-
|-
|RXCUTL||1||[[Media:RXCUTL.ZIP|RXCUTL.DO]]
| DLPilot || 19 || M100|| Works || Palm3
|-
|-
|}
|}
  Instructions
  ============
  1.  Make sure REXCPM is in default state, meaning
      a. RXCMGR is not running (use CNTL-X to remove hooks, or F7 from RXCMGR)
      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 RXCUTL.DO into the M100 using a terminal program on PC (lots of ways to do this)
      It is 8 bit ASCII.
      If transferring via serial, use 8 bit mode, not 7 bit.  RXCINI.DO contains encoded machine language.
  3.  Enter BASIC and type RUN"RXCUTL.DO"
  4.  Select Process, REX or CP/M, and speed
  5.  The loader will load up the machine language routine, and begin to execute
  6.  Ensure that a TPDD client is attached to the serial port
  7.  For either process, supply 6 character case-sensitive name for the file.
      File extension is set to .BB
  8.  Once executed, RXCUTL will attempt to either write or read all required data to/from REXCPM SRAM.
  Note:
  If you see an error message - "Can't run!", this means that REXCPM is not in the default state.


= Acknowledgements =
= Acknowledgements =


I would like to thank those that have contributed to the project:
I would like to thank those that have contributed to the project:
'''Philip Avery''' - for his commitment to this project and for the port of CP/M to the M100


'''John Hogerhuis''' - for all his technical support, and for this Wiki resource
'''John Hogerhuis''' - for all his technical support, and for this Wiki resource
Line 301: Line 373:


'''Brian White''' - for his innovative PCB2MOLEX carrier design
'''Brian White''' - for his innovative PCB2MOLEX carrier design




= FAQ =
= FAQ =


'''Q. I am having trouble loading RXC***.DO using serial transferIt keeps crashing!'''
'''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 2E0/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.


A. Please ensure you are transferring the file to the laptop in 8 bit modeWhile the file is ASCII, it contains 8 bit ASCII because there is embedded machine language.
'''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 bankThis 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.


'''Q. Why do I need an adapter?'''
= Compatibility Issues =


A. The adapter does 3 things:  it disables the internal RAM, it sends 'RAM active' signal to REXCPM, and it provides battery power to REXCPM to keep the SRAM "alive".
  '''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 =


'''Q. Is Tandy 102 a plug and play installation?'''
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.


A. No. Model 100 is plug and play, but T102 requires soldering of a single wire.
Release 2.1
Details are available on this site for how to install on T102.
  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


'''Q. Will REXCPM come out for T200?'''
  Rel 2.1:  Interworking with actual TPDD does not work.  Fix pending.
  Coded R2.2 / Tested


AThere are currently no plans to support REXCPM in the T200 platform.
  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


'''Q. Will REXCPM come out for NEC PC-8201?'''
  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


A. This is being investigated.
  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.


'''Q. Are the REX memory images which REXCPM saves and restores to TPDD compatible with the images (.BY files) saved and restored by REX classic?  Ie. will I be able to take a .BY file I saved from my REX classic, load it into REXCPM, switch to it, and have everything work properly?  Or is this going to blow up in my face?  :)
= Feature Requests =


AThere were no changes in this functionality, so it should work.  I have not tested this though.  REXCPM is always 32k images, so your REXclassic image would also need to be 32k.
  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


'''Q. Can I access the banking functionality of REXCPM via BASIC?
  Rel 2.1:  All:  Allow use to de-install the active ROM, leaving no ROM active.  F6.
  Coded R2.2 / Tested


AYes.  There are 3 banksOption ROM 0000-7FFF, low RAM 8000-BFFF and high RAM C000-FFFF.  All 3 are accessible but the only practical use case is for Option ROM since BASIC uses both RAM banks.  The BASIC program would need to make use of a machine language routine to set the register value in REXCPM to the specific memory bank of interest.  Then, to access the RAM you would need another machine language routineExamples of such code can be made available at this wiki.
  Rel 2.1: AllSupport write-protect on RAM imagesImplemented
  Coded R2.2 / Tested




[[Category:Model T Hardware]]
[[Category:Model T Hardware]]

Latest revision as of 08:31, 27 January 2024

REXsharp.PNG

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 home page

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

V22_b41.txt

Version 2.2 40 bugfix release V2.2 November 4, 2023 RX#V22_b40.ZIP

V22_b40.txt

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