ZuluIDE INI Configuration
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
|
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
|