ZuluIDE Operations Guide: Difference between revisions

From Rabbit Hole Computing
Jump to navigation Jump to search
Mbalmer (talk | contribs)
No edit summary
Mbalmer (talk | contribs)
Initial save (incomplete; 1,381 words, 8 images)
Line 23: Line 23:
* '''MicroUSB Port:''' Used during the firmware update process. Can also be used as a serial monitor to capture debug logs in real time with a second PC.  
* '''MicroUSB Port:''' Used during the firmware update process. Can also be used as a serial monitor to capture debug logs in real time with a second PC.  
* '''microSD Card Slot:''' Your SD card with images goes here.
* '''microSD Card Slot:''' Your SD card with images goes here.
* '''Activity LED:''' Flashes in sync with drive access, also used to indicate failure modes as described later
* '''Activity LED:''' Flashes in sync with drive access, also used to indicate status conditions as described later
* '''Eject button:''' Performs a hardware eject for optical drives. Some operating systems will need this after dismounting an image from the system to register that the drive door is closed.
* '''Eject button:''' Performs a hardware eject for optical drives. Some operating systems will need this after dismounting an image from the system to register that the drive door is closed.
* '''External eject and LED headers:''' If you intend to mount the device internally, but want external access to these, you can use standard 0.1" headers to run an eject button and an LED to a case panel. The red box on the image above indicates the positive pin.
* '''External eject and LED headers:''' If you intend to mount the device internally, but want external access to these, you can use standard 0.1" headers to run an eject button and an LED to a case panel. The red box on the image above indicates the positive pin.
Line 45: Line 45:
* '''1× 3½ female housing:''' TE Connectivity P/N 171822-4
* '''1× 3½ female housing:''' TE Connectivity P/N 171822-4


When making the cables, use 20-gauge wire. Crimping the cables can be done with standard tools found on Amazon, such as the IWISS SN-025.  
When making the cables, use 20-gauge wire. If you're crimping a splitter cable, it's also possible to use 18-gauge wire on the 5¼ side going to the female plug, and then crimp the larger wire going into the male splitter side together with 22 or 24-gauge wire going to the 3½ side. Crimping the cables can be done with standard tools found on Amazon, such as the IWISS SN-025.  


== DIP Switch Configuration ==
== DIP Switch Configuration ==
Line 64: Line 64:
The rotary encoder knob on the hardware interface functions exactly like a Gotek device — spin the knob to change images or menu selections, press the knob to select. The Eject button works exactly like the eject button on the main board, although with the hardware interface attached, it will ask you to confirm the eject by pressing the rotary knob. The User button is currently reserved for future use.
The rotary encoder knob on the hardware interface functions exactly like a Gotek device — spin the knob to change images or menu selections, press the knob to select. The Eject button works exactly like the eject button on the main board, although with the hardware interface attached, it will ask you to confirm the eject by pressing the rotary knob. The User button is currently reserved for future use.


== SD Card Preparation ==
== Activity LED ==
Format your SD card with either the FAT32 or exFAT filesystems. If you intend to use images larger than 4 GB in size, you ''must'' format the card using exFAT as the FAT32 filesystem cannot support individual files larger than 4 GB.
The Activity LED will flash normally during disk access, however, in certain specific failure modes or status changes, you will see it flashing with a pattern.
 
* '''1 fast blink, at boot time:''' Image file loaded successfully
* '''3 fast blinks:''' No valid images found on SD card
* '''5 fast blinks:''' SD card is present, but is not being detected
* '''Morse code pattern:''' Firmware crash. The particular pattern will indicate where the crash occurred.
 
If a firmware crash occurs, it will also try to save information to the file <code>zuluerr.txt</code> on the SD card.
 
== SD Card Preparation and Use ==
Format your SD card with either the FAT32 or exFAT filesystems. If you intend to use images larger than 4 GB in size, you ''must'' format the card using exFAT as the FAT32 filesystem cannot support individual files larger than 4 GB.
 
Load your images onto the card into the root folder. Images stored in folders, unless they are <code>BIN/CUE</code> images, will be ignored.
 
For <code>BIN/CUE</code> files, they can be placed into a folder with the same name as the image file; i.e., if you have a <code>BIN/CUE</code> pair named <code>bigdiscofstuff.bin</code> and <code>bigdiscofstuff.cue</code> you should place them in a directory named <code>bigdiscofstuff</code>. This is '''required''' if your <code>BIN/CUE</code> image has a single <code>CUE</code> file and multiple <code>BIN</code> files.
 
