REXsharp: Difference between revisions

From Bitchin100 DocGarden
Jump to navigationJump to search
No edit summary
No edit summary
Line 1: Line 1:
[[Image:REXsharp.PNG]]
[[Image:REXsharp.PNG]]




Line 5: Line 6:


    
    
Version 2 firmware is now available! See the Software section below for details.
<big>Version 2 firmware is now available! <big> See the Software section below for details.
Version 2 offers the following improvements:
Version 2 offers the following improvements:
* First, and most importantly, a serious bug that impacted stability is addressed in Version 2
* First, and most importantly, a serious bug that impacted stability is addressed in Version 2
Line 133: Line 134:
= Use with MVT100 external Video =
= Use with MVT100 external Video =


Currently the REX Manbager software is not compatible with the VT100 driver for M100.  I am working on integrating this function, but for now they conflict because they both try to use the CHGET hook.
Supported in V2 software, for M100/T102.  No support planned for T200, NEC or M10.
 
 
= 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===
 
As shipped, REXCPM is a blank piece of SRAM.  In order to get rolling you need to load in the REXCPM "ROM" application.
Use RXCINI to load the following software.
 
  '''Release Notes:'''
  '''=============='''
  '''Version 2 build 7 - Jan 2021'''
  * includes new features - VT100 support, multi-bank support, date/time sort
  * also includes a significant bug-fix.
  * it is highly recommended that users upgrade their software
 
  '''Version 1'''
  * initial software version, shipped on REX# prior to Jan 2021.
 
 
Here's the software:
{| class="wikitable"
|'''REX# "ROM"'''||'''Model'''||'''Build'''||'''Status'''||'''File'''
|-
|RX#_12||M100/T102||7|| latest, bug fix, features ||[[Media:RX#_12_b7.ZIP|RX#_12_b7.ZIP]]
|-
|-
|RX#_22||T200||7|| latest, bug fix, features ||[[Media:RX#_22_b7.ZIP|RXN_22_b7.ZIP]]
|-
|-
|RX#_N2||NEC||7|| latest, bug fix, features ||[[Media:RX#_N2_b7.ZIP|RX#_N2_b7.ZIP]]
|-
|}
 
 
  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
 
 
Here's the software:
{| class="wikitable"
|'''Utility'''||Model||'''Version'''||'''File'''
|-
|RX#U1||M100/T102||2||[[Media:RX#U1v2.ZIP|RX#U1.DO]]
|-
|-
|RX#U2||T200||2||[[Media:RX#U2v2.ZIP|RX#U2.DO]]
|-
|-
|RX#UN||NEC||2||[[Media:RX#UNv2.ZIP|RX#UN.DO]]
|-
|}
 
  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 device 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 device is ready to go with the source file as needed.
      b. Supply the correct file name (6 characters, no extension, case sensitive)
      File extension is automatically set to .BR
  7Let the program run
      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
 
  You should see RXCMGR as a MENU entry.  Selecting that will start RXCMGR 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.
 
What the tool does, is it tests each block of SRAM to see if it works.
You have some options in the tool.
 
  Notes:
  ====== 
  * Blocks are switched in and tested one at a time
  * Memory is tested from bottom address 8000h
  * To speed up the test you can reduce the address range, and/or skip bytes
  * You can select the stop address - either C000h (full) or 9000h (partial)
  * You can either test every byte, or skip to every 16th byte
 
  About Version 2
  ===============
  * Faster loading, safer 7 bit HEX ASCII machine language encoding
  * 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 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 RXCTST.DO via serial transfer, or TPDD transfer.  It is 8 bit ASCII.
      If transferring via serial, use 8 bit mode, not 7 bit.  RXCTST.DO contains encoded machine language. 
  3.  RUN RXCTST.DO in BASIC.
  4.  Make selections to configure the test.
  5.  The loader will load up the machine language routine, and begin to execute
  6.  Let the program run
  7.  It will report the size of RAM; 2MB = 128, 4MB = 256.  It will report any errors or success.
 
  Of course, you have just completely erased your REXCPM at this point. Use RXCINI to rebuild it.
 
 
Here's the software:
{| class="wikitable"
|'''Utility'''||'''Version'''||'''File'''
|-
|RXCTST||2||[[Media:RXCTST.ZIP|RXCTST.DO]]
|-
|}
 
===Backup and Restore===
 
A tool is available for backing up or restoring REXCPM memory contents to TPDD.
 
Some of the REXCPM SRAM is dedicated to CP/M while other memory is dedicated to REX functionality.
 
Backup and restore of either the REX side or the CP/M side gives the user a means to create complete images of the memory over time, so if needed the machine can be brought back to the desired state.
 
 
  Notes:
  ======
  * Either a Backup or Restore process
  * 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"
 
  About Version 2:
  ================
  * Faster loading, safer 7 bit HEX ASCII machine language encoding
  * If you get the message "CAN'T RUN"
  ---> please remove the REX hook (CNTL-X or F7)
  ---> power cycle
  ---> and try again
 


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.
The tool uses the standard RS-232 port on the M100Standard 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.


As soon as I have integrated the VT100 driver into REXCPM, I will post an update.
  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.


= Software =  
{| class="wikitable"
|'''Process'''||'''Memory size'''||'''Duration'''||'''Duration'''
|-
|REXCPM||either||19200||5:20 min
|-
|CP/M||2MB||19200||13 min
|-
|CP/M||4MB||19200||33 min
|-
|REXCPM||either||76800||2:10 min
|-
|CP/M||2MB||76800||5 min
|-
|CP/M||4MB||76800||13:15 min
|-
|}
 
