Previous 199869 Revisions Next

r17922 Sunday 16th September, 2012 at 11:11:29 UTC by Robbbert
heavymtl: saving my work so far
[src/mame/drivers]rowamet.c
[src/mame/layout]rowamet.lay

trunk/src/mame/layout/rowamet.lay
r17921r17922
1616         <color red="0.0" green="0.0" blue="0.0" />
1717      </rect>
1818   </element>
19   <element name="P0"><text string="Balls"><color red="1.0" green="1.0" blue="1.0" /></text></element>
19   <element name="P0"><text string="Ball"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2020   <element name="P1"><text string="Credits"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2121   <element name="P3"><text string="Player 1"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2222   <element name="P4"><text string="Player 2"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2323   <element name="P5"><text string="Player 3"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2424   <element name="P6"><text string="Player 4"><color red="1.0" green="1.0" blue="1.0" /></text></element>
25   <element name="P7"><text string="High Score"><color red="1.0" green="1.0" blue="1.0" /></text></element>
25   <element name="P7"><text string="Match"><color red="1.0" green="1.0" blue="1.0" /></text></element>
26   <element name="P8"><text string="Player"><color red="1.0" green="1.0" blue="1.0" /></text></element>
2627
2728   <view name="Default Layout">
2829
r17921r17922
114115         <bounds left="230" top="225" right="264" bottom="264" />
115116      </bezel>
116117
117      <!-- High Score -->
118      <bezel name="digit24" element="digit">
118      <!-- Player -->
119      <bezel name="digit27" element="digit">
119120         <bounds left="10" top="285" right="44" bottom="324" />
120121      </bezel>
121      <bezel name="digit25" element="digit">
122         <bounds left="54" top="285" right="88" bottom="324" />
123      </bezel>
122
123      <!-- Match -->
124124      <bezel name="digit26" element="digit">
125         <bounds left="98" top="285" right="132" bottom="324" />
126      </bezel>
127      <bezel name="digit27" element="digit">
128         <bounds left="142" top="285" right="176" bottom="324" />
129      </bezel>
130      <bezel name="digit28" element="digit">
131         <bounds left="186" top="285" right="220" bottom="324" />
132      </bezel>
133      <bezel name="digit29" element="digit">
134125         <bounds left="230" top="285" right="264" bottom="324" />
135126      </bezel>
136127
137128      <!-- Credits -->
138      <bezel name="digit30" element="digit">
129      <bezel name="digit25" element="digit">
139130         <bounds left="10" top="345" right="44" bottom="384" />
140131      </bezel>
141      <bezel name="digit31" element="digit">
142         <bounds left="54" top="345" right="88" bottom="384" />
143      </bezel>
144132
145      <!-- Match / Balls Left -->
146      <bezel name="digit32" element="digit">
147         <bounds left="186" top="345" right="220" bottom="384" />
148      </bezel>
149      <bezel name="digit33" element="digit">
133      <!-- Ball -->
134      <bezel name="digit24" element="digit">
150135         <bounds left="230" top="345" right="264" bottom="384" />
151136      </bezel>
152137      <bezel element="P0"><bounds left="200" right="258" top="330" bottom="342" /></bezel>
r17921r17922
155140      <bezel element="P4"><bounds left="100" right="180" top="90" bottom="102" /></bezel>
156141      <bezel element="P5"><bounds left="100" right="180" top="150" bottom="162" /></bezel>
157142      <bezel element="P6"><bounds left="100" right="180" top="210" bottom="222" /></bezel>
158      <bezel element="P7"><bounds left="100" right="180" top="270" bottom="282" /></bezel>
143      <bezel element="P7"><bounds left="200" right="258" top="270" bottom="282" /></bezel>
144      <bezel element="P8"><bounds left="30" right="88" top="270" bottom="282" /></bezel>
159145   </view>
160146</mamelayout>
trunk/src/mame/drivers/rowamet.c
r17921r17922
55
66    PinMAME used as reference (couldn't find a manual)
77
8ToDO:
9- Inputs
10- Outputs
11- Fix display
12- Doesn't boot properly
813
914*************************************************************************************/
1015
r17921r17922
2631   DECLARE_READ8_MEMBER(sound_r);
2732   DECLARE_READ8_MEMBER(switch_r);
2833   DECLARE_WRITE8_MEMBER(mute_w);
34   DECLARE_READ8_MEMBER(io_r);
35   DECLARE_WRITE8_MEMBER(io_w);
2936   UINT8 m_out_offs;
37   UINT8 m_sndcmd;
38   UINT8 m_io[16];
3039   required_device<cpu_device> m_maincpu;
3140   required_device<cpu_device> m_cpu2;
3241   required_shared_ptr<UINT8> m_p_ram;
r17921r17922
4655static ADDRESS_MAP_START( rowamet_map, AS_PROGRAM, 8, rowamet_state )
4756   AM_RANGE(0x0000, 0x1fff) AM_ROM
4857   AM_RANGE(0x2800, 0x2808) AM_READ(switch_r)
49   AM_RANGE(0x4000, 0x40ff) AM_RAM AM_SHARE("ram")
58   AM_RANGE(0x4000, 0x407f) AM_RAM
59   AM_RANGE(0x4080, 0x408f) AM_RAM AM_SHARE("ram")
60   AM_RANGE(0x4090, 0x409f) AM_READWRITE(io_r,io_w)
61   AM_RANGE(0x40a0, 0x40ff) AM_RAM
5062ADDRESS_MAP_END
5163
5264static ADDRESS_MAP_START( rowamet_sub_map, AS_PROGRAM, 8, rowamet_state )
r17921r17922
6678
6779READ8_MEMBER( rowamet_state::sound_r )
6880{
69   return (m_p_ram[0x92] >> 4) | (m_p_ram[0x93] & 0xf0);
81   return m_sndcmd;
7082}
7183
7284READ8_MEMBER( rowamet_state::switch_r )
r17921r17922
7789WRITE8_MEMBER( rowamet_state::mute_w )
7890{
7991   machine().sound().system_enable(~data);
80   printf("%X ",data);
8192}
8293
83//m_cpu2->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
94READ8_MEMBER( rowamet_state::io_r )
95{
96   return m_io[offset];
97}
98
99WRITE8_MEMBER( rowamet_state::io_w )
100{
101   m_io[offset] = data;
102
103   if (offset == 2)
104   {
105      UINT8 cmd = (m_io[2]>>4) | (m_io[3] & 0xf0);
106      if (cmd != m_sndcmd)
107      {
108         m_sndcmd = cmd;
109         machine().device("cpu2")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
110      }
111   }
112}
113
84114void rowamet_state::machine_reset()
85115{
86116}
r17921r17922
93123{
94124   static const UINT8 patterns[16] = { 0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f, 0, 0, 0, 0, 0, 0 };
95125   rowamet_state *state = timer.machine().driver_data<rowamet_state>();
96   state->m_out_offs++;
97   if (state->m_out_offs > 0x9f)
98      state->m_out_offs = 0x80;
126   state->m_out_offs &= 15;
99127
100   if (state->m_out_offs < 0x90)
101   {
102      UINT8 digit = state->m_out_offs << 1;
103      output_set_digit_value(digit, patterns[state->m_p_ram[state->m_out_offs]>>4]);
104      output_set_digit_value(++digit, patterns[state->m_p_ram[state->m_out_offs]&15]);
105   }
106   //else
107   //if (state->m_out_offs == 0x90)
108   //   timer.machine().device("maincpu")->execute().set_input_line(0, HOLD_LINE);
109   //else
110   //if (state->m_out_offs == 0x9f)
111   //   timer.machine().device("maincpu")->execute().set_input_line(0, CLEAR_LINE);
128   UINT8 digit = state->m_out_offs << 1;
129   output_set_digit_value(digit, patterns[state->m_p_ram[state->m_out_offs]>>4]);
130   output_set_digit_value(++digit, patterns[state->m_p_ram[state->m_out_offs++]&15]);
112131}
113132
114133static MACHINE_CONFIG_START( rowamet, rowamet_state )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team