Closed drtanzil closed 9 months ago
dinohb
romset doesn't seem to exist in MAME and HBMAME, meaning we don't know which mapper it uses@barbudreadmon : I'm sharing the code here. Im looking for a while to make it work with FB Neo.
the code collected from Here: https://neo-source.com/index.php?topic=564.msg4835#msg4835
// Turbo (Bootleg + Hack) World
static struct BurnRomInfo dinohbRomDesc[] = {
{ "cd-d.800", 0x100000, 0x2A7B2915, BRF_ESS | BRF_PRG }, // 0
{ "cd-e.800", 0x100000, 0xE8370226, BRF_ESS | BRF_PRG }, // 1
{ "cd-a.160", 0x200000, 0x7e4F9FB3, BRF_GRA }, // 2
{ "cd-b.160", 0x200000, 0x89532d85, BRF_GRA }, // 3
{ "cd_q.rom", 0x020000, 0x605fdb0b, BRF_SND }, // 4
{ "cd_q1.rom", 0x080000, 0x60927775, BRF_SND }, // 5
{ "cd_q2.rom", 0x080000, 0x770f4c47, BRF_SND }, // 6
{ "cd_q3.rom", 0x080000, 0x2f273ffc, BRF_SND }, // 7
{ "cd_q4.rom", 0x080000, 0x2c67821d, BRF_SND }, // 8
};
STD_ROM_PICK(dinohb); STD_ROM_FN(dinohb);
static int dinohbInit()
{
int nRet=0; unsigned char *pqs=NULL;
Cps=1; Cps1Qs=1;
nCpsRomLen= 4*0x080000;
nCpsCodeLen=0; // not encrypted
nCpsGfxLen= 8*0x080000;
nCpsZRomLen= 2*0x020000;
nCpsQSamLen= 4*0x080000;
nRet=CpsInit(); if (nRet!=0) return 1;
// Load program roms
nRet=BurnLoadRom(CpsRom+0x000000,0,1); if (nRet!=0) return 1;
nRet=BurnLoadRom(CpsRom+0x100000,1,1); if (nRet!=0) return 1;
// Hack Fixes
// Fix draw scroll
*((unsigned short*)(CpsRom + 0x006C2)) = 0xFFC0;
// Fix gfx
*((unsigned short*)(CpsRom + 0x006CC)) = 0x0080;
*((unsigned short*)(CpsRom + 0x006CE)) = 0x010C;
*((unsigned short*)(CpsRom + 0x006DE)) = 0x0080;
*((unsigned short*)(CpsRom + 0x006E0)) = 0x0110;
*((unsigned short*)(CpsRom + 0x006F0)) = 0x0080;
*((unsigned short*)(CpsRom + 0x006F2)) = 0x0114;
*((unsigned short*)(CpsRom + 0x00704)) = 0x0080;
*((unsigned short*)(CpsRom + 0x00706)) = 0x010E;
*((unsigned short*)(CpsRom + 0x00718)) = 0x0080;
*((unsigned short*)(CpsRom + 0x0071A)) = 0x0112;
*((unsigned short*)(CpsRom + 0x0072C)) = 0x0080;
*((unsigned short*)(CpsRom + 0x0072E)) = 0x0116;
// Fix screen transitions
*((unsigned short*)(CpsRom + 0x00B28)) = 0x7000;
*((unsigned short*)(CpsRom + 0x00B2A)) = 0x7200;
*((unsigned short*)(CpsRom + 0x00B2C)) = 0x343C;
*((unsigned short*)(CpsRom + 0x00B32)) = 0x20C1;
// Fix sound
*((unsigned short*)(CpsRom + 0x00666)) = 0x00F1;
*((unsigned short*)(CpsRom + 0x00668)) = 0x8002;
*((unsigned short*)(CpsRom + 0xAAA6C)) = 0x00D8;
//
// Load graphics roms
CpsLoadTilesHack160(CpsGfx, 2);
nCpsLcReg=0x4a; // Layer control register is at 0x4a
CpsLayEn[1]=0x16;
CpsLayEn[2]=0x16;
CpsLayEn[3]=0x16;
// Protection enable code by KEV
CpsMProt[0]=0x00;
CpsMProt[1]=0x00;
CpsMProt[2]=0x00;
CpsMProt[3]=0x00;
// Board ID improvments by KEV. 0x00,0x0000
CpsBID[0]=0x00;
CpsBID[1]=0x00;
CpsBID[2]=0x00;
MaskAddr[0]=0x4c;
MaskAddr[1]=0x4e;
MaskAddr[2]=0x40;
MaskAddr[3]=0x42;
nRet=BurnLoadRom(CpsZRom,4,1);
dino_decode();
pqs=(unsigned char *)CpsQSam;
nRet=BurnLoadRom(pqs ,5,1);
nRet=BurnLoadRom(pqs+0x080000,6,1);
nRet=BurnLoadRom(pqs+0x100000,7,1);
nRet=BurnLoadRom(pqs+0x180000,8,1);
nRet=CpsRunInit(); if (nRet!=0) return 1;
// Ready to go
return 0;
}
struct BurnDriver BurnDrvCpsdinohb = {
"dinohb", "dino", NULL, "1993",
"Cadillacs and Dinosaurs - Turbo - 97 the second generation of dino\0", "", "Capcom", "CPS1",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_CLONE | BDF_BOOTLEG,3,HARDWARE_CAPCOM_CPS1_QSOUND,
NULL,dinohbRomInfo,dinohbRomName,DrvInputInfo, dinoDIPInfo,
dinohbInit,DrvExit,Cps1Frame,CpsRedraw,CpsAreaScan,
&CpsRecalcPal,384,224,4,3
};
From the rom definition, this romset seems to match the dinotpic
romset
@barbudreadmon : Thanks! I run dinotpic
and you are right! it seems dinohb
and dinotpic
are same. But got some issues. Player change hack not working on dinotpic
rom on libretro-FBNeo. Pressing play button should change the player.
For dinotpic
rom-
On PC-
On PS3 RetroArch-
@barbudreadmon : dinohb
or dinotpic
was very popular rom in south Asian countries. Arcade machines there run this bootleg. It has a great nostalgic value for a bigger audience of 90's kid. I don't have technical expertise to fix this rom and back to its original form. Requesting you to fix the issues if possible. Thanks in advance.
Again, this is the wrong place to write FBNeo reports, so i'll lock. Note that any issue happening on big-endian machines (PS3) probably won't get fixed.
Resuesting to add support for dinohb (Bootleg Hackset 3, Cadillacs & Dinosaur).
I'm pasting dat config-
ROMS-
¬``` dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd-d.800¬2a7b2915¬1048576¬dino¬¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd-e.800¬e8370226¬1048576¬dino¬¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd-a.160¬7e4f9fb3¬2097152¬dino¬¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd-b.160¬89532d85¬2097152¬dino¬¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd_q.rom¬605fdb0b¬131072¬dino¬cd_q.rom¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd_q1.rom¬60927775¬524288¬dino¬cd_q1.rom¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd_q2.rom¬770f4c47¬524288¬dino¬cd_q2.rom¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd_q3.rom¬2f273ffc¬524288¬dino¬cd_q3.rom¬ ¬dino¬Cadillacs and Dinosaurs (World 930201)¬dinohb¬Cadillacs and Dinosaurs (hack set 3)¬cd_q4.rom¬2c67821d¬524288¬dino¬cd_q4.rom¬