mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 09:58:19 -07:00
The Pro Audio Spectrum SCSI controller is now based on the Trantor T128 (which it is considerable closer to), rather than on the 53c400.
This commit is contained in:
@@ -309,6 +309,7 @@
|
||||
#define BUS_BSY 0x40
|
||||
#define BUS_RST 0x80
|
||||
#define BUS_ACK 0x200
|
||||
/* TODO: Why is this defined to the same value as BUS_ACK?! */
|
||||
#define BUS_ATN 0x200
|
||||
#define BUS_ARB 0x8000
|
||||
#define BUS_SETDATA(val) ((uint32_t) val << 16)
|
||||
|
||||
@@ -109,14 +109,10 @@ typedef struct ncr_t {
|
||||
int data_pos;
|
||||
|
||||
int irq;
|
||||
int simple_pseudo_dma;
|
||||
|
||||
uint32_t block_count;
|
||||
|
||||
double period;
|
||||
|
||||
void *priv;
|
||||
void (*dma_init_ext)(void *priv, void *ext_priv, int send);
|
||||
void (*dma_mode_ext)(void *priv, void *ext_priv);
|
||||
int (*dma_send_ext)(void *priv, void *ext_priv);
|
||||
int (*dma_initiator_receive_ext)(void *priv, void *ext_priv);
|
||||
@@ -131,11 +127,11 @@ extern uint32_t ncr5380_get_bus_host(ncr_t *ncr);
|
||||
extern void ncr5380_bus_read(ncr_t *ncr);
|
||||
extern void ncr5380_bus_update(ncr_t *ncr, int bus);
|
||||
extern void ncr5380_write(uint16_t port, uint8_t val, ncr_t *ncr);
|
||||
extern uint8_t ncr5380_drq(ncr_t *ncr);
|
||||
extern uint8_t ncr5380_read(uint16_t port, ncr_t *ncr);
|
||||
|
||||
#ifdef EMU_DEVICE_H
|
||||
extern const device_t scsi_lcs6821n_device;
|
||||
extern const device_t scsi_pas_device;
|
||||
extern const device_t scsi_rt1000b_device;
|
||||
extern const device_t scsi_rt1000mc_device;
|
||||
extern const device_t scsi_t128_device;
|
||||
@@ -145,7 +141,6 @@ extern const device_t scsi_ls2000_device;
|
||||
#if defined(DEV_BRANCH) && defined(USE_SUMO)
|
||||
extern const device_t scsi_scsiat_device;
|
||||
#endif
|
||||
extern const device_t scsi_pas_device;
|
||||
#endif
|
||||
|
||||
#endif /*SCSI_NCR5380_H*/
|
||||
|
||||
@@ -18,45 +18,34 @@
|
||||
* Copyright 2017-2024 TheCollector1995.
|
||||
*/
|
||||
|
||||
#ifndef SCSI_NCR53C400_H
|
||||
#define SCSI_NCR53C400_H
|
||||
#ifndef SCSI_T128_H
|
||||
#define SCSI_T128_H
|
||||
|
||||
typedef struct ncr53c400_t {
|
||||
rom_t bios_rom;
|
||||
mem_mapping_t mapping;
|
||||
typedef struct t128_t {
|
||||
ncr_t ncr;
|
||||
rom_t bios_rom;
|
||||
mem_mapping_t mapping;
|
||||
|
||||
uint8_t ctrl;
|
||||
uint8_t status;
|
||||
uint8_t buffer[512];
|
||||
uint8_t int_ram[0x40];
|
||||
uint8_t ext_ram[0x600];
|
||||
uint8_t ext_ram[0x80];
|
||||
uint8_t block_count;
|
||||
|
||||
int block_loaded;
|
||||
int pos, host_pos;
|
||||
|
||||
uint32_t rom_addr;
|
||||
uint16_t base;
|
||||
|
||||
int8_t type;
|
||||
uint8_t block_count;
|
||||
uint8_t status_ctrl;
|
||||
|
||||
int simple_ctrl;
|
||||
|
||||
int block_count_loaded;
|
||||
|
||||
int buffer_pos;
|
||||
int buffer_host_pos;
|
||||
|
||||
int busy;
|
||||
int bios_enabled;
|
||||
uint8_t pos_regs[8];
|
||||
|
||||
pc_timer_t timer;
|
||||
} ncr53c400_t;
|
||||
} t128_t;
|
||||
|
||||
#define CTRL_DATA_DIR 0x40
|
||||
#define STATUS_BUFFER_NOT_READY 0x04
|
||||
#define STATUS_5380_ACCESSIBLE 0x80
|
||||
extern void t128_write(uint32_t addr, uint8_t val, void *priv);
|
||||
extern uint8_t t128_read(uint32_t addr, void *priv);
|
||||
|
||||
extern void ncr53c400_simple_write(uint8_t val, void *priv);
|
||||
extern void ncr53c400_write(uint32_t addr, uint8_t val, void *priv);
|
||||
extern uint8_t ncr53c400_simple_read(void *priv);
|
||||
extern uint8_t ncr53c400_read(uint32_t addr, void *priv);
|
||||
extern void ncr53c400_callback(void *priv);
|
||||
extern void t128_callback(void *priv);
|
||||
|
||||
#endif /*SCSI_NCR53C400_H*/
|
||||
#endif /*SCSI_T128_H*/
|
||||
Reference in New Issue
Block a user