AW: various fixes, more roms
This commit is contained in:
parent
3e8033cc70
commit
4c334f09ea
|
@ -28,6 +28,7 @@ extern u16 kcode[4];
|
|||
extern u32 vks[4];
|
||||
extern s8 joyx[4],joyy[4];
|
||||
extern u8 rt[4],lt[4];
|
||||
extern bool naomi_test_button;
|
||||
|
||||
u8 GetBtFromSgn(s8 val)
|
||||
{
|
||||
|
@ -59,6 +60,11 @@ struct MapleConfigMap : IMapleConfigMap
|
|||
pjs->kcode=kcode[player_num];
|
||||
#if DC_PLATFORM == DC_PLATFORM_DREAMCAST
|
||||
pjs->kcode |= 0xF901;
|
||||
#elif DC_PLATFORM == DC_PLATFORM_ATOMISWAVE
|
||||
if (naomi_test_button)
|
||||
pjs->kcode &= ~(1 << 14);
|
||||
// if (!(pjs->kcode & (1 << 9))) // Hack (Y -> service btn)
|
||||
// pjs->kcode &= ~(1 << 13);
|
||||
#endif
|
||||
pjs->joy[PJAI_X1]=GetBtFromSgn(joyx[player_num]);
|
||||
pjs->joy[PJAI_Y1]=GetBtFromSgn(joyy[player_num]);
|
||||
|
@ -90,11 +96,21 @@ void mcfg_CreateNAOMIJamma()
|
|||
|
||||
void mcfg_CreateAtomisWaveControllers()
|
||||
{
|
||||
// Looks like a controller needs to be on bus 0 for digital controls
|
||||
// Then another device on port 2 for analog axes, light gun, ...
|
||||
// Looks like two controllers needs to be on bus 0 and 1 for digital inputs
|
||||
// Then other devices on port 2 and 3 for analog axes, light guns, ...
|
||||
mcfg_Create(MDT_SegaController, 0, 5);
|
||||
mcfg_Create(MDT_SegaController, 2, 5, 0);
|
||||
mcfg_Create(MDT_SegaController, 1, 5);
|
||||
// mcfg_Create(MDT_SegaController, 2, 5, 0);
|
||||
// mcfg_Create(MDT_SegaController, 3, 5, 1);
|
||||
// mcfg_Create(MDT_LightGun, 2, 5, 0);
|
||||
// mcfg_Create(MDT_LightGun, 3, 5, 1);
|
||||
// mcfg_Create(MDT_Mouse, 2, 5, 0);
|
||||
// Guilty Gear Isuka (4P) needs 4 std controllers
|
||||
// Faster Than Speed needs 1 std controller on port 0 (digital inputs) and one on port 2 (analog axes)
|
||||
// Maximum Speed same
|
||||
// Clay Challenge needs 2 std controllers on port 0 & 1 (digital in) and light guns on port 2 & 3
|
||||
// Sports Shooting same
|
||||
// Sega Bass Fishing Challenge needs a mouse (track-ball) on port 3
|
||||
}
|
||||
|
||||
void mcfg_CreateController(u32 bus, MapleDeviceType maple_type1, MapleDeviceType maple_type2)
|
||||
|
|
|
@ -646,7 +646,7 @@ u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size) {
|
|||
// (ab == 0) -> BIOS skip RAM test
|
||||
if (coin_chute)
|
||||
{
|
||||
// FIXME Coin Error if coint_chute is set for too long
|
||||
// FIXME Coin Error if coin_chute is set for too long
|
||||
return 0xE;
|
||||
}
|
||||
return 0xF;
|
||||
|
@ -659,7 +659,7 @@ u32 libExtDevice_ReadMem_A0_006(u32 addr,u32 size) {
|
|||
//printf("NAOMI 600284 read %x\n", aw_maple_devs);
|
||||
return aw_maple_devs;
|
||||
}
|
||||
EMUERROR("Unhandled read @ %x\n", addr);
|
||||
EMUERROR("Unhandled read @ %x", addr);
|
||||
return 0xFF;
|
||||
}
|
||||
|
||||
|
@ -672,8 +672,9 @@ void libExtDevice_WriteMem_A0_006(u32 addr,u32 data,u32 size) {
|
|||
printf("NAOMI 600284 write %x\n", data);
|
||||
aw_maple_devs = data & 0xF0;
|
||||
break;
|
||||
//case 0x28C: // Wheel force feedback?
|
||||
default:
|
||||
break;
|
||||
}
|
||||
EMUERROR("Unhandled write @ %x: %x\n", addr, data);
|
||||
EMUERROR("Unhandled write @ %x: %x", addr, data);
|
||||
}
|
||||
|
|
|
@ -269,6 +269,26 @@ Games[] =
|
|||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Sega Bass Fishing Challenge Version A
|
||||
{
|
||||
"basschal.zip",
|
||||
0x8000000,
|
||||
0,
|
||||
"awbios.zip",
|
||||
AW,
|
||||
{
|
||||
{ "vera.u3", 0x00000000, 0x01000000 },
|
||||
{ "vera.u1", 0x01000000, 0x01000000 },
|
||||
{ "vera.u4", 0x02000000, 0x01000000 },
|
||||
{ "vera.u2", 0x03000000, 0x01000000 },
|
||||
{ "vera.u15", 0x04000000, 0x01000000 },
|
||||
{ "vera.u17", 0x05000000, 0x01000000 },
|
||||
{ "vera.u14", 0x06000000, 0x01000000 },
|
||||
{ "vera.u16", 0x07000000, 0x01000000 },
|
||||
{ "315-6248.bin", 0x000000, 0x000004, Key },
|
||||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Capcom Vs. SNK Millennium Fight 2000 (Rev C)
|
||||
{
|
||||
"capsnk.zip",
|
||||
|
@ -722,6 +742,27 @@ Games[] =
|
|||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Guilty Gear Isuka
|
||||
{
|
||||
"ggisuka.zip",
|
||||
0x09000000,
|
||||
0,
|
||||
"awbios.zip",
|
||||
AW,
|
||||
{
|
||||
{ "ax1201p01.ic18", 0x0000000, 0x0800000 },
|
||||
{ "ax1201m01.ic10", 0x0800000, 0x1000000 }, // 2x mirrored 8MB data, TODO: check is IC10 Mask ROM not 16MB but 8MB
|
||||
{ "ax1202m01.ic11", 0x1000000, 0x1000000 },
|
||||
{ "ax1203m01.ic12", 0x2000000, 0x1000000 },
|
||||
{ "ax1204m01.ic13", 0x3000000, 0x1000000 },
|
||||
{ "ax1205m01.ic14", 0x4000000, 0x1000000 },
|
||||
{ "ax1206m01.ic15", 0x5000000, 0x1000000 },
|
||||
{ "ax1207m01.ic16", 0x6000000, 0x1000000 },
|
||||
{ "ax1208m01.ic17", 0x7000000, 0x1000000 },
|
||||
{ "ax1201f01.bin", 0, 4, Key },
|
||||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Guilty Gear X ver. 1.5
|
||||
{
|
||||
"ggx15.zip",
|
||||
|
@ -1325,6 +1366,23 @@ Games[] =
|
|||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Sports Shooting USA
|
||||
{
|
||||
"sprtshot.zip",
|
||||
0x8000000,
|
||||
0,
|
||||
"awbios.zip",
|
||||
AW,
|
||||
{
|
||||
{ "ax0101p01.ic18", 0x0000000, 0x0800000 },
|
||||
{ "ax0101m01.ic11", 0x1000000, 0x1000000 },
|
||||
{ "ax0102m01.ic12", 0x2000000, 0x1000000 },
|
||||
{ "ax0103m01.ic13", 0x3000000, 0x1000000 },
|
||||
{ "ax0104m01.ic14", 0x4000000, 0x1000000 },
|
||||
{ "ax0101f01.bin", 0, 4, Key },
|
||||
{ NULL, 0, 0 },
|
||||
}
|
||||
},
|
||||
// Sega Strike Fighter (Rev A)
|
||||
{
|
||||
"sstrkfgt.zip",
|
||||
|
|
|
@ -484,7 +484,9 @@ using namespace std;
|
|||
#include "stdclass.h"
|
||||
|
||||
#ifndef RELEASE
|
||||
#define EMUERROR(format, ...) printf("Error in %s:%s:%d: " format "\n", __FILE__,__FUNCTION__ ,__LINE__, ##__VA_ARGS__)
|
||||
#define EMUERROR(format, ...) printf("Error in %s:%s:%d: " format "\n", \
|
||||
strlen(__FILE__) <= 20 ? __FILE__ : __FILE__ + strlen(__FILE__) - 20, \
|
||||
__FUNCTION__, __LINE__, ##__VA_ARGS__)
|
||||
#else
|
||||
#define EMUERROR(format, ...)
|
||||
#endif
|
||||
|
|
|
@ -260,9 +260,8 @@ void UpdateInputState(u32 port)
|
|||
DiscSwap();
|
||||
if (GetAsyncKeyState(VK_ESCAPE))
|
||||
dc_stop();
|
||||
#if DC_PLATFORM == DC_PLATFORM_NAOMI
|
||||
if (GetAsyncKeyState(VK_F8))
|
||||
coin_chute = true;
|
||||
#if DC_PLATFORM == DC_PLATFORM_NAOMI || DC_PLATFORM == DC_PLATFORM_ATOMISWAVE
|
||||
coin_chute = GetAsyncKeyState(VK_F8);
|
||||
naomi_test_button = GetAsyncKeyState(VK_F7);
|
||||
#endif
|
||||
// also Naomi service button
|
||||
|
|
Loading…
Reference in New Issue