trunk/src/mess/drivers/binbug.c
| r20341 | r20342 | |
| 415 | 415 | DECLARE_READ8_MEMBER(port08_r); |
| 416 | 416 | DECLARE_WRITE8_MEMBER(port08_w); |
| 417 | 417 | DECLARE_WRITE8_MEMBER(kbd_put); |
| 418 | TIMER_DEVICE_CALLBACK_MEMBER(time_tick); |
| 419 | TIMER_DEVICE_CALLBACK_MEMBER(uart_tick); |
| 418 | 420 | UINT8 m_pio_b; |
| 419 | 421 | UINT8 m_term_data; |
| 420 | 422 | UINT8 m_protection[0x100]; |
| r20341 | r20342 | |
| 517 | 519 | DEVCB_NULL |
| 518 | 520 | }; |
| 519 | 521 | |
| 522 | TIMER_DEVICE_CALLBACK_MEMBER(dg680_state::time_tick) |
| 523 | { |
| 524 | // ch0 is for the clock |
| 525 | m_ctc->trg0(1); |
| 526 | m_ctc->trg0(0); |
| 527 | // no idea about ch2 |
| 528 | m_ctc->trg2(1); |
| 529 | m_ctc->trg2(0); |
| 530 | } |
| 531 | |
| 532 | TIMER_DEVICE_CALLBACK_MEMBER(dg680_state::uart_tick) |
| 533 | { |
| 534 | // ch3 is for cassette |
| 535 | m_ctc->trg3(1); |
| 536 | m_ctc->trg3(0); |
| 537 | } |
| 538 | |
| 520 | 539 | static Z80CTC_INTERFACE( z80ctc_intf ) |
| 521 | 540 | { |
| 522 | 541 | DEVCB_CPU_INPUT_LINE("maincpu", INPUT_LINE_IRQ0), // interrupt handler |
| 523 | 542 | DEVCB_DEVICE_LINE_MEMBER("z80ctc", z80ctc_device, trg1), // ZC/TO0 callback |
| 524 | | DEVCB_DEVICE_LINE_MEMBER("z80ctc", z80ctc_device, trg2), // ZC/TO1 callback |
| 525 | | DEVCB_DEVICE_LINE_MEMBER("z80ctc", z80ctc_device, trg3) // ZC/TO2 callback |
| 543 | DEVCB_NULL, // ZC/TO1 callback |
| 544 | DEVCB_NULL // ZC/TO2 callback |
| 526 | 545 | }; |
| 527 | 546 | |
| 528 | 547 | static MACHINE_CONFIG_START( dg680, dg680_state ) |
| r20341 | r20342 | |
| 555 | 574 | /* Devices */ |
| 556 | 575 | MCFG_Z80CTC_ADD( "z80ctc", XTAL_8MHz / 4, z80ctc_intf ) |
| 557 | 576 | MCFG_Z80PIO_ADD( "z80pio", XTAL_8MHz / 4, z80pio_intf ) |
| 577 | MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc0", dg680_state, time_tick, attotime::from_hz(200)) |
| 578 | MCFG_TIMER_DRIVER_ADD_PERIODIC("ctc3", dg680_state, uart_tick, attotime::from_hz(4800)) |
| 558 | 579 | MACHINE_CONFIG_END |
| 559 | 580 | |
| 560 | 581 | |
| 561 | 582 | /* ROM definition */ |
| 562 | 583 | ROM_START( dg680 ) |
| 563 | 584 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 564 | | ROM_LOAD( "dg680.rom", 0xd000, 0x0800, CRC(c1aaef6a) SHA1(1508ca8315452edfb984718e795ccbe79a0c0b58) ) |
| 585 | ROM_LOAD( "dg680.rom", 0xd000, 0x0800, BAD_DUMP CRC(c1aaef6a) SHA1(1508ca8315452edfb984718e795ccbe79a0c0b58) ) |
| 565 | 586 | |
| 566 | 587 | ROM_REGION( 0x0800, "chargen", 0 ) |
| 567 | 588 | ROM_LOAD( "6574.bin", 0x0000, 0x0800, CRC(fd75df4f) SHA1(4d09aae2f933478532b7d3d1a2dee7123d9828ca) ) |
| r20341 | r20342 | |
| 573 | 594 | /* Driver */ |
| 574 | 595 | |
| 575 | 596 | /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ |
| 576 | | COMP( 1980, dg680, 0, 0, dg680, dg680, driver_device, 0, "David Griffiths", "DGOS-Z80 1.4", GAME_NOT_WORKING | GAME_NO_SOUND_HW ) |
| 597 | COMP( 1980, dg680, 0, 0, dg680, dg680, driver_device, 0, "David Griffiths", "DG680 with DGOS-Z80 1.4", GAME_NOT_WORKING | GAME_NO_SOUND_HW ) |