Difference between revisions of "TransWarp GS"
(→Versions: Corrected date code)
|Line 1:||Line 1:|
Revision as of 00:04, 14 January 2020
The TransWarp GS (TWGS) from Applied Engineering (AE) is considered by most to be the best and most expandable of the accelerator cards produced for the Apple IIGS. With its 32k of cache and upgradable clock this card is definitely a must have for every Apple IIGS user. Originally released as a 7 MHz accelerator it is now possible to modify some boards up to 18+ MHz.
Big thanks for Geoff Body for his work on the TransWarp GS schematic, and deciphering what is going on with the firmware and GALs.
Project Status: Completed. In production. Actively sold by ReActiveMicro.
Sales: Visit the ReActiveMicro Store.
To install your TransWarp GS board please follow these basic instructions:
From 16MHz and up a fan for active cooling is recommended for the GALs. Note: Only red and black wires are used on the connector from the fan. Disregard the other wires and colors (if any).
AE released the TransWarp GS in the winter of 1988. The board came stock at 7MHz and 8k cache. They also offered an upgraded board to 8MHz and 32k cache board. The limiting factor to speed at the time was the "buggy" 816 CPU die. Later Western Design Center (WDC) worked with Sanyo to redesign the die, and the CPU speeds easily reached 10MHz. By this time however AE was out of business.
About mid 1996 Joachim Lange (SHH Systeme), a hobbyist, created a new version of the 32k Cache Card for the TransWarp GS. Together with the redesigned '816 CPU some TransWarp GS users were able to reach 12MHz or better.
On January 27th, 2006 Henry from ReActiveMicro announced on CSA2 the successful decompiling and copying of the TransWarp GS GALs, and their release for sale and download. Henry discovered that using the redesigned '816 CPU, SHH Systeme's 32k Cache Card, and the last known revision of the GALs that his TransWarp GS reached 18.75MHz and was stable running most software. Shortly after this announcement ReActiveMicro started to offer upgrade services for users to send in their boards.
In March 2007 ReActiveMicro created a 32k Cache Card which used 12ns SRAMs and allowed for more stable operation above 16MHz.
In September 2014 work began on the TWGS v1.0 clone project from Ultimate-Micro.
On May 4th, 2018 Henry decided to revist the TWGS v1.0 project and ReActiveMicro offered a presale opportunity for the TWGS v1.0 project, later incrementing the project to v1.1. Henry recently moved which prompted the production run. If he had more time would have started the complete revision of the project as was planned since 2016 and announced at KFEST that year.
Late 2018 Henry announced work started on a revised IIGS accelerator project which was to be TWGS-clone based for compatibility. This project was to be loosely based on several of the subsystems of the TWGS for compatibility, while updating and reworking other parts of the project to provide a more modern solution which would allow for more speed, stability, and lower retail pricing. The project was also offered for presale to help fund the project and better gauge demand.
On October 20th, 2019 Henry announced the GALs on the TWGS had been reproduced and were being offered for field testing. This will allow several bug fixes and rework of the original AE design to allow for more speed and stability. The basic clock and bus systems appear to be the same across all accelerator designs. So the TWGS offered a simple test platform for development work and research. A new page for the IIgs Accelerator Project will be created and linked here as work progresses.
The original TransWarp GS from AE had a few undocumented revisions. The typical card came with a blue flywire behind the GAL sockets, an 8k Cache Board, and ran at 7MHz (28MHz oscillator). Later boards were shipped with a 32k Cache Board, ran at 8Mhz (32MHz oscillator), and had some mods to U22 and U33. All boards came from AE with their date code of manufacture written on the rear of the board near the edge connector. The code is in the form "WWYY", where W=week, Y=year. Boards were produced between 1989 and 1991.
In September 2014 work began on the TWGS v1.0 clone project from Ultimate-Micro. Two original TWGS boards were depopulated and sent for scanning. CAD files were produced and sample PCBs were ordered in late November. The first sample clone was produced on March 15, 2015 and was fully hand assembled from the original TWGS parts which were known good. The board was stable at 16.66MHz and was used as a known good starting point for the remainder of the boards to be assembled. These units were sold for $777.77 and a total of nine were produced. Each took 5-6 hours of hand assembly work. This however proved the CAD files and Bill of Materials were good and the project could continue. The v1.0 clone was a true 1-to-1 reproduction of the AE TWGS. The term "PROTOTYPE" can be seen near the CPU just below it to the left.
On May 4th, 2018 Henry decided to revisit the TWGS v1.0 project and ReActiveMicro offered a presale opportunity for the TWGS v1.0 project. This project would still be an Ultimate-Micro collaboration in name and bear the UM logo, however Henry would be leading the project and using it to research a more modern solution while filling a Community desire for the board. Other designers had previously announced working on a IIgs based accelerator, however since 2015 none had produced so much as a prototype, so it was time to work on the project once again.
One of the main goals of the new TWGS project would be to have the boards factory assembled, which marks the new direction ReActiveMicro has taken since its full return back to the retro scene in mid-July 2016. However a full hands-off assembly approach also posed a challenge due to mods the board needed to correctly operate, mainly a flywire AE added to fix an issue with the board. So Henry edited the CAD files and change the board from 5 layers to 6 layers, adding a new ground plane with an internal trace to account for the flywire mod. He also change the TC4 and TC5 bowties to be open and allow 32k Cache by default. Since the project layout was changed Henry incromented the CAD to v1.1. Shortly after the initial presale offering 10 sample units total were ordered from two different manufactures to prove the new layout design and new Bill of Materials, as well as to test assembly for issues.
On September 11th, 2018 a production order of one hundred units was placed with the expected delivery date of about 40 days. The original delivery date was expected to be the middle of July with KFEST attendees taking first possession. However issues were encountered with the first 10 boards and GALs being primary suspect. The issue could also have been related to the new layout changes or Bill of Materials. So more time was needed to better understand the issue before a production order for boards was placed.
Upgrading And Overclocking
As of September 14th, 2018 ReActiveMicro officially offered upgrade services once again. As well as the full assortment of upgrade hardware. Everything needed to upgrade or overclock your TransWarp GS board is stocked and available. ReActiveMicro is the only known vendor to offer upgrade and repair services, or upgrade hardware.
ROM1 vs. ROM3: There has been no evidence that a TransWarp GS will run better in one system versus another. ROM1 systems have been reported to have "noise", however noise does not slow a system down. It would only cause more potential issues or crashes.
Upgrade - Step 1: Fully rebuild and test your PSU or replace with the a new unit such as ReActiveMicro's Universal PSU Kit or Ultimate Universal Power Supply.
It is highly recommended to have a fully rebuilt power supply or a Universal PSU Kit. You should NOT rely on an original power supply in any case, or even one 'only' 10 years old, as it can be unreliable. It is also very hard, if not impossible, to fully test a power supply using common bench top tools. Labs use very expensive and high end tech equipment specifically made for testing power supplies to certify and calibrate a unit. Transcat is one such company which not only calibrates your power supply but also documents how and why it fails certain tests. Costs however can range into the upper hundreds of dollars which is why most users decide to replace their power supply with something known to be new and good.
Upgrade - Step 2: Replace GAL1 and reprogram remaining GALs with current code.
In the past "GAL Upgrade Kits" were sold with all eight ICs. After the retesting with the Universal PSU Kit it was confirmed that ONLY GAL1, and possibly GAL2 need replacing. The rest of the GALs seem fine at 16MHz speed or more. GAL1 is usually replaced with 7ns or 10ns IC. GAL2 needs to be 15ns, which the original unit usually is. The rest of the GALs can be reprogrammed as needed with the current code. Some issues have been reported if they GALs are not reprogrammed. However there have also been reports that the GALs don't need to be reprogrammed and work fine. GAL3-5 should be 25ns. GAL6-7 should be 25ns or faster. GAL8 needs to be 15ns or better.
Upgrade - Step 3: Replace CPU with new WDC 14MHz unit, replace the oscillator with the desired testing speed, replace 10uF electrolytic capacitors (four units), and if needed replace the 8K Cache Board with a 32k Cache Board from RectiveMicro. If you have an original CPU Cable then it is also highly recommended to replace it with a new unit from ReActiveMicro.
All TransWarp GS boards can be upgraded to 32k cache. Most AE 32k Cache Boards should reach 16MHz. If error are encounter or the board locks then you can try to replace the SRAMs with 25ns or better, as mentioned below. HOWEVER, U60 may need to be replaced. We have found this to be the case in most stock boards after 10MHz. If the board won't go past 10MHz and stable, U60 is the issue. And most TransWarp GS boards can be overclocked to 12-14MHz with little more than a new CPU and oscillator. Some TransWarp GS's can be overclocked to 16MHz with only an oscillator upgrade. From 16MHz and up a fan for active cooling is recommended for the GALs. Note: Only red and black wires are used on the connector from the fan. Disregard the other wires and colors (if any).
TransWarp GS speed depends on the oscillator installed. The total TransWarp GS speed, and thus the speed of the IIgs, is the speed of the installed oscillator divided by four. So a TransWarp GS with a 40MHz oscillator installed would allow the IIgs to operate at 10MHz. 10MHz is a good starting speed to confirm the board is stable and ready to be pushed to higher speeds. Again, U60 may need to be replaced. We have found this to be the case in most stock boards after 10MHz. If the board won't go past 10MHz and stable, U60 is the issue.
AE's 32k Cache Card is good until about 16MHz with 35ns speed SRAM or faster installed and 1.8s firmware. It does not work well for speeds above that. SHH Systeme's 32k Cache Card seems to work well for higher speeds, however SRAM performance starts to become a limiting factor. ReActiveMicro's 32k Cache Card uses 12ns SRAMs and is stable above 16MHz. Other hobbyists have created their own 32k Cache Cards with some faster SRAMs (ByteBoosters DarkCache 32k Card for example) however top TransWarp GS speed was not affected.
Note: There have been reports that Cache Boards which have been user upgraded or from vendors besides ReActiveMicro / Ultimate-Micro DO NOT reliably operate at higher speeds. ReActiveMicro found the cause likely to be the Tag SRAM sometimes needs to be slower than the other two Data SRAMs. Again, U60 can also affect how the TWGS behaves at high speeds.
In order to use a 32k Cache Card TC4 and TC5 need to be cut. They are connected by default, which allows for 8k Cache only.
There are some "mods" to the TransWarp GS boards which were installed by AE on their later boards. These do not seem to affect top speed.
Speeds above 16MHz have been known to be unstable and cause some programs to crash even though the board works 100% of the time with other programs.
See the section below for GAL Upgrades and related information.
Upgrade - Step 4: Testing.
Usually a TWGS seems stable even if it's not. The only way to really test the board is manually since no one is able, willing, or sees any value to spend the time creating utilities for the Community. In contrast, Scott Duensing has taken a good first step and created a 'rebooter' program that when loaded in to GS/OS will reboot a IIgs once GS/OS has loaded (see HERE and below for download link). This allows for unattended long form testing, and zero user interaction. We recommend running the test for no less than 10 mins to help verify an upgrade is successful or if there are any issue. If GS/OS crashes or locks, then work need to continue in finding the issue. The TWGS Self Test can also be useful, however it's not much of a test. It can help find Cache Issues, but that's about it. Run the Self Test for no less than 10 mins to help verify an upgrade is successful or if there are any issue.
Error Messages / No Boot Issues
Some boards seem to work inconsistently even at stock speeds. This can be for several reasons. Most likely the CPU Cable is original or damaged. If you have the original cable start by replacing it. ReActiveMicro now sells a replacement which is very inexpensive and available.
The next most likely issue is old flux under the ICs. The card should be fully cleaned with a good flux remover and dried before being retested.
When the CPU Cable has been replaced and card has been cleaned and only works when "twisting" it, or holding it to one side, then a cold solder joint on U64 is most likely. Reflow the IC and reclean it before retesting the board. If the issue it not resolved then reflow the rear ICs, reclean, and retest. If the issue it not resolved then reflow the front ICs, reclean, and retest.
ReActiveMicro Support can also be contacted for board repairs or mods.
Setting "AppleTalk/IRQ" has been known to cause issues when loading GS/OS. It should be set on.
Power on error messages:
0001 - Readback error. The bitstream has an error.
0101 - Switching between 8 and 16 bit registers & ACC, at TWGS speed with cache on.
NVRAM Test, TWGS Off, 1MHz Speed
0201 - All zeros.
0202 - All ones.
0203 - Walking one.
0204 - Walking zero.
0301 - All zeros.
0302 - All ones.
0303 - Walking one.
0304 - Walking zero.
0305 - Range error.
0407 - Range error.
0501 - Switching TWGS off,IRQ logic off, 1MHz, speed test (1MHz).
0502 - Switching Fast,1MHz,Fast, speed test (Fast).
0503 - Switching TWGS On, Off (Fast), On, speed test (TWGS).
0504 - Switching 1MHz, TWGS On, 1MHz, speed test (1MHz).
0601 - TWGS speed test with IRQ logic off.
0602 - Fast speed test, IRQ disabled, via PLP from stack.
0603 - TWGS speed test, IRQ enabled, via PLP from stack.
0604 - Fast speed test, IRQ disabled, via SEP.
0605 - TWGS speed test, IRQ enabled, via REP.
0606 - Fast speed test, IRQ disabled, via SEI.
0607 - TWGS speed test, IRQ enabled, via CLI.
Slot Slow Down
0701 - TWGS speed test with IRQ logic off.
0702 - 1MHz speed test,Slot 4 motor on.
0703 - TWGS speed test, slot 4 motor off.
0704 - 1MHz speed test,Slot 5 motor on.
0705 - TWGS speed test, slot 5 motor off.
0706 - 1MHz speed test,Slot 7 motor on.
0707 - TWGS speed test, slot 7 motor off.
0801 - Bank data mismatch.
Self Test failures:
Shadow Emulation and Language Card failures seem to be the most common when overclocking. Shadow Emulation is usually accompanied by slow boot animation or artifacts on the screen. Both seem to be addressed in most cases with U60 and U63. Extreme care needs to be taken with replacing either IC as the pads on the TransWarp GS PCB are easily damaged. Professional grade Hot Tweezers should only be used by those who are experienced in rework with glue affixed ICs.
U60 is usually replaced first. It is a 74AC74 and replaced with a TI SN74AHCT74D. This upgrade will usually resolve both issues.
As a final resort U63 is replaced. It is a 74LS123 and replaced with a TI SN74AHCT123AD. This has been shown to allow higher top end speed with some boards.
Note: When these ICs are replaced it is normal that most TransWarp GS boards will require a double power cycle to get them to boot when they are cold.
ReActiveMicro Support can also be contacted for board repairs or mods.
What Are GALs
The Generic Array Logic (also known as GAL) device was an innovation of the PAL (Programmable Array Logic) and was invented by Lattice Semiconductor. The GAL was an improvement on the PAL. PAL of course was an improvement on standard Gate Logic ICs like the 74-series as they could replace many ICs at a time. Little known in this series of simple PLDs (as they are also sometimes refereed as) is the Hard Array Logic or HAL. HALs were much like PALs except they came from the factory already programmed. They were seldom used, and can rarely be found. The Apple IIe however used one, and can be found just left of the AUX Slot at D1 on USA motherboards.
A GAL can emulate many versions of PALs. And as with PALs can also be programmed to emulate many 74-series ICs in one device, saving cost, power, and PCB real estate. Its primary benefit, however, was that it was erasable and re-programmable, making prototyping and design changes easier and faster for engineers. These simple PLDs also offered a form of 'copy protection' that helped designers protect their work.
AE used a set of 8 GALs on the TransWarp GS. Their function removes no less than 40 standard 74-series ICs from the PCB, which made the TWGS project possible.
AE's GAL Markings
AE sometimes used the part number suffix "N" and other times they used "I". "N" labeled parts have a "-" separating them, whereas the early "I" labeled parts have a "-" for separation and later used ".". It is not clear why the differences in suffixes. However there does not seem to be a difference in the way the GALs are programmed. This separation and suffix change was product wide and not limited to the TransWarp GS. The differences could have been from when Don Pote sold AE to a new owner in the early 1990's.
The earliest GALs have a "-I" suffix, and all "labels" are silk screen printed to the GALs. It appears most TransWarp GS boards AE date coded from early 1989 have GAL date codes from 1988 and/or 1989. The earliest production boards would have an "A" revision for GAL3. GAL3 revision "B" is a lot more common for early boards, and usually the GALs all have a 1989 date code on them. However in early 1990 AE changed how they labeled their GALs and the "-N" marking made an appearance on a mylar type label. In mid 1990 there are examples of ".I" suffix appearing, and also AE relabeling old GALs or over labeling GALs. See the last pic on the right before for these two examples.
GALs were also user upgradable and therefore some users were known to have replaced them in order to address early CPU bugs or issues between the different IIgs ROM versions. This could explain the mix of different labels found.
GAL Versions And Speed Grades
GALs 1-2, 6-8 are "GAL16V8" or "GAL16V8A". GALs 3-5 are "GAL20V8" or "GAL20V8A". Lattice Semiconductor found flaws in the GAL's security and in early 1989 started to address these issues with the "A" redesign. This is not to be confused with AE's programming revision lettering.
GAL 1 and 2 were always 15ns speed grade. These two GALs connect directly to the oscillator and need to be as fast as possible. The 15ns speed grade is only good up to about 10Mhz. 7ns speed grade seems to be good up to 18+MHz.
GAL 3 to 5 were always 25ns speed grade.
GAL 6 and 7 were usually 25ns speed grade, but were sometimes the faster 15ns speed grade on later dated TransWarp GS boards.
GAL8 is always 15ns speed grade.
Why Different GAL Versions
We do not know for sure what the different GAL revisions do besides allow for a reduction in overall ICs used while allowing for simple redesign of the board's function or connections. They also seem to be used for addressing bug fixes.
The only GAL currently known about is 2 revision "B", and this was a DMA fix Applied Engineering issued. It is an absolute requirement for the TranWarp GS to work at all with at least some RamFAST SCSI boards (e.g. the revision "C" boards). RamFAST revision "D" does not require the 2B GAL.
No original GAL source code has been found to date. Without documented source we will never know the reasons for the revisions.
What Roles The GALs Perform
GAL1: TWGS CPU clock control.
GAL2: Writeback to GS memory.
GAL3: OPcode detection and slowdown of problem opcodes, RAM & ROM decode.
GAL4: Decode BANK I/O and TAG bits 0 & 1.
GAL5: Decodes C0XX for banks with I/O enabled and Bank 0/1 Interweave addresses selection.
GAL6: ROM output control and NMI control.
GAL7: Decodes TAG bits.
GAL8: Decodes signals from expansion slots, with DMA and RDY signals controlling slowdown.
For 16MHz operation the following is required for correct IIgs operation.
- 32k Cache Board with 1.8s firmware.
- WDC W65C816S 14MHZ CPU
- GAL1x, 10ns speed grade (PN: GAL16V8D-10LP), 7ns speed grade mostly used.
- GAL2B, 10ns speed grade (PN: GAL16V8D-10LP), 7ns speed grade mostly used.
- GAL3x, 25ns speed grade (PN: GAL20V8B-25LP).
- GAL4x, 25ns speed grade (PN: GAL20V8B-25LP).
- GAL5x, 25ns speed grade (PN: GAL20V8B-25LP).
- GAL6x, 25ns speed grade (PN: GAL16V8D-25LP).
- GAL7x, 25ns speed grade (PN: GAL16V8D-25LP).
- GAL8x, 15ns speed grade (PN: GAL16V8D-15LP).
GAL part number notes: "GAL..V." is the main part number. The letter suffix after is a security revision. Later letters mean better security against copying. For the TWGS this doesn't matter. The number after the dash is the speed rating. This is roughly how many nanoseconds propagation delay there is from input to output. The letter suffixes stand for several things. * "P" = DIP Part. * "L" = Low Power * "Q" = Quarter Power * "N" = Lead-free. None of these options seem to make a difference with upgrading the TWGS, and some options like "Q" will cost more money.
Speeds listed are minimums needed. Faster speeds may be required for operation above 16MHz. This still needs to be fully tested with boards proven stable at higher speeds.
Most users do not seem to notice any difference between GAL revisions. 2B was listed above since it is known to be a fix for a possible DMA issue. Some users claim video issues with some GAL versions or combinations, however this has not been well documented as the issues tend to be very intermittent.
NOTE: If you experience different speed limits or issues that are not listed here then it could suggest your GALs are fakes, defective, or mislabeled. Unscrupulous vendors have been known to "wash" slower GALs and relabel them with faster markings. Many 15ns GALs have been known to be relabeled and sold as the faster 7ns parts. Unfortunately there is no known "simple" way to test GALs and determine their actual speed rating, and lab certifying GALs can be in the hundreds of dollars. Purchasing them from a reputable dealer is your only option to ensure they are in fact original and as marked by the factory.
In the past "GAL Upgrade Kits" were sold with all eight ICs. After the retesting with the Universal PSU Kit it was confirmed that ONLY GAL1 and GAL2 need replacing. The rest of the GALs seem fine at 16MHz speed or more. Before the Universal PSU Kit the GAL performance and consistency was not good and the newer GAL ICs seem to put up with the older PSUs and their issues much better than the original GAL ICs.