=== Drive Types ===
When configuring the ZuluIDE, you can set it to be multiple different drive types based on the images you intend to use. Out of the box, the ZuluIDE configures itself as an optical drive, but through the [[ZuluIDE INI Configuration|INI file]] or by using '''filename prefixes,''' you can tell the ZuluIDE which device you want it to behave as when you power it on.
 
==== Using the INI File ====
Under the <code>[IDE]</code> heading, use the <code>Device=</code> value to set the drive type:0
 
* <code>CDROM</code> (default) will cause the ZuluIDE to respond as an optical drive.
* <code>Zip100</code> will cause the ZuluIDE to respond as an ATAPI-attached 100MB Zip Drive
* <code>Zip250</code> will cause the ZuluIDE to respond as an ATAPI-attached 250MB Zip Drive
* <code>Removable</code> will cause the ZuluIDE to respond as a generic removable media device
* <code>HDD</code> will cause the ZuluIDE to respond as a standard hard disk drive
 
If this section is absent, or the <code>zuluide.ini</code> file is not present on the SD card, the device will default to behaving as an optical drive.
 
==== Using a filename prefix ====
Add the following to the beginning of your filename to switch the ZuluIDE's device mode:
 
* <code>cdrm</code> will cause the ZuluIDE to load the image as an optical drive image.
* <code>zipd</code> will cause the ZuluIDE to load the image as a 100MB or 250MB Zip disk.
* <code>remv</code> will cause the ZuluIDE to load the image as a generic removable media device.
* <code>hddr</code> will cause the ZuluIDE to load the image as a non-removable hard disk image.
 
The <code>Device=</code> option in the INI file will override this behavior. Additionally, if a filename prefix is specified, all other files that you want to use '''must have the same prefix.'''
 
==== Filename extensions ====
In optical drive mode, the device will only recognize images that end in <code>.iso</code> or <code>.bin/.cue</code>, while also recognizing folders for purposes of reading multipart <code>.bin/.cue</code> images.
 
For Zip drives or other removable media, extensions are optional, but any extension that isn't on the ignored list ''or'' any files with <code>.iso</code> or <code>.bin/.cue</code> as their extension.

Revision as of 20:31, 2 November 2024

Setting Up Your ZuluIDE

Unboxing

When you first receive your ZuluIDE, depending on the options you ordered, you should receive the following:

  • ZuluIDE RP2040 Compact board
  • 3D-printed plastic carrier
  • 2x ¼" 4-40 screws
  • microSD card
  • Hardware interface board
  • Qwiic cable

Board Overview

