Add skeleton driver for Shark (US Billiards Inc.) (1975).

Add skeleton driver for Shark (US Billiards Inc.) (1975).
This commit is contained in:
Stiletto 2017-04-18 12:57:20 -04:00 committed by GitHub
parent 348f5d12bc
commit 62984cbe86

View File

@ -0,0 +1,138 @@
// license:BSD-3-Clause
// copyright-holders:Stiletto
/***************************************************************************
US Billiards TTL Games
Game Name DATA
-------------------------------------
TV Tennis (1973/03,11?) NO
TV Hockey? (1973) UNKNOWN
Survival (1975/02-03?) UNKNOWN
Shark (1975/11) YES
Space Battle (1977/10-12?) UNKNOWN
Variety TV (1978/09) UNKNOWN
***************************************************************************/
#include "emu.h"
#include "machine/netlist.h"
#include "netlist/devices/net_lib.h"
#include "video/fixfreq.h"
// copied from Pong, not accurate for this driver!
// start
#define MASTER_CLOCK 7159000
#define V_TOTAL (0x105+1) // 262
#define H_TOTAL (0x1C6+1) // 454
#define HBSTART (H_TOTAL)
#define HBEND (80)
#define VBSTART (V_TOTAL)
#define VBEND (16)
#define HRES_MULT (1)
// end
class usbilliards_state : public driver_device
{
public:
usbilliards_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_video(*this, "fixfreq")
{
}
// devices
required_device<netlist_mame_device_t> m_maincpu;
required_device<fixedfreq_device> m_video;
protected:
// driver_device overrides
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
};
static NETLIST_START(usbilliards)
SOLVER(Solver, 48000)
// PARAM(Solver.FREQ, 48000)
PARAM(Solver.ACCURACY, 1e-4) // works and is sufficient
// schematics
//...
// NETDEV_ANALOG_CALLBACK(sound_cb, sound, usbilliards_state, sound_cb, "")
// NETDEV_ANALOG_CALLBACK(video_cb, videomix, fixedfreq_device, update_vid, "fixfreq")
NETLIST_END()
void usbilliards_state::machine_start()
{
}
void usbilliards_state::machine_reset()
{
}
void usbilliards_state::video_start()
{
}
static MACHINE_CONFIG_START( usbilliards, usbilliards_state )
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
MCFG_NETLIST_SETUP(usbilliards)
/* video hardware */
MCFG_FIXFREQ_ADD("fixfreq", "screen")
MCFG_FIXFREQ_MONITOR_CLOCK(MASTER_CLOCK)
MCFG_FIXFREQ_HORZ_PARAMS(H_TOTAL-67,H_TOTAL-40,H_TOTAL-8,H_TOTAL)
MCFG_FIXFREQ_VERT_PARAMS(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL)
MCFG_FIXFREQ_FIELDCOUNT(1)
MCFG_FIXFREQ_SYNC_THRESHOLD(0.30)
MACHINE_CONFIG_END
/***************************************************************************
Game driver(s)
***************************************************************************/
/*
Shark by U.S. Billiards
Etched in copper on Top (C) 1975
010
1SCOOP J6 2SCOOP
Handwritten on top J0037
124
empty socket at 5M C etched in copper next to socket
*/
ROM_START( sharkusb )
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASE00 )
ROM_REGION( 0x0200, "roms", ROMREGION_ERASE00 )
ROM_LOAD( "82s123_b.5n", 0x0000, 0x0100, CRC(91b977b3) SHA1(37929f6049dea0ebed2c01ae20354e41c867b8f9) ) // 82s123 - handwritten B - B also etched in copper next to socket
ROM_LOAD( "82s123_a.6n", 0x0100, 0x0100, CRC(63f621cb) SHA1(6c6e6f22313db33afd069dae1b0180b5ccddfa56) ) // 82s123 - handwritten A - A also etched in copper next to socket
ROM_END
GAME( 1975, sharkusb, 0, usbilliards, 0, driver_device, 0, ROT0, "US Billiards Inc.", "Shark [TTL]", MACHINE_IS_SKELETON )