@database "GG2_Busplus.guide" @node Main "GG2 Bus+ Manual" Table of Contents @{" Legal Stuff " link Legal-Notices} @{" Disclaimer " link Disclaimer} @{" Software Update Policy " link Update-Policy} @{" Recycling Policy " link Recycle-Info} @{" Credits " link GG2-Credits} @{" Installation " link GG2-Install-Dir} @{" Ethernet Drivers " link GG2-Ethernet-Dir} @{" Other Drivers " link GG2-Drivers-Dir} @{" Utilities and Extras " link GG2-Other-Software} @{" Using Emulators with the GG2 Bus+ " link GG2-Emulators-Dir} @{" Programming Information " link GG2-Programming-Info} @{" Appendices " link GG2-Appendices} @{" Last Place " link GG2-The-last-place-you-look} @{" Legend " link GG2-Legend} @{" Index " link GG2-Index} @endnode @node Legal-Notices Legal Notices All rights reserved under the United States Copyright laws and the Pan American Conventions for the GG2 Bus+ board, software drivers, and all attendant documentation. These items may not, in whole or in part, be copied, photocopied, reproduced, translated, or reduced to any electronic medium or machine readable form without prior written consent from Software Results Enterprises. The user assumes all responsibility for the safe and proper installation, and use of this product. All GG2 Bus+ are individually tested and certified free of manufacturing defects at time of shipment. Software Results Enterprises provides a one (1) year replacement warranty for manufacturing defects. Should you have a problem, contact Software Results Enterprises for a Return Authorization Number prior to returning your board for replacement under this warranty. Software Results Enterprises makes no other warranty claims, either expressed or implied. See @{" Disclaimer " link Disclaimer}. @endnode @node Disclaimer Disclaimer Software Results Enterprises provides a one (1) year replacement warranty against manufacturing defects only. All GG2 Bus+ boards shipped internationally are done so fully insured. If your GG2 Bus+ arrives damaged in transit, notify the delivery service and Software Results Enterprises immediately. Software Results Enterprises makes no other warranties, either expressed or implied, with respect to the hardware and/or software described herein, their quality, performance, merchantability, or fitness for any particular application or purpose. The GG2 Bus+ is sold "as is"; the entire risk is with the buyer. Should any damage occur as a result of improper installation or use following its purchase, the buyer (and not the designer of the board, the software authors, Software Results Enterprises, their heirs nor assigns) assumes the entire cost(s) of any damages. In no event will Software Results Enterprises be liable for direct, indirect, incidental, or consequential damages resulting from the use of, or any defect in, the hardware and/or the software, even if it has been advised of the possibility of such damages. Some states' and/or countries' laws do not allow for the exclusion or limitation of implied warranties or liabilities for incidental or consequential damages. Note: purchase of the GG2 Bus+ anywhere such laws apply shall be taken as a voluntary abrogation of any protection these laws may provide. The responsibility for this decision rests entirely with the purchaser. @endnode @node Update-Policy Update Policy In order to provide the best possible service to our customers, Software Results Enterprises will provide free software updates through electronic distribution channels. We will be providing software updates via FTP on @{" Aminet " link GG2-Aminet} sites, as well as directly to users who request updates from support@kumiss.infinet.com>. If you require updates on diskette, there will be a nominal charge for the disk and shipping costs. Software Results Enterprises is strongly committed to a minimal cost update policy. @endnode @node GG2-Aminet If you are looking for updates to the software provided with the GG2 Bus+ board, check out these sites first: Aminet sites extracted from AmigaFTPFAQ Location Name Address Directory -------- ---- ------- --------- Scandinavia ftp.luth.se 130.240.16.3 pub/aminet/ Switzerland litamiga.epfl.ch 128.178.151.32 pub/aminet/ (off peak) Germany ftp.uni-kl.de 131.246.9.95 pub/aminet/ Germany ftp.uni-erlangen.de 131.188.1.43 pub/aminet/ Germany ftp.cs.tu-berlin.de 130.149.17.7 pub/aminet/ Germany ftp.th-darmstadt.de 130.83.55.75 pub/aminet/ Germany ftp.uni-paderborn.de 131.234.2.32 pub/aminet/ USA ftp.wustl.edu 128.252.135.4 pub/aminet/ USA merlin.etsu.edu 192.43.199.20 pub/aminet/ USA oes.orst.edu 128.193.124.2 pub/aminet/ Australia splat.aarnet.edu.au 192.107.107.6 pub/aminet/ (off peak) USA wuarchive.wustl.edu 128.252.135.4 systems/amiga/ Finland ftp.funet.fi 128.214.6.100 pub/amiga/ USA ftp.cso.uiuc.edu 128.174.5.59 amiga/fish/ USA grind.isca.uiowa.edu 128.255.19.233 amiga/ GERMANY ftp.dfv.rwth-aachen.de 137.226.4.105 pub/amiga This list was graciously posted to the AmigaVR-list by Lance Kind. @endnode @node Recycle-Info Recycle Info Software Results Enterprises is a dedicated GREEN company. We feel it is important to make the effort to reuse already existing materials in our manufacturing and shipping wherever possible. Reusing such materials in order to keep them from clogging all ready over-burdened landfills helps everyone. Also, reusing manufactured goods where possible saves the energy and the raw materials already invested in the production of these items. Creating "vanity-ware" packaging, for appearance-sake alone is irresponsible, illogical, and uneconomical (but most companies still do it). In support of this policy, we at Software Results Enterprises have chosen to use 100% Post-Consumer Recycled paper in any printed documentation included with the GG2 Bus+. We have also elected to make the extra effort to put together comprehensive electronic documentation using AmigaGuide where possible. Our goal is to provide better service to our customers by increasing the flexibility of our documentation while minimizing total paper consumption. No trees were killed for the production of this document. All the floppy disks we use are "over-labels". Over-label floppy disks refer to any floppy disk that was used once before (and ONLY ONCE), to hold mass-produced commercial software, manufactured in batch lots on commercial mass duplication machines. When the commercial software on these floppies becomes obsolete, the software producers sell the unused leftover disks to brokers who professionally erase the obsolete data and then place a blank label "over" the original commercial label, thus the name. These floppies are then sold on the open market for reuse. We have also chosen to use shipping boxes that come from another manufacturer's packaging overrun, which explains their slightly odd design. These boxes are new, never before used, 100% recycleable cardboard, that was originally designed and printed for some other company. You can help us out by not throwing away your box or static bag or other packing materials. That way, if you ever have a need to send your GG2 Bus+ back to us, you will have the needed shipping protection at hand. The more uses we can get out of these materials, the less waste ends up in the environment. We are always striving for more "environmentally friendly" ways of doing business. We aren't perfect (who is?), so we welcome your comments to help us do a better job of throwing away less stuff. The best way to give us this feedback is via e-mail to . Thanks. @endnode @node GG2-Credits Credits Initial board design David Salamon Driver Authors Dan Babcock, @{" Ethan Dicks " link GG2-YP-Software-Results}, @{" Carsten Heyl " link GG2-YP-Carsten-Heyl} and Daniel Zenchelsky Installer Script @{" Ethan Dicks " link GG2-YP-Software-Results} AmigaGuide Documentation @{" C. ``Sevant'' Baum " link GG2-YP-Software-Results} System Information Author @{" Paul Kolenbrander " link GG2-YP-Paul-Kolenbrander} AmigaGuide and Amiga Installer Commodore-Amiga, Inc. AUTOCONFIG, AmigaGuide and Amiga Installer are trademarks of Commodore-Amiga, Inc. GG2 Bus+ is a trademark of Software Results Enterprises. @endnode @node GG2-Install-Dir Installation Directory @{" Install " link GG2-install} @{" Installation Help " link GG2-installprobs} @{" A2000/A2500 " link GG2-installA2k} @{" A3000 " link GG2-installA3k} @{" A4000 " link GG2-installA4k} @{" Other Amiga Models " link GG2-Install-Other} @endnode @node GG2-install Installation of the GG2 Bus+ Bridgecard FIRST TURN OFF YOUR COMPUTER!!! Wait about 5 seconds. Ground yourself before you begin to install your GG2 Bus+ by touching a metal object, then by touching the metal chassis of your Amiga. Find your owners manual and follow the instructions for installing expansion cards in your Amiga to install the GG2-Bus+ card and any PC card you want to use with it. After reassembling your Amiga, turn it on. Use a program such as the AmigaDOS 2.0 tool "showconfig" or a shareware program such as "System Information", to look at what boards are plugged into your Amiga. You should see the GG2 Bus+ card listed as having a manufacturer number of 2150, a product number of 1, and a serial number of 2. It will be occupying 1 Megabyte of AUTOCONFIG memory space. The base address of the card should also be listed. If all is well, you are done with the hardware installation! Next, insert the GG2 Bus+ software disk into any drive, open the disk from the Workbench and double-click on the "Install GG2 Bus+" icon to start the installation procedure. After answering the prompts and telling Installer when to put the GG2 Bus+ software, you are ready to go. If you are having trouble with your install, then check out @{" install problems " link GG2-installprobs} or the @{" Help " link GG2-Help-Directory} for help, and the @{" Appendices " link GG2-appendices} section for specification information. @endnode @node GG2-installprobs Installation Help If you have problems with plugging the board in... Since backplace connectors are fairly tight when new and not all Amigas have already had IBM cards plugged into them, it may require quite a bit of pressure to firmly seat your GG2 Bus+ into all 198 pins at once. Pressing on one end of the card, just a little, then the other, it should be possible to "rock" the board past the initial resistance. Once you start the board in this manner, it should continue to slide into the backplane with much less pressure than before. If this technique does not work, check for physical obstructions in one or more of the backplane slots. "I don't see the GG2 Bus+ card listed as installed in my machine. What next?" If you have other AUTOCONFIG cards in your Amiga, ensure that you have 1 megabyte of available AUTOCONFIG space. If you have already filled your 8 megabyte limit, the GG2 Bus+ card will not show up because the Amiga has no place to put it. It is not necessary to have all 8 megabytes taken up by a single card. If you have a 4 megabyte 16-bit memory card and a 4 megabyte Zorro II video card, you will not be able to add any other expansion cards which need a chunk of that 8 megabytes. Normally, 32-bit RAM on accelerator cards does not count against your 8 megabyte limit. In addition, Zorro III cards do not require any of the 8 megabyte space when used in a Zorro III machine such as the A3000 and A4000. If you do not see the GG2 Bus+ card listed, turn off your machine again and make sure that the card is well seated in the slot. Make sure that the contacts on your expansion slots are free of dirt and corrosion. If you still do not see the GG2 Bus+ board listed as installed, try putting it into another slot. If this does not work, try installing another Amiga AUTOCONFIG card into your system. If this card also is not recognized, your Amiga may need to be serviced. If this card is recognized, then your GG2 Bus+ board may be defective. At this point, please contact Software Results Enterprises as soon as possible. We will do all we can to make it right. Specific installation procedures are available for the different Amiga models capable of accepting the GG2-Bus+. If you have a model 2000/2500 go to @{" A2000/A2500 " link GG2-installA2k}, if you have a model 3000 read @{" A3000 " link GG2-installA3k}, @{" A4000 " link GG2-installA4k} provides instructions for installations on model 4000, and @{" Other " link GG2-Install-Other}, should cover other Amiga models. @endnode @node GG2-installA2k Amiga 2000 and 2500 systems If you have an older A2000 or A2500 system with a motherboard revision number lower than 6, you may have troubles with the GG2-Bus+ due to bus noise. It is suggested that you contact your dealer and upgrade your motherboard. If this is too expensive, you may be able to find out about some unorthodox "hacker" fixes that might help you. If your A2000 or A2500 system includes a 68030 or 68040 accelerator card, you MUST run the Commodore program Enforcer supplied on the GG2 Bus+ software disk. In addition to providing memory protection from errant programs, Enforcer turns off the CPU data cache whenever the GG2 Bus+ board is accessed. If the data cache is not turned off during GG2 Bus+ accesses, "ghost" data is read instead of real data. Should you not wish to be notified of errant programs causing "hits", run Enforcer with the "quiet" option. If your machine has a 68020-based accelerator card, it must also have a 68851 Memory Management Unit, or else Enforcer will not work. The 68EC030-based is manufactured without an MMU. If you cannot run Enforcer, you must turn off the CPU data cache completely by using CPU or other utilitity when using the GG2 Bus+. Note that the information above also applies to regular Commodore Bridgeboards, which require 1-2 Megabytes of Autoconfig space. Also, if your A2000 or A2500 system includes an accelerator card, you must always use the GG2 Bus+ with wait states enabled (this is the default). The wait state jumper on the board should remain in the "on" position, just as the board was shipped. @endnode @node GG2-installA3k Amiga 3000 Systems If you run the GG2 Bus+ in an A3000 system, you MUST run the Commodore program Enforcer which is supplied for you on the GG2 Bus+ software disk. In addition to providing memory protection from errant programs, Enforcer turns off the CPU data cache whenever the GG2-Bus+ board is accessed. If the data cache is not turned off during GG2 Bus+ accesses, "ghost" data is read instead of real data. Should you not wish to be notified of errant programs causing "hits", run Enforcer with the "quiet" option. On an A3000 system, depending on the speed of the PC card you are using, you may be able to run the GG2 Bus+ with "zero wait state" operation for a possible speed increase. The default is for one wait state to be added to each bus cycle. To change this, you must turn off wait states using the @{" SwitchControl " link GG2-SwitchControl} program provided in the software package. If you experience no data loss, system crashes, or other errors, you may consider moving the wait state jumper on the GG2 Bus+ board from the "on" to the "off" setting to select "wait states off" as the default mode on power up and after software reboots. Note: The wait state mode can be changed at any time through software by using the @{" SwitchControl " link GG2-SwitchControl} program. If you have an older A3000 system with a "ROM tower", there are some things of which you should check for. First, you should check the "BUSTER" chip in your system; older machines shipped with a Revision F chip (the part number will have a 13F somewhere on it) rather than a newer Revision G chip (part number will have a 13G on it). If you have a Revision F chip, it should be replaced or it may cause bus problems. Second, some of the older machines seem to have faulty power connections to the PC bus. Make sure that +12 Volts (pin B9), -12 Volts (pin B7), -5 Volts (pin B5), and +5 Volts (pins B3, B29, and D16) are all present. When the AT slot is viewed from the top, the right side is numbered consecutively B1-B31 on the longer socket, and D1-D18 on the shorter socket. If any of these voltages are not present, you should either have your daughterboard serviced or fix it yourself. @endnode @node GG2-installA4k A4000 Systems On A4000/040 systems, the Enforcer program should not be necessary (see the @{" A3000 " link GG2-installA3k} section), but you should verify proper operation of the GG2 Bus+ yourself. Note that since the A4000/030 card typically uses a Motorola 68EC030 (which does not have an MMU), you will not be able to run Enforcer. This is a problem because of differences between the '040 CPU card and the 'EC030 CPU card; the '040 card has a different idea of how to maintain its cache and does not try to cache the portion of the memory map that contains the GG2 Bus+ board, while the 'EC030 board does try to cache that area. Normally, the solution would be to run Enforcer when using a GG2 Bus+ board in an A4000/030, but Enforcer requires an MMU to do its job. Because of these factors, the only viable solution is to disable data cache entirely while using the GG2 Bus+ in an A4000/030. No information is available at this time regarding 68060 accelerator cards. On an A4000 system, depending on the speed of the PC card you are using, you may be able to run the GG2 Bus+ with "zero wait state" operation for a possible speed increase. The default is for one wait state to be added to each bus cycle. To change this, you must turn off the wait states using the @{" SwitchControl " link GG2-SwitchControl} program provided in the software package. If you experience no data loss, system crashes, or other errors, you may consider moving the wait state jumper on the GG2 Bus+ board from the "on" to the "off" setting, in order to have the "wait states off" as the default mode on power up and after software reboots. Note: The wait state mode can be changed at any time through software using the @{" SwitchControl " link GG2-SwitchControl} program. @endnode @node GG2-Install-Other Installation for other Amigas (A500 & A1000) If your machine is not normally equipped with ZorroII and ISA slots, then you will have to figure out what to do. It is possible to attach a GG2 Bus+ to an A500 or A1000 with a Slingshot, or other ZorroII adapter, and then to attach an ISA backplane to the GG2 Bus+, but this arrangement, while possible, is not recommended. @endnode @node GG2-PCemul PC Emulator Support The GG2 Bus+ board is compatible with the software emulators CrossPC and PCTask. CrossPC (written by @{" Mark Tomlinson " link GG2-YP-Mark-Tomlinson} is packaged with CrossDOS 5 and is available from @{" Consultron " link GG2-YP-Consultron} or from most Amiga distributors. @{" Utilities Unlimited " link GG2-YP-Utilities-Unlimited} has expressed an intent to support the GG2 Bus+ under the Emplant/PC product. PCTask (written by @{" Chris Hames " link GG2-YP-Chris-Hames} is available from @{" Quasar Distribution " link GG2-YP-Quasar} outside of the U.S.A. and from @{" DevWare " link GG2-YP-DevWare} within the USA. Both CrossPC and PCTask map all PC software calls to I/O locations through the GG2 Bus+ card. This means you can run your PC software under either emulator just as though you had a bridgeboard, and you can control your plug-in cards using the software originally supplied. At the present time, neither CrossPC nor PCTask implement the full capability of the GG2 Bus+ card. Neither emulator supports accesses to PC memory space registers through the GG2 Bus+ , and interrupt support is somewhat limited. At present, the only interrupt support under either emulator is through the GG2 Bus+ serial and parallel drivers, "ibmser.device" and "ibmprint.device". By designating these as your port drivers, you can access PC IO cards or internal modems you have plugged in while within the emulator. Note that once you designate the GG2 Bus+ drivers to be used under an emulator, you cannot use those drivers at the same time (multitask) with other Amiga software. The emulator will lock the devices for its own use. @endnode @node GG2-Serial-Driver The Serial Driver, "ibmser.device" This driver is compatible with both the 1.3 and 2.0 operating system versions, and is entitled "ibmser.device". No "mountlist" entry is required to use the driver with a terminal program. Simply put the driver into your "devs: directory", and change the serial device in your terminal program to "ibmser.device". You do not need to use "binddrivers", or any other mounting program. The AmigaDOS operating system will automatically mount the driver when it is first used. The driver supports up to four units, numbered 0 through 3. These corresspond to the IBM serial devices COM1 through COM4. You must set up the DIP switches/jumpers on your modem or multi I/O card to make the serial port COM number you want to use match the unit you specify with "ibmser.device". The driver will automatically select first-in, first out (FIFO) buffering if it senses a newer series 16550-compatible UART chip in the IBM card. Otherwise, it will stay with normal 16450/8250 compatibility. In addition, the driver will automatically turn on the master interrupt enable when it is initialized. If you wish to access the new serial ports from the CLI, use the IOwedge program to redirect SER: data to this driver (see the description of @{" IOWedge " link GG2-IOWedge} elsewhere in this documentation). This driver has been tested with a v.32bis IBM-type internal modem in an Amiga 3000 at 57600 bps DTE baud rate without any problems. However, multitasking with certain programs at this speed can cause your terminal program to lose characters. Any program which turns off interrupts for an extended period of time will affect your serial port throughput. If your hard drive interface is on a DMA Zorro II card, you may also experience character loss at high speeds. This occurs when the DMA interface occupies the bus an overly long time, and refuses to allow the serial driver access. If you have such a problem, contact your hard drive manufacturer to obtain an updated hard disk driver. @endnode @node GG2-IOWedge The IOWedge Redirection Program This is a nice little program to allow you to use your IBM cards with programs that do not allow alternate serial or parallel drivers. This program is for the 2.0 operating system only -- it will not work under the older 1.3 operating system. It is CLI only. You can associate it with an icon by using the Xicon or IconX utilities. You can put IOWedge anywhere convenient on your system, such as in the "c:" directory. The template for IOWedge is: IOWedge SERIAL newserial.device PARALLEL newparallel.device [QUIT] IOWedge intercepts any calls to begin using the internal serial or parallel ports and gives you the option of substituting an new driver instead. When an access is attempted to the internal ports, IOWedge pops up a 2.0-look window with the name of the task that attempted the port access, and a set of buttons. Clicking on the internal button allows the task to continue to use the internal port drivers. Clicking on one of the numbered buttons substitutes the new driver you specified, selecting the unit number corresponding to the button you clicked on. For example, clicking on the button labeled "2" with the "ibmser.device" used as the new serial device would substitute unit 2 (COM3) of the "ibmser.device in place of the internal serial port for that task only. Redirection to the new device is for each task independently. IOwedge would pop up another window if another task attempts to use the internal port again. Note: Copying data from the CLI to SER:, PAR:, or PRT: will also cause IOWedge to pop up a window to redirect the data. Note: Due to the strange way that the Workbench "PRT:" device works, you will probably have to answer the IOWedge requester at least twice before printing is redirected. This is normal, and there is no way to change IOWedge to fix it without an official change in the operation of the PRT: device. To get the above usage information at any time, just type "IOWedge" with no arguments. Insert the alternate serial or parallel driver you want to use into the spot shown as "newserial.device" or "newparallel.device". Example: To redirect normal serial port information to the "ibmser.device" enter: IOWedge serial "ibmser.device" To deactivate IOWedge and remove it from memory type "IOWedge quit". @endnode @node GG2-Serial-Prefs The Serial Preferences Program, "SerPrefs" The "SerPrefs" program allows you to set the serial port preferences for the new driver "ibmser.device. It is CLI only, and you can put it anywhere convenient on your system, for example in the c: directory. If you specify a set of preferences using this program, a 1K file is saved into your "S:" directory containing those preferences. Then, each time the "ibmser.device" is opened by any program, those preferences are loaded in (you don't need "SerPrefs" again for this, it is done automatically). Note that you really do not need this program if you are using any typical terminal program that resets the serial device to stored presets. Most terminal programs already do this. The Serial Preferences Program, SerPrefs, is useful, however, if you want to only copy data from the command line to "SER:" (using IOWedge) and have not previously opened the "ibmser.device" with a terminal program. To get example usage information, just type "SerPrefs" with no arguments. You will see the following information displayed: Example use: SerPrefs myser u=0 baud=38400 parity=none handshake=cts * Options for PARITY: NONE, EVEN, and ODD. * Options for HANDSHAKE: NONE, CTS, and XOFF. * The FIFO option should normally be set to 0, which means "default mode". * Use the DUMP option to view all preferences (or just one if UNIT is used). The dump option will list the current settings of the device and unit number you specify. You type in the name of the new serial device in place of "myser" in the command line. The name can be typed in as, for example, either "ibmser.device" or just "ibmser". To see the full template for SerPrefs, type "SerPrefs ?". You will see the following information listed: DEVICE/A, U=UNIT/K/N, B=BAUD/K/N, D=DATA/K/N, S=STOP/K/N, P=PARITY/K, H=HANDSHAKE/K, FIFO/K/N, DUMP/S For a full description of AmigaDOS command line templates, see your AmigaDOS manual. @endnode @node GG2-Print-Driver The Parallel Driver, "ibmprint.device" The "ibmprint.device" driver is fairly simple, and is really intended for printers. It only supports data output, not data input (the PC parallel port is not capable of functioning bidirectionally with all 8 bits). Units 0 through 2 correspond to the IBM printer units LPT1 through LPT3. To use the driver, put the file "ibmprint.device" into your "devs: directory", and use the IOWedge program to redirect the printer outputs of your favorite word processor or other program. No "mountlist" entry is necessary. An important thing to realize is that most I/O cards do not implement the printer LPT1. LPT1 originally came with the IBM monochrome graphics adapter, so clone manufacturers have generally made their printer ports correspond to LPT2 or LPT3 (our units 1 or 2), with interrupts implemented on IRQ5 or IRQ7. Make sure of the settings on your I/O card. @endnode @node GG2-Other-Software Programming Software Directory @{" The IOWedge Redirection Program " link GG2-IOWedge} @{" The Serial Preferences Program " link GG2-Serial-Prefs} @{" The NewPortHandler Program " link GG2-NewPortHandler} @{" The ShowSerial Program " link GG2-ShowSerial} @{" The SwitchControl Program " link GG2-SwitchControl} @{" The System Information Program " link GG2-System-Information} @{" The GG2 Bus+ User Software Interface " link GG2-API} @{" Wait States " link GG2-WaitStates} @endnode @node GG2-NewPortHandler The NewPortHandler Program NewPortHandler is a new version of "port-handler" that permits the device name and unit to be specified. It is mainly useful for printing or sending serial information from the command line (e.g. copy file to LPT1: or SER:), although you may prefer to use IOWedge. To use NewPortHandler, first copy it to your l: directory. Then, create an entry in your "devs:MountList" file (or a new DOSdriver file starting with AmigaDOS 2.1) like this: LPT1: FileSystem = L:NewPortHandler Device = "ibmprint.device" Unit = 0 StackSize = 2000 Priority = 5 GlobVec = -1 Surfaces = 0; BlocksPerTrack=0; LowCyl=0; HighCyl=0;# # The name (LPT1), device ("ibmprint.device") and unit (0) may be changed to anything suitable, but the rest must be copied exactly as shown. The extra information about surfaces and cylinders is not used, of course; its only purpose is to trick the Mount command into working properly. Change the "ibmprint.device" to be "ibmser.device" if you wish to mount a serial device. @endnode @node GG2-ShowSerial The ShowSerial Program "ShowSerial" is a simple program that lists what type of serial chips (if any) are connected via the GG2 Bus+ bridge-card. It is CLI only, and can be put anywhere convenient on your system, such as in the c: directory. To use it, just type "ShowSerial" at a CLI prompt. If you find that ShowSerial reports incorrect information about your port configuration, see the @{" Software Problems " link GG2-Software-Problems} section. @endnode @node GG2-SwitchControl The SwitchControl Program The SwitchControl program is a simple utility to toggle both the mode of wait-state operation and the master interrupt enable. It will not work under Workbench 1.3 or older. You can use it two ways. From the CLI, you can give it arguments to turn switch either wait states or interrupts or both. Example usage is: SwitchControl wait off or SwitchControl wait on interrupt off This will turn wait-state support and interrupts on or off, regardless of their current modes, and report confirmation. If you wish to redirect the output of the CLI command to NIL: for example, you would type, for example: run >NIL: SwitchControl interrupt on wait off The order of the wait and interrupt arguments is not important, but each must precede the corresponding on or off command. If you type SwitchControl with no arguments, it has the same effect as double-clicking on the icon (i.e. the same as Workbench usage). From the Workbench, you can double-click on the SwitchControl icon to start the program. You will then see a window in the center of your screen with two "check-box" gadgets. These gadgets reflect the current state of wait-state and interrupt support, with a checked box meaning that support has been enabled. Clicking on either one of the gadgets will change its state and change the option on your GG2 Bus+ board. When you quit the SwitchControl program, the last state of the check boxes will remain as your GG2 Bus+ board configuration. Normally, you will not need to enable interrupts using SwitchControl since both the serial and parallel drivers will automatically enable them for you. For more information about wait-state and interrupt support, check out @{" Wait States " link GG2-WaitStates} and "Interrupts" section found on the last page of@{" The GG2 Bus+ User Software Interface " link GG2-API} node. @endnode @node GG2-System-Information The System Information Program System Information is a versitile utility that will tell you lots about the innards of your system. It was written by @{" Paul Kolenbrander " link GG2-YP-Paul-Kolenbrander} and is included on this disk with his permission. The fact that it is included in no way is meant to imply that you have paid for his program. System Information is still copyrighted by @{" Paul Kolenbrander " link GG2-YP-Paul-Kolenbrander} and is still shareware. If you want a registered version, you must send the shareware fee to him, not Software Results Enterprises. To use System Information from the Workbench, double-click the icon. To start it from the CLI, just enter the actual name (including the path to it, if required. Documentation is provided in AmigaGuide format. @endnode @node GG2-IDEdriver The Hard Disk Driver, ibmIDE.device, and ConfigIDE The IDE Device Driver allows one to use an IBM IDE hard drive controller and hard drive OR an IBM AT MFM/RLL controller and hard drive on the Amiga computer, using a GoldenGate I or II board. The ibmide.device driver is © Copyright 1993, by Dan Zenchelsky. To use the driver, first copy ibmide.device to your devs: directory. Then, edit your "devs:mountlist" file (or a new DOSdriver file starting with AmigaDOS 2.1) and add the following lines to the end of the file. You will want to change the values next to the entries for Unit, Surfaces, BlocksPerTrack, LowCyl, and HighCyl to conform with the drive you are attaching. See the AmigaDOS manual if you are unfamiliar with mountlist entries. IDE: Device = devs:ibmide.device FileSystem = L:FastFileSystem Flags = 0 Unit = 0 Surfaces = 4 BlocksPerTrack = 31 LowCyl = 0 HighCyl = 660 Reserved = 2 Interleave = 0 Buffers = 30 BufMemType = 1 GlobVec = -1 DosType = 0x444F5301 StackSize = 4000 Mount = 1 # Then from a CLI shell, run "configide devs:ibmide.device" to configure the driver for your hard drive(s). YOU MUST DO THIS IN ADDITION TO SETTING UP A MOUNTLIST. The program will show you the settings for each drive and ask you if you would like to change them. Say "y" and enter the values appropriate for your hard drive. Once you have done all of the above, you should be able to type "mount ide:" from a CLI shell (or double click on the IDE DOSdriver icon) and then read and write to device IDE: just like any hard drive. @endnode @node GG2-Ethernet-Dir Ethernet Directory @{" The Ethernet Drivers " link GG2-Ethernet-Drivers} @{" Installation/Use of the Ethernet Drivers " link GG2-Installing-Ethernet-Drivers} @{" Troubleshooting The Ethernet Drivers " link GG2-Troubleshooting-The-Ethernet-Drivers} @endnode @node GG2-Ethernet-Drivers The Ethernet Drivers The device drivers "gg_ne1000.device" and "gg_ne2000.device", for Novell NE 1000/NE 2000 (and compatible) Ethernet cards are on your GG2 Bus+ install disk. Each driver follows the SANA-2 specifications, as made public by Commodore in November 1992. These drivers were written by @{" Carsten Heyl " link GG2-YP-Carsten-Heyl}, and are copyrighted 1993. (See @{" Credits " link gg2-credits}) These drivers will not work with previously released versions of the AS225 package. Note: Your Amiga must have a SANA-2 compatible TCP/IP network software package in order to use these drivers. There are several options currently available on the market. These are as follows: * The freeware package "AmiTCP" (available by ftp on @{" Aminet " link GG2-Aminet}), which is freely available to the public, * The Commodore package Envoy, currently available from @{" Intangible Assests Mfg. " link GG2-YP-Dale-Larson} , and us. Check the @{" Blipvert Alert! " link GG2-blipvert} for further details. * The Commodore package "AS225 Release 2", which is now available to everyone through @{" Canadian Prototype Replicas " link GG2-YP-CPR}"." @endnode @node GG2-Installing-Ethernet-Drivers Installation/Use of the Ethernet Drivers In the following discussion of the Ethernet drivers included with your GG2-Bus+, the term will refer to the name of the device without the ".device" extenstion. E.G.: The of "gg_ne1000.device" would be "gg_ne1000". To install and use the drivers, copy the appropriate ".device" for your ethernet card to your "devs:networks" directory (Note: you must create this directory if it does not all ready exist in your system). Next, you must create a configuration file for your card. The name of the config file must be ".config_0 ", and it must be put into your "envarc:sana2" directory. The trailing 0 of the config file name means unit "0", as currently only one unit is supported. You should also put the config file into your "env:sana2" directory in order to use the driver during your current session (all files in "envarc:" are copied to "env:" at bootup time). How To Write Your Configuration File The structure of the config file is really simple. It contains infor- mation about the jumper settings on your ethernet card for its IO address and interrupt number. The following rules apply: * No comments are supported. * The file is parsed as NAME ... * Legal delimiters are Spaces, Tabs, '=' or newlines. * Numbers may be decimal ([0-9]+) or hexadecimal ('$'|'0x'|'0X') [0-9a-fA-F]+ Let's take as one example an ethernet card jumpered as PC-Interrupt 3 at PC-IO-Address $300: (refer to your ethernet card manual for how to set the jumpers). Your "env:sana2/.config_0" file should contain the following line: IRQ=3 IOADDR=0x300 The following formats are legal and mean the same thing: IRQ 3 IOADDR 768 IRQ 0X3 IOADDR=$300 IOADDR=768 IRQ=0x3 Finally, once you have set up your configuration file correctly, you must update your TCP/IP network software to use ".device", unit "0". After this, you should be able to go on-line. @endnode @node GG2-Software-Problems Software Problems This section will try to describe solutions for the most common software problems encountered with the GG2 Bus+ board. Here is a list of potential problems: * "ShowSerial" reports incorrect serial port information. * The serial or parallel ports do not seem to work. * I see nothing or garbage in the buffer memory of my video or ethernet board. If this sounds like your problem, first check that Enforcer is running if you have a 68020/030/040 CPU. As discussed in the install procedures for the @{" A2000/A2500 " link GG2-installA2k}, the @{" A3000 " link GG2-installA3k}, and the @{" A4000 Systems " link GG2-installA4k}, Enforcer turns off the data cache when accessing the GG2 Bus+ board. If you are running the program "SKsh", you must disable the "jm" or "Job Manager" task. Due to a bug in this program, accesses to "ibmser.device" do not work correctly when "Job Manager" is running. The above can also be caused by bus access difficulties between the GG2 Bus+ board and your PC plug-in card. PC plug-in cards are frequently designed to operate with quite slow PC busses, and they often cannot handle the higher-speed reads and writes of the Amiga Zorro II bus. The solution is to slow down the Amiga bus slightly by turning on wait state support. As described under Wait States below, in addition to allowing true PC wait states to be processed, turning on wait states stretches the Amiga bus cycle slightly to accommodate slower boards. * The serial or parallel ports output garbage or lose characters This can be caused by the same problems as above, or some difficulties between the Amiga and the GG2 Bus+ board. If you have an Amiga 2000 and are using an accelerator card, you will probably need to turn on wait states. Accelerator cards use slightly shorter bus cycles that are too fast for many PC plug-in cards. Stretching the Amiga bus cycle slightly using the wait states option should solve the problem. In addition, many DMA hard disk controllers tend to occupy the Zorro bus for long times during disk accesses. This can cause character loss at high serial data rates. Aside from buying a faster computer, there are three possible solutions: first, you can contact your disk controller manufacturer and see if there is a fix for the problem. Second, you can buy a fancier serial port card or internal modem that includes a data buffer in its UART interface, such as a card with "16550 compatibility". You can also replace any 16450 chips on your serial card with the fancier 16550 chip that is widely available. Third, you can simply download data to your RAM disk and refrain from making hard disk accesses while using the serial port. "I found a bug." If you think you want to make a bug report please give us the following information: - What computer type do you have? (A500, A2000, ...) - What software did you use? (AmiTCP, ...) - What exactly happened? - What did you expect to happen? - Why do you call that a bug? - Can you reproduce the bug? For bugs related to any Ethernet drivers, please contact @{" Carsten Heyl " link GG2-YP-Carsten-Heyl}. For assistance with bugs in the remainder of the GG2 Bus+ software package, please contact @{" Ethan Dicks " link GG2-YP-Software-Results} at @{" Software Results Enterprises " link GG2-YP-Software-Results}. We are very interested in meeting our customers needs. If you have a question, request or suggestion, please feel free to drop us a note. We appreciate your help in this. E-mail is the preferred method of contact, so that we can reply to everyone and still have time to improve the product. @endnode @node GG2-Drivers-Dir GG2-Bus+ Drivers @{" The Serial Driver " link GG2-Serial-Driver} @{" The IOWedge Redirection Program " link GG2-IOWedge} @{" The Parallel Driver " link GG2-Print-Driver} @{" The NewPortHandler Program " link GG2-NewPortHandler} @{" The Hard Disk driver " link GG2-IDEdriver} @{" The Ethernet Drivers " link GG2-Ethernet-Drivers} @{" Installation/Use of the Ethernet Drivers " link GG2-Installing-Ethernet-Drivers} @endnode @node GG2-Emulators-Dir GG2 Bus+ Emulators @{" CrossPC " link GG2-PCemul} @{" PCTask " link GG2-PCemul} @{" Emplant/PC " link GG2-PCemul} @endnode @node GG2-Programming-Info Information on Programming the GG2 Bus+ @{" The GG2 Bus+ User Software Interface " link GG2-API} @{" Wait States " link GG2-WaitStates} @endnode @node GG2-API The GG2 Bus+ User Software Interface The GG2 Bus+ card also allows you to read and write to PC cards using your own software. The first issue is to find the base address of your PC card in Amiga address space. The GG2 Bus+ card is a normal Zorro II card and uses the Amiga AUTOCONFIG(tm) feature to have its base address assigned to it by the host computer at boot-up time. By knowing the manufacturer number (2150) and the product number (1) of the GG2 Bus+ card, your software can request the base address from the AmigaDOS operating system. Let us assume for the moment that the AUTOCONFIG base address has been assigned as (in hexadecimal notation) $200000. Once we have the the base address of the GG2 Bus+ card, we need to find the base address the PC card is looking for. This information should be in your documentation. Generally, PC cards will have "I/O space" addresses in the range hex $0200 to $03FF. For example, internal modems can be set up to look like the standard serial port COM1, which has a base address of hex $03F8. There is a (fairly) complete list of standard I/O space address assignments in Appendix C. Now we have to put these two pieces of information together. There is a small quirk in the way we do this, arising due to differences between the PC and Amiga busses. Because the Amiga is a true 16 bit machine, it reads data in 16 bit words (i.e. two bytes at a time). Thus the Amiga 16 bit Zorro II bus does not provide the least-significant-bit A0 address signal, because it is not needed. The PC bus, however, runs on 8 bits, reads one byte at a time, and therefore requires the A0 line. To fix this problem, the Amiga A1 address line must be connected to the PC A0 address line. The net effect of all this is that addresses in PC space are shifted left by 1 bit, i.e. multiplied by two. Shifting our COM1 port address hex $03F8 over by one bit (multiplying it by 2) yields a base address of hex $07F0. Adding this to our AUTOCONFIG base gives a true base address of hex $2007F0. We are not quite done yet though! The Amiga is a true 16 bit machine that reads in its data two bytes at a time. In Amiga address space, all EVEN addresses correspond to the UPPER 8 data lines, while all ODD addresses correspond to the LOWER 8 data lines. Since our internal modem card uses only the lower 8 data lines, we must use only ODD addresses. Thus, the "0" register of our modem will actually appear at address hex $2007F1. The "1" register will appear offset by one byte (the upper 8 bits of the next word) at address hex $2007F3, and so on. Your software can also do a 16 bit word access at an EVEN address and just mask off the upper 8 bits. Thus, the formula to access a byte address in PC IO space is: Amiga_Memory_Address = AUTOCONFIG_Base_Address + (2 * PC_IO_Address) + 1 To do a 16 bit word access from Amiga memory, the address is: Amiga_Memory_Address = AUTOCONFIG_Base_Address + (2 * PC_IO_Address) with the byte value of the PC IO location in the upper 8 bits of the word value you read. All IO addresses are read/write capable through the GG2 Bus+ card, but your PC card may not support them all as read/write. The GG2 Bus+ card supports addressing for 32K worth of PC I/O space, much more than is normally used. In our example, you can read and write from hex $200000 up to hex $20FFFF, 64K of Amiga space mapped to 32K of PC space. As I described, all EVEN addresses correspond to the upper 8 bits of data, all ODD addresses to the lower 8 bits of data. If you want to manually look at the registers of your PC card, you can examine memory locations directly by using a machine language monitor such as "Mon" on Fish disk 310. The GG2 Bus+ also supports reading and writing to a 448K section of PC memory space from addresses $90000 to $FFFFF. This is an important area used as a memory buffer by PC video cards, ethernet cards, and many others. On the GG2 Bus+ board, for our example, it is mapped to Amiga addresses $220000 to $2FFFFF, but in a slightly different way than for IO space. As in accessing PC I/O space registers, the addresses in memory space are multiplied by two, but there is an additional twist. The formula for byte accesses to PC memory space is: Amiga_Memory_Address = AUTOCONFIG_Base_Address + ((2 * PC_Memory_Address) & $FFFFF) + 1 where the "&" means to do a logical AND operation, and $FFFFF is the hexidecimal representation of the decimal number 1048575. For 16 bit word accesses to Amiga memory space, the formula is: Amiga_Memory_Address = AUTOCONFIG_Base_Address + ((2 * PC_Memory_Address) & $FFFFF) with the byte value of the PC memory location in the upper 8 bits of the word value you read. The GG2 Bus+ card is also capable of handling 16 bit AT cards. PC cards, just as on the Amiga, expect 16 bit transfers to occur with even addresses, so, you would read out a 16 bit PC AT location just as described above for doing 16 bit word Amiga accesses. However, the Intel byte ordering in a 16-bit word is reversed from that of Motorola. That means that when reading PC-AT 16 bit cards, the low order byte is at the EVEN address, and the high order byte is at the ODD address. In our example, to read a 16-bit word at PC memory location $A0000, you would do a 16-bit word read of Amiga memory location $240000. The upper byte of this word would contain the lower byte from the PC card, and the lower byte of this word would contain upper byte from the PC card. To access the next 16 bit location in PC memory space, $A0002, you would read a 16-bit word from Amiga location $240004. Do not do a word access to Amiga memory location $24002 (or any other address not divisible by 4) or you will get erroneous (garbage) data from the PC card. Note that if you have several different PC cards plugged in that you will be accessing via the GG2 Bus+ board, you must ensure that they do not have conflicting addresses. For example, you cannot have two cards both be COM1 or you will not be able to control them independently. This is just like on an PC. Likewise, multiple cards cannot use the same interrupts. For example, you can only have one PC card with the INT3 interrupt level, and one with INT4, etc. Set the DIP switches or jumpers on your PC cards accordingly. Interrupts All PC interrupts are supported through the GG2 Bus+ card as Amiga INT6 interrupts. This means that any PC interrupt generated on your card as IRQ3, IRQ4, IRQ7, etc. gets mapped to generate a single Amiga INT6 interrupt. Multiple PC cards can generate different interrupts, with the INT6 line simply staying active until all the interrupts have been serviced. If you plan to use PC card interrupts, you must write an interrupt server routine. Since all PC interrupts are linked to one Amiga interrupt, their various priorities have been lost. If you have multiple PC cards plugged in with one GG2 Bus+ card, and you know one card must be serviced ahead of another, simply write your interrupt driver routine to support this. You can read out which interrupts have occurred by accessing the on-board Register 1 (see @{" Appendix B " link GG2-registers} ), and then put back any necessary prioritizing by writing your service routines accordingly. At powerup, the GG2 Bus+ master interrupt enable is off, so no PC interrupts will be passed on to the Amiga. You can turn on the master enable by writing anything to Register 2 (see @{" Appendix B " link GG2-registers}). This is done automatically by the COM1-4 ibmser.device driver included as part of the GG2 Bus+ software package. You can also toggle the master interrupt enable manually by using the supplied @{" SwitchControl " link GG2-SwitchControl} program (although this is usually not necessary). Once the master interrupt enable is on, it will stay on through a system reset until you turn it off (or turn off the power to your Amiga!). You can turn off the interrupt enable by reading the value of Register 2. The returned value will be the same as for Register 1, but the master enable will be turned off as well. Be careful with interrupts, because if you generate an interrupt with the master interrupt enable on, but without having a service routine in place, your Amiga will crash instantly. Note also that many PC cards have their own interrupt enable bit which must be set to generate interrupts. In COM devices, for example, this bit is bit 3 of register 4, labeled as "OUT2". @endnode @node GG2-WaitStates Wait States The GG2 Bus+ board includes support for PC bus wait states. These occur when a plug-in card is too slow for the host computer, and issues a signal for the host to "wait" a certain number of clock cycles in order to keep up. Unfortunately, the PC bus method of asking for wait states is different from that on the Amiga Zorro II bus. The GG2 Bus+ board must therefore provide translation between the two systems. Because the PC bus cycle is normally much longer than a Zorro II bus cycle, providing this wait state translation requires "stretching" the Amiga bus cycle a small amount (one Amiga bus cycle, or 140 ns) with each access of the GG2 Bus+ board, in effect generating one Amiga wait state regardless of whether the PC card requests any or not. A wait state request from a PC plug-in board will then elongate the GG2 Bus+ bus cycle further as required. If you do not have any PC cards in your system that use wait states and your PC cards are fast, you may be able to have all your bus accesses done with "zero wait states" on the Amiga side. In this mode, there is no "stretching" of the Amiga bus cycle to accommodate PC bus wait states, and any PC card wait state requests will be ignored. To turn on or off wait state support, you must do a read or write access to Register 3 (see Appendix B). Successive accesses to Register 3 will toggle wait state support on or off. You can check whether wait states are enabled by checking bit 1 of Register 1. A zero value for this bit means wait states are disabled, a one means they are enabled. The program @{" SwitchControl " link GG2-SwitchControl} included in the software package allows you to easily enable or disable wait states. Once wait states are enabled, every bus access to the GG2 Bus+ card is slightly elongated, and any PC card wait state requests will be accepted and translated to Amiga Zorro II wait states. The jumper on the GG2 Bus+ board labeled "Wait State Default" (on the end of the board nearest the back of your machine) controls the mode that the board defaults to with any system reset. Usually, this jumper should remain set to "on" to always enable wait states. Consult the "Installation" section of this manual to see if you can change this jumper on your machine. If your machine can handle zero wait state operation, you will have to check if your PC card is fast enough by experimenting a bit. Try using the @{" SwitchControl " link GG2-SwitchControl} program to turn off wait states and see if you can run your card without errors. If you experience no problems, you might consider changing the "Wait State Default" jumper to the "off" setting. @endnode @node GG2-appendices APPENDICES @{" APPENDIX A: GG2 Bus+ Specifications " link GG2-specs} @{" APPENDIX B: The On-Board Registers " link GG2-registers} @{" APPENDIX C: Standard PC I/O Space Address Assignments " link GG2-ISAmap} @endnode @node GG2-specs APPENDIX A: GG2 Bus+ Specifications The GG2 Bus+ bridgecard lets you lets you use AT-compatible IBM plug-in cards in your Amiga PC slots as Amiga devices, controlled by Amiga software. PC HARDWARE SUPPORT The GG2 Bus+ bridgecard will support almost all non-DMA AT-compatible (8 MHz bus capable) PC plug-in boards. This includes such popular items as internal modems, multi-IO boards, non-DMA ethernet boards, VGA boards, A/D boards, etc. Access to the PC cards is at full Amiga Zorro II bus speed unless wait state support is turned on. The following IBM AT bus signals are supported: IO address space from hex $0000 to $7FFF (first 32K) Memory address space from hex $90000 to $FFFFF (440K) 16 bit data bus All AT bus interrupts Wait states (IOCHRDY signal) for both IO and memory access 14.31818 MHz clock (OSC signal) from on-board crystal oscillator 7.2 MHz processor clock (CLK signal) BALE signal AMIGA HARDWARE DETAILS The GG2 Bus+ bridgecard occupies one Zorro II slot aligned with an IBM AT slot in an Amiga 2000, 2500, 3000, or 4000. It has essentially the same form factor as a normal bridgeboard. You will need at least one additional open PC-AT slot for your plug-in PC card. The GG2 Bus+ requires 1 Megabyte of autoconfig memory space to be available to correctly map all of the PC memory locations. All address and data lines to the PC bus are buffered to avoid loading. ON-BOARD REGISTERS The GG2 Bus+ bridgecard includes 3 software accessible registers for the control of wait state and interrupt support. The default setting of wait state support after reset is controlled by an on-board jumper. See @{" Appendix B " link GG2-registers} for details. @endnode @node GG2-registers APPENDIX B: The On-Board Registers The GG2 Bus+ bridgecard includes 3 software accessible registers. Addresses are given with respect to the autoconfig base address. REGISTER 1: READ ONLY Address = base + $18000,1 (16 bits wide) bit 0: Master interrupt enable 1 = interrupts enabled, 0 = interrupts disabled bit 1: Wait state enable 1 = wait states enabled, 0 = wait states disabled bit 2: IRQ3 status 1 = interrupt pending, 0 = no interrupt pending bit 3: IRQ4 status 1 = interrupt pending, 0 = no interrupt pending bit 4: IRQ5 status 1 = interrupt pending, 0 = no interrupt pending bit 5: IRQ6 status 1 = interrupt pending, 0 = no interrupt pending bit 6: IRQ7 status 1 = interrupt pending, 0 = no interrupt pending bit 7: IRQ9 status 1 = interrupt pending, 0 = no interrupt pending bit 8: IRQ10 status 1 = interrupt pending, 0 = no interrupt pending bit 9: IRQ11 status 1 = interrupt pending, 0 = no interrupt pending bit 10: IRQ12 status 1 = interrupt pending, 0 = no interrupt pending bit 11: IRQ14 status 1 = interrupt pending, 0 = no interrupt pending bit 12: IRQ15 status 1 = interrupt pending, 0 = no interrupt pending bits 13-15: not used At power up, interrupts are disabled (so that bit 0 will have the value 0), and wait states will be set to a default value controlled by the on-board jumper. If the jumper is set to "on", then bit 1 will be a 1, otherwise bit 1 will have the value 0. A system reset will reset wait state support to its default value, but will not affect whether interrupts are enabled or disabled. REGISTER 2: READ/WRITE Address = base + $18002,3 (16 bits wide) When register 2 is read, it returns the same value as register 1. However, reading register 2 also has the effect of disabling the master interrupt enable line, so that IBM devices can no longer interrupt the Amiga. Writing any value to register 2 enables the master interrupt enable line, allowing the Amiga to be interrupted by IBM devices. REGISTER 3: READ/WRITE Address = base + $18004,5,6,7 Writing or reading register 3 toggles the wait state enable line between enabling wait states and disabling them. The current state of the line is reported as bit 1 of registers 1 or 2. Two successive writes or reads of register 3 leave the wait state enable line unchanged. The value written to register 3 is ignored. The value returned from a read of register 3 is to be ignored. @endnode @node GG2-ISAmap APPENDIX C: Standard PC I/O Space Address Assignments PC I/O Space Address Usage ($ means hex address) $0000 - $016F Unavailable (Reserved, used on the Motherboard or Undefined) $0170 - $0178 Second hard disk controller $0179 - $01EF Undefined $01F0 - $01F8 First hard disk controller $0200 - $0207 Game controller adapter $0208 - $0237 Unavailable (Reserved or Undefined) $0238 - $023B Mouse port 1 $023C - $023F Mouse port 0 $0240 - $0277 Unavailable (Reserved or Undefined) $0278 - $027A LPT3 printer port $027B - $02E7 Not used $02E8 - $02EF COM4 serial port $02F0 - $02F7 Not used $02F8 - $02FF COM2 serial port $0300 - $036F Not used $0370 - $0377 Floppy drive controller 1 $0378 - $037A LPT2 printer port $037B - $03AF Not used $03B0 - $03BB Monochrome video adapter/ VGA video $03BC - $03BE LPT1 printer port (usually on monochrome adapter) / VGA video $03BF - $03CF VGA video $03D0 - $03DF CGA video adapter/ VGA video $03E0 - $03E7 Not used $03E8 - $03EF COM3 serial port $03F0 - $03F7 Floppy drive controller 0 $03F8 - $03FF COM1 serial port VGA cards use the I/O addresses from $03B0 - $03DF if they can display MDA/CGA/EGA graphics also. @endnode @node gg2-blipvert Blipvert Alert! Software Results Enterprises offers the Amiga Envoy networking package (two machine license) bundled with a GG2-Bus+ card for an additional $45US, no extra charge for shipping. Amiga Envoy can be purchased by our customers at a later time for the same $45US, plus $3 domestic shipping, $5 Canadian shipping, or $10 international shipping. @endnode @node GG2-Troubleshooting-The-Ethernet-Drivers Troubleshooting The Ethernet Drivers "I installed the device but my network software error message returned with: 'could not open device'." * Did you write a configfile? * Did you write a correct configfile? * Does your configfile contents match the jumper settings on your Ethernet card? * Are you using AmiTCP version 3.0b2? If so, you need to make sure to read the file NOTE_TO_BETA_TESTERS. It explains that with this and subsequent versions of AmiTCP, the interface must be defined in db/interfaces. Versions of AmiTCP after AmiTCP 3.0b2 have an entry for an NE2000 card used with the GG2 Bus+. If you are missing this entry in the db/interfaces file, add this to it: # # Ethernet adapter NE1000 on GG2 Bus+ # ggether dev=devs:networks/gg_ne1000.device + IPTYPE=2048 ARPTYPE=2054 ARPHDR=1 ARPREQ=4 IPREQ=16 WRITEREQ=16 * Your Ethernet card may have problems. Try it in another machine or try a different Ethernet card in your machine. "My computer just hangs when the device starts up." We discovered such a problem with some NE2000 compatible cards when used in an A2000. We solved it by adding or removing a jumper on the NE2000 board sometimes called a "compatibility jumper" (on the Enlan 2000). Removing Jumper JP1 solved this problem on a Superlan 2000. Please let us know if you encounter this problem so we can find out what exactly causes it. @endnode @node GG2-The-last-place-you-look "It's always in the last place you look." -Anon. GG2-Bus+ "Last Place" Following is a menu of modules offering specific help on potential problems, and some all ready tested solutions. If you think you have found a "new bug", please contact Software Results Enterprises. Try to be able to reproduce any bug you encounter before contacting us. We will need to know just what is happening to be the best help to you. @{" Trouble Shooting The Ethernet Drivers " link GG2-TroubleShooting-The-Ethernet-Drivers} @{" Software Problems " link GG2-Software-Problems} @endnode @node GG2-Legend Legend Throughout this documentation, please note that references entirely enclosed in quotation marks (" ") are meant to be read and/or entered exactly as they appear, without the quotation marks. Please be careful not to change the case of the text when you use these items. Also, be certain not to add or leave out any spaces. References with quotation marks in the middle should be typed with those quotation marks left in. @endnode @node GG2-YP-Consultron Consultron (distributors of CrossPC) +1.313.459.7271 @endnode @node GG2-YP-Mark-Tomlinson Mark Tomlinson (author of CrossPC) @endnode @node GG2-YP-Paul-Kolenbrander Paul Kolenbrander (author of "System Information") "System Information - Registration" Registration. If you register this program, you will receive a version of the program that does not have the little Reminder Window when you exit it, and is registered in your name. Registered users will be the first to be notified, through the electronic mail of upcoming updates of the program. They may update their version at a nominal cost. At the end of this chapter you will find a form. Please complete it and sent it in if you wish to register the program. Read on for information on the registration fee. The registration fee for System Information is as follows: +---------------------------------------+ | REGISTRATION AMOUNTS | | | | Nederland Dfl 25,- | | Rest of Europe US$ 15,- / Dfl 30,- | | Rest of the World US$ 15.- / Dfl 30.- | | | +---------------------------------------+ My address is: P. Kolenbrander (Paul Kolenbrander Software) Turfveldenstraat 37 NL-5632 XH EINDHOVEN The NETHERLANDS I can be reached electronically at the following address. INTERNET : paul@serena.iaehv.nl @endnode @node GG2-YP-Software-Results Software Results Enterprises (makers of the GG2 Bus+) Ethan Dicks C. "Sevant" Baum Sales-related mail Support-related mail Kumiss' listserv GG2 Bus+ mailing list Software Results Enterprises 2447 N. 4th St., Ste. B Columbus, OH 43202-2706 U.S.A. voice: +1 614 262 9146 fax: call first @endnode @node GG2-YP-Utilities-Unlimited Utilities Unlimited (makers of Emplant and Emplant/PC) Jim Drew CIS: 72662,14 GEnie: j.drew2 Utilities Unlimited International, Inc. (makers of Emplant and Emplant/PC) 790 N. Lake Havasu Ave #16 Lake Havasu City, AZ 86403 U.S.A. voice: +1 602 680 9004 fax: +1 602 453 6407 @endnode @node GG2-YP-Chris-Hames Chris Hames (author of PCTask) Chris Hames @endnode @node GG2-YP-Carsten-Heyl Carsten Heyl (author of the GG2 Bus+ network drivers) Carsten has also done a lot to improve AmiTCP. He is the author of the NFS (Sun Microsystems' Network File System) client for AmiTCP. For bugs related to any Ethernet drivers, please contact Carsten Heyl via e-mail at If this address is no longer valid, try regular snail mail: Carsten Heyl 49477 Ibbenbüren Unterer Markt 4 Germany @endnode @node GG2-YP-Quasar Quasar Distribution (distributors of PCTask outside of the U.S.) Quasar Distribution voice: +61 3 583 8806 ) @endnode @node GG2-YP-DevWare DevWare (distributors of PCTask inside of the U.S.) voice: +1 619 679 2826 @endnode @node GG2-YP-Dale-Larson Intangible Assets Manufacturing (makers of Envoy and "Connect Your Amiga!") (Contact info gleaned from browsing the WWW) sales@iam.com to get information or to place an order. dale@iam.com Dale L. Larson jan@iam.com Janet McIlvaine mikec@iam.com Michael Colligon dosioc@iam.com Claudio Dosio Intantible Assets Manufacturing 828 Ormond Avenue Drexel Hill, PA 19026-2604 USA voice: +1 610 853 4406 fax: +1 610 853 3733 (If you have or have had trouble reaching us by phone, please try 215 instead of 610 and please let us know about the problem. The area code split in 215 earlier this year has caused problems fo a small percentage of telephone users worldwide.) @endnode @node GG2-YP-CPR Canadian Prototype Replicas (distributors of the AS225r2 networking package) AS225r2 is finally available to non-developers for $150 USD (or $100 USD if upgrading from AS225r1). voice: +1 510 884 4412 Please tell them that Dale Larson (and Ethan Dicks) sent you. @endnode @node GG2-Index INDEX @{" A2000/A2500 " link GG2-installA2k} @{" A3000 " link GG2-installA3k} @{" A4000 " link GG2-installA4k} @{" Appendices " link GG2-Appendices} @{" APPENDIX A: GG2 Bus+ Specifications " link GG2-specs} @{" APPENDIX B: The On-Board Registers " link GG2-registers} @{" APPENDIX C: Standard PC I/O Space Address Assignments " link GG2-ISAmap} @{" Credits " link GG2-Credits} @{" Disclaimer " link Disclaimer} @{" Drivers " link GG2-Drivers-Dir} @{" Emulators " link GG2-Emulators-Dir} @{" Ethernet " link GG2-Ethernet-Dir} @{" Legal " link Legal-Notices} @{" Legend " link GG2-Legend} @{" Install " link GG2-Install} @{" Installation Help " link GG2-installprobs} @{" Installation/Use of the Ethernet Drivers " link GG2-Installing-Ethernet-Drivers} @{" Other " link GG2-Install-Other} @{" PC Emulator Support " link GG2-PCemul} @{" Programming Information " link GG2-Programming-Info} @{" Recycle " link Recycle-Info} @{" Software Problems " link GG2-Software-Problems} @{" The Ethernet Drivers " link GG2-Ethernet-Drivers} @{" The GG2 Bus+ User Software Interface " link GG2-API} @{" The Hard Disk Driver " link GG2-IDEdriver} @{" The IOWedge Redirection Program " link GG2-IOWedge} @{" The NewPortHandler Program " link GG2-NewPortHandler} @{" The Parallel Driver " link GG2-Print-Driver} @{" The Serial Driver " link GG2-Serial-Driver} @{" The Serial Preferences Program " link GG2-Serial-Prefs} @{" The ShowSerial Program " link GG2-ShowSerial} @{" The SwitchControl Program " link GG2-SwitchControl} @{" The System Information Program " link GG2-System-Information} @{" Troubleshooting The Ethernet Drivers " link GG2-Troubleshooting-The-Ethernet-Drivers} @{" Update Policy " link Update-Policy} @{" Utilities and Extras " link GG2-Other-Software} @{" Wait States " link GG2-WaitStates} @endnode @node GG2-Documentation-Revision GG2 Documentation Revision Version 1.0 2-Jul-1994 Created from plain text file. Version 1.1 18-Jul-1994 (First released version) Expanded lots... too much to describe in this small space. Version 1.2 04-Oct-1994 (Second released version) Added credits for Paul Kolenbrander for "System Information" and made minor formatting changes. Also added several new nodes and more crosslinks to existing nodes. Added lots of nodes containing contact info. Version 1.2a 08-Apr-1995 (First WWW version) Did some minor cleanup and e-mail address correction. Nearly identical to previous version. Version 1.2b 15-May-1995 (Second WWW version) Fixed three links which got munged up by having carriage returns stuck in the middle of them; it was preventing conversion to HTML. @endnode