trunk/src/mess/drivers/pc.c
| r19933 | r19934 | |
| 94 | 94 | #include "formats/mfi_dsk.h" |
| 95 | 95 | #include "formats/pc_dsk.h" |
| 96 | 96 | |
| 97 | | #include "machine/8237dma.h" |
| 97 | #include "machine/am9517a.h" |
| 98 | 98 | #include "sound/sn76496.h" |
| 99 | 99 | |
| 100 | 100 | #include "machine/wd17xx.h" |
| r19933 | r19934 | |
| 192 | 192 | |
| 193 | 193 | static ADDRESS_MAP_START(pc8_io, AS_IO, 8, pc_state ) |
| 194 | 194 | ADDRESS_MAP_UNMAP_HIGH |
| 195 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE_LEGACY("dma8237", i8237_r, i8237_w) |
| 195 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE("dma8237", am9517a_device, read, write) |
| 196 | 196 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE_LEGACY("pic8259", pic8259_r, pic8259_w) |
| 197 | 197 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE_LEGACY("pit8253", pit8253_r, pit8253_w) |
| 198 | 198 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) |
| r19933 | r19934 | |
| 217 | 217 | |
| 218 | 218 | static ADDRESS_MAP_START(pc16_io, AS_IO, 16, pc_state ) |
| 219 | 219 | ADDRESS_MAP_UNMAP_HIGH |
| 220 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 220 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 221 | 221 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 222 | 222 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 223 | 223 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| r19933 | r19934 | |
| 240 | 240 | |
| 241 | 241 | static ADDRESS_MAP_START(ec1841_io, AS_IO, 16, pc_state) |
| 242 | 242 | ADDRESS_MAP_UNMAP_HIGH |
| 243 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 243 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 244 | 244 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 245 | 245 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 246 | 246 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| r19933 | r19934 | |
| 261 | 261 | |
| 262 | 262 | static ADDRESS_MAP_START(iskr1031_io, AS_IO, 16, pc_state) |
| 263 | 263 | ADDRESS_MAP_UNMAP_HIGH |
| 264 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 264 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 265 | 265 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 266 | 266 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 267 | 267 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| r19933 | r19934 | |
| 293 | 293 | |
| 294 | 294 | static ADDRESS_MAP_START(ibm5550_io, AS_IO, 16, pc_state ) |
| 295 | 295 | ADDRESS_MAP_UNMAP_HIGH |
| 296 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 296 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 297 | 297 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 298 | 298 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 299 | 299 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE8("ppi8255", i8255_device, read, write, 0xffff) |
| r19933 | r19934 | |
| 325 | 325 | |
| 326 | 326 | |
| 327 | 327 | static ADDRESS_MAP_START(europc_io, AS_IO, 8, pc_state ) |
| 328 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE_LEGACY("dma8237", i8237_r, i8237_w) |
| 328 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE("dma8237", am9517a_device, read, write) |
| 329 | 329 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE_LEGACY("pic8259", pic8259_r, pic8259_w) |
| 330 | 330 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE_LEGACY("pit8253", pit8253_r, pit8253_w) |
| 331 | 331 | AM_RANGE(0x0060, 0x0063) AM_READWRITE_LEGACY(europc_pio_r, europc_pio_w) |
| r19933 | r19934 | |
| 359 | 359 | |
| 360 | 360 | |
| 361 | 361 | static ADDRESS_MAP_START(tandy1000_io, AS_IO, 8, pc_state ) |
| 362 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE_LEGACY("dma8237", i8237_r, i8237_w) |
| 362 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE("dma8237", am9517a_device, read, write) |
| 363 | 363 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE_LEGACY("pic8259", pic8259_r, pic8259_w) |
| 364 | 364 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE_LEGACY("pit8253", pit8253_r, pit8253_w) |
| 365 | 365 | AM_RANGE(0x0060, 0x0063) AM_READWRITE_LEGACY(tandy1000_pio_r, tandy1000_pio_w) |
| r19933 | r19934 | |
| 389 | 389 | |
| 390 | 390 | |
| 391 | 391 | static ADDRESS_MAP_START(tandy1000_16_io, AS_IO, 16, pc_state ) |
| 392 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 392 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 393 | 393 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 394 | 394 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 395 | 395 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8_LEGACY(tandy1000_pio_r, tandy1000_pio_w, 0xffff) |
| r19933 | r19934 | |
| 420 | 420 | |
| 421 | 421 | |
| 422 | 422 | static ADDRESS_MAP_START(tandy1000_286_io, AS_IO, 16, pc_state ) |
| 423 | | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8_LEGACY("dma8237", i8237_r, i8237_w, 0xffff) |
| 423 | AM_RANGE(0x0000, 0x000f) AM_DEVREADWRITE8("dma8237", am9517a_device, read, write, 0xffff) |
| 424 | 424 | AM_RANGE(0x0020, 0x0021) AM_DEVREADWRITE8_LEGACY("pic8259", pic8259_r, pic8259_w, 0xffff) |
| 425 | 425 | AM_RANGE(0x0040, 0x0043) AM_DEVREADWRITE8_LEGACY("pit8253", pit8253_r, pit8253_w, 0xffff) |
| 426 | 426 | AM_RANGE(0x0060, 0x0063) AM_READWRITE8_LEGACY(tandy1000_pio_r, tandy1000_pio_w, 0xffff) |
| r19933 | r19934 | |
| 1141 | 1141 | |
| 1142 | 1142 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1143 | 1143 | |
| 1144 | | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1145 | | MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1144 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "35dd", 0, pc_state::floppy_formats) |
| 1146 | 1145 | |
| 1147 | 1146 | /* internal ram */ |
| 1148 | 1147 | MCFG_RAM_ADD(RAM_TAG) |
| 1149 | 1148 | MCFG_RAM_DEFAULT_SIZE("640K") |
| 1150 | 1149 | MACHINE_CONFIG_END |
| 1151 | 1150 | |
| 1151 | static MACHINE_CONFIG_DERIVED( t1000sx, t1000hx ) |
| 1152 | MCFG_DEVICE_REMOVE("fdc:0") |
| 1153 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1154 | MACHINE_CONFIG_END |
| 1152 | 1155 | |
| 1153 | 1156 | static MACHINE_CONFIG_START( t1000_16, pc_state ) |
| 1154 | 1157 | /* basic machine hardware */ |
| r19933 | r19934 | |
| 1190 | 1193 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1191 | 1194 | |
| 1192 | 1195 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1196 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "35dd", 0, pc_state::floppy_formats) |
| 1193 | 1197 | |
| 1194 | | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1195 | | MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1196 | | |
| 1197 | 1198 | /* internal ram */ |
| 1198 | 1199 | MCFG_RAM_ADD(RAM_TAG) |
| 1199 | 1200 | MCFG_RAM_DEFAULT_SIZE("640K") |
| r19933 | r19934 | |
| 1240 | 1241 | MCFG_PC_LPT_ADD("lpt_2", pc_lpt_config) |
| 1241 | 1242 | |
| 1242 | 1243 | MCFG_PC_FDC_XT_ADD("fdc") |
| 1244 | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "35dd", 0, pc_state::floppy_formats) |
| 1243 | 1245 | |
| 1244 | | MCFG_FLOPPY_DRIVE_ADD("fdc:0", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1245 | | MCFG_FLOPPY_DRIVE_ADD("fdc:1", ibmpc_floppies, "525dd", 0, pc_state::floppy_formats) |
| 1246 | | |
| 1247 | 1246 | /* internal ram */ |
| 1248 | 1247 | MCFG_RAM_ADD(RAM_TAG) |
| 1249 | 1248 | MCFG_RAM_DEFAULT_SIZE("640K") |
| r19933 | r19934 | |
| 2325 | 2324 | |
| 2326 | 2325 | // tandy 1000 |
| 2327 | 2326 | COMP( 1987, t1000hx, ibm5150, 0, t1000hx, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 HX", 0) |
| 2328 | | COMP( 1987, t1000sx, ibm5150, 0, t1000hx, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 SX", GAME_NOT_WORKING) |
| 2327 | COMP( 1987, t1000sx, ibm5150, 0, t1000sx, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 SX", GAME_NOT_WORKING) |
| 2329 | 2328 | COMP( 1987, t1000tx, ibm5150, 0, t1000_286, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 TX", 0) |
| 2330 | 2329 | COMP( 1989, t1000rl, ibm5150, 0, t1000_16, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 RL", 0) |
| 2331 | 2330 | COMP( 1989, t1000tl2, ibm5150, 0, t1000_286, tandy1t, pc_state, t1000hx, "Tandy Radio Shack", "Tandy 1000 TL/2", 0) |
trunk/src/mess/machine/pc.c
| r19933 | r19934 | |
| 36 | 36 | #include "imagedev/cassette.h" |
| 37 | 37 | #include "sound/speaker.h" |
| 38 | 38 | |
| 39 | | #include "machine/8237dma.h" |
| 39 | #include "machine/am9517a.h" |
| 40 | 40 | #include "machine/wd17xx.h" |
| 41 | 41 | |
| 42 | 42 | #include "machine/ram.h" |
| r19933 | r19934 | |
| 167 | 167 | |
| 168 | 168 | WRITE_LINE_MEMBER(pc_state::pc_dma_hrq_changed) |
| 169 | 169 | { |
| 170 | | device_t *device = machine().device("dma8237"); |
| 171 | 170 | m_maincpu->set_input_line(INPUT_LINE_HALT, state ? ASSERT_LINE : CLEAR_LINE); |
| 172 | 171 | |
| 173 | 172 | /* Assert HLDA */ |
| 174 | | i8237_hlda_w( device, state ); |
| 173 | m_dma8237->hack_w(state); |
| 175 | 174 | } |
| 176 | 175 | |
| 177 | 176 | |
| 178 | 177 | READ8_MEMBER(pc_state::pc_dma_read_byte) |
| 179 | 178 | { |
| 180 | | UINT8 result; |
| 179 | if(m_dma_channel == -1) |
| 180 | return 0xff; |
| 181 | 181 | address_space& prog_space = m_maincpu->space(AS_PROGRAM); |
| 182 | 182 | offs_t page_offset = (((offs_t) m_dma_offset[0][m_dma_channel]) << 16) |
| 183 | 183 | & 0x0F0000; |
| 184 | 184 | |
| 185 | | result = prog_space.read_byte( page_offset + offset); |
| 186 | | return result; |
| 185 | return prog_space.read_byte( page_offset + offset); |
| 187 | 186 | } |
| 188 | 187 | |
| 189 | 188 | |
| 190 | 189 | WRITE8_MEMBER(pc_state::pc_dma_write_byte) |
| 191 | 190 | { |
| 191 | if(m_dma_channel == -1) |
| 192 | return; |
| 192 | 193 | address_space& prog_space = m_maincpu->space(AS_PROGRAM); |
| 193 | 194 | offs_t page_offset = (((offs_t) m_dma_offset[0][m_dma_channel]) << 16) |
| 194 | 195 | & 0x0F0000; |
| r19933 | r19934 | |
| 223 | 224 | WRITE8_MEMBER(pc_state::pc_dma8237_0_dack_w) |
| 224 | 225 | { |
| 225 | 226 | m_u73_q2 = 0; |
| 226 | | i8237_dreq0_w( m_dma8237, m_u73_q2 ); |
| 227 | m_dma8237->dreq0_w( m_u73_q2 ); |
| 227 | 228 | } |
| 228 | 229 | |
| 230 | void pc_state::pc_eop_w(int channel, bool state) |
| 231 | { |
| 232 | switch(channel) |
| 233 | { |
| 234 | case 2: |
| 235 | machine().device<pc_fdc_interface>("fdc")->tc_w(state); |
| 236 | break; |
| 237 | case 0: |
| 238 | case 1: |
| 239 | case 3: |
| 240 | default: |
| 241 | break; |
| 242 | } |
| 243 | } |
| 229 | 244 | |
| 245 | |
| 230 | 246 | WRITE_LINE_MEMBER(pc_state::pc_dma8237_out_eop) |
| 231 | 247 | { |
| 232 | | machine().device<pc_fdc_interface>("fdc")->tc_w(state == ASSERT_LINE); |
| 248 | m_cur_eop = state == ASSERT_LINE; |
| 249 | if(m_dma_channel != -1 && m_cur_eop) |
| 250 | pc_eop_w(m_dma_channel, m_cur_eop ? ASSERT_LINE : CLEAR_LINE); |
| 233 | 251 | } |
| 234 | 252 | |
| 235 | | static void set_dma_channel(running_machine &machine, int channel, int state) |
| 253 | void pc_state::pc_select_dma_channel(int channel, bool state) |
| 236 | 254 | { |
| 237 | | pc_state *st = machine.driver_data<pc_state>(); |
| 255 | if(!state) { |
| 256 | m_dma_channel = channel; |
| 257 | if(m_cur_eop) |
| 258 | pc_eop_w(channel, ASSERT_LINE ); |
| 238 | 259 | |
| 239 | | if (!state) st->m_dma_channel = channel; |
| 260 | } else if(m_dma_channel == channel) { |
| 261 | m_dma_channel = -1; |
| 262 | if(m_cur_eop) |
| 263 | pc_eop_w(channel, CLEAR_LINE ); |
| 264 | } |
| 240 | 265 | } |
| 241 | 266 | |
| 242 | | WRITE_LINE_MEMBER(pc_state::pc_dack0_w){ set_dma_channel(machine(), 0, state); } |
| 243 | | WRITE_LINE_MEMBER(pc_state::pc_dack1_w){ set_dma_channel(machine(), 1, state); } |
| 244 | | WRITE_LINE_MEMBER(pc_state::pc_dack2_w){ set_dma_channel(machine(), 2, state); } |
| 245 | | WRITE_LINE_MEMBER(pc_state::pc_dack3_w){ set_dma_channel(machine(), 3, state); } |
| 267 | WRITE_LINE_MEMBER(pc_state::pc_dack0_w){ pc_select_dma_channel(0, state); } |
| 268 | WRITE_LINE_MEMBER(pc_state::pc_dack1_w){ pc_select_dma_channel(1, state); } |
| 269 | WRITE_LINE_MEMBER(pc_state::pc_dack2_w){ pc_select_dma_channel(2, state); } |
| 270 | WRITE_LINE_MEMBER(pc_state::pc_dack3_w){ pc_select_dma_channel(3, state); } |
| 246 | 271 | |
| 247 | 272 | I8237_INTERFACE( ibm5150_dma8237_config ) |
| 248 | 273 | { |
| r19933 | r19934 | |
| 354 | 379 | if ( m_out1 == 0 && state == 1 && m_u73_q2 == 0 ) |
| 355 | 380 | { |
| 356 | 381 | m_u73_q2 = 1; |
| 357 | | i8237_dreq0_w( m_dma8237, m_u73_q2 ); |
| 382 | m_dma8237->dreq0_w( m_u73_q2 ); |
| 358 | 383 | } |
| 359 | 384 | m_out1 = state; |
| 360 | 385 | } |
| r19933 | r19934 | |
| 1135 | 1160 | |
| 1136 | 1161 | void pc_state::fdc_dma_drq(bool state) |
| 1137 | 1162 | { |
| 1138 | | i8237_dreq2_w( m_dma8237, state); |
| 1163 | m_dma8237->dreq2_w( state ); |
| 1139 | 1164 | } |
| 1140 | 1165 | |
| 1141 | 1166 | static void pc_set_irq_line(running_machine &machine,int irq, int state) |
| r19933 | r19934 | |
| 1438 | 1463 | MACHINE_START_MEMBER(pc_state,pc) |
| 1439 | 1464 | { |
| 1440 | 1465 | m_pic8259 = machine().device("pic8259"); |
| 1441 | | m_dma8237 = machine().device("dma8237"); |
| 1442 | 1466 | m_pit8253 = machine().device("pit8253"); |
| 1467 | m_maincpu = machine().device<cpu_device>("maincpu" ); |
| 1468 | m_maincpu->set_irq_acknowledge_callback(pc_irq_callback); |
| 1443 | 1469 | |
| 1444 | 1470 | pc_fdc_interface *fdc = machine().device<pc_fdc_interface>("fdc"); |
| 1445 | 1471 | fdc->setup_intrq_cb(pc_fdc_interface::line_cb(FUNC(pc_state::fdc_interrupt), this)); |
| r19933 | r19934 | |
| 1450 | 1476 | MACHINE_RESET_MEMBER(pc_state,pc) |
| 1451 | 1477 | { |
| 1452 | 1478 | device_t *speaker = machine().device(SPEAKER_TAG); |
| 1453 | | m_maincpu = machine().device<cpu_device>("maincpu" ); |
| 1454 | | m_maincpu->set_irq_acknowledge_callback(pc_irq_callback); |
| 1455 | 1479 | |
| 1456 | 1480 | m_u73_q2 = 0; |
| 1457 | 1481 | m_out1 = 0; |
| 1458 | 1482 | m_pc_spkrdata = 0; |
| 1459 | 1483 | m_pc_input = 1; |
| 1460 | | m_dma_channel = 0; |
| 1484 | m_dma_channel = -1; |
| 1485 | m_cur_eop = 0; |
| 1461 | 1486 | memset(m_dma_offset,0,sizeof(m_dma_offset)); |
| 1462 | 1487 | m_ppi_portc_switch_high = 0; |
| 1463 | 1488 | m_ppi_speaker = 0; |
| r19933 | r19934 | |
| 1479 | 1504 | m_maincpu->set_irq_acknowledge_callback(pc_irq_callback); |
| 1480 | 1505 | |
| 1481 | 1506 | m_pic8259 = machine().device("pic8259"); |
| 1482 | | m_dma8237 = NULL; |
| 1483 | 1507 | m_pit8253 = machine().device("pit8253"); |
| 1484 | 1508 | |
| 1485 | 1509 | /* |
| r19933 | r19934 | |
| 1507 | 1531 | |
| 1508 | 1532 | |
| 1509 | 1533 | m_pic8259 = machine().device("pic8259"); |
| 1510 | | m_dma8237 = NULL; |
| 1511 | 1534 | m_pit8253 = machine().device("pit8253"); |
| 1512 | 1535 | } |
| 1513 | 1536 | |
| r19933 | r19934 | |
| 1518 | 1541 | m_out1 = 0; |
| 1519 | 1542 | m_pc_spkrdata = 0; |
| 1520 | 1543 | m_pc_input = 1; |
| 1521 | | m_dma_channel = 0; |
| 1544 | m_dma_channel = -1; |
| 1522 | 1545 | memset(m_memboard,0xc,sizeof(m_memboard)); // check |
| 1523 | 1546 | memset(m_dma_offset,0,sizeof(m_dma_offset)); |
| 1524 | 1547 | m_ppi_portc_switch_high = 0; |