ZuluIDE INI Configuration

From Rabbit Hole Computing
Jump to navigation Jump to search

Before You Edit Anything

In the vast majority of use cases, many people don't need to change the options in the INI file. Most of the options presented here will work perfectly well with their defaults; the only time most options need to be changed is where a specific use case requires it or if there is a particular problem with the way the device is performing.

The most recent version of the base INI file can be found at the ZuluIDE Github repo.

Settings of type On/Off are set using a 1 or a 0, with a 1 meaning the feature is enabled, while a 0 means the feature is disabled.

Settings of type string require a string enclosed in double quotation marks.

Settings of type int require an integer, usually corresponding to a particular mode number.

Settings with a default listed as unset should remain commented out unless needed.

[IDE] section

Setting Type Effect Default
debug on/off If 1, enables writing a debug log to zululog.txt. This overrides the DIP switch setting. off
enable_usb_mass_storage on/off If 1, allows direct access to the microSD card's filesystem via the USB port. This does not allow access to the image currently loaded by the ZuluIDE. off
eject_button on/off If 1, sets the eject button's GPIO pin to pin 14; if 0, sets the eject button's GPIO pin to pin 11 (the default) off
ignore_prevent_removal on/off Set this to 0 to force the ZuluIDE to respect the host device's ability to prohibit media ejection. When on, the ZuluIDE will allow you to eject an image at any time, regardless of the circumstances. on
has_drive1 on/off Uncomment and set this to 0 to forcibly tell the ZuluIDE that there is no secondary drive attached to the same IDE channel that the ZuluIDE is using. Only use this option if the ZuluIDE claims in the debug log that a secondary drive is present when the ZuluIDE is the only device on that IDE channel and the ZuluIDE is set as the primary drive. Unset
max_udma int Set the maximum UltraDMA mode to use. Set to -1 to disable UltraDMA modes entirely. 0
max_pio int Set the maximum programmed I/O mode to use. Maximum supported PIO mode on the ZuluIDE RP2040 is mode 3. 3
max_blocksize int Maximum number of bytes in a single transfer block. 4096
device string without quotes Set the device type to emulate. Valid choices are:
  • CDROM for optical drives
  • Zip100 for 100MB Zip drives
  • Zip250 for 250MB Zip drives (experimental)
  • Removable for generic removable media
  • HDD for fixed-disk mode
CDROM
atapi_vendor string Report a specific vendor string to the system BIOS when operating as an ATAPI device (i.e., optical drives). Maximum length 8 characters. ZuluIDE
atapi_product string Report a specific product name string to the system BIOS when operating as an ATAPI device (i.e., optical drives). Maximum length 16 characters. CDROM
atapi_version string Report a specific product version string to the system BIOS when operating as an ATAPI device (i.e., optical drives). Maximum length 4 characters. 1.0
ide_model string Report a specific model name to the system BIOS when operating as an IDE device (i.e., hard disks). Maximum length 40 characters.
ide_serial string Report a specific serial number to the system BIOS when operating as an IDE device (i.e., hard disks). Maximum length 20 characters.
ide_revision string Report a specific revision code to the system BIOS when operating as an IDE device (i.e., hard disks). Maximum length 8 characters.
reinsert_media_after_eject on/off If set to 1, the ZuluIDE will automatically re-mount the most recently ejected image. Handy for cases where the system auto-ejects media without your input. 0
reinsert_media_on_inquiry on/off If set to 1, the ZuluIDE will automatically re-mount the most recently ejected image when it receives either an ATA IDENTIFY_DEVICE command or IDENTIFY_PACKET_DEVICE command. 0
reinsert_media_on_sd_insert on/off If set to 1, the ZuluIDE will automatically re-mount the most recently used image when an SD card is inserted. The most recently used image is stored directly as a filename in the zululast.txt file in the root folder of the SD card. 1
set_not_ready_on_insert on/off Set this to 1 to have the next ATAPI command report with a "not ready" response when the loaded image file is changed. Some systems and/or OSes need this to properly handle a media change. 0
init_with_last_used_image on/off Set this to 1 to cause the ZuluIDE to automatically re-mount the last-used image on powerup. 1
ignore_command_interrupt on/off When set to 1, the ZuluIDE will ignore any command that interrupts one that is currently executing. 0
atapi_intrq on/off When set to 1, the ZuluIDE will enable the INTRQ signal during a PACKET command. This is normally left disabled. Only enable this if support directs you to. 0
cylinders int Specify number of cylinders, heads, and sectors for rigid disk emulation. All three of these parameters must be set for the ZuluIDE to use them, otherwise the ZuluIDE will make a best guess based on the size of the image file and report that best guess to the BIOS when queried. unset
heads int
sectors int
access_delay int Add an extra delay (in milliseconds) before responding to commands issued by the host system. 0
max_volume int Volume level used when decoding Redbook audio through the optional I2S audio interface. Valid range is 0 to 100. 100

[UI] section

The options in this section require either the optional hardware interface, or require a Pi Pico W to be mounted to the optional Audio & Pico Shield.

Setting Type Effect Default
wifissid string Set the SSID to connect to to present the HTML interface. unset
wifipassword string Set the password to the SSID above. unset
rotary_encoder_ticks int Number of detents before the controller board registers a turn of the rotary encoder. Earlier versions of the hardware interface protocol used 4 for this value, current firmware sets this to 1 by default. 1