trunk/src/mess/drivers/apc.c
| r19042 | r19043 | |
| 119 | 119 | DECLARE_WRITE_LINE_MEMBER(apc_dack1_w); |
| 120 | 120 | DECLARE_WRITE_LINE_MEMBER(apc_dack2_w); |
| 121 | 121 | DECLARE_WRITE_LINE_MEMBER(apc_dack3_w); |
| 122 | | DECLARE_READ8_MEMBER(test_r); |
| 123 | | DECLARE_WRITE8_MEMBER(test_w); |
| 122 | DECLARE_READ8_MEMBER(fdc_r); |
| 123 | DECLARE_WRITE8_MEMBER(fdc_w); |
| 124 | 124 | DECLARE_READ8_MEMBER(apc_dma_read_byte); |
| 125 | 125 | DECLARE_WRITE8_MEMBER(apc_dma_write_byte); |
| 126 | 126 | |
| r19042 | r19043 | |
| 221 | 221 | // if(u_line && yi == 7) { tile_data = 0xff; } |
| 222 | 222 | // if(v_line) { tile_data|=8; } |
| 223 | 223 | |
| 224 | | if(cursor_on && cursor_addr == tile_addr) |
| 224 | if(cursor_on && cursor_addr == tile_addr && device->machine().primary_screen->frame_number() & 0x10) |
| 225 | 225 | tile_data^=0xff; |
| 226 | 226 | |
| 227 | 227 | if(yi >= char_size) |
| r19042 | r19043 | |
| 304 | 304 | } |
| 305 | 305 | else |
| 306 | 306 | { |
| 307 | | printf("Write melody port %02x\n",offset+0x60); |
| 307 | printf("Write melody port %02x %02x\n",offset+0x60,data); |
| 308 | 308 | } |
| 309 | 309 | } |
| 310 | 310 | |
| r19042 | r19043 | |
| 637 | 637 | /* floppy terminal count */ |
| 638 | 638 | m_fdc->tc_w(state); |
| 639 | 639 | |
| 640 | | printf("TC %02x\n",state); |
| 640 | // printf("TC %02x\n",state); |
| 641 | 641 | } |
| 642 | 642 | |
| 643 | 643 | READ8_MEMBER(apc_state::apc_dma_read_byte) |
| r19042 | r19043 | |
| 645 | 645 | address_space &program = m_maincpu->space(AS_PROGRAM); |
| 646 | 646 | offs_t addr = (m_dma_offset[m_dack] << 16) | offset; |
| 647 | 647 | |
| 648 | | printf("%08x\n",addr); |
| 648 | // printf("%08x\n",addr); |
| 649 | 649 | |
| 650 | 650 | return program.read_byte(addr); |
| 651 | 651 | } |
| r19042 | r19043 | |
| 672 | 672 | WRITE_LINE_MEMBER(apc_state::apc_dack2_w){ /*printf("%02x 2\n",state);*/ set_dma_channel(machine(), 2, state); } |
| 673 | 673 | WRITE_LINE_MEMBER(apc_state::apc_dack3_w){ /*printf("%02x 3\n",state);*/ set_dma_channel(machine(), 3, state); } |
| 674 | 674 | |
| 675 | | READ8_MEMBER(apc_state::test_r) |
| 675 | READ8_MEMBER(apc_state::fdc_r) |
| 676 | 676 | { |
| 677 | 677 | // printf("2dd DACK R\n"); |
| 678 | 678 | |
| 679 | 679 | return m_fdc->dma_r(); |
| 680 | 680 | } |
| 681 | 681 | |
| 682 | | WRITE8_MEMBER(apc_state::test_w) |
| 682 | WRITE8_MEMBER(apc_state::fdc_w) |
| 683 | 683 | { |
| 684 | 684 | // printf("2dd DACK W\n"); |
| 685 | 685 | m_fdc->dma_w(data); |
| r19042 | r19043 | |
| 691 | 691 | DEVCB_DRIVER_LINE_MEMBER(apc_state, apc_tc_w), |
| 692 | 692 | DEVCB_DRIVER_MEMBER(apc_state, apc_dma_read_byte), |
| 693 | 693 | DEVCB_DRIVER_MEMBER(apc_state, apc_dma_write_byte), |
| 694 | | { DEVCB_NULL, DEVCB_DRIVER_MEMBER(apc_state,test_r), DEVCB_NULL, DEVCB_NULL }, |
| 695 | | { DEVCB_NULL, DEVCB_DRIVER_MEMBER(apc_state,test_w), DEVCB_NULL, DEVCB_NULL }, |
| 694 | { DEVCB_NULL, DEVCB_DRIVER_MEMBER(apc_state,fdc_r), DEVCB_NULL, DEVCB_NULL }, |
| 695 | { DEVCB_NULL, DEVCB_DRIVER_MEMBER(apc_state,fdc_w), DEVCB_NULL, DEVCB_NULL }, |
| 696 | 696 | { DEVCB_DRIVER_LINE_MEMBER(apc_state, apc_dack0_w), DEVCB_DRIVER_LINE_MEMBER(apc_state, apc_dack1_w), DEVCB_DRIVER_LINE_MEMBER(apc_state, apc_dack2_w), DEVCB_DRIVER_LINE_MEMBER(apc_state, apc_dack3_w) } |
| 697 | 697 | }; |
| 698 | 698 | |