@@ -103,41 +103,8 @@ static INPUT_PORTS_START( xavix )
103103 PORT_START(" MOUSE1Y" )
104104 PORT_BIT( 0xff , IP_ACTIVE_HIGH, IPT_UNUSED )
105105
106- PORT_START(" REGION" ) // PAL/NTSC flag
107- PORT_BIT( 0xff , IP_ACTIVE_HIGH, IPT_CUSTOM )
108- INPUT_PORTS_END
109-
110- static INPUT_PORTS_START( xavix_i2c )
111- PORT_INCLUDE(xavix)
112-
113- PORT_MODIFY(" IN1" )
114- PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
115- INPUT_PORTS_END
116-
117-
118- static INPUT_PORTS_START( epo_tfit )
119- PORT_INCLUDE(xavix)
120-
121- PORT_MODIFY(" IN0" )
122- PORT_BIT( 0x01 , IP_ACTIVE_HIGH, IPT_BUTTON1 ) // select
123- PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_BUTTON2 ) // back
124- PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_BUTTON3 )
125- PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_BUTTON4 )
126- PORT_BIT( 0x10 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
127- PORT_BIT( 0x20 , IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
128- PORT_BIT( 0x40 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
129- PORT_BIT( 0x80 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
130-
131- PORT_MODIFY(" IN1" )
132- PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
133- INPUT_PORTS_END
134-
135-
136- static INPUT_PORTS_START( mrangbat )
137- PORT_INCLUDE(xavix_i2c)
138-
139- PORT_MODIFY(" IN0" )
140- PORT_DIPNAME( 0x01 , 0x00 , " IN0" )
106+ PORT_START(" EX0" )
107+ PORT_DIPNAME( 0x01 , 0x00 , " EX0" )
141108 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
142109 PORT_DIPSETTING( 0x01 , DEF_STR( On ) )
143110 PORT_DIPNAME( 0x02 , 0x00 , DEF_STR( Unknown ) )
@@ -162,8 +129,8 @@ static INPUT_PORTS_START( mrangbat )
162129 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
163130 PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
164131
165- PORT_MODIFY( " IN1 " )
166- PORT_DIPNAME( 0x01 , 0x00 , " IN1 " )
132+ PORT_START( " EX1 " )
133+ PORT_DIPNAME( 0x01 , 0x00 , " EX1 " )
167134 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
168135 PORT_DIPSETTING( 0x01 , DEF_STR( On ) )
169136 PORT_DIPNAME( 0x02 , 0x00 , DEF_STR( Unknown ) )
@@ -172,7 +139,9 @@ static INPUT_PORTS_START( mrangbat )
172139 PORT_DIPNAME( 0x04 , 0x00 , DEF_STR( Unknown ) )
173140 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
174141 PORT_DIPSETTING( 0x04 , DEF_STR( On ) )
175- PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
142+ PORT_DIPNAME( 0x08 , 0x00 , DEF_STR( Unknown ) )
143+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
144+ PORT_DIPSETTING( 0x08 , DEF_STR( On ) )
176145 PORT_DIPNAME( 0x10 , 0x00 , DEF_STR( Unknown ) )
177146 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
178147 PORT_DIPSETTING( 0x10 , DEF_STR( On ) )
@@ -186,19 +155,8 @@ static INPUT_PORTS_START( mrangbat )
186155 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
187156 PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
188157
189- PORT_START(" EX0" ) // NOT A JOYSTICK!!
190- PORT_BIT( 0x01 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1 ) PORT_16WAY // Red/Up 1
191- PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2 ) PORT_16WAY // Red/Up 2
192- PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2 ) PORT_16WAY // Green / Circle / Right 2
193- PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2 ) PORT_16WAY // Pink / Star / Left 2
194- PORT_BIT( 0x10 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1 ) PORT_16WAY // Blue / Square / Right 1
195- PORT_BIT( 0x20 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1 ) PORT_16WAY // Yellow / Triangle / Left 1
196- PORT_BIT( 0x40 , IP_ACTIVE_HIGH, IPT_BUTTON7 )
197- PORT_BIT( 0x80 , IP_ACTIVE_HIGH, IPT_BUTTON8 )
198-
199-
200- PORT_START(" EX1" )
201- PORT_DIPNAME( 0x01 , 0x00 , " EX1" )
158+ PORT_START(" EX2" )
159+ PORT_DIPNAME( 0x01 , 0x00 , " EX2" )
202160 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
203161 PORT_DIPSETTING( 0x01 , DEF_STR( On ) )
204162 PORT_DIPNAME( 0x02 , 0x00 , DEF_STR( Unknown ) )
@@ -223,8 +181,41 @@ static INPUT_PORTS_START( mrangbat )
223181 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
224182 PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
225183
226- PORT_START(" EX2" )
227- PORT_DIPNAME( 0x01 , 0x00 , " EX2" )
184+ PORT_START(" REGION" ) // PAL/NTSC flag
185+ PORT_BIT( 0xff , IP_ACTIVE_HIGH, IPT_CUSTOM )
186+ INPUT_PORTS_END
187+
188+ static INPUT_PORTS_START( xavix_i2c )
189+ PORT_INCLUDE(xavix)
190+
191+ PORT_MODIFY(" IN1" )
192+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
193+ INPUT_PORTS_END
194+
195+
196+ static INPUT_PORTS_START( epo_tfit )
197+ PORT_INCLUDE(xavix)
198+
199+ PORT_MODIFY(" IN0" )
200+ PORT_BIT( 0x01 , IP_ACTIVE_HIGH, IPT_BUTTON1 ) // select
201+ PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_BUTTON2 ) // back
202+ PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_BUTTON3 )
203+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_BUTTON4 )
204+ PORT_BIT( 0x10 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
205+ PORT_BIT( 0x20 , IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
206+ PORT_BIT( 0x40 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
207+ PORT_BIT( 0x80 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
208+
209+ PORT_MODIFY(" IN1" )
210+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
211+ INPUT_PORTS_END
212+
213+
214+ static INPUT_PORTS_START( mrangbat )
215+ PORT_INCLUDE(xavix_i2c)
216+
217+ PORT_MODIFY(" IN0" )
218+ PORT_DIPNAME( 0x01 , 0x00 , " IN0" )
228219 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
229220 PORT_DIPSETTING( 0x01 , DEF_STR( On ) )
230221 PORT_DIPNAME( 0x02 , 0x00 , DEF_STR( Unknown ) )
@@ -248,15 +239,63 @@ static INPUT_PORTS_START( mrangbat )
248239 PORT_DIPNAME( 0x80 , 0x00 , DEF_STR( Unknown ) )
249240 PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
250241 PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
242+
243+ PORT_MODIFY(" IN1" )
244+ PORT_DIPNAME( 0x01 , 0x00 , " IN1" )
245+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
246+ PORT_DIPSETTING( 0x01 , DEF_STR( On ) )
247+ PORT_DIPNAME( 0x02 , 0x00 , DEF_STR( Unknown ) )
248+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
249+ PORT_DIPSETTING( 0x02 , DEF_STR( On ) )
250+ PORT_DIPNAME( 0x04 , 0x00 , DEF_STR( Unknown ) )
251+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
252+ PORT_DIPSETTING( 0x04 , DEF_STR( On ) )
253+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
254+ PORT_DIPNAME( 0x10 , 0x00 , DEF_STR( Unknown ) )
255+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
256+ PORT_DIPSETTING( 0x10 , DEF_STR( On ) )
257+ PORT_DIPNAME( 0x20 , 0x00 , DEF_STR( Unknown ) )
258+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
259+ PORT_DIPSETTING( 0x20 , DEF_STR( On ) )
260+ PORT_DIPNAME( 0x40 , 0x00 , DEF_STR( Unknown ) )
261+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
262+ PORT_DIPSETTING( 0x40 , DEF_STR( On ) )
263+ PORT_DIPNAME( 0x80 , 0x00 , DEF_STR( Unknown ) )
264+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
265+ PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
266+
267+ PORT_MODIFY(" EX0" ) // NOT A JOYSTICK!!
268+ PORT_BIT( 0x01 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(1 ) PORT_16WAY // Red/Up 1
269+ PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_PLAYER(2 ) PORT_16WAY // Red/Up 2
270+ PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(2 ) PORT_16WAY // Green / Circle / Right 2
271+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(2 ) PORT_16WAY // Pink / Star / Left 2
272+ PORT_BIT( 0x10 , IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_PLAYER(1 ) PORT_16WAY // Blue / Square / Right 1
273+ PORT_BIT( 0x20 , IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_PLAYER(1 ) PORT_16WAY // Yellow / Triangle / Left 1
274+ PORT_BIT( 0x40 , IP_ACTIVE_HIGH, IPT_BUTTON7 )
275+ PORT_BIT( 0x80 , IP_ACTIVE_HIGH, IPT_BUTTON8 )
251276INPUT_PORTS_END
252277
253278static INPUT_PORTS_START( xavix_bowl )
254279 PORT_INCLUDE(xavix)
255280
256281 PORT_MODIFY(" IN1" )
257- PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::camera_r))
258- PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::camera_r))
282+ PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::unknown_random_r))
283+ PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::unknown_random_r))
284+ PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
285+ INPUT_PORTS_END
286+
287+ static INPUT_PORTS_START( ban_ult )
288+ PORT_INCLUDE(xavix)
289+
290+ PORT_MODIFY(" IN1" )
291+ PORT_BIT( 0x02 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::unknown_random_r))
292+ PORT_BIT( 0x04 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_MEMBER(FUNC(superxavix_i2c_bowl_state::unknown_random_r))
259293 PORT_BIT( 0x08 , IP_ACTIVE_HIGH, IPT_CUSTOM ) PORT_READ_LINE_DEVICE_MEMBER(" i2cmem" , FUNC(i2cmem_device::read_sda))
294+
295+ PORT_MODIFY(" EX2" )
296+ PORT_DIPNAME( 0x80 , 0x80 , " Demo Mode" ) // bypasses calibration screen
297+ PORT_DIPSETTING( 0x00 , DEF_STR( Off ) )
298+ PORT_DIPSETTING( 0x80 , DEF_STR( On ) )
260299INPUT_PORTS_END
261300
262301static INPUT_PORTS_START( xavixp )
@@ -345,16 +384,6 @@ void superxavix_i2c_jmat_state::write_extended_io2(offs_t offset, uint8_t data,
345384 LOG (" %s: io2_data_w %02x\n " , machine ().describe_context (), data);
346385}
347386
348- int xavix_i2c_lotr_state::camera_r () // seems to be some kind of camera status bits
349- {
350- return machine ().rand ();
351- }
352-
353- int superxavix_i2c_bowl_state::camera_r () // seems to be some kind of camera status bits
354- {
355- return machine ().rand ();
356- }
357-
358387void superxavix_i2c_state::write_io1 (uint8_t data, uint8_t direction)
359388{
360389 m_i2cmem->write_sda (BIT (data | ~direction, 3 ));
@@ -722,6 +751,11 @@ ROM_START( ban_utmj )
722751 // SEEPROM is HT24LC02 at u3
723752ROM_END
724753
754+ ROM_START( ban_ult )
755+ ROM_REGION( 0x800000 , " bios" , ROMREGION_ERASE00)
756+ ROM_LOAD(" ultraman.u1" , 0x000000 , 0x800000 ,CRC(bc2a94fb) SHA1(4dc81089ac2afc1c9496a49ffd778213bb4a12bd) )
757+ ROM_END
758+
725759ROM_START( ban_bkgj )
726760 ROM_REGION( 0x400000 , " bios" , ROMREGION_ERASE00)
727761 ROM_LOAD(" bkgj.u2" , 0x000000 , 0x400000 , CRC(a59ce23c) SHA1(d2a6be9e46f3cfc3cf798bf1f76732eee909c93b) )
@@ -878,6 +912,8 @@ CONS( 2006, ban_bkgj, 0, 0, superxavix_i2c_24c04_4mb,xavix_i2c, superxavix_i2c_
878912// Let's!TV プレイ 体感キャストオフ 仮面ライダーカブト クロックアップ&ライダーキック
879913CONS( 2006 , ban_utmj, 0 , 0 , superxavix_i2c_24c02, xavix_i2c, superxavix_i2c_state, init_xavix, " Bandai / SSD Company LTD" , " Let's! TV Play Taikan Cast Off - Kamen Rider Kabuto Clock Up & Rider Kick!! (Japan)" , MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
880914
915+ CONS( 2006 , ban_ult, 0 , 0 , superxavix_i2c_24c02, ban_ult, superxavix_i2c_bowl_state, init_no_timer, " Bandai / SSD Company LTD" , " Let's! TV Play Ultraman (Japan)" , MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
916+
881917// それいけトーマス ソドー島のなかまたち
882918CONS( 2005 , tmy_thom, 0 , 0 , superxavix_i2c_24c04, xavix_i2c, superxavix_i2c_state, init_xavix, " Tomy / SSD Company LTD" , " Soreike Thomas - Sodor Tou no Nakamatachi / Thomas & Friends on the Island of Sodor (Japan)" , MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
883919
0 commit comments