Skip to content

Commit

Permalink
add neogeo cd super speed loader hack (+dip option)
Browse files Browse the repository at this point in the history
  • Loading branch information
dinkc64 committed Jul 28, 2023
1 parent ea042a3 commit 6a0ca6d
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/burn/drv/neogeo/d_neogeo.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -908,6 +908,10 @@ static struct BurnDIPInfo neoCDDIPList[] = {
{0x01, 0x01, 0x03, 0x00, "Neo Geo CDZ" },
{0x01, 0x01, 0x03, 0x01, "Universe BIOS (Hack, Ver. 3.3)" },
{0x01, 0x01, 0x03, 0x02, "Universe BIOS (Hack, Ver. 3.2)" },

{0, 0xFD, 0, 2, "CD Loading Speed" },
{0x01, 0x01, 0x80, 0x00, "Normal" },
{0x01, 0x01, 0x80, 0x80, "Super Speed" },
};

STDDIPINFO(neoCD)
Expand Down
12 changes: 12 additions & 0 deletions src/burn/drv/neogeo/neo_run.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -4577,6 +4577,8 @@ static INT32 NeoSekRun(const INT32 nCycles)
return nCyclesExecutedTotal;
}

static INT32 in_cd_ffwd = 0;

INT32 NeoFrame()
{
//bprintf(0, _T("%X,"), SekReadWord(0x108)); // show game-id
Expand Down Expand Up @@ -5108,5 +5110,15 @@ INT32 NeoFrame()
CDEmuGetSoundBuffer(pBurnSoundOut, nBurnSoundLen);
}

// neocd super-speed-loader hack for the impatient
if (nNeoSystemType & NEO_SYS_CD && in_cd_ffwd == 0 && NeoCDBios & 0x80) {
in_cd_ffwd = 1;
while (NeoCDAssyStatus == 1 && bNeoCDLoadSector && LC8951RegistersW[10] & 4) {
NeoFrame();
if (pBurnSoundOut) BurnSoundClear();
}
in_cd_ffwd = 0;
}

return 0;
}

0 comments on commit 6a0ca6d

Please sign in to comment.