Go to the source code of this file.
Classes | |
struct | diskimage_overlay |
struct | diskimage |
struct | scsi_transfer |
Macros | |
#define | DISKIMAGE_SCSI 1 |
#define | DISKIMAGE_IDE 2 |
#define | DISKIMAGE_FLOPPY 3 |
#define | DISKIMAGE_TYPES { "(NONE)", "SCSI", "IDE", "FLOPPY" } |
#define | OVERLAY_BLOCK_SIZE 512 |
#define | SCSICMD_TEST_UNIT_READY 0x00 /* Mandatory */ |
#define | SCSICMD_REQUEST_SENSE 0x03 /* Mandatory */ |
#define | SCSICMD_INQUIRY 0x12 /* Mandatory */ |
#define | SCSICMD_READ 0x08 |
#define | SCSICMD_READ_10 0x28 |
#define | SCSICMD_WRITE 0x0a |
#define | SCSICMD_WRITE_10 0x2a |
#define | SCSICMD_MODE_SELECT 0x15 |
#define | SCSICMD_MODE_SENSE 0x1a |
#define | SCSICMD_START_STOP_UNIT 0x1b |
#define | SCSICMD_PREVENT_ALLOW_REMOVE 0x1e |
#define | SCSICMD_MODE_SENSE10 0x5a |
#define | SCSICMD_SYNCHRONIZE_CACHE 0x35 |
#define | SCSIBLOCKCMD_READ_CAPACITY 0x25 |
#define | SCSICDROM_READ_SUBCHANNEL 0x42 |
#define | SCSICDROM_READ_TOC 0x43 |
#define | SCSICDROM_READ_DISCINFO 0x51 |
#define | SCSICDROM_READ_TRACKINFO 0x52 |
#define | SCSICMD_REWIND 0x01 |
#define | SCSICMD_READ_BLOCK_LIMITS 0x05 |
#define | SCSICMD_SPACE 0x11 |
Functions | |
struct scsi_transfer * | scsi_transfer_alloc (void) |
void | scsi_transfer_free (struct scsi_transfer *) |
void | scsi_transfer_allocbuf (size_t *lenp, unsigned char **pp, size_t want_len, int clearflag) |
int | diskimage_scsicommand (struct cpu *cpu, int id, int type, struct scsi_transfer *) |
int64_t | diskimage_getsize (struct machine *machine, int id, int type) |
int64_t | diskimage_get_baseoffset (struct machine *machine, int id, int type) |
void | diskimage_set_baseoffset (struct machine *machine, int id, int type, int64_t offset) |
void | diskimage_getchs (struct machine *machine, int id, int type, int *c, int *h, int *s) |
int | diskimage__internal_access (struct diskimage *d, int writeflag, off_t offset, unsigned char *buf, size_t len) |
int | diskimage_access (struct machine *machine, int id, int type, int writeflag, off_t offset, unsigned char *buf, size_t len) |
void | diskimage_add_overlay (struct diskimage *d, char *overlay_basename) |
void | diskimage_recalc_size (struct diskimage *d) |
int | diskimage_exist (struct machine *machine, int id, int type) |
int | diskimage_bootdev (struct machine *machine, int *typep) |
int | diskimage_add (struct machine *machine, char *fname) |
int | diskimage_getname (struct machine *machine, int id, int type, char *buf, size_t bufsize) |
int | diskimage_is_a_cdrom (struct machine *machine, int id, int type) |
int | diskimage_is_a_tape (struct machine *machine, int id, int type) |
void | diskimage_dump_info (struct machine *machine) |
#define DISKIMAGE_FLOPPY 3 |
Definition at line 42 of file diskimage.h.
Referenced by diskimage_add(), and diskimage_dump_info().
#define DISKIMAGE_IDE 2 |
Definition at line 41 of file diskimage.h.
Referenced by bus_isa_init(), DEVICE_ACCESS(), DEVINIT(), diskimage_add(), diskimage_dump_info(), dreamcast_gdrom_update_stat(), MACHINE_SETUP(), PCIINIT(), wdc__read(), and wdc_command().
#define DISKIMAGE_SCSI 1 |
Definition at line 40 of file diskimage.h.
Referenced by dec_jumptable_func(), diskimage_add(), diskimage_dump_info(), and MACHINE_SETUP().
#define DISKIMAGE_TYPES { "(NONE)", "SCSI", "IDE", "FLOPPY" } |
Definition at line 44 of file diskimage.h.
#define OVERLAY_BLOCK_SIZE 512 |
Definition at line 48 of file diskimage.h.
#define SCSIBLOCKCMD_READ_CAPACITY 0x25 |
Definition at line 172 of file diskimage.h.
#define SCSICDROM_READ_DISCINFO 0x51 |
Definition at line 177 of file diskimage.h.
#define SCSICDROM_READ_SUBCHANNEL 0x42 |
Definition at line 175 of file diskimage.h.
#define SCSICDROM_READ_TOC 0x43 |
Definition at line 176 of file diskimage.h.
#define SCSICDROM_READ_TRACKINFO 0x52 |
Definition at line 178 of file diskimage.h.
#define SCSICMD_INQUIRY 0x12 /* Mandatory */ |
Definition at line 157 of file diskimage.h.
#define SCSICMD_MODE_SELECT 0x15 |
Definition at line 163 of file diskimage.h.
#define SCSICMD_MODE_SENSE 0x1a |
Definition at line 164 of file diskimage.h.
#define SCSICMD_MODE_SENSE10 0x5a |
Definition at line 167 of file diskimage.h.
#define SCSICMD_PREVENT_ALLOW_REMOVE 0x1e |
Definition at line 166 of file diskimage.h.
#define SCSICMD_READ 0x08 |
Definition at line 159 of file diskimage.h.
#define SCSICMD_READ_10 0x28 |
Definition at line 160 of file diskimage.h.
#define SCSICMD_READ_BLOCK_LIMITS 0x05 |
Definition at line 182 of file diskimage.h.
#define SCSICMD_REQUEST_SENSE 0x03 /* Mandatory */ |
Definition at line 156 of file diskimage.h.
#define SCSICMD_REWIND 0x01 |
Definition at line 181 of file diskimage.h.
#define SCSICMD_SPACE 0x11 |
Definition at line 183 of file diskimage.h.
#define SCSICMD_START_STOP_UNIT 0x1b |
Definition at line 165 of file diskimage.h.
#define SCSICMD_SYNCHRONIZE_CACHE 0x35 |
Definition at line 169 of file diskimage.h.
#define SCSICMD_TEST_UNIT_READY 0x00 /* Mandatory */ |
Definition at line 155 of file diskimage.h.
#define SCSICMD_WRITE 0x0a |
Definition at line 161 of file diskimage.h.
#define SCSICMD_WRITE_10 0x2a |
Definition at line 162 of file diskimage.h.
int diskimage__internal_access | ( | struct diskimage * | d, |
int | writeflag, | ||
off_t | offset, | ||
unsigned char * | buf, | ||
size_t | len | ||
) |
Definition at line 547 of file diskimage.cc.
References diskimage::f, and diskimage::writable.
int diskimage_access | ( | struct machine * | machine, |
int | id, | ||
int | type, | ||
int | writeflag, | ||
off_t | offset, | ||
unsigned char * | buf, | ||
size_t | len | ||
) |
Definition at line 605 of file diskimage.cc.
References fatal(), machine::first_diskimage, diskimage::id, diskimage::next, and diskimage::type.
Referenced by apple_load_bootblock(), dec_jumptable_func(), DEVICE_ACCESS(), and wdc__read().
int diskimage_add | ( | struct machine * | machine, |
char * | fname | ||
) |
Definition at line 659 of file diskimage.cc.
References CHECK_ALLOCATION, diskimage::chs_override, diskimage::cylinders, debug, diskimage_add_overlay(), DISKIMAGE_FLOPPY, DISKIMAGE_IDE, diskimage_recalc_size(), DISKIMAGE_SCSI, diskimage::f, fatal(), machine::first_diskimage, diskimage::fname, diskimage::heads, diskimage::id, id, diskimage::is_a_cdrom, diskimage::is_a_tape, diskimage::is_boot_device, diskimage::logical_block_size, MACHINE_ARC, MACHINE_MVME88K, MACHINE_PMAX, MACHINE_SGI, machine::machine_type, diskimage::next, diskimage::override_base_offset, diskimage::rpms, diskimage::sectors_per_track, strlen(), diskimage::total_size, diskimage::type, and diskimage::writable.
void diskimage_add_overlay | ( | struct diskimage * | d, |
char * | overlay_basename | ||
) |
Definition at line 125 of file diskimage.cc.
References CHECK_ALLOCATION, diskimage_overlay::f_bitmap, diskimage_overlay::f_data, diskimage::nr_of_overlays, diskimage_overlay::overlay_basename, diskimage::overlays, strlen(), and diskimage::writable.
Referenced by diskimage_add().
int diskimage_bootdev | ( | struct machine * | machine, |
int * | typep | ||
) |
Definition at line 989 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::is_boot_device, diskimage::next, and diskimage::type.
Referenced by dec_jumptable_func(), load_bootblock(), and machine_setup().
void diskimage_dump_info | ( | struct machine * | machine | ) |
Definition at line 1087 of file diskimage.cc.
References diskimage::chs_override, diskimage::cylinders, debug, DEBUG_INDENTATION, debug_indentation(), DISKIMAGE_FLOPPY, DISKIMAGE_IDE, DISKIMAGE_SCSI, machine::first_diskimage, diskimage::fname, diskimage::heads, diskimage::id, diskimage::is_a_cdrom, diskimage::is_a_tape, diskimage::is_boot_device, diskimage::next, diskimage::nr_of_overlays, diskimage_overlay::overlay_basename, diskimage::overlays, diskimage::sectors_per_track, diskimage::total_size, diskimage::type, and diskimage::writable.
Referenced by emul_machine_setup(), and machine_dumpinfo().
int diskimage_exist | ( | struct machine * | machine, |
int | id, | ||
int | type | ||
) |
Definition at line 106 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::next, and diskimage::type.
Referenced by bus_isa_init(), DEVINIT(), dreamcast_gdrom_update_stat(), MACHINE_SETUP(), PCIINIT(), and wdc_command().
int64_t diskimage_get_baseoffset | ( | struct machine * | machine, |
int | id, | ||
int | type | ||
) |
Definition at line 222 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::next, diskimage::override_base_offset, and diskimage::type.
Referenced by load_bootblock().
void diskimage_getchs | ( | struct machine * | machine, |
int | id, | ||
int | type, | ||
int * | c, | ||
int * | h, | ||
int * | s | ||
) |
Definition at line 266 of file diskimage.cc.
References diskimage::cylinders, fatal(), machine::first_diskimage, diskimage::heads, diskimage::id, diskimage::next, diskimage::sectors_per_track, and diskimage::type.
Referenced by DEVINIT().
int diskimage_getname | ( | struct machine * | machine, |
int | id, | ||
int | type, | ||
char * | buf, | ||
size_t | bufsize | ||
) |
Definition at line 1019 of file diskimage.cc.
References machine::first_diskimage, diskimage::fname, diskimage::id, diskimage::next, and diskimage::type.
int64_t diskimage_getsize | ( | struct machine * | machine, |
int | id, | ||
int | type | ||
) |
Definition at line 203 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::next, diskimage::total_size, and diskimage::type.
int diskimage_is_a_cdrom | ( | struct machine * | machine, |
int | id, | ||
int | type | ||
) |
Definition at line 1048 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::is_a_cdrom, diskimage::next, and diskimage::type.
Referenced by load_bootblock(), and wdc_command().
int diskimage_is_a_tape | ( | struct machine * | machine, |
int | id, | ||
int | type | ||
) |
Definition at line 1069 of file diskimage.cc.
References machine::first_diskimage, diskimage::id, diskimage::is_a_tape, diskimage::next, and diskimage::type.
Referenced by MACHINE_SETUP().
void diskimage_recalc_size | ( | struct diskimage * | d | ) |
Definition at line 165 of file diskimage.cc.
References diskimage::fname, diskimage::is_a_cdrom, diskimage::ncyls, and diskimage::total_size.
Referenced by diskimage_add().
int diskimage_scsicommand | ( | struct cpu * | cpu, |
int | id, | ||
int | type, | ||
struct scsi_transfer * | |||
) |
Definition at line 214 of file diskimage_scsicmd.cc.
References fatal(), machine::first_diskimage, diskimage::id, cpu::machine, diskimage::next, and diskimage::type.
void diskimage_set_baseoffset | ( | struct machine * | machine, |
int | id, | ||
int | type, | ||
int64_t | offset | ||
) |
Definition at line 242 of file diskimage.cc.
References fatal(), machine::first_diskimage, diskimage::id, diskimage::next, diskimage::override_base_offset, and diskimage::type.
struct scsi_transfer* scsi_transfer_alloc | ( | void | ) |
Definition at line 64 of file diskimage_scsicmd.cc.
void scsi_transfer_allocbuf | ( | size_t * | lenp, |
unsigned char ** | pp, | ||
size_t | want_len, | ||
int | clearflag | ||
) |
Definition at line 126 of file diskimage_scsicmd.cc.
void scsi_transfer_free | ( | struct scsi_transfer * | ) |
Definition at line 92 of file diskimage_scsicmd.cc.
References scsi_transfer::cmd, scsi_transfer::data_in, scsi_transfer::data_out, scsi_transfer::msg_in, scsi_transfer::msg_out, scsi_transfer::next_free, and scsi_transfer::status.