QUAD: Difference between revisions

From Bitchin100 DocGarden
Jump to navigationJump to search
 
(89 intermediate revisions by the same user not shown)
Line 1: Line 1:
== NEWS! ==
I have ended my support for this project.
*  probably worth mentioning that REX software is not bug free wrt QUAD.  I will continue to try and solve the problem but the issue is that QUAD does not always power up in bank zero.  This puts some challenges in for REX that I am still sorting out.  The QUAD utilities below work though.
*  QUAD is now supported in REX Manager!  M100 users with QUAD installed will have 4 fully independent banks to use, each with their own assigned option ROM and backup RAM image.
*  Oct 14, 2015: I have decided to port this to support T102; a new layout is on it's way and if all goes well I will be able to offer RAM BANKS for T102!  UPDATE: T102 can't work with QUAD - ABANDONED!
*  April 11, 2015:  QUAD V4 was fine.  That's my last board update unless something changes.  Still working on REX support for QUAD.
*  I have started to work on an update to REX Release 4.9 that can make use of QUAD...stay tuned.  My goal is to support 4 different option roms and ram images associated with each RAM bank.  Also, I placed a board order for QUAD V4.  This will probably be the last board design.  It is equivalent to QUAD V3 but slightly easier to build.
*  March 4, 2015:  Well my V3 boards arrived today.  All appears fine with them.  I built one up and verified that it adds about 3mA of current draw.  Seems like it is ready to roll!
*  When my latest boards arrive, I will verify the current consumptions, and complete the testing.
  '''Test results: Feb 13'''
  One question that was worth exploring: How much current is needed to overdrive RAMRST?
  This question arises because the technique used to disable the internal ram is to
  pull RAMRST high using a diode to +5V.
  '''ANSWER'''  I measured the current to be 1.8 mA in my M100.
  So, this all comes together now.  QUAD draws about 3mA of current, and 1.8mA of that is
  associated with disabling the internal RAM.
*  Feb. 13, 2015: To pick up all the board changes, I've sent a new artwork to the board shop.  It will take about a month to get to a point where, if all goes well, QUAD can be released.  Thanks for your patience!
  '''Test results: Feb 12'''
  after some fiddling, and 5 barnacles, I have a pretty good result.
  Basic M100 for reference, power supply current = 56.2mA
  same M100 with QUAD installed = 59.2 mA
  The standby current is still < 1uA.
  So that's better than my other 2 ram expansions by quite a bit.
  M100 with 32k PG designs = 63 mA
  M100 with 64k PG designs = 86 mA
  This is in beta still; not quite ready to release.  I have some software testing to do,
  and a couple more hardware things to look at..
  Also, while QUAD is compatible with REX, I have not implemented support for it yet in REXMGR.  TBD.
* February 8 2015 -  Some good progress made; all functions appear to be working well.
* did some power measurements.  QUAD increased the current consumption of the M100 by ~20 mA.  It would be nicer if it was less of an impact as this would decrease battery life by ~30%.  So, I'm going to investigate where the current is going and if it can be reduced.
== Supported Models ==
== Supported Models ==
*  Model 100 only
*  Model 100 only


== New Features ==
*  Y2K Fix - REX now automatically fixes the year displayed in MENU.
*  PC-8201 support (including TAB key in addition to SHIFT-F5 to bank-switch, like T200)
*  Multi-bank support - see description below
*  Quick Menu features - see description below
*  REX status indicator in MENU - the active Option ROM (for each bank) is indicated in the display




== REX Functionality Overview ==
REX remains similar to release 4.8, but several major new capabilities have been added.  The differences are outlined below.


'''Quick Menu Features'''
== Features ==


For commonly used functions, now some shortcut keys are available in MENU.  This avoids the need to start REXMGR to perform simple operations like ROM switching and backing up your RAM.
QUAD is a hardware add-on for the Model 100 that provides the user with 4 banks of 32kB, similar to the multiple banks in a T200 or PC-8201.


