#include <stdio.h>#include <stdlib.h>#include <string.h>#include "cpu.h"#include "device.h"#include "machine.h"#include "memory.h"#include "misc.h"#include "thirdparty/ee_timerreg.h"#include "thirdparty/ps2_dmacreg.h"Go to the source code of this file.
Classes | |
| struct | ps2_data |
Macros | |
| #define | TICK_STEPS_SHIFT 14 |
| #define | DEV_PS2_GIF_FAKE_BASE 0x50000000 |
| #define | N_PS2_DMA_CHANNELS 10 |
| #define | N_PS2_TIMERS 4 |
| #define | DEV_PS2_LENGTH 0x10000 |
Functions | |
| void | ps2_intr_interrupt_assert (struct interrupt *interrupt) |
| void | ps2_intr_interrupt_deassert (struct interrupt *interrupt) |
| void | ps2_dmac_interrupt_assert (struct interrupt *interrupt) |
| void | ps2_dmac_interrupt_deassert (struct interrupt *interrupt) |
| void | ps2_sbus_interrupt_assert (struct interrupt *interrupt) |
| void | ps2_sbus_interrupt_deassert (struct interrupt *interrupt) |
| DEVICE_TICK (ps2) | |
| DEVICE_ACCESS (ps2) | |
| DEVINIT (ps2) | |
| #define DEV_PS2_GIF_FAKE_BASE 0x50000000 |
Definition at line 57 of file dev_ps2_stuff.cc.
| #define DEV_PS2_LENGTH 0x10000 |
Definition at line 83 of file dev_ps2_stuff.cc.
| #define N_PS2_DMA_CHANNELS 10 |
Definition at line 59 of file dev_ps2_stuff.cc.
| #define N_PS2_TIMERS 4 |
Definition at line 60 of file dev_ps2_stuff.cc.
| #define TICK_STEPS_SHIFT 14 |
Definition at line 54 of file dev_ps2_stuff.cc.
| DEVICE_ACCESS | ( | ps2 | ) |
Definition at line 167 of file dev_ps2_stuff.cc.
References CACHE_NONE, CHECK_ALLOCATION, D2_CHCR_REG, D2_MADR_REG, D2_QWC_REG, D2_TADR_REG, D_CHCR_STR, data, debug, DMA_CH_GIF, ps2_data::dma_channel2_irq, ps2_data::dmac_irq, ps2_data::dmac_reg, DMAC_REGSIZE, fatal(), ps2_data::imask, INTERRUPT_ASSERT, INTERRUPT_DEASSERT, ps2_data::intr, ps2_data::intr_irq, cpu::mem, MEM_READ, MEM_WRITE, memory_readmax64(), cpu::memory_rw, memory_writemax64(), ps2_data::other_memory_base, PHYSICAL, ps2_data::sbus_irq, ps2_data::sbus_smflg, ps2_data::timer_comp, ps2_data::timer_count, ps2_data::timer_hold, ps2_data::timer_mode, TIMER_OFS, and TIMER_REGSIZE.
| DEVICE_TICK | ( | ps2 | ) |
Definition at line 136 of file dev_ps2_stuff.cc.
References INTERRUPT_ASSERT, N_PS2_TIMERS, T_MODE_CMPE, T_MODE_CUE, T_MODE_OVFE, T_MODE_OVFF, T_MODE_ZRET, ps2_data::timer_count, ps2_data::timer_irq, and ps2_data::timer_mode.
| DEVINIT | ( | ps2 | ) |
Definition at line 390 of file dev_ps2_stuff.cc.
References devinit::addr, CHECK_ALLOCATION, DEV_PS2_GIF_FAKE_BASE, DEV_PS2_LENGTH, DM_DEFAULT, DMA_CH_GIF, ps2_data::dma_channel2_irq, ps2_data::dmac_irq, interrupt::extra, interrupt::interrupt_assert, INTERRUPT_CONNECT, interrupt::interrupt_deassert, interrupt_handler_register(), devinit::interrupt_path, ps2_data::intr_irq, interrupt::line, devinit::machine, machine_add_tickfunction(), machine::memory, memory_device_register(), N_PS2_TIMERS, interrupt::name, ps2_data::other_memory_base, ps2_dmac_interrupt_assert(), ps2_dmac_interrupt_deassert(), ps2_intr_interrupt_assert(), ps2_intr_interrupt_deassert(), ps2_sbus_interrupt_assert(), ps2_sbus_interrupt_deassert(), ps2_data::sbus_irq, TICK_STEPS_SHIFT, and ps2_data::timer_irq.
| void ps2_dmac_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 100 of file dev_ps2_stuff.cc.
References ps2_data::dmac_irq, ps2_data::dmac_reg, interrupt::extra, INTERRUPT_ASSERT, and interrupt::line.
Referenced by DEVINIT().
| void ps2_dmac_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 108 of file dev_ps2_stuff.cc.
References ps2_data::dmac_irq, ps2_data::dmac_reg, interrupt::extra, INTERRUPT_DEASSERT, and interrupt::line.
Referenced by DEVINIT().
| void ps2_intr_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 86 of file dev_ps2_stuff.cc.
References interrupt::extra, ps2_data::imask, INTERRUPT_ASSERT, ps2_data::intr, ps2_data::intr_irq, and interrupt::line.
Referenced by DEVINIT().
| void ps2_intr_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 93 of file dev_ps2_stuff.cc.
References interrupt::extra, ps2_data::imask, INTERRUPT_DEASSERT, ps2_data::intr, ps2_data::intr_irq, and interrupt::line.
Referenced by DEVINIT().
| void ps2_sbus_interrupt_assert | ( | struct interrupt * | interrupt | ) |
Definition at line 116 of file dev_ps2_stuff.cc.
References interrupt::extra, INTERRUPT_ASSERT, interrupt::line, ps2_data::sbus_irq, and ps2_data::sbus_smflg.
Referenced by DEVINIT().
| void ps2_sbus_interrupt_deassert | ( | struct interrupt * | interrupt | ) |
Definition at line 125 of file dev_ps2_stuff.cc.
References interrupt::extra, INTERRUPT_DEASSERT, interrupt::line, ps2_data::sbus_irq, and ps2_data::sbus_smflg.
Referenced by DEVINIT().
1.8.17