trunk/src/mess/machine/at.c
| r18207 | r18208 | |
| 187 | 187 | |
| 188 | 188 | READ8_MEMBER(at_state::pc_dma_read_word) |
| 189 | 189 | { |
| 190 | address_space& prog_space = m_maincpu->space(AS_PROGRAM); // get the right address space |
| 190 | 191 | if(m_dma_channel == -1) |
| 191 | 192 | return 0xff; |
| 192 | 193 | UINT16 result; |
| 193 | 194 | offs_t page_offset = (((offs_t) m_dma_offset[1][m_dma_channel & 3]) << 16) & 0xFE0000; |
| 194 | 195 | |
| 195 | | result = space.read_word(page_offset + ( offset << 1 ) ); |
| 196 | result = prog_space.read_word(page_offset + ( offset << 1 ) ); |
| 196 | 197 | m_dma_high_byte = result & 0xFF00; |
| 197 | 198 | |
| 198 | 199 | return result & 0xFF; |
| r18207 | r18208 | |
| 201 | 202 | |
| 202 | 203 | WRITE8_MEMBER(at_state::pc_dma_write_word) |
| 203 | 204 | { |
| 205 | address_space& prog_space = m_maincpu->space(AS_PROGRAM); // get the right address space |
| 204 | 206 | if(m_dma_channel == -1) |
| 205 | 207 | return; |
| 206 | 208 | offs_t page_offset = (((offs_t) m_dma_offset[1][m_dma_channel & 3]) << 16) & 0xFE0000; |
| 207 | 209 | |
| 208 | | space.write_word(page_offset + ( offset << 1 ), m_dma_high_byte | data); |
| 210 | prog_space.write_word(page_offset + ( offset << 1 ), m_dma_high_byte | data); |
| 209 | 211 | } |
| 210 | 212 | |
| 211 | 213 | READ8_MEMBER( at_state::pc_dma8237_0_dack_r ) { return m_isabus->dack_r(0); } |