comparison vdp.c @ 981:902c53d9c16f

Half assed, prefetch based open bus value emulation. Gets BlastEm up to 119/122 in VDP FIFO Testing
author Michael Pavone <pavone@retrodev.com>
date Sun, 24 Apr 2016 02:19:48 -0700
parents 928442068afe
children 14d2f3b0e45d
comparison
equal deleted inserted replaced
980:928442068afe 981:902c53d9c16f
1692 } 1692 }
1693 1693
1694 uint16_t vdp_control_port_read(vdp_context * context) 1694 uint16_t vdp_control_port_read(vdp_context * context)
1695 { 1695 {
1696 context->flags &= ~FLAG_PENDING; 1696 context->flags &= ~FLAG_PENDING;
1697 //TODO: Open bus emulation
1698 //Bits 15-10 are not fixed like Charles MacDonald's doc suggests, but instead open bus values that reflect 68K prefetch 1697 //Bits 15-10 are not fixed like Charles MacDonald's doc suggests, but instead open bus values that reflect 68K prefetch
1699 uint16_t value = 0; 1698 uint16_t value = get_open_bus_value() & 0xFC00;
1700 if (context->fifo_read < 0) { 1699 if (context->fifo_read < 0) {
1701 value |= 0x200; 1700 value |= 0x200;
1702 } 1701 }
1703 if (context->fifo_read == context->fifo_write) { 1702 if (context->fifo_read == context->fifo_write) {
1704 value |= 0x100; 1703 value |= 0x100;