Take a moment to identify the various parts of the board as shown below.

  • 4-pin Molex floppy power connector: Run a standard Molex 4-pin power cable to this port. If your system power supply has only the larger style, get an adapter cable to switch it to the smaller size (the same size as that found on a 3½" floppy disk drive).
  • 40-pin male IDC connector: Plug your IDE bus cable into this. The connector is keyed, but some IDE cables lack the key, so make sure that the red stripe on the cable lines up with the little arrow embossed into the connector itself.
  • Configuration DIP switches: These will set how the ZuluIDE responds when the BIOS requests information from the device.
  • Bootloader button: Used during the firmware update process.
  • I2C Footprint: Addon boards can attach through this open footprint either by being soldered directly to it or by attaching standard 0.1" header to this footprint.
  • Qwiic Port: Addon boards can also attach here through the use of a standard Qwiic I2C cable.
  • MicroUSB Port: Used during the firmware update process. Can also be used as a serial monitor to capture debug logs in real time with a second PC.
  • microSD Card Slot: Your SD card with images goes here.
  • Activity LED: Flashes in sync with drive access, also used to indicate status conditions as described later
  • Eject button: Performs a hardware eject for optical drives. Some operating systems will need this after dismounting an image from the system to register that the drive door is closed.
  • External eject and LED headers: If you intend to mount the device internally, but want external access to these, you can use standard 0.1" headers to run an eject button and an LED to a case panel. The red box on the image above indicates the positive pin.

Molex power connector

Make sure that your power connection uses a 3½" floppy power connector, not the larger drive connector used on full-size optical drives, hard drives, and the like.

✅ 3½" connector ❌ 5¼" connector

If your host system only has the 5¼" connectors, you'll need to either purchase or make an adapter cable. Making an adapter cable requires the following parts:

  • 4× 5¼ male pins: TE Connectivity P/N 60620-1
  • 1× 5¼ male housing: TE Connectivity P/N 1-480426-0
  • 4× 3½ female sockets: TE Connectivity P/N 170262-1
  • 1× 3½ female housing: TE Connectivity P/N 171822-4

When making the cables, use 20-gauge wire. If you're crimping a splitter cable, it's also possible to use 18-gauge wire on the 5¼ side going to the female plug, and then crimp the larger wire going into the male splitter side together with 22 or 24-gauge wire going to the 3½ side. Crimping the cables can be done with standard tools found on Amazon, such as the IWISS SN-025.

DIP Switch Configuration

Set the three DIP switches according to how the device needs to be configured in the host system.

  • Switch 1: Turn IDE Cable Select on or off. Most systems will work fine with this off, but there are several systems (especially single-board industrial computers) which will use cable-select to determine primary and secondary drives and thus will need it on. If your system hangs during IDE device detection with the ZuluIDE attached to the bus, try turning this switch ON first.
  • Switch 2: Respond as Primary/Master (OFF) or Secondary/Slave (ON).
  • Switch 3: Debug log disable/enable. If this switch is ON, the device will automatically write out a detailed debug log to zululog.txt on the SD card as long as the device is powered on. Additionally, if you have a USB cable plugged into the MicroUSB port on the device with this switch on, it will also print the debug log over the cable via the RP2040's internal serial connection.

Qwiic Port and External Hardware Interface

The external hardware interface (optional) can be connected to this port. The interface provides a Gotek-like system to navigate disc images stored on the SD card and to cycle through them.

The rotary encoder knob on the hardware interface functions exactly like a Gotek device — spin the knob to change images or menu selections, press the knob to select. The Eject button works exactly like the eject button on the main board, although with the hardware interface attached, it will ask you to confirm the eject by pressing the rotary knob. The User button is currently reserved for future use.

Activity LED

The Activity LED will flash normally during disk access, however, in certain specific failure modes or status changes, you will see it flashing with a pattern.

  • 1 fast blink, at boot time: Image file loaded successfully
  • 3 fast blinks: No valid images found on SD card
  • 5 fast blinks: SD card is present, but is not being detected
  • Morse code pattern: Firmware crash. The particular pattern will indicate where the crash occurred.

If a firmware crash occurs, it will also try to save information to the file zuluerr.txt on the SD card.

SD Card Preparation and Use

Format your SD card with either the FAT32 or exFAT filesystems. If you intend to use images larger than 4 GB in size, you must format the card using exFAT as the FAT32 filesystem cannot support individual files larger than 4 GB.

Load your images onto the card into the root folder. Images stored in folders, unless they are BIN/CUE images, will be ignored.

For BIN/CUE files, they can be placed into a folder with the same name as the image file; i.e., if you have a BIN/CUE pair named bigdiscofstuff.bin and bigdiscofstuff.cue you should place them in a directory named bigdiscofstuff. This is required if your BIN/CUE image has a single CUE file and multiple BIN files.

Drive Types

When configuring the ZuluIDE, you can set it to be multiple different drive types based on the images you intend to use. Out of the box, the ZuluIDE configures itself as an optical drive, but through the INI file or by using filename prefixes, you can tell the ZuluIDE which device you want it to behave as when you power it on.

Using the INI File

Under the [IDE] heading, use the Device= value to set the drive type:0

  • CDROM (default) will cause the ZuluIDE to respond as an optical drive.
  • Zip100 will cause the ZuluIDE to respond as an ATAPI-attached 100MB Zip Drive
  • Zip250 will cause the ZuluIDE to respond as an ATAPI-attached 250MB Zip Drive
  • Removable will cause the ZuluIDE to respond as a generic removable media device
  • HDD will cause the ZuluIDE to respond as a standard hard disk drive

If this section is absent, or the zuluide.ini file is not present on the SD card, the device will default to behaving as an optical drive.

Using a filename prefix

Add the following to the beginning of your filename to switch the ZuluIDE's device mode:

  • cdrm will cause the ZuluIDE to load the image as an optical drive image.
  • zipd will cause the ZuluIDE to load the image as a 100MB or 250MB Zip disk.
  • remv will cause the ZuluIDE to load the image as a generic removable media device.
  • hddr will cause the ZuluIDE to load the image as a non-removable hard disk image.

The Device= option in the INI file will override this behavior. Additionally, if a filename prefix is specified, all other files that you want to use must have the same prefix.

Filename extensions

In optical drive mode, the device will only recognize images that end in .iso or .bin/.cue, while also recognizing folders for purposes of reading multipart .bin/.cue images.

For Zip drives or other removable media, extensions are optional, but any extension that isn't on the ignored list or any files with .iso or .bin/.cue as their extension.