trunk/src/mess/drivers/pcfx.c
r17414 | r17415 | |
48 | 48 | DECLARE_WRITE16_MEMBER( irq_write ); |
49 | 49 | DECLARE_READ16_MEMBER( pad_r ); |
50 | 50 | DECLARE_WRITE16_MEMBER( pad_w ); |
| 51 | DECLARE_READ8_MEMBER( extio_r ); |
| 52 | DECLARE_WRITE8_MEMBER( extio_w ); |
| 53 | |
51 | 54 | inline void check_irqs(); |
52 | 55 | inline void set_irq_line(int line, int state); |
53 | 56 | DECLARE_WRITE_LINE_MEMBER( irq8_w ); |
r17414 | r17415 | |
58 | 61 | DECLARE_WRITE_LINE_MEMBER( irq13_w ); |
59 | 62 | DECLARE_WRITE_LINE_MEMBER( irq14_w ); |
60 | 63 | DECLARE_WRITE_LINE_MEMBER( irq15_w ); |
61 | | |
62 | 64 | }; |
63 | 65 | |
64 | 66 | |
| 67 | READ8_MEMBER(pcfx_state::extio_r) |
| 68 | { |
| 69 | address_space *io_space = m_maincpu->memory().space(AS_IO); |
| 70 | |
| 71 | return io_space->read_byte(offset); |
| 72 | } |
| 73 | |
| 74 | WRITE8_MEMBER(pcfx_state::extio_w) |
| 75 | { |
| 76 | address_space *io_space = m_maincpu->memory().space(AS_IO); |
| 77 | |
| 78 | io_space->write_byte(offset, data); |
| 79 | } |
| 80 | |
65 | 81 | static ADDRESS_MAP_START( pcfx_mem, AS_PROGRAM, 32, pcfx_state ) |
66 | 82 | AM_RANGE( 0x00000000, 0x001FFFFF ) AM_RAM /* RAM */ |
67 | | AM_RANGE( 0x80700000, 0x807FFFFF ) AM_NOP /* EXTIO */ |
68 | | AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP |
69 | | AM_RANGE( 0xE8000000, 0xE9FFFFFF ) AM_NOP |
| 83 | // AM_RANGE( 0x80000000, 0x807FFFFF ) AM_READWRITE8(extio_r,extio_w,0xffffffff) /* EXTIO */ |
| 84 | AM_RANGE( 0xE0000000, 0xE7FFFFFF ) AM_NOP /* BackUp RAM */ |
| 85 | AM_RANGE( 0xE8000000, 0xE9FFFFFF ) AM_NOP /* Extended BackUp RAM */ |
70 | 86 | AM_RANGE( 0xF8000000, 0xF8000007 ) AM_NOP /* PIO */ |
71 | 87 | AM_RANGE( 0xFFF00000, 0xFFFFFFFF ) AM_ROMBANK("bank1") /* ROM */ |
72 | 88 | ADDRESS_MAP_END |
r17414 | r17415 | |
141 | 157 | } |
142 | 158 | } |
143 | 159 | |
| 160 | |
144 | 161 | static ADDRESS_MAP_START( pcfx_io, AS_IO, 32, pcfx_state ) |
145 | 162 | AM_RANGE( 0x00000000, 0x000000FF ) AM_READWRITE16(pad_r, pad_w, 0xffffffff) /* PAD */ |
146 | 163 | AM_RANGE( 0x00000100, 0x000001FF ) AM_NOP /* HuC6230 */ |
r17414 | r17415 | |
152 | 169 | AM_RANGE( 0x00000C80, 0x00000C83 ) AM_NOP |
153 | 170 | AM_RANGE( 0x00000E00, 0x00000EFF ) AM_READWRITE16( irq_read, irq_write, 0xffff ) /* Interrupt controller */ |
154 | 171 | AM_RANGE( 0x00000F00, 0x00000FFF ) AM_NOP |
| 172 | // AM_RANGE( 0x00600000, 0x006FFFFF ) AM_READ(scsi_ctrl_r) |
155 | 173 | AM_RANGE( 0x00780000, 0x007FFFFF ) AM_ROM AM_REGION("scsi_rom", 0 ) |
156 | 174 | AM_RANGE( 0x80500000, 0x805000FF ) AM_NOP /* HuC6273 */ |
157 | 175 | ADDRESS_MAP_END |