Fix kov command CC (fixes game stage 6)

This commit is contained in:
iq_132 2012-10-21 06:19:26 +00:00
parent 9426db11a5
commit 110c815d5c
2 changed files with 23 additions and 11 deletions

View File

@ -3108,9 +3108,9 @@ struct BurnDriver BurnDrvKetb = {
// Ketsui Kizuna Jigoku Tachi (Arrange Mode version 1.0, hack by Trap15)
static struct BurnRomInfo ketarrRomDesc[] = {
{ "ketarr_v100.u38", 0x200000, 0xd4c7a8ab, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code
{ "ketarr_v100.u38", 0x200000, 0xd4c7a8ab, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code
{ "t04701w064.u19", 0x800000, 0x2665b041, 2 | BRF_GRA }, // 1 Tile data
{ "t04701w064.u19", 0x800000, 0x2665b041, 2 | BRF_GRA }, // 1 Tile data
{ "a04701w064.u7", 0x800000, 0x5ef1b94b, 3 | BRF_GRA }, // 2 Sprite Color Data
{ "a04702w064.u8", 0x800000, 0x26d6da7f, 3 | BRF_GRA }, // 3
@ -3119,9 +3119,9 @@ static struct BurnRomInfo ketarrRomDesc[] = {
{ "m04701b032.u17", 0x400000, 0xb46e22d1, 5 | BRF_SND }, // 5 Samples
{ "ket_igs027a.bin", 0x004000, 0x00000000, 7 | BRF_PRG | BRF_ESS | BRF_NODUMP }, // 6 Internal ARM7 Rom
{ "ket_igs027a.bin", 0x004000, 0x00000000, 7 | BRF_PRG | BRF_ESS | BRF_NODUMP }, // 6 Internal ARM7 Rom
{ "ket_defaults.nv", 0x020000, 0x3ca892d8, 0 | BRF_OPT }, // 7 NV RAM
{ "ket_defaults.nv", 0x020000, 0x3ca892d8, 0 | BRF_OPT }, // 7 NV RAM
};
STDROMPICKEXT(ketarr, ketarr, ketsuiBios) // custom bios
@ -3141,9 +3141,9 @@ struct BurnDriver BurnDrvketarr = {
// Ketsui Kizuna Jigoku Tachi (Arrange Mode version 1.5, hack by Trap15)
static struct BurnRomInfo ketarr15RomDesc[] = {
{ "ketarr15_v100.u38", 0x200000, 0x552a7d95, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code
{ "ketarr15_v100.u38", 0x200000, 0x552a7d95, 1 | BRF_PRG | BRF_ESS }, // 0 68K Code
{ "t04701w064.u19", 0x800000, 0x2665b041, 2 | BRF_GRA }, // 1 Tile data
{ "t04701w064.u19", 0x800000, 0x2665b041, 2 | BRF_GRA }, // 1 Tile data
{ "a04701w064.u7", 0x800000, 0x5ef1b94b, 3 | BRF_GRA }, // 2 Sprite Color Data
{ "a04702w064.u8", 0x800000, 0x26d6da7f, 3 | BRF_GRA }, // 3
@ -3152,9 +3152,9 @@ static struct BurnRomInfo ketarr15RomDesc[] = {
{ "m04701b032.u17", 0x400000, 0xb46e22d1, 5 | BRF_SND }, // 5 Samples
{ "ket_igs027a.bin", 0x004000, 0x00000000, 7 | BRF_PRG | BRF_ESS | BRF_NODUMP }, // 6 Internal ARM7 Rom
{ "ket_igs027a.bin", 0x004000, 0x00000000, 7 | BRF_PRG | BRF_ESS | BRF_NODUMP }, // 6 Internal ARM7 Rom
{ "ket_defaults.nv", 0x020000, 0x3ca892d8, 0 | BRF_OPT }, // 7 NV RAM
{ "ket_defaults.nv", 0x020000, 0x3ca892d8, 0 | BRF_OPT }, // 7 NV RAM
};
STDROMPICKEXT(ketarr15, ketarr15, ketsuiBios) // custom bios

View File

@ -1508,6 +1508,13 @@ void install_protection_asic27a_oldsplus()
//-------------------------------------
// Knights of Valour
//-----------------------------------------------------------------------------------------------------
// ASIC28 - Knights of Valour
static const UINT8 B0TABLE[8] = { 2, 0, 1, 4, 3 }; // Maps char portraits to tables
static const UINT8 BATABLE[0x40] = {
@ -1518,6 +1525,8 @@ static const UINT8 BATABLE[0x40] = {
static void kov_asic27a_sim_command(UINT8 command)
{
bprintf (0, _T("C: %2.2x, V: %4.4x\n"), command, asic27a_sim_value);
switch (command)
{
case 0x67: // unknown or status check?
@ -1530,8 +1539,8 @@ static void kov_asic27a_sim_command(UINT8 command)
break;
case 0x99: // Reset
asic27a_sim_response = 0x880000;
asic27a_sim_key = 0;
asic27a_sim_response = 0x880000;
break;
case 0x9d: // Sprite palette offset
@ -1570,8 +1579,11 @@ static void kov_asic27a_sim_command(UINT8 command)
break;
case 0xcc: // Background layer offset
if (asic27a_sim_value & 0x400) asic27a_sim_value = -(0x400 - (asic27a_sim_value & 0x3ff));
asic27a_sim_response = 0x900000 + ((asic27a_sim_regs[0xcb] + (asic27a_sim_value * 0x40)) * 4);
{
INT32 y = asic27a_sim_value;
if (y & 0x400) y = -(0x400 - (y & 0x3ff));
asic27a_sim_response = 0x900000 + (((asic27a_sim_regs[0xcb] + y * 64) * 4));
}
break;
case 0xd0: // Text palette offset