diff options
Diffstat (limited to 'src/mame/drivers/actions_atj2279b.cpp')
-rw-r--r-- | src/mame/drivers/actions_atj2279b.cpp | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/src/mame/drivers/actions_atj2279b.cpp b/src/mame/drivers/actions_atj2279b.cpp new file mode 100644 index 00000000000..8c6fd8eb87a --- /dev/null +++ b/src/mame/drivers/actions_atj2279b.cpp @@ -0,0 +1,98 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood +/****************************************************************************** + + System is fairly barebones + Main PCB has the SoC, RAM, ROM + connects to other PCBs with various types of slots (USB, SD etc.) + (ADD FULL DETAILS) + + TODO: everything - emulate the SoC + + Presumably has an internal bootstrap (at least) to boot from the NAND + + -- + + reviews for this device were less than favourable with many comments + about how the SNES and Arcade games often did not run at full speed + and how the overall quality of emulation was unremarkable + +*******************************************************************************/ + +#include "emu.h" + +#include "cpu/arm7/arm7.h" + +#include "speaker.h" +#include "screen.h" + + +class actions_atj2279b_state : public driver_device +{ +public: + actions_atj2279b_state(const machine_config &mconfig, device_type type, const char *tag) : + driver_device(mconfig, type, tag), + m_maincpu(*this, "arm7") + { } + + void actions_atj2279b(machine_config &config); + +private: + virtual void machine_start() override; + virtual void machine_reset() override; + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + + void atj2279b_map(address_map &map); + + required_device<arm7_cpu_device> m_maincpu; +}; + +void actions_atj2279b_state::atj2279b_map(address_map &map) +{ +} + +void actions_atj2279b_state::machine_start() +{ +} + +void actions_atj2279b_state::machine_reset() +{ +} + +static INPUT_PORTS_START( actions_atj2279b ) +INPUT_PORTS_END + + +uint32_t actions_atj2279b_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void actions_atj2279b_state::actions_atj2279b(machine_config &config) +{ + ARM7_BE(config, m_maincpu, 100'000'000); // unknown ARM type in SoC (are there any documents?) probably much newer than this + m_maincpu->set_addrmap(AS_PROGRAM, &actions_atj2279b_state::atj2279b_map); + + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); + screen.set_refresh_hz(60); + screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); + screen.set_size(640, 480); + screen.set_visarea(0, 640-1, 0, 480-1); + screen.set_screen_update(FUNC(actions_atj2279b_state::screen_update)); + + SPEAKER(config, "lspeaker").front_left(); + SPEAKER(config, "rspeaker").front_right(); +} + +ROM_START( rbitgen ) + ROM_REGION32_BE( 0x21000000, "nand", 0 ) // NAND dump + //TOSHIBA + // TC58NVG2S3?A00 (there is a yellow stripe on the label before A00 obscuring the text) + ROM_LOAD16_WORD_SWAP( "nand.bin", 0x000000, 0x21000000, CRC(92576add) SHA1(1fe61ef1d2dd24e5b5d48c477846ef0c83ec6568) ) +ROM_END + + +// year, name, parent, compat, machine, input, class, init, company, fullname, flags +CONS( 2016, rbitgen, 0, 0, actions_atj2279b, actions_atj2279b, actions_atj2279b_state, empty_init, "Retro-Bit", "Generations (Retro-Bit)", MACHINE_IS_SKELETON ) |