for the arm7 crash issue, there is another function to patch:
void Arm7_program_write_dword_32le(UINT32 addr, UINT32 data)
{
#if defined FBA_DEBUG
if (!DebugCPU_ARM7Initted) bprintf(PRINT_ERROR, _T("Arm7_program_write_dword_32le called without init\n"));
#endif
addr &= MAX_MEMORY_AND;
also all the ddp3 (ddpdoj) roms are flagged as GBF_SCRFIGHT instaed of GBF_VERTSHOOT