51 #define DREAMCAST_ASIC_TICK_SHIFT 15 72 int i, old_asserted_13 = d->
asserted_13, old_asserted_11 =
112 uint64_t idata = 0, odata = 0;
118 r = (relative_addr / 4) & 3;
120 fatal(
"[ dreamcast_asic: Bad address ]\n");
125 switch (relative_addr) {
129 case 8:
if (writeflag ==
MEM_READ) {
133 if (idata & 0x100000000ULL) {
140 dev_dreamcast_asic_tick(
cpu, d);
149 dev_dreamcast_asic_tick(
cpu, d);
160 dev_dreamcast_asic_tick(
cpu, d);
171 dev_dreamcast_asic_tick(
cpu, d);
177 default:
if (writeflag ==
MEM_READ) {
178 debug(
"[ dreamcast_asic: read from addr 0x%x ]\n",
181 debug(
"[ dreamcast_asic: write to addr 0x%x: 0x%x ]\n",
182 (
int)relative_addr, (
int)idata);
203 snprintf(tmpstr,
sizeof(tmpstr),
"%s.irq[0x%x]",
206 snprintf(tmpstr,
sizeof(tmpstr),
"%s.irq[0x%x]",
209 snprintf(tmpstr,
sizeof(tmpstr),
"%s.irq[0x%x]",
uint64_t memory_readmax64(struct cpu *cpu, unsigned char *buf, int len)
void fatal(const char *fmt,...)
DEVICE_ACCESS(dreamcast_asic)
DEVICE_TICK(dreamcast_asic)
#define CHECK_ALLOCATION(ptr)
#define INTERRUPT_ASSERT(istruct)
#define DREAMCAST_ASIC_TICK_SHIFT
#define INTERRUPT_CONNECT(name, istruct)
void memory_writemax64(struct cpu *cpu, unsigned char *buf, int len, uint64_t data)
void memory_device_register(struct memory *mem, const char *, uint64_t baseaddr, uint64_t len, int(*f)(struct cpu *, struct memory *, uint64_t, unsigned char *, size_t, int, void *), void *extra, int flags, unsigned char *dyntrans_data)
void machine_add_tickfunction(struct machine *machine, void(*func)(struct cpu *, void *), void *extra, int clockshift)
#define INTERRUPT_DEASSERT(istruct)