[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Apple II Csa2 FAQs: Accelerators, Part 3/25



Archive-name: apple2/faq/part3
Posting-Frequency: monthly
Last-modified: 2003/7/1
URL: http://home.swbell.net/rubywand/A2FAQs1START.html


The comp.sys.apple2 Usenet newsgroup Apple II FAQs originate from
the Ground Apple II archive, 1997-2003. Administrator: Steve Nelson

Csa2 FAQs-on-Ground ref: Csa2ACCEL.txt  rev064 July 2003





 
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, David Empson, Rubywand

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.

Bank C/D cache enable -- Leave this at the default setting (SW1-1 set to ON). 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.

Paddle Delay lets your paddles or joystick work the way they do on 8-bit Apple II's or an unaccelerated IIgs. The delay is necessary for playing most 8-bit games which use paddles or a joystick. Recommended setting is to have the delay active (SW1-2 set to OFF) unless you feel like experimenting.

AppleTalk or Interrupt Delay should always be disabled (SW1-3 set to ON). The desktop will run much slower if you enable it. The only reason most people needed it was for AppleTalk under system 5, and now there is an init on tybalt that fixes that. System 6 fixed the problem but requires CPS Follow to be enabled for the fix to work.

Counter Delay is really present just so that the ZipGS can be set to get past one of the early IIgs diagnostic self-tests. It 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. To get pass the particular self-test, SW1-4 should be set to OFF (delay active). Otherwise, the recommended setting is SW1-4 set to ON.

CPS Follow should always be enabled (SW1-5 set to OFF). It causes the ZipGS to auntomatically 'follow' the IIgs-- when it switches to "Normal" speed, the ZipGS is disabled. This is a requirement for a reasonable amount of timing-critical software. If you disable CPS Follow 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 IIgs 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.

ZipGS Enable-- The card should normally be enabled (SW1-6 set to ON).

SW1-7 and SW1-8 should be set to correspond to the size of your ZipGS's cache memory. (see below)

SW2-1 through SW2-7 control slot delays for Slots 1-7. Set the switch OFF to enable the delay for the corresponding Slot. This is generally only needed for a small number of cards that are speed critical but not IIgs-aware. 5.25" disk interface cards are covered by the CPS FOLLOW option (1-5) if they are in slots 4 to 7.

I have found that it is necessary to enable the delay for slot 6 when using a 3.5" drive connected to the IIgs disk port. There are a few rare cases in which a long timed operation is performed in fast mode, and the ZIP throws the timing out unless this delay is enabled. In my case, I had some strange disk errors with certain disks until I enabled this delay.

Speaker Delay lets "old Apple II" 1-bit sounds play the way they would on 8-bit Apple II's or an unaccelerated IIgs. The delay is necessary for getting correct sound from most 8-bit games. I recommend having the delay active (SW2-8 set to OFF).


Summary

The normally recommended SW1 settings are identical to the
factory default settings except for SW1-4 ...

ON    x     x  x     x  m  m 
OFF      x        x     m  m
      1  2  3  4  5  6  7  8


1- Cxxx/Dxxx Cache: ON= enabled.
2- Defeat Joystick delay: OFF= allow delay.
3- Defeat AppleTalk delay: ON= no delay.
4- Defeat Counter Delay: ON= no delay. Set OFF to pass IIgs
   diagnostic self-test #05 ("Speed Test").
5- Defeat CPS Follow: OFF for floppy drives to work.
6- ZipGS enable: ON. (Set OFF to allow powerup boot in
   slow mode and use an Init to turn GS back ON.)

7 & 8- Set these to installed Zip cache memory size:

ON  ON    8k
ON  OFF  16k
OFF ON   32k
OFF OFF  64k  


The factory default SW2 settings are ...

ON    x     x  x  x     x  
OFF      x           x     x
      1  2  3  4  5  6  7  8


SW2-1 through SW2-7 control whether a card in Slot 1-7 is accessed
at full speed (set ON) or "normal" speed (set OFF)*.

SW2-8 sets Defeat Speaker Delay. To play 'old Apple' music and
effects correctly, the switch should be OFF to permit the delay.

*Note: Whether or not a particular card can work without a slow-down is something you can determine by experimentaton. This is easiest using the Zip CDA accessed via the Desk Accessories menu (OpenApple-Control-Escape).  The CDA settings are not permanent. Once you find the settings you like, you can turn OFF the computer and set the switches on the board to match the settings that work best.

____________________________



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 m
ight 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?