+// SPDX-License-Identifier: MIT
+
#define NUM_UNITS 7
#define PISCSI_OFFSET 0x80000000
#define PISCSI_REGSIZE 0x00010000
#define SCSIERR_IDLE (1 << 0)
enum piscsi_stuff {
- PISCSI_BLOCK_SIZE = 512,
+ PISCSI_BLOCK_SIZE = 512, // Deprecated, do not use
+ PISCSI_MAX_BLOCK_SIZE = 65536,
PISCSI_TRACK_SECTORS = 2048,
};
enum piscsi_cmds {
- PISCSI_CMD_WRITE = 0x00,
- PISCSI_CMD_READ = 0x02,
- PISCSI_CMD_DRVNUM = 0x04,
- PISCSI_CMD_DRVTYPE = 0x06,
- PISCSI_CMD_BLOCKS = 0x08,
- PISCSI_CMD_CYLS = 0x0A,
- PISCSI_CMD_HEADS = 0x0C,
- PISCSI_CMD_SECS = 0x0E,
- PISCSI_CMD_ADDR1 = 0x10,
- PISCSI_CMD_ADDR2 = 0x14,
- PISCSI_CMD_ADDR3 = 0x18,
- PISCSI_CMD_ADDR4 = 0x1C,
- PISCSI_CMD_DEBUGME = 0x20,
- PISCSI_CMD_DRIVER = 0x40,
- PISCSI_CMD_NEXTPART = 0x44,
- PISCSI_CMD_GETPART = 0x48,
- PISCSI_CMD_GETPRIO = 0x4C,
- PISCSI_CMD_WRITE64 = 0x50,
- PISCSI_CMD_READ64 = 0x52,
- PISCSI_CMD_CHECKFS = 0x60,
- PISCSI_CMD_NEXTFS = 0x64,
- PISCSI_CMD_COPYFS = 0x68,
- PISCSI_CMD_FSSIZE = 0x6C,
- PISCSI_CMD_SETFSH = 0x70,
- PISCSI_DBG_MSG = 0x1000,
- PISCSI_DBG_VAL1 = 0x1010,
- PISCSI_DBG_VAL2 = 0x1014,
- PISCSI_DBG_VAL3 = 0x1018,
- PISCSI_DBG_VAL4 = 0x101C,
- PISCSI_DBG_VAL5 = 0x1020,
- PISCSI_DBG_VAL6 = 0x1024,
- PISCSI_DBG_VAL7 = 0x1028,
- PISCSI_DBG_VAL8 = 0x102C,
- PISCSI_CMD_ROM = 0x4000,
+ PISCSI_CMD_WRITE = 0x00,
+ PISCSI_CMD_READ = 0x02,
+ PISCSI_CMD_DRVNUM = 0x04,
+ PISCSI_CMD_DRVTYPE = 0x06,
+ PISCSI_CMD_BLOCKS = 0x08,
+ PISCSI_CMD_CYLS = 0x0A,
+ PISCSI_CMD_HEADS = 0x0C,
+ PISCSI_CMD_SECS = 0x0E,
+ PISCSI_CMD_ADDR1 = 0x10,
+ PISCSI_CMD_ADDR2 = 0x14,
+ PISCSI_CMD_ADDR3 = 0x18,
+ PISCSI_CMD_ADDR4 = 0x1C,
+ PISCSI_CMD_DEBUGME = 0x20,
+ PISCSI_CMD_DRIVER = 0x40,
+ PISCSI_CMD_NEXTPART = 0x44,
+ PISCSI_CMD_GETPART = 0x48,
+ PISCSI_CMD_GETPRIO = 0x4C,
+ PISCSI_CMD_WRITE64 = 0x50,
+ PISCSI_CMD_READ64 = 0x52,
+ PISCSI_CMD_CHECKFS = 0x60,
+ PISCSI_CMD_NEXTFS = 0x64,
+ PISCSI_CMD_COPYFS = 0x68,
+ PISCSI_CMD_FSSIZE = 0x6C,
+ PISCSI_CMD_SETFSH = 0x70,
+ PISCSI_CMD_BLOCKSIZE = 0x74,
+ PISCSI_CMD_READBYTES = 0x78,
+ PISCSI_CMD_WRITEBYTES = 0x7C,
+ PISCSI_CMD_DRVNUMX = 0x80,
+ PISCSI_CMD_LOADFS = 0x84,
+ PISCSI_CMD_GET_FS_INFO = 0x88,
+ PISCSI_DBG_MSG = 0x1000,
+ PISCSI_DBG_VAL1 = 0x1010,
+ PISCSI_DBG_VAL2 = 0x1014,
+ PISCSI_DBG_VAL3 = 0x1018,
+ PISCSI_DBG_VAL4 = 0x101C,
+ PISCSI_DBG_VAL5 = 0x1020,
+ PISCSI_DBG_VAL6 = 0x1024,
+ PISCSI_DBG_VAL7 = 0x1028,
+ PISCSI_DBG_VAL8 = 0x102C,
+ PISCSI_CMD_ROM = 0x4000,
};
enum piscsi_dbg_msgs {