Summary of commands:
*  provides 4 banks of 32kB SRAM
<CNTL-O>: Switch Option ROM - REX will display available Option ROMs, and the user can use arrow keys to move the cursor to the desired selection. <ENTER> to activate the new selection and start that ROM.  <ESC> to exit.  The Active Option ROM is indicated with a *.
fully compatible with REX - enables mult-bank operation of REX on M100 (requires new REX software)
<CNTL-B>: Back up RAM - REX will prompt the user to confirm, and if confirmed will copy RAM to the active RAM image, performing a backup.
*  plugs directly into the system bus with no additional modifications (takes over the socket - replaces any other system bus device)
<CNTL-R>: Restore RAM - REX will prompt the user to confirm, and if confirmed will copy the active RAM image to RAM, performing a restore.
this module REPLACES the internal memory - the internal RAM becomes unused/disabled (any plugged 8kB RAM modules can be pulled out and redeployed)
<CNTL-H>: Hooks removal - REX will prompt the user to confirm, and if confirmed will remove all hooks relating to REXMGR from the laptop operating system, effectively disabling REX.  REXMGR remains in the MENU, so REX can be easily reinstalled.  Also, the Active Option ROM is accessible using the usual ROM start procedures.  This feature is useful when it is desired to run the Option ROM without REX active.
*  uses the internal NiCd RAM backup battery for reliable operation
simple software for manual bank switching
OR - use 0QUAD - a menu enhancement for M100 (see description below)


'''Multi-Bank Operation'''


Unlike Model 100 and Tandy 102, multi-bank machines (PC-8201, PC-8300, T200) have an advantage in that the user has 3 distinct memory spaces to work with.  Prior to release 4.9, all of those banks would have the same Option ROM active.  In Release 4.9, multi-bank machines now may access unique active RAM images and active OPTION ROM images on a per-bank basis.  For example, TS-DOS, UR-2 and R2C can be assigned to each bank, and each bank can have an associated RAM image.  This means the user can simply TAB between spaces and quickly use different Option ROMs, and each RAM space can be backed up separately.


In REX Manager, images are marked with '*' next to the name when that image is ACTIVE in the current BANK.  Images that are ACTIVE in OTHER BANKS are marked with '#'.  Pressing B or b in REX Manager will indicate the BANK associated with an image, as well as the block number the image occupies in REX flash memory.


REX Release 4.9 supports the M100 4-bank 128kByte RAM Module, but only the first 3 RAM banks are supported.
== Overview ==


