TransWarp GS

From The ReActiveMicro Apple II Wiki
Jump to: navigation, search

The TransWarp GS (TWGS) is one of the best and most expandable of the accelerator cards for the Apple IIgs. With its expandable 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 a lot of his work on the TransWarp GS schematic, and deciphering what is going on with the firmware and GALs.


History

AE released the TransWarp GS in winter of 1988. The board came stock at 7MHz and 8k cache. They later upgraded the board to 8MHz and offered a 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 cracking 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.

In March 2007 ReActiveMicro created a 32k Cache Card which used 12ns SRAMs and allowed for more stable operation above 16MHz.

Upgrading And Overclocking

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.

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.

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.

All TransWarp GS boards can be upgraded to 32k cache. 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.

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.

AE's 32k Cache Card is good until about 16MHz with 25ns 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 / UltimateMicro DO NOT reliably operate at higher speeds. ReActiveMicro found the cause to be the Tag SRAM must be slower than the other two Data SRAMs.

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.

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:
FPGA
0001 - Readback error. The bitstream has an error.

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

Cache RAM
0301 - All zeros.
0302 - All ones.
0303 - Walking one.
0304 - Walking zero.
0305 - Range error.

Cache Flush
0401
0402
0403
0404
0405
0406
0407 - Range error.

Speed Control
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).

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

Language Card
0801 - Bank data mismatch.

Shadow Emulation
0901
0902
0903
0904


Self Test failures:
Shadow Emulation and Language Card failures seem to be the most common when overclocking. Shadow Emulation is usually complained 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, which itself was an improvement on standard Gate Logic ICs like the 74-series. A GAL can emulate many PALs and 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. AE used a set of 8 GALs on the TransWarp GS.


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 some of 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 to 8 were usually 25ns speed grade, but were sometimes the faster 15ns speed grade on later dated TransWarp GS boards.

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.

GAL Upgrades

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

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.

Documentation, Files, and Software