phantom: correct cpu type, 1st rom is banked

This commit is contained in:
hap 2016-04-28 19:38:49 +02:00
parent 4a2cca538a
commit 7e3bf84ef0

View File

@ -29,11 +29,13 @@ Fidelity bought the design from Milton Bradley and released their own version.
It has a small LCD panel added, the rest looks nearly the same from the outside.
Hardware notes:
- CPU: 6502, 5MHz?
- ROM 2*32KB
- RAM: 8KB?
- PCB label 510.1128A01
- CPU: R65C02P4, 5MHz?
- ROM 2*32KB 27C256-15
- RAM: 8KB MS6264L-10
- LCD driver, display panel for digits
- assume rest is same as MB version
- piezo speaker, LEDs(not as many)
- motor mechanism is assumed same as MB version
After Fidelity was taken over by H&G, it was rereleased in 1990 as the Mephisto
Phantom. This is assumed to be identical.
@ -41,7 +43,7 @@ Phantom. This is assumed to be identical.
******************************************************************************/
#include "emu.h"
#include "cpu/m6502/m6502.h"
#include "cpu/m6502/r65c02.h"
#include "sound/speaker.h"
// internal artwork
@ -61,6 +63,8 @@ public:
required_device<cpu_device> m_maincpu;
required_device<speaker_sound_device> m_speaker;
DECLARE_DRIVER_INIT(fphantom);
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@ -69,6 +73,12 @@ protected:
// machine start/reset
DRIVER_INIT_MEMBER(phantom_state, fphantom)
{
UINT8 *ROM = memregion("maincpu")->base();
membank("bank1")->configure_entries(0, 2, &ROM[0], 0x4000);
}
void phantom_state::machine_start()
{
// zerofill
@ -78,6 +88,7 @@ void phantom_state::machine_start()
void phantom_state::machine_reset()
{
membank("bank1")->set_entry(0);
}
@ -88,7 +99,8 @@ void phantom_state::machine_reset()
static ADDRESS_MAP_START( fphantom_mem, AS_PROGRAM, 8, phantom_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0xffff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -109,7 +121,7 @@ INPUT_PORTS_END
static MACHINE_CONFIG_START( fphantom, phantom_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", M6502, 5000000) // 5MHz?
MCFG_CPU_ADD("maincpu", R65C02, 5000000) // 5MHz?
MCFG_CPU_PERIODIC_INT_DRIVER(phantom_state, irq0_line_hold, 600) // guessed
MCFG_CPU_PROGRAM_MAP(fphantom_mem)
@ -129,8 +141,8 @@ MACHINE_CONFIG_END
ROM_START( fphantom )
ROM_REGION( 0x10000, "maincpu", 0 )
ROM_LOAD("4_4.u4", 0x0000, 0x8000, CRC(e4181ba2) SHA1(1f77d1867c6f566be98645fc252a01108f412c96) )
ROM_LOAD("4_3c.u3", 0x8000, 0x8000, CRC(fb7c38ae) SHA1(a1aa7637705052cb4eec92644dc79aee7ba4d77c) )
ROM_LOAD("u_4.u4", 0x0000, 0x8000, CRC(e4181ba2) SHA1(1f77d1867c6f566be98645fc252a01108f412c96) ) // banked
ROM_LOAD("u_3c.u3", 0x8000, 0x8000, CRC(fb7c38ae) SHA1(a1aa7637705052cb4eec92644dc79aee7ba4d77c) )
ROM_END
@ -139,5 +151,5 @@ ROM_END
Drivers
******************************************************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
CONS( 1988, fphantom, 0, 0, fphantom, fphantom, driver_device, 0, "Fidelity Electronics", "Phantom (Fidelity)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY, FULLNAME, FLAGS */
CONS( 1988, fphantom, 0, 0, fphantom, fphantom, phantom_state, fphantom, "Fidelity Electronics", "Phantom (Fidelity)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )