[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Apple II FAQs Accelerators
The comp.sys.apple2 Usenet newsgroup Apple II FAQs originate from
the Ground Apple II archive, 1997-1999. Administrator: Steve Nelson
Csa2 FAQs-on-Ground ref: Csa2ACCEL.txt rev017 7/27/1999
Accelerators
001- What are the correct settings for a ZipGS?
002- Why should Appletalk Delay be disabled with a ZipGS?
003- How do I set up a Transwarp on my IIe?
004- Is there a way of disabling Transwarp for games?
005- What are specs & jumper settings for a vintage SpeeDemon?
006- How does the SpeeDemon rate as an accelerator?
007- My SpeeDemon accelerator board seems to run hot. A fix?
008- How should the DIP switches be set on a v3.03 SpeeDemon?
009- How can I get a 'Cache Hit' indicator for my ZipGS?
010- How can I program the ZipGS registers?
011- How can I set up a ProDOS sys file to turn my ZipGS OFF/ON?
012- Is there some ZipGS mod that will improve performance?
013- I have a 7MHz ZipGS. How fast can the board be pushed?
014- What Oscillator freq corresponds to what upgrade speed?
015- How do I experiment with different oscillator frequencies?
016- How do I modify my ZipGS to accept the new "skinny" RAM chips?
017- Is it really necessary to increase board voltage
018- What kind of performance increase can I expect?
019- How can I modify my ZipGS for more cache and more speed?
020- Do I need new GALs to speed up my TransWarpGS?
021- How does a TWGS cache upgrade compare with a speed upgrade?
022- How can I upgrade my TWGS to 32k cache?
023- How can I upgrade TWGS speed?
024- What kind of RAMs do I need for a TWGS or ZipGS speedup?
025- How can I tell the firmware version of my TWGS?
026- For my TWGS, do I need the 2B GAL to use a SCSI interface card?
027- Why are my ZipGS settings via the Zip CDA forgotten?
028- What do the check-marks mean in the ZipGS CDA?
029- Why don't my ZipGS settings match DIP switch settings!?
030- I have a ZipGS. Sometimes my GS 'hangs' on power-up. Why?
031- The speedup has led to system crashes. What's the problem?
032- A new accelerator board has led to crashes. What's the problem?
From: Marc Sira
001- What are the correct settings for a ZipGSx? I've tinkered
with "CPS Follow", "Counter Delay" and the like but have
no idea what I'm actually doing.
CPS Follow should always be enabled. If you disable it you will have problems
with Disk ]['s and System 6's AppleTalk driver and anything else that expects
the Zip to slow down to 1 mhz when the GS is instructed to slow down to 1mhz.
For instance, border text demos (like the FTA XMAS demo) won't work if you
have this disabled. Expect weird things to happen if you play with this one.
Counter Delay I would recommend leaving enabled. This causes the Zip to
"deaccelerate" (actually all it does is temporarily ignore that any data can
be read from the cache instead of the motherboard) for about 5 milliseconds
any time you read one of the Video Counters -- this is really only there so
that one of the self-tests will pass. Which way you set it shouldn't be
fatal.
AppleTalk or Interrupt Delay should always be disabled. The desktop will run
much slower if you enable it. The only reason most people needed it was for
AppleTalk under system 5, and I have an init on tybalt that fixes that.
System 6 fixed the problem but requires CPS Follow to be enabled for the fix
to work.
Speaker and Paddle delays are intended to let old 1-bit sounds and Paddle
access work the way they do on an unaccelerated IIgs. I recommend leaving
these on unless you feel like experimenting. They shouldn't be fatal but some
program might react very negatively, so be prepared.
Bank C/D cache enable -- leave this at the default setting and forget about
it. This tells the Zip if it's OK to cache bank-switched RAM (the old
language card area). Zip's own docs say "there is no know software requiring
this" but that it why it's there, in case somebody ever finds software that
doesn't like it you can try setting it the other way.
____________________________
From: Todd P. Whitesel
002- Why should Appletalk Delay be disabled with a ZipGS?
Because it saps performance every time an interrupt occurs.
The Appletalk delay was originally called the "Interrupt Delay" but they
renamed it at the last minute because somebody actually tried an 8/64 on an
Appleshare network and it dropped packets like crazy.
With "Appletalk delay" on, every time an interrupt occurs your Zip will
disable acceleration for 5 ms, just like it does with the paddles and the
speaker and the others. This is a significant effect because with VBL
interrupts going you have one every 16 ms, so your Zip spends nearly 1/3 of
the time not accelerating you.
Why this "fixes" appletalk: in system 5 and earlier (including the ROM
appletalk code), there are software timing loops which assume 2.8 mhz
operation. As you speed the system up, it gets more and more likely to drop
incoming packets because it thinks they are being sent too slowly to be
correct, when in reality the appletalk code is timing out too fast.
Why the Appletalk delay is not a complete solution: a full-size Appletalk
packet that you'd get from a file server takes about 14 ms to transmit. The
Appletalk delay covers the first 1/3 of the packet, the VBL interrupt covers
at most another third of the packet, but nothing is guaranteed to keep
acceleration off for the whole packet. If you speed the Zip up more, say to
10/64, it starts dropping long packets no matter what.
This latter problem was why I originally wrote ZipTalk. It required a slot
delay to be enabled (in, say, slot 6 or 7), and before each appletalk packet
was received I tweaked that slot -- slot delays are 50 ms, so the Zip stays
unaccelerated way past the end of the packet and everything works. (I also
patched packet sending, to be safe.)
In system 6 Apple fixed things correctly in the appletalk drivers. I removed
the code from ZipTalk and released what remained as ZipFix. As of 6.0.1, the
cursor flicker problem was fixed by apple in the control panel, so now you
only need ZipFix for the GS/OS SET_SYS_SPEED hook, which nobody seems to use.
______________________________
From: Jeff Brielmaier
003- How do I set up a Transwarp on my IIe?
Bank1: Sw 1-7 -> Change to OPEN if there is a memory card that uses the
"Langauge Card bank switching technique". (Normally CLOSED)
Bank1: Sw 1-7 -> Change to OPEN if the plug in card must be accessed at 1 MHz
(Normally CLOSED. OPEN for Floppy diskette controllers)
Switch 8 on both Banks: Sets the power up speed of Transwarp
Bank1 Bank2
3.6 MHz OPEN OPEN <<Normal>>
1.7 MHz CLOSED OPEN
1 MHz OPEN CLOSED
1 MHz CLOSED CLOSED
----------------------
004- Is there a way of disabling Transwarp for games?
Press <Esc> at power-up will disable Transwarp completely until the next
power off/on cycle.
A better way is to write a 01 to $C074. This will slow Transwarp down to 1
MHz without disabling it completely. Writing a 00 to $C074 will restore
Transwarp to it's 'fast' speed.
____________________________
From: Rubywand
005- I recently bought an "M-c-T SpeeDemon" board. It's dated 1984
and draws a small apple on the screen after power-up. What kind
of cache RAM does it have? There's a place for jumpers near the
top of the card. Is there a way to control this thing through
software or hardware?
Your card may be a slightly later model. (I've never noticed ours draw a
hires apple on the screen-- darn it!) Possibly, McT came out with a revision
aimed at 128K IIe's.
The RAMs on our vintage model SpeeDemon are 100ns 2048x8 9128's (for a
total 8K of pretty speedy cache).
I once asked McT about the jumper block you mention, they said the
jumper is set at the factory to adjust on-card timing and to Leave It Alone.
(On our card, the jumper block has 5 pairs. The pair 2nd from the top is
jumpered.)
There is also a jumper pair near the bottom middle of the card. This is
the Speed Jumper. Jumper it if you want 'demon to slow down for I/O accesses
to Slots 4 & 5. (The 'demon always slows for Slot 6 I/O ($C0E0 - $C0EF.)
According to the "Manual" (a folded card), pressing PDL-1 (Closed-Apple
on a IIe) upon power-up will engage a self-test. Pressing ESC at power-up
will turn OFF the card and allow running at normal speed. To turn OFF the
card later on, do a POKE (49152+256*S) where S= Slot # of the slot the card
is in; then, press RESET.
You can put the 'demon into any Slot; but, if you put it in Slot 0 (Slot
3 in a IIe), the card will not respond to any KB shut-off commands.
------------------------
006- How does the SpeeDemon rate as an accelerator for II+ and IIe Apples?
In terms of raw performance (once you arrange for cooling), SpeeDemon
may be the best of the 4MHz accelerators for early II's. I've never noticed
any compatibility problems and the approx. X3.5 speed increase puts real
'snap' into your machine's response. (Besides, it's great for games like
Elite!)
------------------------
007- My SpeeDemon accelerator board seems to run hot in my II+.
Is this normal? Should I add cooling?
Indeed, the 'demon is a power gobbler-- roughly 1.5A as I recall-- and
some of the IC's run hot. When the board bombed after one long session, we
cut out a square section on the back of the II+ and added a mini-fan, just to
blow air across the 'Demon board. This ended the heat problem.
____________________________
From: Douglas M. Howell
008- How should the DIP switches be set on a version 3.03
SpeeDemon board?
This is from the 1-page manual that comes with the card:
For owners without a Bank Switch Language Card in thier Apple, the first
seven DIP switches control the access speed of the following:
switch 1 -- controls -- slot 1
switch 2 -- " -- slot 2
switch 3 -- " -- slot 3
switch 4 -- " -- paddle/joystick port
switch 5 -- " -- slot 5
switch 6 -- " -- slot 6
switch 7 -- " -- slot 7
OFF indicates slot/port is accessed at High Speed.
ON indicates slot/port is to Slow Down for access.
All slots that can be accessed at High Speed and all empty slots should
have the corresponding Dip switch set to "OFF" (this is the non-bank switch
setting).
Special Note about Switch 4:
Switch 4 on the SpeeDemon DIP switch no longer controls the access speed
to slot 4. It now controls how the joystick and paddles are read.
If switch 4 is in the "ON" position, the SpeeDemon will slow down to
normal Apple speed for 50 milliseconds each time the joystick is accessed.
This allows the software to read the joystick or paddles correctly. If switch
4 is in the "OFF" position, the SpeeDemon will not slow down when they are
accessed.
Access to slot 4 is always at SLOW (normal) Apple speed.
Certain programs, such as Appleworks, use the joystick location, even
when the joystick is not in use. If dip switch 4 is set to "ON" then these
programs will not show any speed for some functions, such as calculations and
sorts. Therefor, unless you need youysticks for your applications, switch 4
should be set in the "OFF" position.
If you have a Bank Switch Card (extended 80-col card, Ramworks II, Titan
Saturn 128k card, excetera..) set switch 8 to the "ON" position.
Bank Switch Language Card Location:
Dip Switches 1-3 encode the location of your Bank switch language card.
Use the following table to find the appropriate setting for your machine:
Dip Switch Bank Switch Card Location
1 2 3 Slot #
--- --- --- ------
off off off 0
off off on 1
off on off 2
off on on 3
on off off 4
on off on 5
on on off 6
on on on 7
If you have two bank switch cards in your system, one must reside in slot 0.
The other must be in the slot selected by DIP switches 1-3 above.
Special Note: Because the first three switches are used to encode the
location of the Bank Switch Language Card, you can no longer control the
speed of all the slots. Specifically you can not control slots 1,3, or 6.
These slots woll now always run Fast except for slot 6 which will always run
Slow.
Special Note: The slot that the SpeeDemon card resides in should be set to
the "Off" position
____________________________
From: Will Baguhn
009- How can I get a 'Cache Hit' indicator for my ZipGSx?
This latest ZipGSx modification is pretty straightforward. When I decided I
wanted a Cache HIT light instead of a Cache MISS light, I went to Rat Shack
and bought a pack of Green LEDs (I like green. Blue or Orange will work just
as well.)
I tried adding an inverter to the circuit but it just didn't want to play
(obviously a cache HIT is the opposite of a cache MISS, and the LED on the
board lights up for cache MISSes). Through the experimenting, I found that I
could get the LED to light as desired without any "extra" hardware except the
LED itself.
Simple mod: solder in the Anode of the LED to the Anode of the Cache Miss.
Solder the Cathode to the Cathode of the Power LED.
(Even easier way to say it: there are four solder points for the existing
LEDs. We use the two in the middle. The long lead goes to the yellow side,
the short to the red. position as is comfortable. I can only guess that
this would be a nice thing to attach to the TURBO light on the front of a
tower case, should anyone ever mount a IIgs/ZipGSX inside a tower case...
(also, it might be nice to turn SW1-6 OFF and connect the pins to the TURBO
button on front. I don't know how useful it would be, but it might come in
handy one of these days...)
____________________________
From: David Empson
010- How can I program the ZipGSx registers?
ZipChip GS Special Registers Ex ZIP Technology, 12 October 1990
Registers must be unlocked before they can be accessed (see $C05A). Locking
them will re-enable the annunciators.
Writing to any I/O location $C058-$C05F (whether registers are locked or
unlocked) will reset delay in progress.
$C058 R No operation
$C058 W Write any value to force power-on/reset bit to COLD (forces
next reset to restore ZIP registers to defaults/switch settings).
$C059 R/W 76543210
*....... Bank Switch Lang Card cache disable=1/enable=0?
.*...... Padl delay (5 ms) disable=0/enable=1 $C070/$C020
..*..... External delay (5 ms) disable=0/enable=1
...*.... Cntr delay (5 ms) disable=0/enable=1 $C02E/$C07E
....*... CPS follow disable=0/enable=1
.....*.. Last Reset warm? READ ONLY
......*. Hardware DMA READ ONLY
.......* non-GS (0)/GS (1) READ ONLY
$C05A R 76543210
****.... Current ZIP Speed, 0=100%, 1=93.75%,..., F=6.25%
....1111
$C05A W Write values as follows:
$5x Unlock ZIP registers (must write 4 times)
$Ax Lock ZIP registers
other Force ZIP to follow system clock (disable card)
$C05B R 76543210
*....... 1msclk - clock with 1 ms period
.*...... cshupd - Tag data at $C05F updated
(read $C05F to reset)
..*..... Bank Switch Language Card cache (0), don't (1)
...*.... Board disable - 0=enabled, 1=disabled
....*... delay in effect (0=ZIP, 1=Slow)
.....*.. rombank (0/1) - not in development version
......** Cache RAM size (00=8k, 01=16k, 10=32k, 11=64k)
$C05B W Write any value to force ZIP to current speed
(i.e. enable card)
$C05C R/W 76543210
*******. Slot 7-1 delay enable (all slots 52-54 ms)
.......* Speaker delay enable (5 ms)
$C05D R Current 65816 bank
$C05D W 76543210
****.... Set ZIP speed, 0=100%, 1=93.75%, ..., F=6.25%
....**** Don't care
$C05E R Read last Tag data written and force the next write
to create a trash tag value.
$C05E W No operation
$C05F R Read last Tag data written and reset cshupd.
Note: apparently any write to a ZIP register
(unlocked) will clear cshupd, but cshupd
says that this location must be read.
$C05F W No operation
----------------------------
011- Is it possible to set up a simple ProDOS-8 application
(SYS) file which turns the ZipGS OFF or ON?