mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
Merge branch 'master' of https://github.com/mamedev/mame.git
This commit is contained in:
commit
bcf2c50e13
@ -520,6 +520,18 @@ C1066 - ??
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gprace" supported="no">
|
||||
<description>GP Race</description>
|
||||
<year>1992</year>
|
||||
<publisher>Bit Corporation</publisher>
|
||||
<info name="serial" value="C1056" />
|
||||
<part name="cart" interface="gamate_cart">
|
||||
<dataarea name="rom" size="131072">
|
||||
<rom name="c1-056.bin" size="131072" crc="447595e4" sha1="1b471f8ac8ffb107c62ec3b765c43e268d90b73a" offset="0" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="fanttrav" supported="no">
|
||||
<description>Fantasy Travel</description>
|
||||
<year>1993</year>
|
||||
|
@ -9993,14 +9993,14 @@ a certain item) -->
|
||||
</software>
|
||||
|
||||
<software name="mgear">
|
||||
<description>Master Gear Adapter</description>
|
||||
<description>Master Gear Converter</description>
|
||||
<year>1991</year>
|
||||
<publisher>Sega</publisher>
|
||||
<part name="cart" interface="gamegear_cart">
|
||||
<feature name="slot" value="mgear" />
|
||||
<feature name="pin_42" value="sms_mode" />
|
||||
<dataarea name="rom" size="1">
|
||||
<!-- this cartridge is just an adapted -->
|
||||
<!-- this cartridge is just an adapter -->
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
22
hash/sms.xml
22
hash/sms.xml
@ -2376,17 +2376,6 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="felipe" cloneof="teddyboy">
|
||||
<description>Felipe em Acao (Bra)</description>
|
||||
<year>19??</year>
|
||||
<publisher>Tec Toy</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<dataarea name="rom" size="32768">
|
||||
<rom name="felipe em acao (b).bin" size="32768" crc="ccb2cab4" sha1="b7601ff0116490b85c9bd50109db175ce2dd9104" offset="000000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="ferias">
|
||||
<description>Férias Frustradas do Pica-Pau (Bra)</description>
|
||||
<year>1996</year>
|
||||
@ -6720,17 +6709,6 @@
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="treinam">
|
||||
<description>Treinamento Do Mymo (Bra)</description>
|
||||
<year>19??</year>
|
||||
<publisher>Tec Toy</publisher>
|
||||
<part name="cart" interface="sms_cart">
|
||||
<dataarea name="rom" size="262144">
|
||||
<rom name="treinamento do mymo (b).bin" size="262144" crc="e94784f2" sha1="327c3518363ee060b681ff34c0b2eea3ffea27e4" offset="000000" />
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="trivial">
|
||||
<description>Trivial Pursuit - Genus Edition (Euro)</description>
|
||||
<year>1992</year>
|
||||
|
25
makefile
25
makefile
@ -844,6 +844,7 @@ FULLTARGET := $(TARGET)$(SUBTARGET)
|
||||
endif
|
||||
PROJECTDIR := $(BUILDDIR)/projects/$(OSD)/$(FULLTARGET)
|
||||
PROJECTDIR_MINI := $(BUILDDIR)/projects/osdmini/$(FULLTARGET)
|
||||
PROJECTDIR_SDL := $(BUILDDIR)/projects/sdl/$(FULLTARGET)
|
||||
PROJECTDIR_WIN := $(BUILDDIR)/projects/windows/$(FULLTARGET)
|
||||
|
||||
.PHONY: all clean regenie generate
|
||||
@ -1306,6 +1307,30 @@ steamlink: generate $(PROJECTDIR)/gmake-steamlink/Makefile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-steamlink config=$(CONFIG) precompile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR)/gmake-steamlink config=$(CONFIG)
|
||||
|
||||
#-------------------------------------------------
|
||||
# gmake-rpi
|
||||
#-------------------------------------------------
|
||||
|
||||
$(PROJECTDIR_SDL)/gmake-rpi/Makefile: makefile $(SCRIPTS) $(GENIE)
|
||||
ifndef RASPBERRY_SDK_PATH
|
||||
$(error RASPBERRY_SDK_PATH is not set)
|
||||
endif
|
||||
ifndef RASPBERRY_SYSROOT
|
||||
$(error RASPBERRY_SYSROOT is not set)
|
||||
endif
|
||||
$(SILENT) $(GENIE) $(PARAMS) --gcc=rpi --gcc_version=4.9.2 --osd=sdl --targetos=rpi --targetos=rpi --NO_USE_MIDI=1 --PLATFORM=arm --NOASM=1 --USE_QTDEBUG=0 --SDL_INSTALL_ROOT=$(RASPBERRY_SYSROOT)/usr gmake
|
||||
|
||||
.PHONY: rpi
|
||||
ifndef RASPBERRY_SDK_PATH
|
||||
$(error RASPBERRY_SDK_PATH is not set)
|
||||
endif
|
||||
ifndef RASPBERRY_SYSROOT
|
||||
$(error RASPBERRY_SYSROOT is not set)
|
||||
endif
|
||||
rpi: generate $(PROJECTDIR_SDL)/gmake-rpi/Makefile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/gmake-rpi config=$(CONFIG) precompile
|
||||
$(SILENT) $(MAKE) $(MAKEPARAMS) -C $(PROJECTDIR_SDL)/gmake-rpi config=$(CONFIG)
|
||||
|
||||
#-------------------------------------------------
|
||||
# cmake
|
||||
#-------------------------------------------------
|
||||
|
@ -114,6 +114,7 @@ newoption {
|
||||
{ "haiku", "Haiku" },
|
||||
{ "solaris", "Solaris SunOS" },
|
||||
{ "steamlink", "Steam Link" },
|
||||
{ "rpi", "Raspberry Pi" },
|
||||
},
|
||||
}
|
||||
|
||||
@ -1098,7 +1099,7 @@ configuration { "pnacl" }
|
||||
}
|
||||
archivesplit_size "20"
|
||||
|
||||
configuration { "linux-*" }
|
||||
configuration { "linux-* or rpi"}
|
||||
links {
|
||||
"dl",
|
||||
"rt",
|
||||
@ -1123,6 +1124,19 @@ configuration { "steamlink" }
|
||||
"EGL_API_FB",
|
||||
}
|
||||
|
||||
configuration { "rpi" }
|
||||
links {
|
||||
"SDL2",
|
||||
"fontconfig",
|
||||
"X11",
|
||||
"GLESv2",
|
||||
"EGL",
|
||||
"bcm_host",
|
||||
"vcos",
|
||||
"vchiq_arm",
|
||||
"pthread",
|
||||
}
|
||||
|
||||
configuration { "osx* or xcode4" }
|
||||
links {
|
||||
"pthread",
|
||||
|
@ -726,6 +726,14 @@ end
|
||||
"-Wno-uninitialized",
|
||||
"-Wno-unused-function",
|
||||
}
|
||||
configuration { "rpi" }
|
||||
buildoptions {
|
||||
"-Wno-unused-but-set-variable",
|
||||
"-Wno-unused-variable",
|
||||
}
|
||||
defines {
|
||||
"__STDC_VERSION__=199901L",
|
||||
}
|
||||
|
||||
configuration { }
|
||||
|
||||
|
@ -103,6 +103,9 @@ end
|
||||
configuration { "mingw*" or "vs*" }
|
||||
targetextension ".exe"
|
||||
|
||||
configuration { "rpi" }
|
||||
targetextension ""
|
||||
|
||||
configuration { "asmjs" }
|
||||
targetextension ".bc"
|
||||
if os.getenv("EMSCRIPTEN") then
|
||||
|
@ -245,6 +245,16 @@ function toolchain(_buildDir, _subDir)
|
||||
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-steamlink")
|
||||
end
|
||||
|
||||
if "rpi" == _OPTIONS["gcc"] then
|
||||
if not os.getenv("RASPBERRY_SDK_PATH") then
|
||||
print("Set RASPBERRY_SDK_PATH envrionment variable.")
|
||||
end
|
||||
premake.gcc.cc = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-gcc"
|
||||
premake.gcc.cxx = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-g++"
|
||||
premake.gcc.ar = "$(RASPBERRY_SDK_PATH)/bin/arm-linux-gnueabihf-ar"
|
||||
location (_buildDir .. "projects/" .. _subDir .. "/".. _ACTION .. "-rpi")
|
||||
end
|
||||
|
||||
if "mingw32-gcc" == _OPTIONS["gcc"] then
|
||||
if not os.getenv("MINGW32") then
|
||||
print("Set MINGW32 envrionment variable.")
|
||||
@ -511,6 +521,37 @@ function toolchain(_buildDir, _subDir)
|
||||
configuration { "steamlink", "Debug" }
|
||||
targetdir (_buildDir .. "steamlink/bin/Debug")
|
||||
|
||||
configuration { "rpi" }
|
||||
objdir ( _buildDir .. "rpi/obj")
|
||||
libdirs {
|
||||
"$(RASPBERRY_SYSROOT)/opt/vc/lib",
|
||||
}
|
||||
includedirs {
|
||||
"$(RASPBERRY_SYSROOT)/opt/vc/include",
|
||||
"$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vcos/pthreads",
|
||||
"$(RASPBERRY_SYSROOT)/opt/vc/include/interface/vmcs_host/linux",
|
||||
}
|
||||
defines {
|
||||
"__VCCOREVER__=0x04000000", -- There is no special prefedined compiler symbol to detect RaspberryPi, faking it.
|
||||
}
|
||||
linkoptions {
|
||||
"-Wl,--gc-sections",
|
||||
}
|
||||
buildoptions {
|
||||
"--sysroot=$(RASPBERRY_SYSROOT)",
|
||||
}
|
||||
linkoptions {
|
||||
"-static-libgcc",
|
||||
"-static-libstdc++",
|
||||
"--sysroot=$(RASPBERRY_SYSROOT)",
|
||||
}
|
||||
|
||||
configuration { "rpi", "Release" }
|
||||
targetdir (_buildDir .. "rpi/bin/Release")
|
||||
|
||||
configuration { "rpi", "Debug" }
|
||||
targetdir (_buildDir .. "rpi/bin/Debug")
|
||||
|
||||
configuration { "mingw-clang" }
|
||||
linkoptions {
|
||||
"-Wl,--allow-multiple-definition",
|
||||
|
@ -275,7 +275,7 @@ int a78_cart_slot_device::validate_header(int head, bool log)
|
||||
{
|
||||
if (log)
|
||||
{
|
||||
osd_printf_info("Unsupported mapper, please contact MESSdevs (Header 0x%X)\n", head);
|
||||
osd_printf_info("Unsupported mapper, please contact MAMEdevs (Header 0x%X)\n", head);
|
||||
osd_printf_info("Disabling special bits\n");
|
||||
}
|
||||
head &= 0x00ff;
|
||||
@ -414,7 +414,7 @@ bool a78_cart_slot_device::call_load()
|
||||
break;
|
||||
}
|
||||
|
||||
// check if cart has a POKEY at $0450 (typically a VersaBoard variant)!
|
||||
// check if cart has a POKEY at $0450 (typically a VersaBoard variant)
|
||||
if (mapper & 0x40)
|
||||
{
|
||||
if (m_type != A78_TYPE2)
|
||||
@ -434,13 +434,13 @@ bool a78_cart_slot_device::call_load()
|
||||
|
||||
if (head[58] == 1)
|
||||
{
|
||||
osd_printf_info("This cart support external NVRAM savings, using HSC.\n");
|
||||
osd_printf_info("This cart supports external NVRAM using HSC.\n");
|
||||
osd_printf_info("Run it with the High Score Cart mounted to exploit this feature.\n");
|
||||
}
|
||||
else if (head[58] == 2)
|
||||
{
|
||||
osd_printf_info("This cart support external NVRAM savings, using SaveKey.\n");
|
||||
osd_printf_info("This is not supported in MESS currently.\n");
|
||||
osd_printf_info("This cart supports external NVRAM using SaveKey.\n");
|
||||
osd_printf_info("This is not supported in MAME currently.\n");
|
||||
}
|
||||
|
||||
if (head[63])
|
||||
@ -714,12 +714,12 @@ WRITE8_MEMBER(a78_cart_slot_device::write_40xx)
|
||||
bit 3 [0x08] - bank 0 of 144K ROM at $4000
|
||||
bit 4 [0x10] - bank 6 at $4000
|
||||
bit 5 [0x20] - banked RAM at $4000
|
||||
bit 6 [0x40] - POKEY at $0450
|
||||
|
||||
bit 8-15 - Special values
|
||||
0 = Normal cart
|
||||
0 = Normal cart // normal compared to what? perhaps this should be 'unused'
|
||||
1 = Absolute (F18 Hornet)
|
||||
2 = Activision (Double Dragon & Rampage)
|
||||
3 = POKEY at $0450
|
||||
|
||||
-------------------------------------------------*/
|
||||
|
||||
@ -817,6 +817,7 @@ void a78_cart_slot_device::internal_header_logging(UINT8 *header, UINT32 len)
|
||||
logerror( "\t\tbank0 at $4000: %s\n", BIT(head_mapper, 3) ? "Yes" : "No");
|
||||
logerror( "\t\tbank6 at $4000: %s\n", BIT(head_mapper, 4) ? "Yes" : "No");
|
||||
logerror( "\t\tbanked RAM: %s\n", BIT(head_mapper, 5) ? "Yes" : "No");
|
||||
logerror( "\t\tPOKEY at $450: %s\n", BIT(head_mapper, 6) ? "Yes" : "No");
|
||||
logerror( "\t\tSpecial: %s ", (head_mapper & 0xff00) ? "Yes" : "No");
|
||||
if (head_mapper & 0xff00)
|
||||
{
|
||||
|
@ -2,10 +2,16 @@
|
||||
// copyright-holders:Fabio Priuli
|
||||
/***********************************************************************************************************
|
||||
|
||||
Master Gear Adapter emulation
|
||||
Master Gear Converter emulation
|
||||
|
||||
***********************************************************************************************************/
|
||||
|
||||
// The Master Gear Converter, also known as Master Gear, Gear Master Converter
|
||||
// or (in Brazil) as Master Gear Adaptor, allows to plug western SMS cartridges
|
||||
// on the Game Gear, by enabling the SMS compatibility mode on the Game Gear
|
||||
// cartridge slot. Some SMS games have compatibility issues, confirmed on the
|
||||
// real hardware, when run on the Game Gear.
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "mgear.h"
|
||||
@ -18,7 +24,7 @@
|
||||
const device_type SEGA8_ROM_MGEAR = &device_creator<sega8_mgear_device>;
|
||||
|
||||
sega8_mgear_device::sega8_mgear_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: sega8_rom_device(mconfig, SEGA8_ROM_MGEAR, "Master Gear Adapter", tag, owner, clock, "sega8_mgear", __FILE__),
|
||||
: sega8_rom_device(mconfig, SEGA8_ROM_MGEAR, "Master Gear Converter", tag, owner, clock, "sega8_mgear", __FILE__),
|
||||
m_subslot(*this, "subslot")
|
||||
{
|
||||
}
|
||||
@ -38,6 +44,7 @@ void sega8_mgear_device::device_reset()
|
||||
|
||||
static MACHINE_CONFIG_FRAGMENT( sub_slot )
|
||||
MCFG_SMS_CARTRIDGE_ADD("subslot", sms_cart, nullptr)
|
||||
MCFG_SOFTWARE_LIST_ADD("cart_list","sms")
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor sega8_mgear_device::device_mconfig_additions() const
|
||||
|
@ -6,6 +6,9 @@
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
// This emulated device is the version released by Sega. In Brazil, Tec Toy
|
||||
// released a version that does not have any switch to turn on/off auto-repeat.
|
||||
|
||||
#include "rfu.h"
|
||||
|
||||
|
||||
@ -16,7 +19,7 @@
|
||||
|
||||
const device_type SMS_RAPID_FIRE = &device_creator<sms_rapid_fire_device>;
|
||||
|
||||
|
||||
// time interval not verified
|
||||
#define RAPID_FIRE_INTERVAL attotime::from_hz(10)
|
||||
|
||||
|
||||
|
@ -7,11 +7,17 @@
|
||||
**********************************************************************/
|
||||
|
||||
// The games designed for the US model of the Sports Pad controller use the
|
||||
// TH line of the controller port as output, to select which nibble, of the
|
||||
// two axis bytes, will be read at a time. The Japanese cartridge Sports Pad
|
||||
// Soccer uses a different mode, because the Sega Mark III lacks TH output, so
|
||||
// TH line of the controller port to select which nibble, of the two axis
|
||||
// bytes, will be read at a time. The Japanese cartridge Sports Pad Soccer
|
||||
// uses a different mode, because the Sega Mark III lacks the TH line, so
|
||||
// there is a different Sports Pad model released in Japan (see sportsjp.c).
|
||||
|
||||
// The Japanese SMS has the TH line connected, but doesn't report TH input
|
||||
// on port 0xDD. However, a magazine raffled the US Sports Pad along with a
|
||||
// Great Ice Hockey cartridge, in Japanese format, to owners of that console.
|
||||
// So, Great Ice Hockey seems to just need TH pin as output to work, while
|
||||
// other games designed for the US Sports Pad don't work on the Japanese SMS.
|
||||
|
||||
// It was discovered that games designed for the Paddle Controller, released
|
||||
// in Japan, switch to a mode incompatible with the original Paddle when
|
||||
// detect the system region as Export. Similar to how the US model of the
|
||||
|
@ -8,7 +8,7 @@
|
||||
|
||||
// The Japanese Sports Pad controller is only required to play the cartridge
|
||||
// Sports Pad Soccer, released in Japan. It uses a different mode than the
|
||||
// used by the US model, due to missing output lines on Sega Mark III
|
||||
// used by the US model, due to the missing TH line on Sega Mark III
|
||||
// controller ports.
|
||||
|
||||
#include "sportsjp.h"
|
||||
|
@ -6,11 +6,6 @@
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
// The Japanese Sports Pad controller is only required to play the cartridge
|
||||
// Sports Pad Soccer, released in Japan. It uses a different mode than the
|
||||
// used by the US model, due to missing output lines on Sega Mark III
|
||||
// controller ports.
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef __SMS_SPORTS_PAD_JP__
|
||||
|
@ -6,6 +6,13 @@
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
// The Gender Adapter is not an official Sega product. It is produced by the
|
||||
// SMSPower website to permit to plug a cartridge on the expansion slot on any
|
||||
// SMS 1 model. This includes the Japanese SMS, which has FM sound, so it is
|
||||
// a way to get FM music of western cartridges that have FM code but were not
|
||||
// released in Japan. Some games have compatibility issues, confirmed on the
|
||||
// real hardware, when run plugged-in to the SMS expansion slot.
|
||||
|
||||
#include "gender.h"
|
||||
|
||||
|
||||
|
@ -199,7 +199,7 @@ osd_font_sdl::TTF_Font_ptr osd_font_sdl::TTF_OpenFont_Magic(std::string const &n
|
||||
unsigned char const ttf_magic[] = { 0x00, 0x01, 0x00, 0x00, 0x00 };
|
||||
unsigned char const ttc1_magic[] = { 0x74, 0x74, 0x63, 0x66, 0x00, 0x01, 0x00, 0x00 };
|
||||
unsigned char const ttc2_magic[] = { 0x74, 0x74, 0x63, 0x66, 0x00, 0x02, 0x00, 0x00 };
|
||||
constexpr auto buffer_size = std::max({ sizeof(ttf_magic), sizeof(ttc1_magic), sizeof(ttc2_magic) });
|
||||
auto buffer_size = std::max({ sizeof(ttf_magic), sizeof(ttc1_magic), sizeof(ttc2_magic) });
|
||||
unsigned char buffer[buffer_size];
|
||||
auto const bytes_read = file.read(buffer, buffer_size);
|
||||
file.close();
|
||||
|
@ -84,7 +84,7 @@ static void* sdlNativeWindowHandle(SDL_Window* _window)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
# if BX_PLATFORM_LINUX || BX_PLATFORM_BSD
|
||||
# if BX_PLATFORM_LINUX || BX_PLATFORM_BSD || BX_PLATFORM_RPI
|
||||
return (void*)wmi.info.x11.window;
|
||||
# elif BX_PLATFORM_OSX
|
||||
return wmi.info.cocoa.window;
|
||||
|
Loading…
Reference in New Issue
Block a user