Hi ,
I have finish the patch for the Novag Super system IV.
However, because there is no place for the patch (12k fully used), I
have added a rom file of 256 bytes for the patch, implemented in CF00.
This binary file "patch_castling-lrom" should be added to rom file ssystem4.zip.
Code:
0000 : 20 A3 FF A9 00 85 21 A9
0008 : 08 A6 D7 E0 84 D0 04 05
0010 : 21 85 21 A9 04 A6 DE E0
0018 : 84 D0 04 05 21 85 21 A9
0020 : 02 A6 67 E0 44 D0 04 05
0028 : 21 85 21 A9 01 A6 6E E0
0030 : 44 D0 04 05 21 85 21 60
0038 : FF FF FF FF FF FF FF FF
0040 : FF FF FF FF FF FF FF FF
0048 : FF FF FF FF FF FF FF FF
0050 : FF FF FF FF FF FF FF FF
0058 : FF FF FF FF FF FF FF FF
0060 : FF FF FF FF FF FF FF FF
0068 : FF FF FF FF FF FF FF FF
0070 : FF FF FF FF FF FF FF FF
0078 : FF FF FF FF FF FF FF FF
0080 : FF FF FF FF FF FF FF FF
0088 : FF FF FF FF FF FF FF FF
0090 : FF FF FF FF FF FF FF FF
0098 : FF FF FF FF FF FF FF FF
00A0 : FF FF FF FF FF FF FF FF
00A8 : FF FF FF FF FF FF FF FF
00B0 : FF FF FF FF FF FF FF FF
00B8 : FF FF FF FF FF FF FF FF
00C0 : FF FF FF FF FF FF FF FF
00C8 : FF FF FF FF FF FF FF FF
00D0 : FF FF FF FF FF FF FF FF
00D8 : FF FF FF FF FF FF FF FF
00E0 : FF FF FF FF FF FF FF FF
00E8 : FF FF FF FF FF FF FF FF
00F0 : FF FF FF FF FF FF FF FF
00F8 : FF FF FF FF FF FF FF FF
The calling of the patch is implemented in D84F :
D84F : 4C 00 CF in place of 20 A3 FF .
Modifications in ssystem3.cpp :
ROM_LOAD("patch_castling-lrom", 0xcf00, 0x0100, CRC(08C339C3) SHA1(633FE10EAC04C3DDB1FA4956244C76B1D689D02B) ) // patch
ROM_LOAD("c45021_ss4-lrom" , 0xd000, 0x1000, CRC(14E99641) SHA1(AAFF8588CB14084FABEE53B63AF70566A4C10FFA) ) // 2332
You have to add the last line in the ssystem4_map :
void ssystem3_state::ssystem4_map(address_map &map)
{
map(0x0000, 0x03ff).ram();
map(0x4400, 0x440f).m(m_via, FUNC(via6522_device::map));
map(0x4800, 0x48ff).noprw(); // no nvram
map(0xcf00, 0xffff).rom(); // added for patch
}
Do not forget to make a new compilation of mame.
There's no need to make a “New Game” before entering in EP mode.
Cordialy,
mychess