'''Y2K Fix'''
It is pretty simple really - just plug it in, and begin using it.
*  use the simple program to bank switch manually
*  use 0QUAD software - OQUAD integrates a number of features into the M100 MENU
*  use with REX  (don't use OQUAD when REX is installed!  NOT COMPATIBLE!!!)


Prior to Release 4.9, users wanting a fix for Y2K would have needed to make use of Main ROM Replacement via REX.  This requires a hardware modification.  Now, a Y2K patch is automatically applied when in MENU.
=== TIPS ===


== Upgrading REX from a Release 4.8 or Earlier ==
  Power cycling the M100 will always reset QUAD to bank 1.


If you are the owner of a REX which is operating with software of Release 4.8 vintage or earlier, then it is not possible to upgrade to Release 4.9 <B> while maintaining the contents of the FLASH and the image NAME DIRECTORY. </B>  Upgrading this vintage or REX requires the removal of any backed up RAM images to a TPDD device for storage and for later re-loading into REX.  The FLASH memory in REX is completely wiped when upgrading from R4.8 or earlier.


'''Please see the section below for specific software release bundles for upgrading from R4.8 or prior.'''
[[Image:QUAD1.jpg]]


'''What you need'''
[[Image:QUAD2.jpg]]
*  for M100 or T102: RF149.CO, RXF149.BR, TSD100.BX
*  for T200: RF249.CO, RXF249.BR, TSD200.BX
*  for PC-8201 or PC-8300: NOTHING!  It is new in R4.9!
*  your favorite TPDD device connected to the laptop


Place the files in the root directory of your TPDD device for loading.


These instructions are meant to cover the procedure to install release 4.9 software for the FIRST TIME.  All previous releases of REX have used addresses 04000h to 0FFFh as the REX directory in block 0 of the flash.  Release 4.9 changes that - the new directory location is 6000h-7FFFh.


In order to make a "clean sweep" and make sure that no issues with older software, for the initial installation of 4.9 we take the approach of wiping the old directory, and all the flash contents (from block 6-31; the user space) and initialize things to default.


A note about Rom Replacement - if you are using this feature then you know that your main OS roms are stored in block 2-5.  Those blocks are not erased, and they stay in place and operational the whole time.  My three test machines are all running with REX based main roms.
== Hardware Installation ==


Installation of the hardware is a piece of cake.


'''Step 1'''


'''Step 1'''
  Flip over the M100. Open up the System Bus hatch.
So then, the first thing to do is for you to 'Save' all your existing RAM and OPTROM images
  Being careful to have the right orientation, insert QUAD into the System Bus.
(the ones that you both want to keep and are not already stored on a PC somewhere) out of REX
  The arrow points to the Option ROM Socket.
and onto your favorite TPDD device. Please go through your saved images, decide what you want
to save and use again, and get them out of REX.  After we install R4.9, all those images will
be wiped.  You will have to reload anything you need.




'''Step 2'''
'''Step 2'''
Load the upgrader tool:  Load into RAM the RFx49.CO file using the TPDD device. 
You will need to CLEAR0,55000 to run the program.  But, don't run it yet.


'''Step 3'''
  Replace the cover. Flip the M100 back over.
  Remove REX software from the laptopThis is an easy step - just go into REXMGR and press F7
 
  (or SHIFT-F4 in PC-8201/8300)to DEINstall REX software.   
 
  You should find yourself at MENU with RFx49.CO in the directory of the laptop.
Done!
 
 
QUAD installed in an M100 -
 
[[Image:QUAD3.jpg]]
 
 
 
=== Power Consumption ===
 
 
Adding QUAD to your M100 adds 2-3 mA of current consumption.  This is mostly attributed to the current needed to overdrive the A* buffered signal, which allows the external RAM module to function.
 
The SRAM on QUAD is backed up by the internal NiCd.  Removing QUAD will erase all memory contents, so don't do that unless you are ok with losing the contents.
 
The SRAM consumes < 1uA of current typically from the NiCd, and so will have a small and mostly negligible effect on backup time. However I have not tested this.
 
== Software for Using the Extra Banks ==
 
You will need some software to make the extra banks accessible. You have 3 options, all of which are exclusive of each other.
 
  1.  Use the simple bank switching program below.
  2. Use QUAD.BA
   3.  Use in conjunction with REX
 
 
 
 
=== Simple Bank Switching Program ===
 
The following program can be quickly typed into BASIC and run.  It allows manual bank switching. In each bank, you could save this program and call it BANK1.BA, BANK2.BA etc. (the number relating to bank number), so that you know what bank you are in.  Kudos to Ken Pettit for helping me figure this one out!
 
  10 INPUT"INPUT BANK ";X:IFX<1ORX>4THEN 10
  20 A#=0:B=VARPTR(A#)
  30 POKEB,249:POKEB+1,195:POKEB+2,241:POKEB+3,118
  40 CALLB,X-1,30481
 
  .. translated ... the program created at location B
  B        F9          SPHL        ; load stack pointer with 30481
  B+1      C3  76F1H    JMP 76F1H


'''Step 4'''
  76F1H    F1 80H      OUT 80H      ; set the bank number
  Issue the BASIC command CLEAR0,55000.  Exit BASIC and run RFx49.CO from Menu. 
          C9          RET          ; return to location at 30481, which is 00 00 (same as RST0)
RFx49.CO will do the necessary steps of erasing blocks, loading the REX software,  
  copying it to backup block 1, and then loading TS-DOS into block 8.


'''Step 5'''
=== 0QUAD : Advanced MENU add-on for QUAD ===
Once RFx49.CO completes, you should be able to start REXMGR.  Power cycle the laptop. 
Cold restart the machine to clean out any funny memory stuff.  Enter BASIC and type either
CALL63012 (M100/T102)
CALL61167,2 (T200)
EXEC62394 (PC-8201/8300)


Voila! You should see REXMGR in the MENU, and you should see the fancy new OPTROM indicator in the top right corner.  You are now running release 4.9!!!!
0QUAD is a software program closely based on the PG Designs 0MENU software. I am grateful that some clever people figured out how to do this in the past, and I'm happy to have been able to revive the code and modify it for use with QUAD.


== REX Release 4.9 Upgrade Package (for upgrades from Release 4.8 or older) ==
0QUAD provides some interesting features:


The following files may be downloaded and used to upgrade your REX from an older release to R4.9 revision 134.
* integrates tightly with MENU
* adds function keys to row 8 of MENU - Bank selection, + File commands NAME and KILL
* when OQUAD is installed and running in each of the 4 banks, OQUAD also enables bank to bank file COPY.


  Revision 134 makes only minor changes to 117. Minor improvement to bank switching in T200.


<table border="1">
<table border="1">
<tr><td>Status</td><td>Release</td><td>Model</td><td>Description</td><td>File</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Status</td><td>Revision</td><td>Description</td><td>File</td><td>Submitter / Date</td></tr>
<tr><td>Beta</td><td>4.9</td><td>M100/T102</td><td>REX Release 4.9 Upgrade Package for R4.8 and prior</td><td>[[Media:R49_M100T102_134_upgrade48.zip|R49_M100T102_134_upgrade48]]</td><td>134</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 08:03, 25 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>26</td><td>no known bugs</td><td>[[Media:0QUAD_rev_26.zip|OQUAD_rev_26]]</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 12:56, 8 February 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>T200</td><td>REX Release 4.9 Upgrade Package for R4.8 and prior</td><td>[[Media:R49_T200_134_upgrade48.zip|R49_T200_134_upgrade48]]</td><td>134</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 08:03, 25 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>22</td><td>some bug fixes in place</td><td>[[Media:0QUAD_22.zip|OQUAD_rev_22]]</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 08:26, 8 February 2015 (PST)</td></tr>
<tr><td>Beta</td><td>13</td><td>Initial beta release of 0QUAD</td><td>[[Media:0QUAD.zip|OQUAD]]</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 19:11, 7 February 2015 (PST)</td></tr>
</table>
</table>
=== Installing 0QUAD Software===
0QUAD should be installed in each of the 4 banks of QUAD.
0QUAD starts life named as QUAD.BA.
  IMPORTANT:  QUAD.BA is the original file name.  After installation, this program is transformed into 0QUAD.
  0QUAD is an invisible .BA program without an extension and when installed it is hidden from view.
  Use INVISO.BA after QUAD.BA is installed to make 0QUAD visible.
  INVISO.BA can transform invisible 0QUAD to visible QUADv.BA.
  INVISO.BA can transform visible QUADv.BA to invisible 0QUAD.
  INVISO.BA and QUAD.BA are contained in the ZIP file above.




'''Step 1'''


The following files may be downloaded and used to upgrade your REX from an older release to R4.9 revision 117.
  Power on M100 with QUAD freshly installed.  Do a cold restart to ensure RAM is clean.


  IMPORTANT:  sometimes QUAD does not power up in bank 0.  To ensure you are in bank 0 at this point,
  go into BASIC and issue the command
  OUT128,0
  Do not power cycle the computer, but hit RESET if you must.


'''Step 2'''
  Load QUAD.BA into laptop.  Cursor over to QUAD.BA and press ENTER to run the program.
  As you are now in Bank 1, when queried by QUAD.BA, input <1> <ENTER> when prompted.
QUAD.BA configures itself, deletes unneeded program lines, renames itself 0QUAD, hides itself, and moves itself to be the lowest .BA program in RAM.  All these steps are critical for 0QUAD to work correctly.
At this point, 0QUAD installation is not complete.
'''Step 3'''
  At MENU, type <0QUAD> <ENTER>.  This starts and runs the hidden program 0QUAD.
You should now see a number of changes to MENU
  - bank number shown in top right corner
  - file size/free ram indicator in top line
  - FNKEY commands on line 8


<table border="1">
<tr><td>Status</td><td>Release</td><td>Model</td><td>Description</td><td>File</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Beta</td><td>4.9</td><td>M100/T102</td><td>REX Release 4.9 Upgrade Package for R4.8 and prior</td><td>[[Media:R49_M100T102_117_upgrade48.zip|R49_M100T102_117_upgrade48]]</td><td>117</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:02, 11 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>T200</td><td>REX Release 4.9 Upgrade Package for R4.8 and prior</td><td>[[Media:R49_T200_117_upgrade48.zip|R49_T200_117_upgrade48]]</td><td>117</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:02, 11 January 2015 (PST)</td></tr>
</table>


== Upgrading REX from Release 4.9 to a newer revision of Release 4.9==


If you are the owner of a REX which is operating with software of Release 4.9 vintage, then the upgrade is a simpler process. Upgrading this version of REX simply involves over-writing the first 24k of the first block of the REX FLASH with a newer revision.  The directories remain, as do all the stored images.
Using 0QUAD, you can now select any of banks 2, 3 or 4.  
Repeat the installation of QUAD.BA in each of those banks.


'''Please see the section below for specific software release bundles for upgrading from R4.9.'''
  To enable bank to bank file COPY, you must have 0QUAD fully installed in both the source and target banks.


'''What you need'''
=== Deinstalling 0QUAD Software===
*  for M100 or T102: RU149.CO, REX149.BR
*  for T200: RU249.CO, REX249.BR
*  for PC-8201 or PC-8300: RUN49.CO, REXN49.BR
*  your favorite TPDD device connected to the laptop


To remove 0QUAD please follow these steps.  You will need the program INVISO.DO.


These instructions are meant to cover the procedure to install a newer release 4.9.  Don't do this if you are currently running R4.8 or earlier!
  IMPORTANT:  be sure to EXIT from 0QUAD or QUADv before you delete it!


Place the files in the root directory of your TPDD device for loading.
From any bank that has 0QUAD installed and operating-


'''Step 1'''
'''Step 1'''
Load the upgrader tool:  Load into RAM the RUx49.CO file using the TPDD device.
 
You will need to CLEAR0,55000 to run the program.  But, don't run it yet.
  Press <F8> to EXIT 0QUAD.


'''Step 2'''
'''Step 2'''
  Remove REX software from the laptop.  This is an easy step - just go into REXMGR and press F7
 
  (or SHIFT-F4 in PC-8201/8300)to DEINstall REX software. You should find yourself at MENU with
  Load INVISO.DO and run it in BASIC. When prompted, type <V> <ENTER>.
RUx49.CO in the directory of the laptop.
   This will transform the hidden program 0QUAD into QUADV.BA.
 
NOTE: at this point, you could run QUADV.BA and use INVISO.DO to hide the program again.


'''Step 3'''
'''Step 3'''
Issue the BASIC command CLEAR0,55000.  Exit BASIC and run RUx49.CO from Menu.
RUx49.CO will do the necessary steps of erasing blocks, loading the REX software,
and copying it to backup block 1.


'''Step 4'''
  In BASIC, you can now delete QUADV.BA.
Once RUx49.CO completes, you should be able to start REXMGR. Power cycle the laptop.
 
Cold restart the machine to clean out any funny memory stuffEnter BASIC and type either
0QUAD/QUADV.BA are now removed from the bankRepeat in each bank as needed.
CALL63012 (M100/T102)
CALL61167,2 (T200)
EXEC62394 (PC-8201/8300)


Voila!  You have upgraded your REX!!!!


== REX Release 4.9 Upgrade Package (for upgrades from Release 4.9) ==


The following files may be downloaded and used to upgrade your REX from an older release to R4.9 revision 134.
=== OQUAD Source Code ===


  Revision 134 makes only minor changes to 117. Minor improvement to bank switching in T200.
The following files are ZIP files containing the source code for QUAD by Revision.


<table border="1">
<table border="1">
<tr><td>Status</td><td>Release</td><td>Model</td><td>Description</td><td>File</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Status</td><td>Source Files</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Beta</td><td>4.9</td><td>M100/T102</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_M100T102_134_upgrade49.zip|R49_M100T102_134_upgrade49]]</td><td>134</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 07:57, 25 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>[[Media:0QUAD_source.zip|OQUAD_source]]</td><td>13</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 19:17, 7 February 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>T200</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_T200_134_upgrade49.zip|R49_T200_134_upgrade49]]</td><td>134</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 07:57, 25 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>PC-8201 or PC-8300</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_NEC_134_upgrade49.zip|R49_NEC_134_upgrade49]]</td><td>134</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 07:57, 25 January 2015 (PST)</td></tr>
</table>
</table>






