mirror of
https://github.com/86Box/86Box.git
synced 2026-02-24 20:35:32 -07:00
Another round of sonarlint work
This commit is contained in:
@@ -70,7 +70,7 @@
|
||||
#define CMD_SET_PARAMETERS 0x91
|
||||
#define CMD_READ_PARAMETERS 0xec
|
||||
|
||||
typedef struct {
|
||||
typedef struct drive_t {
|
||||
int cfg_spt;
|
||||
int cfg_hpc;
|
||||
int current_cylinder;
|
||||
@@ -81,7 +81,7 @@ typedef struct {
|
||||
int hdd_num;
|
||||
} drive_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct esdi_t {
|
||||
uint8_t status;
|
||||
uint8_t error;
|
||||
int secount;
|
||||
@@ -821,9 +821,9 @@ loadhd(esdi_t *esdi, int hdd_num, int d, UNUSED(const char *fn))
|
||||
}
|
||||
|
||||
static void
|
||||
esdi_rom_write(uint32_t addr, uint8_t val, void *p)
|
||||
esdi_rom_write(uint32_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
rom_t *rom = (rom_t *) p;
|
||||
rom_t *rom = (rom_t *) priv;
|
||||
|
||||
addr &= rom->mask;
|
||||
|
||||
|
||||
@@ -96,7 +96,8 @@
|
||||
#define CMD_ADAPTER 0
|
||||
|
||||
typedef struct esdi_drive_t {
|
||||
int spt, hpc;
|
||||
int spt;
|
||||
int hpc;
|
||||
int tracks;
|
||||
int sectors;
|
||||
int present;
|
||||
@@ -139,7 +140,7 @@ typedef struct esdi_t {
|
||||
|
||||
uint32_t rba;
|
||||
|
||||
struct {
|
||||
struct cmds {
|
||||
int req_in_progress;
|
||||
} cmds[3];
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
|
||||
#define IDE_TIME 10.0
|
||||
|
||||
typedef struct {
|
||||
typedef struct ide_board_t {
|
||||
int bit32;
|
||||
int cur_dev;
|
||||
int irq;
|
||||
@@ -123,7 +123,7 @@ typedef struct {
|
||||
ide_t *ide[2];
|
||||
} ide_board_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct ide_bm_t {
|
||||
int (*dma)(int channel, uint8_t *data, int transfer_length, int out, void *priv);
|
||||
void (*set_irq)(int channel, void *priv);
|
||||
void *priv;
|
||||
@@ -244,6 +244,9 @@ ide_get_xfer_time(ide_t *ide, int size)
|
||||
case 0x10:
|
||||
period = (50.0 / 3.0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x100: /* Single Word DMA */
|
||||
@@ -257,6 +260,9 @@ ide_get_xfer_time(ide_t *ide, int size)
|
||||
case 0x04:
|
||||
period = (25.0 / 3.0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x200: /* Multiword DMA */
|
||||
@@ -270,6 +276,9 @@ ide_get_xfer_time(ide_t *ide, int size)
|
||||
case 0x04:
|
||||
period = (50.0 / 3.0);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0x300: /* Ultra DMA */
|
||||
@@ -292,8 +301,14 @@ ide_get_xfer_time(ide_t *ide, int size)
|
||||
case 0x20:
|
||||
period = 100.0;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
period = (1.0 / period); /* get us for 1 byte */
|
||||
@@ -2576,6 +2591,9 @@ ide_callback(void *priv)
|
||||
|
||||
case 0xFF:
|
||||
goto abort_cmd;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
abort_cmd:
|
||||
@@ -3043,6 +3061,9 @@ ide_init(const device_t *info)
|
||||
if (info->local & 1)
|
||||
ide_board_init(1, 15, 0x170, 0x376, info->local);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ide_drives;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <86box/zip.h>
|
||||
#include <86box/mo.h>
|
||||
|
||||
typedef struct {
|
||||
typedef struct cmd640_t {
|
||||
uint8_t vlb_idx;
|
||||
uint8_t id;
|
||||
uint8_t in_cfg;
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <86box/zip.h>
|
||||
#include <86box/mo.h>
|
||||
|
||||
typedef struct {
|
||||
typedef struct cmd646_t {
|
||||
uint8_t vlb_idx;
|
||||
uint8_t single_channel;
|
||||
uint8_t in_cfg;
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
#include <86box/hdc_ide.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t tries,
|
||||
in_cfg, cfg_locked,
|
||||
regs[19];
|
||||
typedef struct opti611_t {
|
||||
uint8_t tries;
|
||||
uint8_t in_cfg;
|
||||
uint8_t cfg_locked;
|
||||
uint8_t regs[19];
|
||||
} opti611_t;
|
||||
|
||||
static void opti611_ide_handler(opti611_t *dev);
|
||||
|
||||
@@ -462,29 +462,27 @@ sff_bus_master_reset(sff8038i_t *dev, uint16_t old_base)
|
||||
}
|
||||
|
||||
static void
|
||||
sff_reset(void *p)
|
||||
sff_reset(void *priv)
|
||||
{
|
||||
int i = 0;
|
||||
|
||||
#ifdef ENABLE_SFF_LOG
|
||||
sff_log("SFF8038i: Reset\n");
|
||||
#endif
|
||||
|
||||
for (i = 0; i < CDROM_NUM; i++) {
|
||||
for (uint8_t i = 0; i < CDROM_NUM; i++) {
|
||||
if ((cdrom[i].bus_type == CDROM_BUS_ATAPI) && (cdrom[i].ide_channel < 4) && cdrom[i].priv)
|
||||
scsi_cdrom_reset((scsi_common_t *) cdrom[i].priv);
|
||||
}
|
||||
for (i = 0; i < ZIP_NUM; i++) {
|
||||
for (uint8_t i = 0; i < ZIP_NUM; i++) {
|
||||
if ((zip_drives[i].bus_type == ZIP_BUS_ATAPI) && (zip_drives[i].ide_channel < 4) && zip_drives[i].priv)
|
||||
zip_reset((scsi_common_t *) zip_drives[i].priv);
|
||||
}
|
||||
for (i = 0; i < MO_NUM; i++) {
|
||||
for (uint8_t i = 0; i < MO_NUM; i++) {
|
||||
if ((mo_drives[i].bus_type == MO_BUS_ATAPI) && (mo_drives[i].ide_channel < 4) && mo_drives[i].priv)
|
||||
mo_reset((scsi_common_t *) mo_drives[i].priv);
|
||||
}
|
||||
|
||||
sff_bus_master_set_irq(0x00, p);
|
||||
sff_bus_master_set_irq(0x01, p);
|
||||
sff_bus_master_set_irq(0x00, priv);
|
||||
sff_bus_master_set_irq(0x01, priv);
|
||||
}
|
||||
|
||||
void
|
||||
@@ -543,9 +541,9 @@ sff_set_irq_pin(sff8038i_t *dev, int irq_pin)
|
||||
}
|
||||
|
||||
static void
|
||||
sff_close(void *p)
|
||||
sff_close(void *priv)
|
||||
{
|
||||
sff8038i_t *dev = (sff8038i_t *) p;
|
||||
sff8038i_t *dev = (sff8038i_t *) priv;
|
||||
|
||||
free(dev);
|
||||
|
||||
@@ -554,9 +552,8 @@ sff_close(void *p)
|
||||
next_id = 0;
|
||||
}
|
||||
|
||||
static void
|
||||
*
|
||||
sff_init(UNUSED(const device_t *info))
|
||||
static void *
|
||||
sff_init(UNUSED(const device_t *info))
|
||||
{
|
||||
sff8038i_t *dev = (sff8038i_t *) malloc(sizeof(sff8038i_t));
|
||||
memset(dev, 0, sizeof(sff8038i_t));
|
||||
|
||||
@@ -74,7 +74,7 @@
|
||||
#define CMD_DIAGNOSE 0x90
|
||||
#define CMD_SET_PARAMETERS 0x91
|
||||
|
||||
typedef struct {
|
||||
typedef struct drive_t {
|
||||
int8_t present; /* drive is present */
|
||||
int8_t hdd_num; /* drive number in system */
|
||||
int8_t steprate; /* current servo step rate */
|
||||
@@ -89,7 +89,7 @@ typedef struct {
|
||||
int16_t curcyl; /* current track number */
|
||||
} drive_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct mfm_t {
|
||||
uint8_t precomp; /* 1: precomp/error register */
|
||||
uint8_t error;
|
||||
uint8_t secount; /* 2: sector count register */
|
||||
@@ -435,6 +435,9 @@ mfm_write(uint16_t port, uint8_t val, void *priv)
|
||||
mfm->fdisk = val;
|
||||
irq_update(mfm);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -229,7 +229,7 @@ enum {
|
||||
STATE_DONE
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
typedef struct drive_t {
|
||||
int8_t present;
|
||||
uint8_t hdd_num;
|
||||
|
||||
@@ -247,7 +247,7 @@ typedef struct {
|
||||
uint16_t cfg_cyl;
|
||||
} drive_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct hdc_t {
|
||||
uint8_t type; /* controller type */
|
||||
|
||||
uint8_t spt; /* sectors-per-track for controller */
|
||||
@@ -290,7 +290,7 @@ typedef struct {
|
||||
} hdc_t;
|
||||
|
||||
/* Supported drives table for the Xebec controller. */
|
||||
typedef struct {
|
||||
typedef struct hd_type_t {
|
||||
uint16_t tracks;
|
||||
uint8_t hpc;
|
||||
uint8_t spt;
|
||||
@@ -508,6 +508,9 @@ st506_callback(void *priv)
|
||||
case STATE_DONE:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -534,6 +537,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -570,6 +576,9 @@ st506_callback(void *priv)
|
||||
ui_sb_update_icon(SB_HDD | HDD_BUS_MFM, 0);
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -602,6 +611,9 @@ st506_callback(void *priv)
|
||||
|
||||
timer_advance_u64(&dev->timer, ST506_TIME);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -645,6 +657,9 @@ st506_callback(void *priv)
|
||||
ui_sb_update_icon(SB_HDD | HDD_BUS_MFM, 0);
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -737,6 +752,9 @@ st506_callback(void *priv)
|
||||
}
|
||||
dev->state = STATE_SEND_DATA;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -832,6 +850,9 @@ st506_callback(void *priv)
|
||||
}
|
||||
dev->state = STATE_RECEIVE_DATA;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -887,6 +908,9 @@ st506_callback(void *priv)
|
||||
}
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -906,6 +930,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -946,6 +973,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -987,6 +1017,9 @@ st506_callback(void *priv)
|
||||
case STATE_RECEIVED_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1008,6 +1041,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
else {
|
||||
st506_error(dev, ERR_BAD_COMMAND);
|
||||
@@ -1120,6 +1156,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1139,6 +1178,9 @@ st506_callback(void *priv)
|
||||
/* FIXME: ignore the results. */
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1161,6 +1203,9 @@ st506_callback(void *priv)
|
||||
case STATE_SENT_DATA:
|
||||
st506_complete(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1205,6 +1250,9 @@ st506_read(uint16_t port, void *priv)
|
||||
timer_set_delay_u64(&dev->timer, ST506_TIME);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1217,6 +1265,9 @@ st506_read(uint16_t port, void *priv)
|
||||
case 2: /* read option jumpers */
|
||||
ret = dev->switches;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
st506_xt_log("ST506: read(%04x) = %02x\n", port, ret);
|
||||
|
||||
@@ -1257,6 +1308,9 @@ st506_write(uint16_t port, uint8_t val, void *priv)
|
||||
timer_set_delay_u64(&dev->timer, ST506_TIME);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -1282,6 +1336,9 @@ st506_write(uint16_t port, uint8_t val, void *priv)
|
||||
picintc(1 << dev->irq);
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1561,6 +1618,9 @@ st506_init(const device_t *info)
|
||||
case 19: /* v2.0 */
|
||||
fn = ST11_BIOS_FILE_NEW;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
dev->base = device_get_config_hex16("base");
|
||||
dev->irq = device_get_config_int("irq");
|
||||
@@ -1665,6 +1725,9 @@ st506_init(const device_t *info)
|
||||
dev->base = 0x01f0;
|
||||
dev->switches = 0x0c;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* Load the ROM BIOS. */
|
||||
|
||||
@@ -182,7 +182,7 @@ enum {
|
||||
|
||||
/* The device control block (6 bytes) */
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
typedef struct dcb_t {
|
||||
uint8_t cmd; /* [7:5] class, [4:0] opcode */
|
||||
|
||||
uint8_t head : 5; /* [4:0] head number */
|
||||
@@ -202,7 +202,7 @@ typedef struct {
|
||||
|
||||
/* The (configured) Drive Parameters. */
|
||||
#pragma pack(push, 1)
|
||||
typedef struct {
|
||||
typedef struct dprm_t {
|
||||
uint8_t cyl_high; /* (MSB) number of cylinders */
|
||||
uint8_t cyl_low; /* (LSB) number of cylinders */
|
||||
uint8_t heads; /* number of heads per cylinder */
|
||||
@@ -215,7 +215,7 @@ typedef struct {
|
||||
#pragma pack(pop)
|
||||
|
||||
/* Define an attached drive. */
|
||||
typedef struct {
|
||||
typedef struct drive_t {
|
||||
int8_t id; /* drive ID on bus */
|
||||
int8_t present; /* drive is present */
|
||||
int8_t hdd_num; /* index to global disk table */
|
||||
@@ -232,7 +232,7 @@ typedef struct {
|
||||
uint16_t cfg_tracks;
|
||||
} drive_t;
|
||||
|
||||
typedef struct {
|
||||
typedef struct hdc_t {
|
||||
const char *name; /* controller name */
|
||||
|
||||
uint16_t base; /* controller base I/O address */
|
||||
@@ -436,6 +436,9 @@ do_fmt:
|
||||
|
||||
/* This saves us a LOT of code. */
|
||||
goto do_fmt;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* De-activate the status icon. */
|
||||
@@ -497,6 +500,10 @@ hdc_callback(void *priv)
|
||||
|
||||
case STATE_SDONE:
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -606,6 +613,9 @@ do_send:
|
||||
/* This saves us a LOT of code. */
|
||||
dev->state = STATE_SEND;
|
||||
goto do_send;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -710,6 +720,9 @@ do_recv:
|
||||
/* This saves us a LOT of code. */
|
||||
dev->state = STATE_RECV;
|
||||
goto do_recv;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -758,6 +771,9 @@ do_recv:
|
||||
dev->status &= ~STAT_REQ;
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -802,6 +818,9 @@ do_recv:
|
||||
dev->data, dev->buf_len);
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -815,6 +834,9 @@ do_recv:
|
||||
case STATE_RDONE:
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -834,6 +856,9 @@ do_recv:
|
||||
case STATE_RDONE:
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -847,6 +872,9 @@ do_recv:
|
||||
case STATE_RDONE:
|
||||
set_intr(dev);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -900,6 +928,9 @@ hdc_read(uint16_t port, void *priv)
|
||||
case 2: /* "read option jumpers" */
|
||||
ret = 0xff; /* all switches off */
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return ret;
|
||||
@@ -963,6 +994,9 @@ hdc_write(uint16_t port, uint8_t val, void *priv)
|
||||
#endif
|
||||
dev->intr = val;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1000,12 +1034,16 @@ xta_init(const device_t *info)
|
||||
dev->irq = 5;
|
||||
dev->dma = 3;
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
xta_log("%s: initializing (I/O=%04X, IRQ=%d, DMA=%d",
|
||||
dev->name, dev->base, dev->irq, dev->dma);
|
||||
if (dev->rom_addr != 0x000000)
|
||||
xta_log(", BIOS=%06X", dev->rom_addr);
|
||||
|
||||
xta_log(")\n");
|
||||
|
||||
/* Load any disks for this device class. */
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
#define ROM_PATH_PS2AT "roms/hdd/xtide/ide_at_1_1_5.bin"
|
||||
#define ROM_PATH_AT_386 "roms/hdd/xtide/ide_386.bin"
|
||||
|
||||
typedef struct {
|
||||
typedef struct xtide_t {
|
||||
void *ide_board;
|
||||
uint8_t data_high;
|
||||
rom_t bios_rom;
|
||||
@@ -85,6 +85,9 @@ xtide_write(uint16_t port, uint8_t val, void *priv)
|
||||
case 0xe:
|
||||
ide_write_devctl(0x0, val, xtide->ide_board);
|
||||
return;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -107,8 +107,8 @@ hdd_bus_to_string(int bus, UNUSED(int cdrom))
|
||||
char *s = "none";
|
||||
|
||||
switch (bus) {
|
||||
case HDD_BUS_DISABLED:
|
||||
default:
|
||||
case HDD_BUS_DISABLED:
|
||||
break;
|
||||
|
||||
case HDD_BUS_MFM:
|
||||
@@ -165,7 +165,7 @@ hdd_seek_get_time(hard_disk_t *hdd, uint32_t dst_addr, uint8_t operation, uint8_
|
||||
fatal("hdd_seek_get_time(): hdd->num_zones < 0)\n");
|
||||
return 0.0;
|
||||
}
|
||||
for (int i = 0; i < hdd->num_zones; i++) {
|
||||
for (uint32_t i = 0; i < hdd->num_zones; i++) {
|
||||
zone = &hdd->zones[i];
|
||||
if (zone->end_sector >= dst_addr)
|
||||
break;
|
||||
|
||||
@@ -40,8 +40,7 @@
|
||||
#define HDD_IMAGE_HDX 2
|
||||
#define HDD_IMAGE_VHD 3
|
||||
|
||||
typedef struct
|
||||
{
|
||||
typedef struct hdd_image_t {
|
||||
FILE *file; /* Used for HDD_IMAGE_RAW, HDD_IMAGE_HDI, and HDD_IMAGE_HDX. */
|
||||
MVHDMeta *vhd; /* Used for HDD_IMAGE_VHD. */
|
||||
uint32_t base;
|
||||
|
||||
@@ -498,6 +498,9 @@ mo_atapi_phase_to_scsi(mo_t *dev)
|
||||
return 1;
|
||||
case 3:
|
||||
return 7;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if ((dev->phase & 3) == 3)
|
||||
@@ -569,6 +572,9 @@ mo_mode_sense_read(mo_t *dev, uint8_t page_control, uint8_t page, uint8_t pos)
|
||||
else
|
||||
return mo_mode_sense_pages_default.pages[page][pos];
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -1419,6 +1425,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
dev->sector_pos = (((uint32_t) cdb[2]) << 24) | (((uint32_t) cdb[3]) << 16) | (((uint32_t) cdb[4]) << 8) | ((uint32_t) cdb[5]);
|
||||
mo_log("MO %i: Length: %i, LBA: %i\n", dev->id, dev->sector_len, dev->sector_pos);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!dev->sector_len) {
|
||||
@@ -1512,6 +1521,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
dev->sector_len = (((uint32_t) cdb[6]) << 24) | (((uint32_t) cdb[7]) << 16) | (((uint32_t) cdb[8]) << 8) | ((uint32_t) cdb[9]);
|
||||
dev->sector_pos = (((uint32_t) cdb[2]) << 24) | (((uint32_t) cdb[3]) << 16) | (((uint32_t) cdb[4]) << 8) | ((uint32_t) cdb[5]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if ((dev->sector_pos >= dev->drv->medium_size) /* ||
|
||||
@@ -1637,6 +1649,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case 3: /* Load the disk (close tray). */
|
||||
mo_reload(dev->id);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mo_command_complete(dev);
|
||||
@@ -1744,6 +1759,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case GPCMD_SEEK_10:
|
||||
pos = (cdb[2] << 24) | (cdb[3] << 16) | (cdb[4] << 8) | cdb[5];
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
mo_seek(dev, pos);
|
||||
mo_command_complete(dev);
|
||||
@@ -1782,6 +1800,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case GPCMD_ERASE_12:
|
||||
dev->sector_len = (((uint32_t) cdb[6]) << 24) | (((uint32_t) cdb[7]) << 16) | (((uint32_t) cdb[8]) << 8) | ((uint32_t) cdb[9]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/*Erase all remaining sectors*/
|
||||
@@ -1804,6 +1825,9 @@ mo_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case GPCMD_ERASE_12:
|
||||
dev->sector_pos = (((uint32_t) cdb[2]) << 24) | (((uint32_t) cdb[3]) << 16) | (((uint32_t) cdb[4]) << 8) | ((uint32_t) cdb[5]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
dev->sector_pos += previous_pos;
|
||||
@@ -1958,6 +1982,9 @@ mo_phase_data_out(scsi_common_t *sc)
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mo_command_stop((scsi_common_t *) dev);
|
||||
|
||||
@@ -643,6 +643,9 @@ zip_atapi_phase_to_scsi(zip_t *dev)
|
||||
return 1;
|
||||
case 3:
|
||||
return 7;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if ((dev->phase & 3) == 3)
|
||||
@@ -713,13 +716,11 @@ zip_mode_sense_read(zip_t *dev, uint8_t page_control, uint8_t page, uint8_t pos)
|
||||
if (dev->drv->is_250 && (page == 5) && (pos == 9) && (dev->drv->medium_size == ZIP_SECTORS))
|
||||
return 0x60;
|
||||
return dev->ms_pages_saved.pages[page][pos];
|
||||
break;
|
||||
case 1:
|
||||
if (dev->drv->is_250)
|
||||
return zip_250_mode_sense_pages_changeable.pages[page][pos];
|
||||
else
|
||||
return zip_mode_sense_pages_changeable.pages[page][pos];
|
||||
break;
|
||||
case 2:
|
||||
if (dev->drv->is_250) {
|
||||
if ((page == 5) && (pos == 9) && (dev->drv->medium_size == ZIP_SECTORS))
|
||||
@@ -734,6 +735,8 @@ zip_mode_sense_read(zip_t *dev, uint8_t page_control, uint8_t page, uint8_t pos)
|
||||
else
|
||||
return zip_mode_sense_pages_default.pages[page][pos];
|
||||
}
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -962,7 +965,7 @@ zip_data_command_finish(zip_t *dev, int len, int block_len, int alloc_len, int d
|
||||
}
|
||||
|
||||
static void
|
||||
zip_sense_clear(zip_t *dev, int command)
|
||||
zip_sense_clear(zip_t *dev, UNUSED(int command))
|
||||
{
|
||||
zip_sense_key = zip_asc = zip_ascq = 0;
|
||||
}
|
||||
@@ -1116,7 +1119,7 @@ zip_data_phase_error(zip_t *dev)
|
||||
}
|
||||
|
||||
static int
|
||||
zip_blocks(zip_t *dev, int32_t *len, int first_batch, int out)
|
||||
zip_blocks(zip_t *dev, int32_t *len, UNUSED(int first_batch), int out)
|
||||
{
|
||||
*len = 0;
|
||||
|
||||
@@ -1251,7 +1254,9 @@ zip_pre_execution_check(zip_t *dev, uint8_t *cdb)
|
||||
static void
|
||||
zip_seek(zip_t *dev, uint32_t pos)
|
||||
{
|
||||
/* zip_log("ZIP %i: Seek %08X\n", dev->id, pos); */
|
||||
#if 0
|
||||
zip_log("ZIP %i: Seek %08X\n", dev->id, pos);
|
||||
#endif
|
||||
dev->sector_pos = pos;
|
||||
}
|
||||
|
||||
@@ -1513,6 +1518,9 @@ zip_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
dev->sector_len = (((uint32_t) cdb[6]) << 24) | (((uint32_t) cdb[7]) << 16) | (((uint32_t) cdb[8]) << 8) | ((uint32_t) cdb[9]);
|
||||
dev->sector_pos = (((uint32_t) cdb[2]) << 24) | (((uint32_t) cdb[3]) << 16) | (((uint32_t) cdb[4]) << 8) | ((uint32_t) cdb[5]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if (!dev->sector_len) {
|
||||
@@ -1597,6 +1605,9 @@ zip_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
dev->sector_len = (((uint32_t) cdb[6]) << 24) | (((uint32_t) cdb[7]) << 16) | (((uint32_t) cdb[8]) << 8) | ((uint32_t) cdb[9]);
|
||||
dev->sector_pos = (((uint32_t) cdb[2]) << 24) | (((uint32_t) cdb[3]) << 16) | (((uint32_t) cdb[4]) << 8) | ((uint32_t) cdb[5]);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
if ((dev->sector_pos >= dev->drv->medium_size) /* ||
|
||||
@@ -1775,6 +1786,9 @@ zip_command(scsi_common_t *sc, uint8_t *cdb)
|
||||
case 3: /* Load the disc (close tray). */
|
||||
zip_reload(dev->id);
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
zip_command_complete(dev);
|
||||
@@ -1911,6 +1925,9 @@ atapi_out:
|
||||
case GPCMD_SEEK_10:
|
||||
pos = (cdb[2] << 24) | (cdb[3] << 16) | (cdb[4] << 8) | cdb[5];
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
zip_seek(dev, pos);
|
||||
zip_command_complete(dev);
|
||||
@@ -2177,6 +2194,9 @@ zip_phase_data_out(scsi_common_t *sc)
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
zip_command_stop((scsi_common_t *) dev);
|
||||
|
||||
Reference in New Issue
Block a user