#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "cpu.h"
#include "devices.h"
#include "diskimage.h"
#include "machine.h"
#include "memory.h"
#include "misc.h"
#include "thirdparty/ncr53c9xreg.h"
Go to the source code of this file.
Classes | |
struct | asc_data |
Macros | |
#define | ASC_TICK_SHIFT 15 |
#define | ASC_FIFO_LEN 16 |
#define | STATE_DISCONNECTED 0 |
#define | STATE_INITIATOR 1 |
#define | STATE_TARGET 2 |
#define | PHASE_DATA_OUT 0 |
#define | PHASE_DATA_IN 1 |
#define | PHASE_COMMAND 2 |
#define | PHASE_STATUS 3 |
#define | PHASE_MSG_OUT 6 |
#define | PHASE_MSG_IN 7 |
#define | ASC_SCSI_ID 7 |
#define | ASC_DMA_SIZE (128*1024) |
Functions | |
DEVICE_TICK (asc) | |
DEVICE_ACCESS (asc_address_reg) | |
DEVICE_ACCESS (asc_dma) | |
DEVICE_ACCESS (asc) | |
void | dev_asc_init (struct machine *machine, struct memory *mem, uint64_t baseaddr, const char *irq_path, void *turbochannel, int mode, size_t(*dma_controller)(void *dma_controller_data, unsigned char *data, size_t len, int writeflag), void *dma_controller_data) |
Variables | |
int | quiet_mode |
const char * | asc_reg_names [0x10] |
#define ASC_DMA_SIZE (128*1024) |
Definition at line 99 of file dev_asc.cc.
#define ASC_FIFO_LEN 16 |
Definition at line 83 of file dev_asc.cc.
#define ASC_SCSI_ID 7 |
Definition at line 97 of file dev_asc.cc.
#define ASC_TICK_SHIFT 15 |
Definition at line 78 of file dev_asc.cc.
#define PHASE_COMMAND 2 |
Definition at line 90 of file dev_asc.cc.
#define PHASE_DATA_IN 1 |
Definition at line 89 of file dev_asc.cc.
#define PHASE_DATA_OUT 0 |
Definition at line 88 of file dev_asc.cc.
#define PHASE_MSG_IN 7 |
Definition at line 93 of file dev_asc.cc.
#define PHASE_MSG_OUT 6 |
Definition at line 92 of file dev_asc.cc.
#define PHASE_STATUS 3 |
Definition at line 91 of file dev_asc.cc.
#define STATE_DISCONNECTED 0 |
Definition at line 84 of file dev_asc.cc.
#define STATE_INITIATOR 1 |
Definition at line 85 of file dev_asc.cc.
#define STATE_TARGET 2 |
Definition at line 86 of file dev_asc.cc.
void dev_asc_init | ( | struct machine * | machine, |
struct memory * | mem, | ||
uint64_t | baseaddr, | ||
const char * | irq_path, | ||
void * | turbochannel, | ||
int | mode, | ||
size_t(*)(void *dma_controller_data, unsigned char *data, size_t len, int writeflag) | dma_controller, | ||
void * | dma_controller_data | ||
) |
Definition at line 1226 of file dev_asc.cc.
References machine::arch_pagesize, ASC_DMA_SIZE, ASC_TICK_SHIFT, CHECK_ALLOCATION, dev_asc_access(), DEV_ASC_DEC, DEV_ASC_DEC_LENGTH, DEV_ASC_PICA, DEV_ASC_PICA_LENGTH, DM_DEFAULT, DM_DYNTRANS_OK, DM_DYNTRANS_WRITE_OK, asc_data::dma, asc_data::dma_address_reg_memory, asc_data::dma_controller, asc_data::dma_controller_data, INTERRUPT_CONNECT, asc_data::irq, machine_add_tickfunction(), memory_device_register(), asc_data::mode, NCR_CFG3, NCRF9XCFG3_CDB, asc_data::reg_ro, and asc_data::turbochannel.
Referenced by dev_turbochannel_init(), and MACHINE_SETUP().
DEVICE_ACCESS | ( | asc | ) |
Definition at line 800 of file dev_asc.cc.
References ASC_SCSI_ID, data, DEV_ASC_DEC, DEV_ASC_PICA, asc_data::dma_address_reg, asc_data::dma_address_reg_memory, fatal(), MEM_WRITE, memory_readmax64(), asc_data::mode, asc_data::n_bytes_in_fifo, NCR_CFG1, NCR_FFLAG, NCR_FIFO, NCR_STEP, and asc_data::reg_ro.
DEVICE_ACCESS | ( | asc_address_reg | ) |
Definition at line 745 of file dev_asc.cc.
References data, asc_data::dma_address_reg_memory, and MEM_READ.
DEVICE_ACCESS | ( | asc_dma | ) |
Definition at line 762 of file dev_asc.cc.
References data, debug, asc_data::dma, and MEM_READ.
DEVICE_TICK | ( | asc | ) |
Definition at line 156 of file dev_asc.cc.
References INTERRUPT_ASSERT, asc_data::irq, asc_data::irq_asserted, NCR_STAT, NCRSTAT_INT, and asc_data::reg_ro.
const char* asc_reg_names[0x10] |
Definition at line 142 of file dev_asc.cc.