Ide doubler

Issue #89 invalid
professor_jonny created an issue

would it be possible to use a ide doubler under Linux using a gpio on the xblast.

https://cateee.net/lkddb/web-lkddb/BLK_DEV_IDEDOUBLER.html

Comments (5)

  1. psyko_chewbacca NA repo owner

    Quite frankly I do not know how these IDE doubler work. Are they really using GPIOs to toggle what drives are connected on the BUS? If so I guess the linux driver could be modified to toggle GPIOs on XBlast Lite. You'd need to change the I/O port in the driver to use address 0xF70D as per developer documentation in the Wiki. These I/O port addresses are coded in the CPLD of the XBlast Lite and thus cannot be remapped. You need to adapt the software's side to make this work.

    GPO1 and GPO2 can be freely used at all time to do such things. GPO2 and GPO3 are state-locked when not in OS, they can be unlocked but would require additional logic to do so. If we assume the IDE doubler can be interfaced on a x86 platform and requires a single GPIO to properly function, it could be possible. Just read 0xF70D to get current GPO and 5V out states (they're on the same register), toggle the bit relative to the GPO you use and write back the new byte to 0xF70D.

    As I write this, I realize there is no work involved either on XBlast Lite or XBlast OS. This is purely a linux driver issue. I will close this issue.

  2. professor_jonny reporter

    Ok so I just need to address the I/O port directly and will require a relatively simple kernel mod, I was not sure if I had access to the I/O out side the script engine.

    Will the GPIO stay latched until such times as the Xbox is powered down or using IGR or loading XblastOS?

    The Amiga had custom chips some of the pins not normally addressable with the pc are addressable with the Amiga the ide driver could toggle that and select a second bank of master slave combination with a simple hardware mod with a trace cut and two diodes from memory.

    There were add-ons for the Atari to do a similar feature using a pin on the serial port I believe.

    In theory I could do it under Linux using an Amiga ide doubler buffered interface (idefix99 board) tied to the xblast GPIO. You could do it using a script to select a hdd on bootup much like the extender mod.

    It would be cool to have a way of connecting multiple drives to the Xbox all accessible at the same time under Linux for device cloning yip it is bit of a pipe dream but I might have a play and see what I can get working.

  3. psyko_chewbacca NA repo owner

    I/O are accessible at all time, it's just GPO2 and GPO3 which have special behavior (locked state when not on OS bank)

    GPIO stay latched until a power cycle, at which time they return to '0' for GPO and undefined for GPI;

    A script in XBlast OS could be made to set GPOs to a desired state when launching a defined BIOS bank(whether onboard flash on XBlast or TSOP).

  4. Log in to comment