Here's the software:
{| class="wikitable"
|'''Utility'''||'''Version'''||'''File'''
|-
|RXCUTL||2||[[Media:RXCUTL.ZIP|RXCUTL.DO]]
|-
|}


===REXMGR ROM Image===
  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 7 bit ASCII.  RXCINI.DO contains HEX ASCII 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.


As shipped, REX# contains the currently supported REX Manager ROM image.  It also includes TS-DOS.
  Note:
Upgrades to REX Manager ROM will be provided over time to address bugs or possibly add features.
  =====
  If you see an error message - "CAN'T RUN", this means that REXCPM is not in the default state.
  See instruction #1 above!


'''this will be updated when there is an upgrade available'''




===Upgrade Utility for REX#===




A tool is available for upgrading REX# to a newer build.


'''this will be updated when there is an upgrade available'''


= Option ROM Images for Download =
= Option ROM Images for Download =

Revision as of 06:12, 4 January 2021

REXsharp.PNG


NEWS

Version 2 firmware is now available! See the Software section below for details. 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)
    • multi-bank support (for T200 and NEC only)


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.
  • 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, 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 --> Olivetti M10 ROM patch

Links

REX Products home page

REX Products ordering information

Status

  * REX# is now generally available, and can be ordered subject to availability.
  * Inventory status will be kept up to date at the Ordering page.

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 (Bank 1 only):

  CALL61167,2 

NEC (Bank 1 only):

  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

as the best TPDD devices for use with REX Manager.


Recommended TPDD Client

Unfortunately it is difficult to guarantee that REX# works under all possible conditions with all possible combinations of TPDD client, 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
  * Laddie Alpha as the TPDD client
  * Null modem RS-232 cable

Documentation

REX Manager User Guide for REXsharp

Technical Information

Use with MVT100 external Video

Supported in V2 software, for M100/T102. No support planned for T200, NEC or M10.


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

As shipped, REXCPM is a blank piece of SRAM. In order to get rolling you need to load in the REXCPM "ROM" application. Use RXCINI to load the following software.

  Release Notes:
  ==============
  Version 2 build 7 - Jan 2021
  * includes new features - VT100 support, multi-bank support, date/time sort
  * also includes a significant bug-fix.
  * it is highly recommended that users upgrade their software
  Version 1
  * initial software version, shipped on REX# prior to Jan 2021.


Here's the software:

REX# "ROM" Model Build Status File
RX#_12 M100/T102 7 latest, bug fix, features RX#_12_b7.ZIP
RX#_22 T200 7 latest, bug fix, features RXN_22_b7.ZIP
RX#_N2 NEC 7 latest, bug fix, features RX#_N2_b7.ZIP


  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


Here's the software:

Utility Model Version File
RX#U1 M100/T102 2 RX#U1.DO
RX#U2 T200 2 RX#U2.DO
RX#UN NEC 2 RX#UN.DO
  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 device 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 device is ready to go with the source file as needed.
      b. Supply the correct file name (6 characters, no extension, case sensitive)
      File extension is automatically set to .BR
  7.  Let the program run
      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
  
  You should see RXCMGR as a MENU entry.  Selecting that will start RXCMGR 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.

What the tool does, is it tests each block of SRAM to see if it works. You have some options in the tool.

  Notes:
  ======   
  * Blocks are switched in and tested one at a time
  * Memory is tested from bottom address 8000h
  * To speed up the test you can reduce the address range, and/or skip bytes
  * You can select the stop address - either C000h (full) or 9000h (partial)
  * You can either test every byte, or skip to every 16th byte
  
  About Version 2
  ===============
  * Faster loading, safer 7 bit HEX ASCII machine language encoding
  * 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 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 RXCTST.DO via serial transfer, or TPDD transfer.  It is 8 bit ASCII.
      If transferring via serial, use 8 bit mode, not 7 bit.  RXCTST.DO contains encoded machine language.   
  3.  RUN RXCTST.DO in BASIC.
  4.  Make selections to configure the test.
  5.  The loader will load up the machine language routine, and begin to execute
  6.  Let the program run
  7.  It will report the size of RAM; 2MB = 128, 4MB = 256.  It will report any errors or success.
  Of course, you have just completely erased your REXCPM at this point. Use RXCINI to rebuild it.


Here's the software:

Utility Version File
RXCTST 2 RXCTST.DO

Backup and Restore

A tool is available for backing up or restoring REXCPM memory contents to TPDD.

Some of the REXCPM SRAM is dedicated to CP/M while other memory is dedicated to REX functionality.

Backup and restore of either the REX side or the CP/M side gives the user a means to create complete images of the memory over time, so if needed the machine can be brought back to the desired state.


  Notes:
  ======
  * Either a Backup or Restore process
  * 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"
 
  About Version 2:
  ================
  * Faster loading, safer 7 bit HEX ASCII machine language encoding
  * If you get the message "CAN'T RUN"
  ---> please remove the REX hook (CNTL-X or F7)
  ---> power cycle
  ---> and try again


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.

  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.

Process Memory size Duration Duration
REXCPM either 19200 5:20 min
CP/M 2MB 19200 13 min
CP/M 4MB 19200 33 min
REXCPM either 76800 2:10 min
CP/M 2MB 76800 5 min
CP/M 4MB 76800 13:15 min

Here's the software:

Utility Version File
RXCUTL 2 RXCUTL.DO
  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 7 bit ASCII.  RXCINI.DO contains HEX ASCII 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.
  See instruction #1 above!




Option ROM Images for Download

Validated OPTROM Images for M100/T102

Validated OPTROM Images for T200

Validated OPTROM Images for NEC

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