trunk/src/mame/drivers/8080bw.c
| r19576 | r19577 | |
| 752 | 752 | /* */ |
| 753 | 753 | /*******************************************************/ |
| 754 | 754 | |
| 755 | READ8_MEMBER( _8080bw_state::invrvnge_02_r ) |
| 756 | { |
| 757 | UINT8 data = ioport("IN2")->read(); |
| 758 | if (m_c8080bw_flip_screen) return data; |
| 759 | return (data & 0x8f) | (ioport("IN1")->read() & 0x70); |
| 760 | } |
| 761 | |
| 755 | 762 | static ADDRESS_MAP_START( invrvnge_io_map, AS_IO, 8, _8080bw_state ) |
| 756 | 763 | AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") |
| 757 | 764 | AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") |
| 758 | | AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w) |
| 765 | AM_RANGE(0x02, 0x02) AM_READ(invrvnge_02_r) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w) |
| 759 | 766 | AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(invrvnge_sh_port_1_w) |
| 760 | 767 | AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w) |
| 761 | 768 | AM_RANGE(0x05, 0x05) AM_WRITE(invrvnge_sh_port_2_w) |
trunk/src/mame/audio/8080bw.c
| r19576 | r19577 | |
| 1015 | 1015 | |
| 1016 | 1016 | WRITE8_MEMBER(_8080bw_state::invrvnge_sh_port_2_w) |
| 1017 | 1017 | { |
| 1018 | | m_screen_red = data & 0x10; |
| 1019 | | m_c8080bw_flip_screen = (data & 0x20) && (ioport(CABINET_PORT_TAG)->read() & 0x01); |
| 1018 | /* |
| 1019 | 00 - normal play |
| 1020 | 0A, 0E - alternate during play/attract at about once per second (invrvngegw only) purpose unknown |
| 1021 | 01 - briefly at boot time |
| 1022 | 10 - different colour map (or screen red) when you die |
| 1023 | 20 - flip screen */ |
| 1020 | 1024 | |
| 1021 | | // no sound-related writes? |
| 1025 | m_screen_red = BIT(data, 4); |
| 1026 | m_c8080bw_flip_screen = BIT(data, 5) & BIT(ioport(CABINET_PORT_TAG)->read(), 0); |
| 1027 | |
| 1028 | // no sound-related writes? |
| 1022 | 1029 | } |
| 1023 | 1030 | |
| 1024 | 1031 | |