TBACK: Difference between revisions
(→Thaw) |
|||
(16 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
== Overview == | == Overview == | ||
TBACK is a program for 32-bit Windows which will rapidly | TBACK is a program for 32-bit Windows which will rapidly | ||
* Back up the "state" (RAM image) of your Model 100 or Tandy 102 | |||
* Restore any RAM image to Model 100 or Tandy 102 | |||
* Install CO binary files to your Model 100 or Tandy 102 | |||
These tasks are accomplished with no permanent client-side utility. The only action required on the laptop itself is to type <code>RUN"COM:98N1E"[ENTER]</code> before hitting enter on the PC side. | |||
Applications for this technology include: | |||
* Fast switching between multiple "virtual" Model 100's. One image could be set up for development, one for word processing, one for telecom, and you can switch between them. | |||
* Casual backups | |||
* Freezing a Model 100 to allow you to send it to someone else as a file. They then thaw it onto a real Model 100 where they are, exactly reproducing your setup | |||
* Cloning the exact setup of one Model 100 to another | |||
* Transferring the state of a real Model 100 to/from VirtualT | |||
== Compatibility == | == Compatibility == | ||
Line 10: | Line 24: | ||
<table border="1"> | <table border="1"> | ||
<tr><td>Windows 98SE</td><td>Sometimes TBACK gets stuck if verbose (debug) mode is enabled</td></tr> | <tr><td>Windows 98SE</td><td>John Hogerhuis</td><td>Sometimes TBACK gets stuck if verbose (debug) mode is enabled (running in VirtualBox OSE on Linux host)</td></tr> | ||
<tr><td>Windows XP Home Edition</td><td>No problems have been reported</td></tr> | <tr><td>Windows 98SE</td><td>M.H. Stein</td><td>No issues detected with real Win98 PC</td></tr> | ||
<tr><td>Windows XP Home Edition</td><td></td><td>No problems have been reported</td></tr> | |||
<tr><td>WINE on Debian</td><td>John Hogerhuis</td><td>Works</td></tr> | |||
</table> | </table> | ||
Line 18: | Line 34: | ||
The cable from the PC must be a proper full-null cable which implements the hardware flow control (CTS/RTS) lines. TBACK will not work with a cable that is missing the flow control signals (3-wire cables) or which loops back flow control. The author uses a Belkin Serial Laplink cable. | The cable from the PC must be a proper full-null cable which implements the hardware flow control (CTS/RTS) lines. TBACK will not work with a cable that is missing the flow control signals (3-wire cables) or which loops back flow control. The author uses a Belkin Serial Laplink cable. | ||
TBACK is not designed to work with a T200, though a variant for the T200 is possible. Certainly variants are possible for the T200 and the Model 100 workalikes. | TBACK is not designed to work with a T200, though a variant for the T200 is possible. Certainly variants are possible for the T200 and the Model 100 workalikes. The first hurdle is producing documentation and code samples for low-level direct access to the T200's UART. | ||
== Experimental Release == | == Experimental Release == | ||
Line 33: | Line 49: | ||
** Windows 98: <code>Start -> Run -> COMMAND</code> | ** Windows 98: <code>Start -> Run -> COMMAND</code> | ||
* <code>cd</code> to the directory where you unzipped TBACK.EXE, i.e. <code>cd c:\tback</code> | * <code>cd</code> to the directory where you unzipped TBACK.EXE, i.e. <code>cd c:\tback</code> | ||
=== Freeze === | |||
* On the Model 100, enter BASIC and type:<br/><pre>RUN"COM:98N1E</pre> | * On the Model 100, enter BASIC and type:<br/><pre>RUN"COM:98N1E</pre> | ||
* Hit the ENTER key on your Model 100. | * Hit the ENTER key on your Model 100. | ||
* From the directory you unpacked TBACK.EXE on the PC type:<br/><pre>tback com1</pre> | * From the directory you unpacked TBACK.EXE on the PC type:<br/><pre>tback com1 MYBACKUP.CB</pre> | ||
* Hit the ENTER key on your PC. | * Hit the ENTER key on your PC. | ||
* Wait about 9 seconds and you should have a file <code>BACKUP.CB</code> in your directory. | * Wait about 9 seconds and you should have a file <code>BACKUP.CB</code> in your directory. | ||
=== Thaw === | |||
* On the Model 100, enter BASIC and type:<br/><pre>RUN"COM:98N1E</pre> | |||
* Hit the ENTER key on your Model 100. | |||
* From the directory you unpacked TBACK.EXE on the PC type:<br/><pre>tback -r com1 MYBACKUP.CB</pre> | |||
* Hit the ENTER key on your PC. | |||
* Wait about 9 seconds and your Model 100 should be running the saved image. | |||
=== Put === | |||
Use Put mode to install an arbitrary binary .CO file onto the laptop. | |||
On your laptop: | |||
RUN"COM:98N1E" | |||
or | |||
run a program, say, S.BA that has | |||
1RUN"COM:98N1E | |||
Then on the PC, type | |||
TBACK -p com1 MYPROG.CO | |||
TBACK supports several options. Not all work in this experimental version. To investigate them, type: <BR/><code>tback --help</code> and hit enter. | TBACK supports several options. Not all work in this experimental version. To investigate them, type: <BR/><code>tback --help</code> and hit enter. | ||
Line 49: | Line 89: | ||
Usage: | Usage: | ||
tback -b|-r [-n] [-q] comport [ <filename> | - ] | tback -b|-r|-i [-n] [-q] comport [ <filename> | - ] | ||
--backup, -b | --backup, -b receive a backup from laptop | ||
--restore, -r | --restore, -r restore a backup to laptop | ||
--quiet, -q | --inject, -i only inject the restore utility | ||
-- | --quiet, -q quiet mode (no prompts) | ||
-- | --verbose, -v print debug trace messages | ||
<filename> | --fast, -f use 76800bps speed nominal | ||
<filename> filename to save image to | |||
- | defaults to BACKUP.CB | ||
--help | - write received image to STDOUT, not a file | ||
--help this message | |||
C:\projects\model_t\TBACK> | C:\projects\model_t\TBACK> | ||
</pre> | </pre> | ||
--restore | == WINE == | ||
WINE implements the Win32 API under Linux. I was able to operate tback.exe under Linux without | |||
difficulty. | |||
ex.: | |||
<pre> | |||
sudo apt-get install wine wine-doc binfmt-support | |||
wget http://bitchin100.com/files/m10x/tback.zip | |||
unzip tback.zip | |||
chmod +x tback.exe | |||
./tback.exe com1 | |||
./tback.exe --help | |||
tback, Model 100/102 Memory Backup Utility | |||
*EXPERIMENTAL* PROVIDED AS-IS WITH NO WARRANTY OF ANY KIND. | |||
Copyright (C) 2009 DevWrights | |||
Usage: | |||
tback -b|-r|-i [-n] [-q] comport [ <filename> | - ] | |||
--backup, -b receive a backup from laptop | |||
--restore, -r restore a backup to laptop (TBI) | |||
--inject, -i only inject the restore utility | |||
--quiet, -q quiet mode (no prompts) | |||
--verbose, -v print debug trace messages | |||
<filename> filename to save image to | |||
defaults to BACKUP.CB | |||
- write received image to STDOUT, not a file | |||
--help this message | |||
john@office:~/Desktop$ | |||
</pre> | |||
== Applications == | == Applications == | ||
Line 74: | Line 147: | ||
== To-do == | == To-do == | ||
* | * Add a diagnostic mode to check the cabling and ensure it's up to snuff for TBACK usage. | ||
== Future Improvements == | == Future Improvements == | ||
* Add a "recover" feature to load the saved image back onto M10x | * (done) Add a "recover" feature to load the saved image back onto M10x | ||
* Offer "quick mode" where unused RAM (free space) is not transferred to the PC | * Offer "quick mode" where unused RAM (free space) is not transferred to the PC | ||
* Add a extraction feature that can extract any files (DO, BA, CO, ...) in the captured data as files on the PC file system. | * Add a extraction feature that can extract any files (DO, BA, CO, ...) in the captured data as files on the PC file system. | ||
Line 85: | Line 158: | ||
* Support dumping the contents of a REX chip | * Support dumping the contents of a REX chip | ||
* Support backing up Remem | * Support backing up Remem | ||
* Support for T200 for main rom(s), option roms and all 3 banks of ram! | |||
* Add direct image load (LOADM"0:______.CO" equivalent). Support automatic creation of trigger file which has correct CLEAR statement. | |||
== Design Notes == | == Design Notes == | ||
The background concepts for this utility are described in [[Model 100 Serial Interface|this]] article. | The background concepts for this utility are described in [[Model 100 Serial Interface|this]] article. | ||
[[Category:File Transfer]] [[Category:Model T Software]] |
Latest revision as of 19:19, 25 May 2009
Overview
TBACK is a program for 32-bit Windows which will rapidly
- Back up the "state" (RAM image) of your Model 100 or Tandy 102
- Restore any RAM image to Model 100 or Tandy 102
- Install CO binary files to your Model 100 or Tandy 102
These tasks are accomplished with no permanent client-side utility. The only action required on the laptop itself is to type RUN"COM:98N1E"[ENTER]
before hitting enter on the PC side.
Applications for this technology include:
- Fast switching between multiple "virtual" Model 100's. One image could be set up for development, one for word processing, one for telecom, and you can switch between them.
- Casual backups
- Freezing a Model 100 to allow you to send it to someone else as a file. They then thaw it onto a real Model 100 where they are, exactly reproducing your setup
- Cloning the exact setup of one Model 100 to another
- Transferring the state of a real Model 100 to/from VirtualT
Compatibility
Operating System
TBACK has been tested for software compatibility on
Windows 98SE | John Hogerhuis | Sometimes TBACK gets stuck if verbose (debug) mode is enabled (running in VirtualBox OSE on Linux host) |
Windows 98SE | M.H. Stein | No issues detected with real Win98 PC |
Windows XP Home Edition | No problems have been reported | |
WINE on Debian | John Hogerhuis | Works |
Cabling Requirements
The cable from the PC must be a proper full-null cable which implements the hardware flow control (CTS/RTS) lines. TBACK will not work with a cable that is missing the flow control signals (3-wire cables) or which loops back flow control. The author uses a Belkin Serial Laplink cable.
TBACK is not designed to work with a T200, though a variant for the T200 is possible. Certainly variants are possible for the T200 and the Model 100 workalikes. The first hurdle is producing documentation and code samples for low-level direct access to the T200's UART.
Experimental Release
TBACK is currently in an experimental stage, but it does work.
Download the zipped executable Here.
Usage
- Download TBACK.ZIP, unzip somewhere on your drive where you can easily find it from the command prompt (perhaps
c:\tback\
). - Start a command prompt;
- Windows XP:
Start -> Run -> cmd
- Windows 98:
Start -> Run -> COMMAND
- Windows XP:
cd
to the directory where you unzipped TBACK.EXE, i.e.cd c:\tback
Freeze
- On the Model 100, enter BASIC and type:
RUN"COM:98N1E
- Hit the ENTER key on your Model 100.
- From the directory you unpacked TBACK.EXE on the PC type:
tback com1 MYBACKUP.CB
- Hit the ENTER key on your PC.
- Wait about 9 seconds and you should have a file
BACKUP.CB
in your directory.
Thaw
- On the Model 100, enter BASIC and type:
RUN"COM:98N1E
- Hit the ENTER key on your Model 100.
- From the directory you unpacked TBACK.EXE on the PC type:
tback -r com1 MYBACKUP.CB
- Hit the ENTER key on your PC.
- Wait about 9 seconds and your Model 100 should be running the saved image.
Put
Use Put mode to install an arbitrary binary .CO file onto the laptop.
On your laptop:
RUN"COM:98N1E"
or run a program, say, S.BA that has
1RUN"COM:98N1E
Then on the PC, type
TBACK -p com1 MYPROG.CO
TBACK supports several options. Not all work in this experimental version. To investigate them, type: tback --help
and hit enter.
C:\projects\model_t\TBACK>tback --help tback, Model 100/102 Memory Backup Utility *EXPERIMENTAL* PROVIDED AS-IS WITH NO WARRANTY OF ANY KIND. Copyright (C) 2009 DevWrights Usage: tback -b|-r|-i [-n] [-q] comport [ <filename> | - ] --backup, -b receive a backup from laptop --restore, -r restore a backup to laptop --inject, -i only inject the restore utility --quiet, -q quiet mode (no prompts) --verbose, -v print debug trace messages --fast, -f use 76800bps speed nominal <filename> filename to save image to defaults to BACKUP.CB - write received image to STDOUT, not a file --help this message C:\projects\model_t\TBACK>
WINE
WINE implements the Win32 API under Linux. I was able to operate tback.exe under Linux without difficulty.
ex.:
sudo apt-get install wine wine-doc binfmt-support wget http://bitchin100.com/files/m10x/tback.zip unzip tback.zip chmod +x tback.exe ./tback.exe com1 ./tback.exe --help tback, Model 100/102 Memory Backup Utility *EXPERIMENTAL* PROVIDED AS-IS WITH NO WARRANTY OF ANY KIND. Copyright (C) 2009 DevWrights Usage: tback -b|-r|-i [-n] [-q] comport [ <filename> | - ] --backup, -b receive a backup from laptop --restore, -r restore a backup to laptop (TBI) --inject, -i only inject the restore utility --quiet, -q quiet mode (no prompts) --verbose, -v print debug trace messages <filename> filename to save image to defaults to BACKUP.CB - write received image to STDOUT, not a file --help this message john@office:~/Desktop$
Applications
- Clone your laptop state wholesale and pop it open in VirtualT
- Offload RAM state after a cold start
- Quick backups
To-do
- Add a diagnostic mode to check the cabling and ensure it's up to snuff for TBACK usage.
Future Improvements
- (done) Add a "recover" feature to load the saved image back onto M10x
- Offer "quick mode" where unused RAM (free space) is not transferred to the PC
- Add a extraction feature that can extract any files (DO, BA, CO, ...) in the captured data as files on the PC file system.
- Although a proper serial port and cable is highly reliable, it would be nice to have a checksum feature.
- Support dumping the Main ROM or Option ROM
- Support dumping the contents of a REX chip
- Support backing up Remem
- Support for T200 for main rom(s), option roms and all 3 banks of ram!
- Add direct image load (LOADM"0:______.CO" equivalent). Support automatic creation of trigger file which has correct CLEAR statement.
Design Notes
The background concepts for this utility are described in this article.