The following files may be downloaded and used to upgrade your REX from an older release to R4.9 revision 117.
 
== Memory Testing Software for use with QUAD ==
 
The following program can be used to test the memory in each bank. Load the following program into BASIC and run.


<table border="1">
<table border="1">
<tr><td>Status</td><td>Release</td><td>Model</td><td>Description</td><td>File</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Status</td><td>Release</td><td>Model</td><td>Description</td><td>File</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Beta</td><td>4.9</td><td>M100/T102</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_M100T102_117_upgrade49.zip|R49_M100T102_117_upgrade49]]</td><td>117</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:09, 11 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>T200</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_T200_117_upgrade49.zip|R49_T200_117_upgrade49]]</td><td>117</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:09, 11 January 2015 (PST)</td></tr>
<tr><td>Beta</td><td>4.9</td><td>PC-8201 or PC-8300</td><td>REX Release 4.9 Upgrade Package for R4.9</td><td>[[Media:R49_NEC_117_upgrade49.zip|R49_NEC_117_upgrade49]]</td><td>117</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:09, 11 January 2015 (PST)</td></tr>
</table>
</table>


== REX Release 4.9 Source Code ==


The following files are ZIP files containing the source code for REX Release 4.9 by Revision.
 
 
== QUAD Trouble Reports==
 


