REXsharp

From Bitchin100 DocGarden
Revision as of 18:36, 14 January 2023 by Sadolph (talk | contribs) (→‎Bugs)
Jump to navigationJump to search

REXsharp.PNG

Updated January 14, 2023


NEWS

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.
  * 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:

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


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


Bugs

  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.
  Rel 2.1:  Interworking with actual TPDD does not work.  Fix pending.
  Rel 2.1:  Request to put an "Overwrite?" option to allow images to be saved when one exists already.  Great idea!
  Rel 2.1:  T200:  saving ram file to external TPDD server - file size is wrong!  still it seems to work on re-load from external.  
  update - not a bug.  this is ok
  Rel 2.1:  T200:  URII support seems like it is broken.
  Rel 2.1:  M100/T102:  Make display tolerant to "hardware scrolling main ROM".
  Coded
  Rel 2.1:  All:  when switching RAMs, give option to re-save current RAM or not.
  Coded
  Rel 2.1:  All:  Reduce time on power up before option rom is switched, to prevent undesired uninstall of option rom.
  Rel 2.1:  All:  Fix the date display.  Now it is YY/MM/DD.  seems ok to me.  Request is to change to DD/MM/20YY.  Seems reasonable.       
  Maybe a date format toggle control?
  Coded