PicoGUSinit (also called pgusinit, after the program's .exe file) detects and initializes a PicoGUS card. In GUS emulation mode, it should be used instead of ULTRINIT.
For more info on PicoGUS, see https://github.com/polpo/picogus.
The board must be loaded with firmware before using it for the first time. See https://github.com/polpo/picogus/wiki/Building-your-PicoGUS#programming-the-pico for programming instructions.
pgusinit must be run with firmware it is compatible with. If run with an incompatible firmware, pgusinit will complain. One exception to this is that pgusinit can be used to upgrade an older version of firmware to a more recent version. For example, firmware v0.7.0, which is normally incompatibile with pgusinit v2.0.0, can be upgraded to firmware v1.0.0 with pgusinit v2.0.0.
Simply run PGUSINIT.EXE
to detect and initialize your card with default
settings. Options may be given for other settings:
/?
- shows help for PicoGUSinit. Detects the current card mode and only shows options valid for that mode./f firmware.uf2
- uploads firmware in the file named firmware.uf2 to the PicoGUS./j
- enables game port joystick emulation mode (disabled by default)./v x
- sets wavetable header volume to x percent (PicoGUS 2.0 boards only). Available in all modes in case you want to use the wavetable header as an aux input (for example for an internal CD-ROM drive)./m x [d]
- changes operation mode (reboots card to x firmware, only if pg-multi.uf2 is flashed) for x: (1=gus, 2=sb, 3=mpu, 4=tandy, 5=cms, 6=joy) the optional parameter 'd' makes the selected mode permanent at system boot
Firmware files that come with the releases:
pg-gus.uf2
- GUS emulationpg-sb.uf2
- Sound Blaster/AdLib emulationpg-mpu.uf2
- MPU-401 with intelligent mode emulationpg-tandy.uf2
- Tandy 3-Voice emulationpg-cms.uf2
- CMS/Game Blaster emulationpg-joyex.uf2
- Joystick exclusive mode (doesn't emulate any sound cards, just the game port)pg-multi.uf2
- Multi-firmware. Contains all 6 firmwares in one. To be used with /m x option in pgusinit to change mode.
GUS emulation mode requires the ULTRASND variable to be set, in the format:
set ULTRASND=240,1,1,5,5
where 240 is the PicoGUS's port, 1 is the DMA, and 5
is the IRQ. The port on the PicoGUS will be programmed to use the port
specified in ULTRASND.
/a n
- sets the audio buffer size to n samples. Defaults to 4 with a minimum of 1 and maximum of 256. Some programs require a different value to run properly. Going lower than 4 is not advisable./d n
- sets the DMA interval to n microseconds. Games that use streaming audio over DMA work better with higher values. Doom, for example, runs well with a value of 10-12. Note that increasing this will slow down sample loading. Set to 0 to use the GUS's default DMA interval handling, where the DMA interval is set by the program using it./4
- enables fixed 44.1kHz output. Normally the GF1 varies its output sample rate from 44.1kHz at 14 voices to 19.2kHz at 32 voices. Using this option enables 44.1kHz output for all numbers of voices, similar to the Interwave. This will result in stuttering in most games that use streaming DMA for sound effects like Doom, hence it is EXPERIMENTAL.
See the Compatibility List wiki for notes on programs that require these options to be set: https://github.com/polpo/picogus/wiki/Compatibility-list
/p x
- sets the base port of the emulated card to x. Defaults to 220 for Sound Blaster, 330 for MPU-401, 2C0 for Tandy, and 220 for CMS.
/o x
- sets the base port of the OPL/AdLib. Defaults to 388./w
- wait on OPL2 data write. Can fix speed-sensitive early AdLib games on fast systems (example: 688 Attack Sub).
/s
- enable sysex delay to prevent buffer overflows on older MPU-401 revisions./n
- Fake all-notes-off for the Roland RA-50.
PicoGUSinit can be compiled with OpenWatcom 1.9 or 2.0. In DOS with OpenWatcom
installed, run wmake
to compile.