<table border="1">
<table border="1">
<tr><td>Status</td><td>Source Files</td><td>Revision</td><td>Submitter / Date</td></tr>
<tr><td>Status</td><td>Model(s)</td><td>Description</td><td>Impact</td><td>Work Around</td><td>User/ Date</td></tr>
<tr><td>Beta</td><td>[[Media:REX_source_117.zip|REX source code Revision 117]]</td><td>117</td><td> [[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 20:14, 11 January 2015 (PST)</td></tr>
</table>
</table>






== About Main ROM Management  ==
Please see the main REX wiki page for a description of this feature - how to prepare a ROM image, how to modify the hardware, and how to load REX with images.
== Rel. 4.9 Trouble Reports==


== QUAD Enhancement Requests ==


<table border="1">
<table border="1">
<tr><td>Version</td><td>Filename</td></tr>


<tr><td>Status</td><td>Model(s)</td><td>Description</td><td>Impact</td><td>Work Around</td><td>User/ Date</td></tr>
<tr><td>resolved</td><td>M102</td><td>a problem occured upgrading from 4.8 to 4.9.  unknown fault at this time.--- problem found. TSDOS was corrupted.</td><td> Medium</td><td> resolved - user reloaded TS-DOS using REXMGR. </td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 12:30, 1 February 2015 (PST)</td></tr>
<tr><td>resolved in rev 119</td><td>T200</td><td>there was a minor issue in revision 117 relating to F1 BANK switching.  Using F1 rather than TAB effectively uninstalled REXMGR. </td><td> Low </td><td> Restart REXMGR by power cycling and CALL61167,2. This is resolved in the next revision.  </td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 06:23, 24 January 2015 (PST)</td></tr>
<tr><td>believed resolved in 134</td><td>T200/PC-8201/PC-8300</td><td>periodically, REX software is not removed/reinstalled on bank switch.  This disables REX in the new bank.</td><td> Low </td><td> Bank switch back to original bank and run REXMGR to reinstall. </td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 08:02, 25 January 2015 (PST)</td></tr>
<tr><td>investigation</td><td>PC-8300</td><td>An early PC-8300 install was defective for unknown reasons.</td><td> High </td><td> None at this time. </td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 06:23, 24 January 2015 (PST)</td></tr>
</table>
</table>


== Enhancement Requests ==
 
 
 
== QUAD Schematic ==
 
The latest version of schematic is here.  This is the V4 PCB.  It has a known bug - the flip flops don't always come up  "00" as was intended.


<table border="1">
<table border="1">
<tr><td>Status</td><td>Description</td><td>Requester / Date</td></tr>
<tr><td>Version</td><td>Filename</td></tr>
<tr><td>under consideration</td><td> is there some way to modify all the bank settings within REXMGR without having to exit, change bank, and re-enter REXMGR?  Cool idea, hmmm.</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 15:56, 1 February 2015 (PST)</td></tr>
<tr><td>V4</td><td>[[Media:QUAD_schemactic.png|QUADv4]]</td></tr>
<tr><td>under consideration</td><td>Support for so called Paired Switching, where a RAM image is swapped and an OPTROM image is switched in the same step. </td><td>[[User:Sadolph|Sadolph]] 05:17, 15 August 2009 (PDT)</td></tr>
<tr><td>unlikely</td><td>Support for TPDD-2, for drive 1: (0: is supported).</td><td>[[User:Sadolph|Sadolph]] 04:36, 19 April 2009 (PDT)</td></tr>
<tr><td>in planning</td><td>Flash disk for file storage</td><td>[[User:Sadolph|Sadolph]] ([[User talk:Sadolph|talk]]) 05:09, 12 January 2015 (PST)</td></tr>
</table>
</table>
nb: to put a username+datestamp just type 4 tildes <nowiki>~~~~</nowiki>

Latest revision as of 02:08, 24 November 2018

NEWS!

I have ended my support for this project.

  • probably worth mentioning that REX software is not bug free wrt QUAD. I will continue to try and solve the problem but the issue is that QUAD does not always power up in bank zero. This puts some challenges in for REX that I am still sorting out. The QUAD utilities below work though.


  • QUAD is now supported in REX Manager! M100 users with QUAD installed will have 4 fully independent banks to use, each with their own assigned option ROM and backup RAM image.
  • Oct 14, 2015: I have decided to port this to support T102; a new layout is on it's way and if all goes well I will be able to offer RAM BANKS for T102! UPDATE: T102 can't work with QUAD - ABANDONED!
  • April 11, 2015: QUAD V4 was fine. That's my last board update unless something changes. Still working on REX support for QUAD.
  • I have started to work on an update to REX Release 4.9 that can make use of QUAD...stay tuned. My goal is to support 4 different option roms and ram images associated with each RAM bank. Also, I placed a board order for QUAD V4. This will probably be the last board design. It is equivalent to QUAD V3 but slightly easier to build.
  • March 4, 2015: Well my V3 boards arrived today. All appears fine with them. I built one up and verified that it adds about 3mA of current draw. Seems like it is ready to roll!
  • When my latest boards arrive, I will verify the current consumptions, and complete the testing.
 Test results: Feb 13
 One question that was worth exploring: How much current is needed to overdrive RAMRST?
 This question arises because the technique used to disable the internal ram is to 
 pull RAMRST high using a diode to +5V.
 ANSWER  I measured the current to be 1.8 mA in my M100.
 So, this all comes together now.  QUAD draws about 3mA of current, and 1.8mA of that is
 associated with disabling the internal RAM. 
  • Feb. 13, 2015: To pick up all the board changes, I've sent a new artwork to the board shop. It will take about a month to get to a point where, if all goes well, QUAD can be released. Thanks for your patience!


 Test results: Feb 12
 after some fiddling, and 5 barnacles, I have a pretty good result.
 Basic M100 for reference, power supply current = 56.2mA
 same M100 with QUAD installed = 59.2 mA
 The standby current is still < 1uA.
 So that's better than my other 2 ram expansions by quite a bit.
 M100 with 32k PG designs = 63 mA
 M100 with 64k PG designs = 86 mA


 This is in beta still; not quite ready to release.  I have some software testing to do,
 and a couple more hardware things to look at..
 Also, while QUAD is compatible with REX, I have not implemented support for it yet in REXMGR.  TBD.
  • February 8 2015 - Some good progress made; all functions appear to be working well.
  • did some power measurements. QUAD increased the current consumption of the M100 by ~20 mA. It would be nicer if it was less of an impact as this would decrease battery life by ~30%. So, I'm going to investigate where the current is going and if it can be reduced.

Supported Models

  • Model 100 only



Features

QUAD is a hardware add-on for the Model 100 that provides the user with 4 banks of 32kB, similar to the multiple banks in a T200 or PC-8201.

  • provides 4 banks of 32kB SRAM
  • fully compatible with REX - enables mult-bank operation of REX on M100 (requires new REX software)
  • plugs directly into the system bus with no additional modifications (takes over the socket - replaces any other system bus device)
  • this module REPLACES the internal memory - the internal RAM becomes unused/disabled (any plugged 8kB RAM modules can be pulled out and redeployed)
  • uses the internal NiCd RAM backup battery for reliable operation
  • simple software for manual bank switching
  • OR - use 0QUAD - a menu enhancement for M100 (see description below)



Overview

It is pretty simple really - just plug it in, and begin using it.

  • use the simple program to bank switch manually
  • use 0QUAD software - OQUAD integrates a number of features into the M100 MENU
  • use with REX (don't use OQUAD when REX is installed! NOT COMPATIBLE!!!)

TIPS

 Power cycling the M100 will always reset QUAD to bank 1.


QUAD1.jpg

QUAD2.jpg



Hardware Installation

Installation of the hardware is a piece of cake.

Step 1

 Flip over the M100. Open up the System Bus hatch.
 Being careful to have the right orientation, insert QUAD into the System Bus.
 The arrow points to the Option ROM Socket.


Step 2

 Replace the cover. Flip the M100 back over. 


Done!


QUAD installed in an M100 -

QUAD3.jpg


Power Consumption

Adding QUAD to your M100 adds 2-3 mA of current consumption. This is mostly attributed to the current needed to overdrive the A* buffered signal, which allows the external RAM module to function.

The SRAM on QUAD is backed up by the internal NiCd. Removing QUAD will erase all memory contents, so don't do that unless you are ok with losing the contents.

The SRAM consumes < 1uA of current typically from the NiCd, and so will have a small and mostly negligible effect on backup time. However I have not tested this.

Software for Using the Extra Banks

You will need some software to make the extra banks accessible. You have 3 options, all of which are exclusive of each other.

 1.  Use the simple bank switching program below.
 2.  Use QUAD.BA
 3.  Use in conjunction with REX



Simple Bank Switching Program

The following program can be quickly typed into BASIC and run. It allows manual bank switching. In each bank, you could save this program and call it BANK1.BA, BANK2.BA etc. (the number relating to bank number), so that you know what bank you are in. Kudos to Ken Pettit for helping me figure this one out!

 10 INPUT"INPUT BANK ";X:IFX<1ORX>4THEN 10
 20 A#=0:B=VARPTR(A#)
 30 POKEB,249:POKEB+1,195:POKEB+2,241:POKEB+3,118
 40 CALLB,X-1,30481
 .. translated ...  the program created at location B
 B        F9           SPHL         ; load stack pointer with 30481
 B+1      C3  76F1H    JMP 76F1H
 76F1H    F1  80H      OUT 80H      ; set the bank number
          C9           RET          ; return to location at 30481, which is 00 00  (same as RST0)

0QUAD : Advanced MENU add-on for QUAD

0QUAD is a software program closely based on the PG Designs 0MENU software. I am grateful that some clever people figured out how to do this in the past, and I'm happy to have been able to revive the code and modify it for use with QUAD.

0QUAD provides some interesting features:

  • integrates tightly with MENU
  • adds function keys to row 8 of MENU - Bank selection, + File commands NAME and KILL
  • when OQUAD is installed and running in each of the 4 banks, OQUAD also enables bank to bank file COPY.


StatusRevisionDescriptionFileSubmitter / Date
Beta26no known bugsOQUAD_rev_26Sadolph (talk) 12:56, 8 February 2015 (PST)
Beta22some bug fixes in placeOQUAD_rev_22Sadolph (talk) 08:26, 8 February 2015 (PST)
Beta13Initial beta release of 0QUADOQUADSadolph (talk) 19:11, 7 February 2015 (PST)

Installing 0QUAD Software

0QUAD should be installed in each of the 4 banks of QUAD.

0QUAD starts life named as QUAD.BA.

 IMPORTANT:  QUAD.BA is the original file name.  After installation, this program is transformed into 0QUAD.
 0QUAD is an invisible .BA program without an extension and when installed it is hidden from view.
 Use INVISO.BA after QUAD.BA is installed to make 0QUAD visible.
 INVISO.BA can transform invisible 0QUAD to visible QUADv.BA.
 INVISO.BA can transform visible QUADv.BA to invisible 0QUAD.
 INVISO.BA and QUAD.BA are contained in the ZIP file above.


Step 1

 Power on M100 with QUAD freshly installed.  Do a cold restart to ensure RAM is clean.
 IMPORTANT:  sometimes QUAD does not power up in bank 0.  To ensure you are in bank 0 at this point, 
 go into BASIC and issue the command 
 OUT128,0
 Do not power cycle the computer, but hit RESET if you must.

Step 2

 Load QUAD.BA into laptop.  Cursor over to QUAD.BA and press ENTER to run the program.
 As you are now in Bank 1, when queried by QUAD.BA, input <1> <ENTER> when prompted.

QUAD.BA configures itself, deletes unneeded program lines, renames itself 0QUAD, hides itself, and moves itself to be the lowest .BA program in RAM. All these steps are critical for 0QUAD to work correctly.

At this point, 0QUAD installation is not complete.

Step 3

 At MENU, type <0QUAD> <ENTER>.  This starts and runs the hidden program 0QUAD.


You should now see a number of changes to MENU

 - bank number shown in top right corner
 - file size/free ram indicator in top line
 - FNKEY commands on line 8


Using 0QUAD, you can now select any of banks 2, 3 or 4. Repeat the installation of QUAD.BA in each of those banks.

 To enable bank to bank file COPY, you must have 0QUAD fully installed in both the source and target banks.

Deinstalling 0QUAD Software

To remove 0QUAD please follow these steps. You will need the program INVISO.DO.

 IMPORTANT:  be sure to EXIT from 0QUAD or QUADv before you delete it!

From any bank that has 0QUAD installed and operating-

Step 1

 Press <F8> to EXIT 0QUAD.

Step 2

 Load INVISO.DO and run it in BASIC.  When prompted, type <V> <ENTER>.  
 This will transform the hidden program 0QUAD into QUADV.BA.

NOTE: at this point, you could run QUADV.BA and use INVISO.DO to hide the program again.

Step 3

 In BASIC, you can now delete QUADV.BA.

0QUAD/QUADV.BA are now removed from the bank. Repeat in each bank as needed.


OQUAD Source Code

The following files are ZIP files containing the source code for QUAD by Revision.

StatusSource FilesRevisionSubmitter / Date
BetaOQUAD_source13Sadolph (talk) 19:17, 7 February 2015 (PST)



Memory Testing Software for use with QUAD

The following program can be used to test the memory in each bank. Load the following program into BASIC and run.

StatusReleaseModelDescriptionFileRevisionSubmitter / Date



QUAD Trouble Reports

StatusModel(s)DescriptionImpactWork AroundUser/ Date



QUAD Enhancement Requests

VersionFilename



QUAD Schematic

The latest version of schematic is here. This is the V4 PCB. It has a known bug - the flip flops don't always come up "00" as was intended.

VersionFilename
V4QUADv4