mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
new NOT WORKING --- TV games, help required to identify architecture of one of them (#4508)
* new NOT WORKING --- Play TV Buckmasters Huntin' (NTSC) [Sean Riddle, Peter Wilhelmsen] (gun needs mapping) * new NOT WORKING --- Track & Field Challenge [Sean Riddle, Clawgrip] HELP! can't figure out what architecture this is, need to identify CPU type etc. * rad_hnt digital controls (nw) * more digital inputs (nw) * change CPU type to G65816 based on feedback * improve notes (nw)
This commit is contained in:
parent
3d84943f72
commit
f339d62a6a
@ -3485,6 +3485,7 @@ files {
|
|||||||
MAME_DIR .. "src/mame/audio/rad_eu3a05.h",
|
MAME_DIR .. "src/mame/audio/rad_eu3a05.h",
|
||||||
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.cpp",
|
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.cpp",
|
||||||
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.h",
|
MAME_DIR .. "src/mame/machine/rad_eu3a05gpio.h",
|
||||||
|
MAME_DIR .. "src/mame/drivers/trkfldch.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/tvgame.cpp",
|
MAME_DIR .. "src/mame/drivers/tvgame.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/vii.cpp",
|
MAME_DIR .. "src/mame/drivers/vii.cpp",
|
||||||
MAME_DIR .. "src/mame/drivers/xavix.cpp",
|
MAME_DIR .. "src/mame/drivers/xavix.cpp",
|
||||||
|
140
src/mame/drivers/trkfldch.cpp
Normal file
140
src/mame/drivers/trkfldch.cpp
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
// license:BSD-3-Clause
|
||||||
|
// copyright-holders:David Haywood
|
||||||
|
/*
|
||||||
|
|
||||||
|
Track & Field Challenge TV Game
|
||||||
|
https://www.youtube.com/watch?v=wjn1lLylqog
|
||||||
|
|
||||||
|
HELP! what type of CPU / SoC is this? seems to be G65816 derived?
|
||||||
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "emu.h"
|
||||||
|
|
||||||
|
#include "cpu/g65816/g65816.h"
|
||||||
|
|
||||||
|
#include "emupal.h"
|
||||||
|
#include "screen.h"
|
||||||
|
#include "speaker.h"
|
||||||
|
|
||||||
|
class trkfldch_state : public driver_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
trkfldch_state(const machine_config &mconfig, device_type type, const char *tag) :
|
||||||
|
driver_device(mconfig, type, tag),
|
||||||
|
m_maincpu(*this, "maincpu"),
|
||||||
|
m_screen(*this, "screen"),
|
||||||
|
m_gfxdecode(*this, "gfxdecode")
|
||||||
|
{ }
|
||||||
|
|
||||||
|
void trkfldch(machine_config &config);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void machine_start() override;
|
||||||
|
virtual void machine_reset() override;
|
||||||
|
virtual void video_start() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
required_device<cpu_device> m_maincpu;
|
||||||
|
required_device<screen_device> m_screen;
|
||||||
|
required_device<gfxdecode_device> m_gfxdecode;
|
||||||
|
|
||||||
|
uint32_t screen_update_trkfldch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
|
||||||
|
void trkfldch_map(address_map &map);
|
||||||
|
};
|
||||||
|
|
||||||
|
void trkfldch_state::video_start()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
uint32_t trkfldch_state::screen_update_trkfldch(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void trkfldch_state::trkfldch_map(address_map &map)
|
||||||
|
{
|
||||||
|
map(0x8000, 0xbfff).rom().region("maincpu", 0x0000);
|
||||||
|
}
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( trkfldch )
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
// dummy, doesn't appear to be tile based
|
||||||
|
static const gfx_layout tiles8x8_layout =
|
||||||
|
{
|
||||||
|
8,8,
|
||||||
|
RGN_FRAC(1,1),
|
||||||
|
8,
|
||||||
|
{ 0, 1, 2, 3, 4, 5, 6, 7 },
|
||||||
|
{ 0, 8, 16, 24, 32, 40, 48, 56 },
|
||||||
|
{ 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64 },
|
||||||
|
64*8
|
||||||
|
};
|
||||||
|
|
||||||
|
static GFXDECODE_START( gfx_trkfldch )
|
||||||
|
GFXDECODE_ENTRY( "maincpu", 0, tiles8x8_layout, 0, 1 )
|
||||||
|
GFXDECODE_END
|
||||||
|
|
||||||
|
void trkfldch_state::machine_start()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void trkfldch_state::machine_reset()
|
||||||
|
{
|
||||||
|
uint8_t *rom = memregion("maincpu")->base();
|
||||||
|
|
||||||
|
int vector = 0xe;
|
||||||
|
|
||||||
|
/* what appears to be a table of vectors apepars at the START of ROM, maybe this gets copied to RAM, maybe used directly?
|
||||||
|
0: (invalid)
|
||||||
|
1: (invalid)
|
||||||
|
2: 0xA2C6
|
||||||
|
3: 0xA334
|
||||||
|
4: 0xA300
|
||||||
|
5: 0xA2E0
|
||||||
|
6: 0xA2B9
|
||||||
|
7: 0xA2ED // possible irq vector pointer, THIS IS NOT THE BOOT CODE!
|
||||||
|
8: 0xA2D3
|
||||||
|
9: 0xA327
|
||||||
|
a: 0xA30D
|
||||||
|
b: 0x6000
|
||||||
|
c: 0xA31A
|
||||||
|
d: 0xA2AC
|
||||||
|
e: 0xA341
|
||||||
|
f: (invalid)
|
||||||
|
*/
|
||||||
|
|
||||||
|
uint16_t addr = (rom[vector * 2 + 1] << 8) | (rom[vector * 2]);
|
||||||
|
|
||||||
|
m_maincpu->set_state_int(1, addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
MACHINE_CONFIG_START(trkfldch_state::trkfldch)
|
||||||
|
/* basic machine hardware */
|
||||||
|
G65816(config, m_maincpu, 20000000);
|
||||||
|
//m_maincpu->set_addrmap(AS_DATA, &tv965_state::mem_map);
|
||||||
|
m_maincpu->set_addrmap(AS_PROGRAM, &trkfldch_state::trkfldch_map);
|
||||||
|
|
||||||
|
/* video hardware */
|
||||||
|
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
|
||||||
|
m_screen->set_refresh_hz(60);
|
||||||
|
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||||
|
m_screen->set_size(320, 240);
|
||||||
|
m_screen->set_visarea(0, 320-1, 0, 240-1);
|
||||||
|
m_screen->set_screen_update(FUNC(trkfldch_state::screen_update_trkfldch));
|
||||||
|
m_screen->set_palette("palette");
|
||||||
|
|
||||||
|
|
||||||
|
GFXDECODE(config, m_gfxdecode, "palette", gfx_trkfldch); // dummy
|
||||||
|
PALETTE(config, "palette").set_format(palette_device::xRGB_444, 0x100).set_endianness(ENDIANNESS_BIG); // dummy
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
ROM_START( trkfldch )
|
||||||
|
ROM_REGION( 0x400000, "maincpu", 0 )
|
||||||
|
ROM_LOAD( "trackandfield.bin", 0x000000, 0x400000, CRC(f4f1959d) SHA1(344dbfe8df1897adf77da6e5ca0435c4d47d6842) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
|
CONS( 2007, trkfldch, 0, 0, trkfldch, trkfldch,trkfldch_state, empty_init, "Konami", "Track & Field Challenge", MACHINE_NOT_WORKING | MACHINE_NO_SOUND )
|
||||||
|
|
@ -181,9 +181,9 @@
|
|||||||
2 e-kara Duet microphone /TAKARA/Japan - - - - - - -
|
2 e-kara Duet microphone /TAKARA/Japan - - - - - - -
|
||||||
3 e-kara /TAKARA/Japan - - - - - - dumped
|
3 e-kara /TAKARA/Japan - - - - - - dumped
|
||||||
4 Let's play ping-pong. Exciting ping-pong /EPOCH/Japan - - - - - - -
|
4 Let's play ping-pong. Exciting ping-pong /EPOCH/Japan - - - - - - -
|
||||||
5 PLAY TV Huntin' Buckmasters /RADICA/USA 8074 x8 none none SSD 98 PA7351-107 have
|
5 PLAY TV Huntin' Buckmasters /RADICA/USA 8074 x8 none none SSD 98 PA7351-107 dumped
|
||||||
6 PLAY TV Ping Pong /RADICA/USA,HK,EU 8028 x8 48 1M none SSD 97 PA7270-107 dumped
|
6 PLAY TV Ping Pong /RADICA/USA,HK,EU 8028 x8 48 1M none SSD 97 PA7270-107 dumped
|
||||||
7 PLAY TV OPUS /RADICA/USA,EU - - - - - - -
|
7 PLAY TV OPUS /RADICA/USA,EU - - - - - - dumped (US version, PAL version appears to use different ROM)
|
||||||
8 PLAY TV Baseball 2 /EPOCH/Japan, HK - - - - - - -
|
8 PLAY TV Baseball 2 /EPOCH/Japan, HK - - - - - - -
|
||||||
9 Let's hit a homerun! Exciting baseball /RADICA/USA,EU 8017 x8 none none SSD 98 PA7351-107 (aka Radica PlayTV Baseball, if so, have)
|
9 Let's hit a homerun! Exciting baseball /RADICA/USA,EU 8017 x8 none none SSD 98 PA7351-107 (aka Radica PlayTV Baseball, if so, have)
|
||||||
1999 1 ABC Jungle Fun Hippo /Vteck/HK, USA, France - - - - - - -
|
1999 1 ABC Jungle Fun Hippo /Vteck/HK, USA, France - - - - - - -
|
||||||
@ -615,6 +615,25 @@ static INPUT_PORTS_START( rad_opus )
|
|||||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start / Bomb") // PI07
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_START1 ) PORT_NAME("Start / Bomb") // PI07
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
|
|
||||||
|
static INPUT_PORTS_START( rad_hnt )
|
||||||
|
PORT_INCLUDE(xavix)
|
||||||
|
|
||||||
|
PORT_MODIFY("IN0")
|
||||||
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Menu Next")
|
||||||
|
PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Menu Previous")
|
||||||
|
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_NAME("Menu Select")
|
||||||
|
PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON4 ) PORT_NAME("Pause / Menu")
|
||||||
|
PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP )
|
||||||
|
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN )
|
||||||
|
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT )
|
||||||
|
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT )
|
||||||
|
|
||||||
|
PORT_MODIFY("IN1")
|
||||||
|
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_BUTTON5 ) PORT_NAME("Fire Gun")
|
||||||
|
PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON6 ) PORT_NAME("Safety") PORT_TOGGLE
|
||||||
|
|
||||||
|
PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_POWER_OFF ) PORT_NAME("Power Switch") // pressing this will turn the game off.
|
||||||
|
INPUT_PORTS_END
|
||||||
|
|
||||||
static INPUT_PORTS_START( rad_crdn )
|
static INPUT_PORTS_START( rad_crdn )
|
||||||
PORT_INCLUDE(xavix)
|
PORT_INCLUDE(xavix)
|
||||||
@ -1209,6 +1228,11 @@ ROM_START( rad_opus )
|
|||||||
ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(509df402) SHA1(c5b863670eac8498ddda9dfde91387634cf7aa9f) )
|
ROM_LOAD("opus.bin", 0x000000, 0x100000, CRC(509df402) SHA1(c5b863670eac8498ddda9dfde91387634cf7aa9f) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( rad_hnt )
|
||||||
|
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
|
||||||
|
ROM_LOAD("huntin1.bin", 0x000000, 0x100000, CRC(e51e250f) SHA1(d72199096d466cd344bb243ef1228e0df9501d00) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
ROM_START( rad_snow )
|
ROM_START( rad_snow )
|
||||||
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
|
ROM_REGION(0x100000, "bios", ROMREGION_ERASE00)
|
||||||
ROM_LOAD("snoblu.bin", 0x000000, 0x100000, CRC(593e40b3) SHA1(03483ac39eddd7746470fb60018e704382b0da59) )
|
ROM_LOAD("snoblu.bin", 0x000000, 0x100000, CRC(593e40b3) SHA1(03483ac39eddd7746470fb60018e704382b0da59) )
|
||||||
@ -1354,6 +1378,8 @@ CONS( 2000, rad_pingp, rad_ping, 0, xavixp, rad_pingp,xavix_state,
|
|||||||
CONS( 2000, rad_opus, 0, 0, xavix_nv, rad_opus, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Opus (NTSC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // there is a missing 'TV Static' noise effect when menus appear (box shows 'Play TV' ingame just shows 'Radica:Plug & Play')
|
CONS( 2000, rad_opus, 0, 0, xavix_nv, rad_opus, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Opus (NTSC)", MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // there is a missing 'TV Static' noise effect when menus appear (box shows 'Play TV' ingame just shows 'Radica:Plug & Play')
|
||||||
// ConnecTV Opus is a different ROM in this case? Game doesn't read from PAL/NTSC flag? (verify it isn't detecting PAL in some other way) ( https://www.youtube.com/watch?v=Ub9tstLEj_0 )
|
// ConnecTV Opus is a different ROM in this case? Game doesn't read from PAL/NTSC flag? (verify it isn't detecting PAL in some other way) ( https://www.youtube.com/watch?v=Ub9tstLEj_0 )
|
||||||
|
|
||||||
|
CONS( 2000, rad_hnt, 0, 0, xavix_nv, rad_hnt, xavix_state, init_xavix, "Radica / SSD Company LTD", "Play TV Buckmasters Huntin' (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND ) // need to map gun (box shows 'Play TV' ingame just shows 'Plug & Play')
|
||||||
|
|
||||||
CONS( 2003, rad_mtrk, 0, 0, xavix_mtrk, rad_mtrk, xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "Play TV Monster Truck (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
CONS( 2003, rad_mtrk, 0, 0, xavix_mtrk, rad_mtrk, xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "Play TV Monster Truck (NTSC)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
CONS( 2003, rad_mtrkp, rad_mtrk, 0, xavix_mtrkp, rad_mtrkp,xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "ConnecTV Monster Truck (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
CONS( 2003, rad_mtrkp, rad_mtrk, 0, xavix_mtrkp, rad_mtrkp,xavix_mtrk_state, init_xavix, "Radica / SSD Company LTD", "ConnecTV Monster Truck (PAL)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND )
|
||||||
|
|
||||||
|
@ -37939,6 +37939,9 @@ vs4j // 2004.10 Virtua Striker 4 (Japan) (Rev E)
|
|||||||
@source:triplhnt.cpp
|
@source:triplhnt.cpp
|
||||||
triplhnt // 008422-008791 1977/04 [6800]
|
triplhnt // 008422-008791 1977/04 [6800]
|
||||||
|
|
||||||
|
@source:trkfldch.cpp
|
||||||
|
trkfldch // (c) 2007 Konami
|
||||||
|
|
||||||
@source:trs80.cpp
|
@source:trs80.cpp
|
||||||
ht108064 // Hradstechnika Szvetkezet HT-1080Z/64
|
ht108064 // Hradstechnika Szvetkezet HT-1080Z/64
|
||||||
ht1080z // Hradstechnika Szvetkezet HT-1080Z
|
ht1080z // Hradstechnika Szvetkezet HT-1080Z
|
||||||
@ -39703,6 +39706,7 @@ rad_boxp //
|
|||||||
rad_crdn //
|
rad_crdn //
|
||||||
rad_crdnp //
|
rad_crdnp //
|
||||||
rad_opus //
|
rad_opus //
|
||||||
|
rad_hnt //
|
||||||
rad_bass //
|
rad_bass //
|
||||||
rad_bassp //
|
rad_bassp //
|
||||||
rad_snow //
|
rad_snow //
|
||||||
|
Loading…
Reference in New Issue
Block a user