From 4baa80d5db0c7479e31d5830f9a8b4d9fb417202 Mon Sep 17 00:00:00 2001 From: David Haywood Date: Thu, 13 Dec 2018 03:31:54 +0000 Subject: [PATCH] basic Monon Color skeleton + Software List [zhongtiao1] (#4390) * basic monon skeleton + swl * c+p error (nw) * use skeleton flag (nw) * significantly improved metadata in Monon Color software list [zhongtiao1] * whitespace (nw) * whitespace (nw) --- hash/monon_color.xml | 216 +++++++++++++++++++++++++++++++ scripts/target/mame/mess.lua | 1 + src/mame/drivers/monon_color.cpp | 121 +++++++++++++++++ src/mame/mame.lst | 3 + 4 files changed, 341 insertions(+) create mode 100644 hash/monon_color.xml create mode 100644 src/mame/drivers/monon_color.cpp diff --git a/hash/monon_color.xml b/hash/monon_color.xml new file mode 100644 index 00000000000..485e8c649b2 --- /dev/null +++ b/hash/monon_color.xml @@ -0,0 +1,216 @@ + + + + + + + + Sài ěr hào: Zhànshén dòu hún + 2011 + M&D + + + + + + + + + + Luòkè wángguó-mófǎ zhèn + 2011 + M&D + + + + + + + + + + Jī jiǎ xuànfēng-gédòu dàshī + 2011 + M&D + + + + + + + + + + Shén pò-shīluò de yíjī + 2011 + M&D + + + + + + + + + + Sài ěr hào-néngyuán dà zuòzhàn + 2011 + M&D + + + + + + + + + + Gāngtiě xiá-yīngxióng fǎnjí zhàn + 2011 + M&D + + + + + + + + + + Jiāngshī lièrén + 2011 + M&D + + + + + + + + + + Luòkè wángguó-dà màoxiǎn + 2011 + M&D + + + + + + + + + + Luòkè wángguó-bīng zhī lán + 2011 + M&D + + + + + + + + + + Luòkè wángguó-hēi zhī yán + 2011 + M&D + + + + + + + + + + Luòkè wángguó-kǎ pái zhàn jì + 2011 + M&D + + + + + + + + + + Kǎijiǎ yǒngshì dàluàn dòu + 2011 + M&D + + + + + + + + + + Luójí pīn yī pīn + 2011 + M&D + + + + + + + + + + Lóngzhū-wǔdào dàhuì + 2011 + M&D + + + + + + + + + + Yīngxióng liánméng-zhōngjí gédòu + 2011 + M&D + + + + + + + + + diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index e789ce7c779..05aa1008507 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3813,6 +3813,7 @@ files { MAME_DIR .. "src/mame/drivers/mod8.cpp", MAME_DIR .. "src/mame/drivers/modellot.cpp", MAME_DIR .. "src/mame/drivers/molecular.cpp", + MAME_DIR .. "src/mame/drivers/monon_color.cpp", MAME_DIR .. "src/mame/drivers/ms0515.cpp", MAME_DIR .. "src/mame/drivers/ms9540.cpp", MAME_DIR .. "src/mame/drivers/mstation.cpp", diff --git a/src/mame/drivers/monon_color.cpp b/src/mame/drivers/monon_color.cpp new file mode 100644 index 00000000000..4e8b760fb09 --- /dev/null +++ b/src/mame/drivers/monon_color.cpp @@ -0,0 +1,121 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood +/*************************************************************************** + Monon Color - Chinese handheld + + see + https://gbatemp.net/threads/the-monon-color-a-new-video-game-console-from-china.467788/ + https://twitter.com/Splatoon2weird/status/1072182093206052864 + + uses AX208 CPU (8051 @ 96Mhz with single cycle instructions + integrated video, jpeg decoder etc.) + https://docplayer.net/52724058-Ax208-product-specification.html + +***************************************************************************/ + +#include "emu.h" +#include "cpu/mcs51/mcs51.h" +#include "emupal.h" +#include "screen.h" +#include "speaker.h" +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" + +class monon_color_state : public driver_device +{ +public: + monon_color_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag), + m_cart(*this, "cartslot"), + m_maincpu(*this, "maincpu"), + m_screen(*this, "screen"), + m_palette(*this, "palette") + { } + + void monon_color(machine_config &config); +protected: + // driver_device overrides + virtual void machine_start() override; + virtual void machine_reset() override; + + virtual void video_start() override; + + // screen updates + uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); +private: + required_device m_cart; + required_device m_maincpu; + required_device m_screen; + required_device m_palette; + + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(monon_color_cart); +}; + +void monon_color_state::machine_start() +{ +} + +void monon_color_state::machine_reset() +{ +} + +void monon_color_state::video_start() +{ +} + + +uint32_t monon_color_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +static INPUT_PORTS_START( monon_color ) +INPUT_PORTS_END + + +MACHINE_CONFIG_START(monon_color_state::monon_color) + + /* basic machine hardware */ + MCFG_DEVICE_ADD("maincpu", I8051, 96000000) // AX208! (needs custom core) + + /* video hardware */ + MCFG_SCREEN_ADD("screen", RASTER) + MCFG_SCREEN_REFRESH_RATE(60) + MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) + MCFG_SCREEN_UPDATE_DRIVER(monon_color_state, screen_update) + MCFG_SCREEN_SIZE(32*8, 32*8) + MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) + MCFG_SCREEN_PALETTE("palette") + + MCFG_PALETTE_ADD("palette", 256) + + /* sound hardware */ + SPEAKER(config, "mono").front_center(); + + MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "monon_color_cart") + MCFG_GENERIC_EXTENSIONS("bin") + MCFG_GENERIC_WIDTH(GENERIC_ROM8_WIDTH) + MCFG_GENERIC_LOAD(monon_color_state, monon_color_cart) + MCFG_GENERIC_MANDATORY + + /* software lists */ + MCFG_SOFTWARE_LIST_ADD("cart_list","monon_color") +MACHINE_CONFIG_END + +DEVICE_IMAGE_LOAD_MEMBER( monon_color_state, monon_color_cart ) +{ + uint32_t size = m_cart->common_get_size("rom"); + std::vector temp; + temp.resize(size); + m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); + m_cart->common_load_rom(&temp[0], size, "rom"); + + memcpy(memregion("maincpu")->base(), &temp[0], size); + + return image_init_result::PASS; +} + +ROM_START( mononcol ) + ROM_REGION( 0x1000000, "maincpu", ROMREGION_ERASE00 ) +ROM_END + +CONS( 2011, mononcol, 0, 0, monon_color, monon_color, monon_color_state, empty_init, "M&D", "Monon Color", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index f4434d0ac32..626ed129098 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -21798,6 +21798,9 @@ momokoe // (c) 1986 Jaleco (English text) monacogp // (c) 1980 Sega monacogpa // (c) 1980 Sega +@source:monon_color.cpp +mononcol // (c) 2011 M&D + @source:monty.cpp mmonty // Ritam monty // Ritam