Guru ROM
 connects to: Other
Guru ROM
Guru rom V6.16
Hi Res Version, Guru ROM
- 910 x 528, 89K
Hi Res version, Guru rom V6.16
- 4032 x 3024, 9,266K
Image of installation disk
- 2092 x 2194, 836K

The Guru ROM is a third party ROM (written by Ralph Babel, a former employee of GVP) containing replacement driver software for all GVP SCSI controllers in the "Impact Series II" class. The drivers provide improved performance and transfer speeds, bug fixes, work arounds for bugs in the A3000 and A4000 DMA handling and better support for modern SCSI devices.

GuruROM v6
 
The GuruROM is a replacement driver for most Commodore (C=) and Great Valley Products (GVP) Zorro II DMA SCSI expansion card products based on their respective DMAC or DPRC custom-DMA controller chips for the A500 and A2000 platforms.  This includes the 68030/68040 accelerator products by GVP and also the GVP A1208 trapdoor module.
 
The driver is sold as a kit; a ROM in an adapter.  Three versions of the adapter have been produced.  The first version was two controller-specific adapters with a 32K (27C256) EPROM - one for GVP boards, one for C= boards.  The second (latest) version supports both controllers with one adapter.  It has a jumper to select the matching adapter image from the 64K (27C512) EPROM, and is loosely referred to as the omni-adapter.  All adapters have a custom logic GAL to permit the driver code (32K in approximate size) to be read into the system within a 16K address space provided for on each host adapter.  Both native driver ROMs for each card are 16K, and therefore do not need this additional logic.
 
Significant Versions:
 
Pre-v6.11
- Supports SCSI I & II Async & Sync negotiated command sets.
- Fully Supports Disconnect/Reconnect (DC/RC)
- Has workarounds for all known 33C93A revision bugs.
- Supports driver-based >16MB buffered DMA copy-up by the CPU (no DMA Mask limiter)
- Fully compatible with the C= HD_SCSI_CMD/SCSI Direct command structure
- Robust support tools, including non-standard 68K accelerator cache support, per-unit DC/RC toggle, DMA limiter/transfer control, and enhanced removable media support.
 
v6.11
- Adds support for the TD_64 API, allowing newer file systems that support >4GB SCSI media to address the larger disk media via this new API.
 
v6.14
- Existing adapter owners may burn this version to EPROM and use on their older adapters, if desired.
- Only minor adjustments after 6.11 (no documentation available on any interim release(s))
 
v6.16
- Identical to v6.14 but has additional native support for 14Mhz DMAC hacks on the A2091/A590.
- Is the current release version on the current combined adapter.
 
The driver name is omniscsi.device, and the version reports v1.x (v1.16 for the current version).  This is due to the code being designed as a combination high and low level driver, in which only one layer's version is reported to the OS. 
 
Known issues:
 
1) Physically, the adapter(s) may not clear the shielding plate within the A590.  It may require modification or removal of that plate.
2) The A2091/A590 need a modification done on the PCB for 14Mhz 33C93A SCSI chip clocking to enable the best performance.  A jumper can be set to indicate native 7Mhz clocking if no modification is done.  An undocumented 3-pin jumper mod applies to the A2091, but a more intricate trace cut and jumper wires are needed on the A590 to synthesize the 14Mhz clock.  The GVP boards provide a jumper for 14Mhz 33C93A clocking, and many are already set for 14Mhz operation.
3) A3000/A4000 Operation - Zorro II DMA to ChipRAM is default disabled when a 68030 is NOT detected in these systems due to bugs that may may manifest depending on the Super Buster revision and/or the presence of some older revision A3640 and/or other 68040/68060 accelerator cards.  The GVPSCSICtrl tool can be called to enable ChipDMA for testing, and used during system startup to enable it during boot if there are no problems found.
4) All memory in the system located in the AutoConfig Zorro II FastRAM range ($200000-9FFFFF) must support DMA for these controllers.  GuruROM does not overcome this limitation.
5) On all systems with a 68020-68060 32-bit CPU and 32-bit RAM which is mapped >16MB (including A3000/A4000) - Some 16-bit FastRAM, which is 24-bit DMA compatible, and preferably on the card, is highly suggested for best performance.
6) Proper SCSI termination (at the most distant points of the SCSI bus (cable) becomes very important with the potentially higher transfer rates of Sync SCSI negotiation.
7) Disconnect/Reconnect and Synchronous SCSI - Both of these features are typically disabled in the RDB (boot block) of many systems by the default controller prep software.  Tools are provided to manually enable these features with a target device, of which can also be added to your startup-sequence once testing confirms stable operation.  Additional tools can modify boot block settings to always enable these features.  Use with care as they may present problems if the disk media is moved or transferred to another system or controller.
 
Important C= and GVP Controller Jumpers:

A2091:
JP5-2 - Open for 7Mhz 33C93A clock (i.e. unmodified J201)
JP5-2 - Short for 7Mhz 33C93A clock (i.e. J201 trace cut, 1 & 3 connected)
 
A590:
DIP 1-3 Open for 7Mhz
DIP 1-3 Closed for 14Mhz (clock rework on PCB is required)
 
GVP HC/HC8 Series II
 
J2 - 33C93A Clock, 1/2 - 7Mhz, 2/3 -14Mhz
 
If the ID jumper block is present (few early HC, most HC8), J10 or J11 shorted indicates 7Mhz 33C93A operation. Otherwise, 14Mhz operation is assumed in all other cases.  Some early revision cards had problems with J10 being detected, so J11 was also used.
 
GVP Accelerators are already set for default 14Mhz clock of the 33C93A (if supported) and require no changes.
 
68030: Default settings of CN14 and CN15 (if present)
68040: Default settings of CN11 and CN12
 
A1208 - The default settings are for 14Mhz clock.
 
Disconnect/Reconnect and Synchronous SCSI - Both of these features are typically disabled in the RDB (boot block) of many systems by the default controller prep software.  Tools are provided to enable these features with a target device which can be added to your startup-sequence once testing confirms stable operation.  Additional tools can modify boot block settings to always enable these features, but they may present problems if the disk media is moved or transferred to another system or controller, and should be used with care.

As a side-note a version of the Guru ROM was also produced for the Commodore A2091 SCSI card.

Page contributors: Alan W. Rateliff, II, Robert Miranda (GVP Tech Support), Takahasi Kasiko
Updated: 3/27/2018 . Added: 9/25/2005