trunk/src/mame/layout/allied.lay
| r0 | r31623 | |
| 1 | <!-- Allied copied from gp_1.lay --> |
| 2 | |
| 3 | <!-- 2014-08-12: Initial version. [Robbbert] --> |
| 4 | |
| 5 | <mamelayout version="2"> |
| 6 | |
| 7 | <element name="digit" defstate="0"> |
| 8 | <led7seg> |
| 9 | <color red="1.0" green="0.25" blue="0.0" /> |
| 10 | </led7seg> |
| 11 | </element> |
| 12 | <element name="red_led"> |
| 13 | <disk><color red="1.0" green="0.0" blue="0.0" /></disk> |
| 14 | </element> |
| 15 | <element name="background"> |
| 16 | <rect> |
| 17 | <bounds left="0" top="0" right="1" bottom="1" /> |
| 18 | <color red="0.0" green="0.0" blue="0.0" /> |
| 19 | </rect> |
| 20 | </element> |
| 21 | <element name="P0"><text string="Ball / Match"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 22 | <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 23 | <element name="P2"><text string="Players"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 24 | <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 25 | <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 26 | <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 27 | <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element> |
| 28 | |
| 29 | <view name="Default Layout"> |
| 30 | |
| 31 | <!-- Background --> |
| 32 | <backdrop element="background"> |
| 33 | <bounds left="0" top="20" right="274" bottom="394" /> |
| 34 | </backdrop> |
| 35 | |
| 36 | <!-- LEDs --> |
| 37 | |
| 38 | <!-- Player 1 Score --> |
| 39 | |
| 40 | <bezel name="digit5" element="digit"> |
| 41 | <bounds left="10" top="45" right="44" bottom="84" /> |
| 42 | </bezel> |
| 43 | <bezel name="digit4" element="digit"> |
| 44 | <bounds left="54" top="45" right="88" bottom="84" /> |
| 45 | </bezel> |
| 46 | <bezel name="digit3" element="digit"> |
| 47 | <bounds left="98" top="45" right="132" bottom="84" /> |
| 48 | </bezel> |
| 49 | <bezel name="digit2" element="digit"> |
| 50 | <bounds left="142" top="45" right="176" bottom="84" /> |
| 51 | </bezel> |
| 52 | <bezel name="digit1" element="digit"> |
| 53 | <bounds left="186" top="45" right="220" bottom="84" /> |
| 54 | </bezel> |
| 55 | <bezel name="digit0" element="digit"> |
| 56 | <bounds left="230" top="45" right="264" bottom="84" /> |
| 57 | </bezel> |
| 58 | |
| 59 | <!-- Player 2 Score --> |
| 60 | <bezel name="digit15" element="digit"> |
| 61 | <bounds left="10" top="105" right="44" bottom="144" /> |
| 62 | </bezel> |
| 63 | <bezel name="digit14" element="digit"> |
| 64 | <bounds left="54" top="105" right="88" bottom="144" /> |
| 65 | </bezel> |
| 66 | <bezel name="digit13" element="digit"> |
| 67 | <bounds left="98" top="105" right="132" bottom="144" /> |
| 68 | </bezel> |
| 69 | <bezel name="digit12" element="digit"> |
| 70 | <bounds left="142" top="105" right="176" bottom="144" /> |
| 71 | </bezel> |
| 72 | <bezel name="digit11" element="digit"> |
| 73 | <bounds left="186" top="105" right="220" bottom="144" /> |
| 74 | </bezel> |
| 75 | <bezel name="digit10" element="digit"> |
| 76 | <bounds left="230" top="105" right="264" bottom="144" /> |
| 77 | </bezel> |
| 78 | |
| 79 | <!-- Player 3 Score --> |
| 80 | <bezel name="digit25" element="digit"> |
| 81 | <bounds left="10" top="165" right="44" bottom="204" /> |
| 82 | </bezel> |
| 83 | <bezel name="digit24" element="digit"> |
| 84 | <bounds left="54" top="165" right="88" bottom="204" /> |
| 85 | </bezel> |
| 86 | <bezel name="digit23" element="digit"> |
| 87 | <bounds left="98" top="165" right="132" bottom="204" /> |
| 88 | </bezel> |
| 89 | <bezel name="digit22" element="digit"> |
| 90 | <bounds left="142" top="165" right="176" bottom="204" /> |
| 91 | </bezel> |
| 92 | <bezel name="digit21" element="digit"> |
| 93 | <bounds left="186" top="165" right="220" bottom="204" /> |
| 94 | </bezel> |
| 95 | <bezel name="digit20" element="digit"> |
| 96 | <bounds left="230" top="165" right="264" bottom="204" /> |
| 97 | </bezel> |
| 98 | |
| 99 | <!-- Player 4 Score --> |
| 100 | <bezel name="digit35" element="digit"> |
| 101 | <bounds left="10" top="225" right="44" bottom="264" /> |
| 102 | </bezel> |
| 103 | <bezel name="digit34" element="digit"> |
| 104 | <bounds left="54" top="225" right="88" bottom="264" /> |
| 105 | </bezel> |
| 106 | <bezel name="digit33" element="digit"> |
| 107 | <bounds left="98" top="225" right="132" bottom="264" /> |
| 108 | </bezel> |
| 109 | <bezel name="digit32" element="digit"> |
| 110 | <bounds left="142" top="225" right="176" bottom="264" /> |
| 111 | </bezel> |
| 112 | <bezel name="digit31" element="digit"> |
| 113 | <bounds left="186" top="225" right="220" bottom="264" /> |
| 114 | </bezel> |
| 115 | <bezel name="digit30" element="digit"> |
| 116 | <bounds left="230" top="225" right="264" bottom="264" /> |
| 117 | </bezel> |
| 118 | |
| 119 | <!-- Credits and Balls --> |
| 120 | <bezel name="digit45" element="digit"> |
| 121 | <bounds left="39" top="345" right="73" bottom="384" /> |
| 122 | </bezel> |
| 123 | <bezel name="digit44" element="digit"> |
| 124 | <bounds left="110" top="345" right="144" bottom="384" /> |
| 125 | </bezel> |
| 126 | <bezel name="digit43" element="digit"> |
| 127 | <bounds left="171" top="345" right="205" bottom="384" /> |
| 128 | </bezel> |
| 129 | <bezel name="digit42" element="digit"> |
| 130 | <bounds left="210" top="345" right="244" bottom="384" /> |
| 131 | </bezel> |
| 132 | <bezel element="P2"><bounds left="100" right="158" top="330" bottom="342" /></bezel> |
| 133 | <bezel element="P1"><bounds left="200" right="258" top="330" bottom="342" /></bezel> |
| 134 | <bezel element="P0"><bounds left="30" right="88" top="330" bottom="342" /></bezel> |
| 135 | <bezel name="text3" element="P3"><bounds left="100" right="180" top="30" bottom="42" /></bezel> |
| 136 | <bezel name="text2" element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel> |
| 137 | <bezel name="text1" element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel> |
| 138 | <bezel name="text0" element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel> |
| 139 | <bezel name="led0" element="red_led"> |
| 140 | <bounds left="10" right="25" top="360" bottom="375" /></bezel> |
| 141 | </view> |
| 142 | </mamelayout> |
trunk/src/mame/drivers/allied.c
| r31622 | r31623 | |
| 1 | 1 | /************************************************************************** |
| 2 | 2 | |
| 3 | PINBALL |
| 3 | 4 | Allied Leisure Cocktail Pinball |
| 4 | 5 | All tables use the same base roms and some playfields even interchange |
| 5 | 6 | between games. |
| 6 | 7 | |
| 8 | 6504 CPU, 3x R6530 RRIOT, 5x R6520 PIA |
| 9 | It is assumed that the R6530 is the same as MOS6530, and the R6520 is |
| 10 | the same as MC6821. |
| 11 | |
| 12 | The schematic is too blurry to make out much detail, so used PinMAME |
| 13 | for the PIA connections. |
| 14 | |
| 15 | The display units use 74164 serial units, with clock and data lines |
| 16 | sufficient for all the digits of one player. Data = IC2,PB7, while |
| 17 | Clock is IC2,CB2. To prevent display garbage, the new data is stored |
| 18 | while IC4PBx is high, then displayed when the line goes low. IC7portB |
| 19 | selects which player's display to update. |
| 20 | |
| 21 | For some reason the 'rol $46' instruction outputs the original data |
| 22 | followed by the new result, so I've had to employ a horrible hack. |
| 23 | |
| 7 | 24 | ***************************************************************************/ |
| 8 | 25 | |
| 9 | | #include "emu.h" |
| 26 | #include "machine/genpin.h" |
| 10 | 27 | #include "cpu/m6502/m6504.h" |
| 28 | #include "machine/mos6530.h" |
| 29 | #include "machine/6821pia.h" |
| 30 | #include "allied.lh" |
| 11 | 31 | |
| 12 | | class allied_state : public driver_device |
| 32 | class allied_state : public genpin_class |
| 13 | 33 | { |
| 14 | 34 | public: |
| 15 | 35 | allied_state(const machine_config &mconfig, device_type type, const char *tag) |
| 16 | | : driver_device(mconfig, type, tag), |
| 17 | | m_maincpu(*this, "maincpu") |
| 36 | : genpin_class(mconfig, type, tag) |
| 37 | , m_maincpu(*this, "maincpu") |
| 18 | 38 | { } |
| 19 | 39 | |
| 20 | | protected: |
| 21 | | |
| 22 | | // devices |
| 23 | | required_device<cpu_device> m_maincpu; |
| 24 | | |
| 25 | | // driver_device overrides |
| 40 | DECLARE_DRIVER_INIT(allied); |
| 41 | DECLARE_WRITE8_MEMBER(ic2_b_w); |
| 42 | DECLARE_WRITE_LINE_MEMBER(ic2_cb2_w); |
| 43 | DECLARE_WRITE8_MEMBER(ic3_b_w); |
| 44 | DECLARE_WRITE8_MEMBER(ic4_b_w); |
| 45 | DECLARE_WRITE_LINE_MEMBER(ic4_cb2_w); |
| 46 | DECLARE_WRITE8_MEMBER(ic5_b_w); |
| 47 | DECLARE_WRITE8_MEMBER(ic6_b_w); |
| 48 | DECLARE_WRITE8_MEMBER(ic7_b_w); |
| 49 | DECLARE_WRITE8_MEMBER(ic8_a_w); |
| 50 | DECLARE_WRITE8_MEMBER(ic8_b_w); |
| 51 | private: |
| 52 | UINT32 m_player_score[6]; |
| 53 | UINT8 m_display; |
| 54 | UINT8 m_bit_counter; |
| 55 | bool m_disp_data; |
| 26 | 56 | virtual void machine_reset(); |
| 27 | | public: |
| 28 | | DECLARE_DRIVER_INIT(allied); |
| 57 | required_device<m6504_device> m_maincpu; |
| 29 | 58 | }; |
| 30 | 59 | |
| 31 | 60 | |
| 32 | 61 | static ADDRESS_MAP_START( allied_map, AS_PROGRAM, 8, allied_state ) |
| 33 | | AM_RANGE(0x0000, 0x0fff) AM_RAM |
| 62 | AM_RANGE(0x0000, 0x003f) AM_RAM // ic6 |
| 63 | AM_RANGE(0x0044, 0x0047) AM_DEVREADWRITE("ic2", pia6821_device, read, write) |
| 64 | AM_RANGE(0x0048, 0x004b) AM_DEVREADWRITE("ic1", pia6821_device, read, write) |
| 65 | AM_RANGE(0x0050, 0x0053) AM_DEVREADWRITE("ic7", pia6821_device, read, write) |
| 66 | AM_RANGE(0x0060, 0x0063) AM_DEVREADWRITE("ic4", pia6821_device, read, write) |
| 67 | AM_RANGE(0x0080, 0x008f) AM_DEVREADWRITE("ic5", mos6530_device, read, write) |
| 68 | AM_RANGE(0x0840, 0x084f) AM_DEVREADWRITE("ic6", mos6530_device, read, write) |
| 69 | AM_RANGE(0x00c0, 0x00c3) AM_DEVREADWRITE("ic8", pia6821_device, read, write) |
| 70 | AM_RANGE(0x0100, 0x013f) AM_RAM // ic5 |
| 34 | 71 | AM_RANGE(0x1400, 0x1fff) AM_ROM |
| 35 | 72 | ADDRESS_MAP_END |
| 36 | 73 | |
| 37 | 74 | static INPUT_PORTS_START( allied ) |
| 38 | 75 | INPUT_PORTS_END |
| 39 | 76 | |
| 77 | WRITE8_MEMBER( allied_state::ic2_b_w ) |
| 78 | { |
| 79 | //printf("%s:IC2B:%X ",machine().describe_context(),data); |
| 80 | m_disp_data = !BIT(data, 7); |
| 81 | } |
| 82 | |
| 83 | WRITE_LINE_MEMBER( allied_state::ic2_cb2_w ) |
| 84 | { |
| 85 | if ((m_display) && (!state)) |
| 86 | { |
| 87 | m_bit_counter++; |
| 88 | if BIT(m_bit_counter, 0) |
| 89 | m_player_score[m_display-1] = (m_player_score[m_display-1] << 1) | m_disp_data; |
| 90 | if (m_bit_counter == 15) |
| 91 | m_bit_counter = 0; |
| 92 | } |
| 93 | } |
| 94 | |
| 95 | WRITE8_MEMBER( allied_state::ic3_b_w ) |
| 96 | { |
| 97 | m_maincpu->set_input_line(M6504_IRQ_LINE, BIT(data, 7) ? CLEAR_LINE : ASSERT_LINE ); |
| 98 | } |
| 99 | |
| 100 | WRITE8_MEMBER( allied_state::ic4_b_w ) |
| 101 | { |
| 102 | static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7c, 0x07, 0x7f, 0x67, 0x58, 0x4c, 0x62, 0x69, 0x78, 0 }; // 7446A |
| 103 | UINT8 segment, i; |
| 104 | //printf("%s:IC4B:%X ",machine().describe_context(),data); |
| 105 | for (i = 0; i < 4; i++) |
| 106 | { |
| 107 | if (!BIT(data, i+4)) |
| 108 | { |
| 109 | output_set_digit_value(i*10, patterns[0]); |
| 110 | segment = (m_player_score[i] >> 0) & 15; |
| 111 | output_set_digit_value(i*10+1, patterns[segment]); |
| 112 | segment = (m_player_score[i] >> 4) & 15; |
| 113 | output_set_digit_value(i*10+2, patterns[segment]); |
| 114 | segment = (m_player_score[i] >> 8) & 15; |
| 115 | output_set_digit_value(i*10+3, patterns[segment]); |
| 116 | segment = (m_player_score[i] >> 12) & 15; |
| 117 | output_set_digit_value(i*10+4, patterns[segment]); |
| 118 | segment = (m_player_score[i] >> 16) & 15; |
| 119 | output_set_digit_value(i*10+5, patterns[segment]); |
| 120 | } |
| 121 | } |
| 122 | } |
| 123 | |
| 124 | WRITE_LINE_MEMBER( allied_state::ic4_cb2_w ) |
| 125 | { |
| 126 | } |
| 127 | |
| 128 | // cabinet solenoids |
| 129 | WRITE8_MEMBER( allied_state::ic5_b_w ) |
| 130 | { |
| 131 | if (!BIT(data, 2)) // chime C |
| 132 | m_samples->start(1, 1); |
| 133 | |
| 134 | if (!BIT(data, 3)) // chime B |
| 135 | m_samples->start(2, 2); |
| 136 | |
| 137 | if (!BIT(data, 4)) // chime A |
| 138 | m_samples->start(3, 3); // tens have highest tone |
| 139 | |
| 140 | if (!BIT(data, 5)) // knocker |
| 141 | m_samples->start(0, 6); |
| 142 | |
| 143 | m_maincpu->set_input_line(M6504_IRQ_LINE, BIT(data, 7) ? CLEAR_LINE : ASSERT_LINE ); |
| 144 | } |
| 145 | |
| 146 | WRITE8_MEMBER( allied_state::ic6_b_w ) |
| 147 | { |
| 148 | m_maincpu->set_input_line(M6504_IRQ_LINE, BIT(data, 7) ? CLEAR_LINE : ASSERT_LINE ); |
| 149 | } |
| 150 | |
| 151 | WRITE8_MEMBER( allied_state::ic7_b_w ) |
| 152 | { |
| 153 | //if (m_display) printf(" %X=%X",m_display,m_player_score[m_display-1]>>1); |
| 154 | //printf("%s:IC7B:%X ",machine().describe_context(),data); |
| 155 | m_display = data >> 4; |
| 156 | if (m_display > 5) |
| 157 | m_display = 0; |
| 158 | m_bit_counter = 0; |
| 159 | } |
| 160 | |
| 161 | // playfield solenoids |
| 162 | WRITE8_MEMBER( allied_state::ic8_a_w ) |
| 163 | { |
| 164 | if ((data & 0x07) < 0x07) // 3 bumpers |
| 165 | m_samples->start(0, 0); |
| 166 | |
| 167 | if ((data & 0x60) < 0x60) // slings |
| 168 | m_samples->start(0, 7); |
| 169 | |
| 170 | if (!BIT(data, 7)) // outhole |
| 171 | m_samples->start(0, 5); |
| 172 | } |
| 173 | |
| 174 | // PB0-4 = ball 1-5 LED; PB5 = shoot again lamp |
| 175 | WRITE8_MEMBER( allied_state::ic8_b_w ) |
| 176 | { |
| 177 | //printf("%s:IC8B:%X ",machine().describe_context(),data); |
| 178 | } |
| 179 | |
| 40 | 180 | void allied_state::machine_reset() |
| 41 | 181 | { |
| 42 | 182 | } |
| r31622 | r31623 | |
| 49 | 189 | /* basic machine hardware */ |
| 50 | 190 | MCFG_CPU_ADD("maincpu", M6504, 3572549/4) |
| 51 | 191 | MCFG_CPU_PROGRAM_MAP(allied_map) |
| 192 | |
| 193 | /* Video */ |
| 194 | MCFG_DEFAULT_LAYOUT(layout_allied) |
| 195 | |
| 196 | /* Sound */ |
| 197 | MCFG_FRAGMENT_ADD( genpin_audio ) |
| 198 | |
| 199 | /* Devices */ |
| 200 | MCFG_DEVICE_ADD("ic1", PIA6821, 0) |
| 201 | //MCFG_PIA_READPA_HANDLER(READ8(allied_state, ic1_a_r)) |
| 202 | //MCFG_PIA_WRITEPA_HANDLER(WRITE8(allied_state, ic1_a_w)) |
| 203 | //MCFG_PIA_READPB_HANDLER(READ8(allied_state, ic1_b_r)) |
| 204 | //MCFG_PIA_WRITEPB_HANDLER(WRITE8(allied_state, ic1_b_w)) |
| 205 | //MCFG_PIA_CA2_HANDLER(WRITELINE(allied_state, ic1_ca2_w)) |
| 206 | //MCFG_PIA_CB2_HANDLER(WRITELINE(allied_state, ic1_cb2_w)) |
| 207 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 208 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 209 | |
| 210 | MCFG_DEVICE_ADD("ic2", PIA6821, 0) |
| 211 | //MCFG_PIA_READPA_HANDLER(READ8(allied_state, ic2_a_r)) |
| 212 | //MCFG_PIA_WRITEPA_HANDLER(WRITE8(allied_state, ic2_a_w)) |
| 213 | //MCFG_PIA_READPB_HANDLER(READ8(allied_state, ic2_b_r)) |
| 214 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(allied_state, ic2_b_w)) |
| 215 | //MCFG_PIA_CA2_HANDLER(WRITELINE(allied_state, ic2_ca2_w)) |
| 216 | MCFG_PIA_CB2_HANDLER(WRITELINE(allied_state, ic2_cb2_w)) |
| 217 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 218 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 219 | |
| 220 | MCFG_DEVICE_ADD("ic4", PIA6821, 0) |
| 221 | //MCFG_PIA_READPA_HANDLER(READ8(allied_state, ic4_a_r)) |
| 222 | //MCFG_PIA_WRITEPA_HANDLER(WRITE8(allied_state, ic4_a_w)) |
| 223 | //MCFG_PIA_READPB_HANDLER(READ8(allied_state, ic4_b_r)) |
| 224 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(allied_state, ic4_b_w)) |
| 225 | //MCFG_PIA_CA2_HANDLER(WRITELINE(allied_state, ic4_ca2_w)) |
| 226 | MCFG_PIA_CB2_HANDLER(WRITELINE(allied_state, ic4_cb2_w)) |
| 227 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 228 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 229 | |
| 230 | MCFG_DEVICE_ADD("ic7", PIA6821, 0) |
| 231 | //MCFG_PIA_READPA_HANDLER(READ8(allied_state, ic7_a_r)) |
| 232 | //MCFG_PIA_WRITEPA_HANDLER(WRITE8(allied_state, ic7_a_w)) |
| 233 | //MCFG_PIA_READPB_HANDLER(READ8(allied_state, ic7_b_r)) |
| 234 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(allied_state, ic7_b_w)) |
| 235 | //MCFG_PIA_CA2_HANDLER(WRITELINE(allied_state, ic7_ca2_w)) |
| 236 | //MCFG_PIA_CB2_HANDLER(WRITELINE(allied_state, ic7_cb2_w)) |
| 237 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 238 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 239 | |
| 240 | MCFG_DEVICE_ADD("ic8", PIA6821, 0) |
| 241 | //MCFG_PIA_READPA_HANDLER(READ8(allied_state, ic8_a_r)) |
| 242 | MCFG_PIA_WRITEPA_HANDLER(WRITE8(allied_state, ic8_a_w)) |
| 243 | //MCFG_PIA_READPB_HANDLER(READ8(allied_state, ic8_b_r)) |
| 244 | MCFG_PIA_WRITEPB_HANDLER(WRITE8(allied_state, ic8_b_w)) |
| 245 | //MCFG_PIA_CA2_HANDLER(WRITELINE(allied_state, ic8_ca2_w)) |
| 246 | //MCFG_PIA_CB2_HANDLER(WRITELINE(allied_state, ic8_cb2_w)) |
| 247 | MCFG_PIA_IRQA_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 248 | MCFG_PIA_IRQB_HANDLER(DEVWRITELINE("maincpu", m6504_device, irq_line)) |
| 249 | |
| 250 | MCFG_DEVICE_ADD("ic3", MOS6530, 3572549/4) // unknown where the ram and i/o is located |
| 251 | MCFG_MOS6530_OUT_PB_CB(WRITE8(allied_state, ic3_b_w)) |
| 252 | |
| 253 | MCFG_DEVICE_ADD("ic5", MOS6530, 3572549/4) |
| 254 | //MCFG_MOS6530_IN_PA_CB(READ8(allied_state, ic5_a_r)) |
| 255 | //MCFG_MOS6530_OUT_PA_CB(WRITE8(allied_state, ic5_a_w)) |
| 256 | //MCFG_MOS6530_IN_PB_CB(READ8(allied_state, ic5_b_r)) |
| 257 | MCFG_MOS6530_OUT_PB_CB(WRITE8(allied_state, ic5_b_w)) |
| 258 | |
| 259 | MCFG_DEVICE_ADD("ic6", MOS6530, 3572549/4) |
| 260 | //MCFG_MOS6530_IN_PA_CB(READ8(allied_state, ic6_a_r)) |
| 261 | //MCFG_MOS6530_OUT_PA_CB(WRITE8(allied_state, ic6_a_w)) |
| 262 | //MCFG_MOS6530_IN_PB_CB(READ8(allied_state, ic6_b_r)) |
| 263 | MCFG_MOS6530_OUT_PB_CB(WRITE8(allied_state, ic6_b_w)) |
| 52 | 264 | MACHINE_CONFIG_END |
| 53 | 265 | |
| 54 | 266 | |
| 55 | 267 | ROM_START( allied ) |
| 56 | 268 | ROM_REGION( 0x2000, "maincpu", 0 ) |
| 57 | | ROM_LOAD( "alliedu5.bin", 0x1400, 0x0400, CRC(e4fb64fb) SHA1(a3d9de7cbfb42180a860e0bbbeaeba96d8bd1e20)) |
| 58 | | ROM_LOAD( "alliedu6.bin", 0x1800, 0x0400, CRC(dca980dd) SHA1(3817d75413854d889fc1ce4fd6a51d820d1e0534)) |
| 59 | | ROM_LOAD( "alliedu3.bin", 0x1c00, 0x0400, CRC(13f42789) SHA1(baa0f73fda08a3c5d6f1423fb329e4febb07ef97)) |
| 269 | ROM_LOAD( "r6530-009.u5", 0x1400, 0x0400, CRC(e4fb64fb) SHA1(a3d9de7cbfb42180a860e0bbbeaeba96d8bd1e20)) |
| 270 | ROM_LOAD( "r6530-010.u6", 0x1800, 0x0400, CRC(dca980dd) SHA1(3817d75413854d889fc1ce4fd6a51d820d1e0534)) |
| 271 | ROM_LOAD( "r6530-011.u3", 0x1c00, 0x0400, CRC(13f42789) SHA1(baa0f73fda08a3c5d6f1423fb329e4febb07ef97)) |
| 60 | 272 | ROM_END |
| 61 | 273 | |
| 62 | 274 | #define rom_suprpick rom_allied |