I made some major strides on this project last night / today. It turns out after I interlaced the roms back together I had been splitting them at the wrong spot. I split the roms at the proper spot and copied them into the sf2ce folder and it ran but unfortunately the sprite layer is flickering. The good news is that everything else works perfectly, audio is fine, controls are fine, even all the m5 hacks are running great even though the system is running it like it would be on a normal cps1. So I've managed to decrypt these roms on my own using tools I found on the net. I even managed to get the accelerator part 2 hack running in the normal cps1 profile just by padding one of the rom dumps. I tested this M5 dump running as CE in multiple emulators and each emulator has the graphics flickering. I even did the same process on the m7 hack and got the same results, it ran but gave me flickering graphics in the emulator when loaded under the normal cps1 profile.
I also seem to have found the code that makes it run right.
This's taken from the latest release of cps1.c
1336 /* from here onwards the CPS-B board has suicide battery and multiply protection */
1262 /* name CPSB gfx mapper in2 in3 out2 kludge */
1359 {"sf2ce", CPS_B_21_DEF, mapper_S9263B, 0x36 },
1379 {"sf2m5", CPS_B_21_DEF, mapper_S9263B, 0x36, 0, 0, 1 },
it seems to be calling kludge, found the kludge code
1840 /* Some of the sf2 hacks use only sprite port 0x9100 and the scroll layers are offset */
1841 if (state->m_game_config->bootleg_kludge == 1)
1842 {
1843 state->m_cps_a_regs[CPS1_OBJ_BASE] = 0x9100;
1844 state->m_obj = cps1_base(machine, CPS1_OBJ_BASE, state->m_obj_size);
1845 scroll1xoff = -0x0c;
1846 scroll2xoff = -0x0e;
1847 scroll3xoff = -0x10;
1848 }
1849 else
1850 {
1851 state->m_obj = cps1_base(machine, CPS1_OBJ_BASE, state->m_obj_size);
1852 scroll1xoff = 0;
1853 scroll2xoff = 0;
1854 scroll3xoff = 0;
1855 }
also I'm pretty certain this's what causes the sprite flickering issue.
2337 /* some sf2 hacks draw the sprites in reverse order */
2338 if (state->m_game_config->bootleg_kludge == 1)
2339 {
2340 base += state->m_last_sprite_offset;
2341 baseadd = -4;
2342 }
2343 else
2344 {
2345 baseadd = 4;
2346 }
2347
I'm going to assume that the graphic flickering is caused by it drawing the sprites in reverse order. The sprite offeset just makes sprites draw in the wrong areas in the menu
(later in the c file)
434 /* CPSB ID multiply protection unknown ctrl priority masks palctrl layer enable masks */
448 #define CPS_B_21_DEF 0x32, -1, 0x00,0x02,0x04,0x06, 0x08, -1, -1, 0x26,{0x28,0x2a,0x2c,0x2e},0x30, {0x02,0x04,0x08,0x30,0x30}
Link is here:
http://mamedev.org/source/src/mame/video/cps1.c.htmlIt looks like someone would need to hack the roms to not draw sprites in reverse order...don't think I could do that... The sprite offset doesn't cause any real issues but the sprite reverse order thing causes flickering and that's no good