Cabal Neo Geo Port

Neo Alec

Orochi Spam Riot
20 Year Member
Joined
Dec 7, 2000
Posts
9,820
I've been meaning to write this topic for a few weeks now. I'm running on a different schedule than the rest of the world.

iq_132 ported TAD Corporation's Cabal, along with Terra Cresta and Soldier Girl Amazon to the Neo:

Latest MAME version:

Also working on Kid no Hore Hore Daisakusen (Booby Kids)

IQ's Patreon:

Cabal and Terra Cresta do apparently work on real hardware, but I've had no luck getting it working on the NeoSD so far. Here's the .neo file I created using the third party tool neosdconv. Apparently this file works on the Mister, but I can't get it working on any of my systems with the NeoSD:

Any help/ideas getting it working on the NeoSD appreciated.
 

Johnny16Bit

Zero's Secretary
Joined
May 20, 2015
Posts
153
Cheers Fredy, very curious to try it. :) I love Cabal, and that port is about as weird as it's exciting.
 

slugger_dan

Crazed MVS Addict
10 Year Member
Joined
Jul 15, 2008
Posts
133
Don't know how to put it on the available flash carts but I tried it on an AES and made a quick video capture. It does have graphics glitches that I don't see in the emulated video, audio seems ok. The title screen and high score display look fine but lots of glitches in gameplay.

 

city41

Bub & Bob's Bubble Buddy
10 Year Member
Joined
Dec 27, 2010
Posts
1,604
Cabal and Terra Cresta do apparently work on real hardware, but I've had no luck getting it working on the NeoSD so far. Here's the .neo file I created using the third party tool neosdconv. Apparently this file works on the Mister, but I can't get it working on any of my systems with the NeoSD:

I created neosdconv. I've also had no luck with Cabal either. I found TerraOnion's neobuilder and neosdconv both build identical neo files, so there's something odd about Cabal itself it seems. We also talked about this a bit on the TerraOnion discord with so far no luck. As far as I know, no one knows why it doesn't work.
 

traveno

Rugal's Thug
Joined
Feb 29, 2020
Posts
97
I can confirm the same results. I am also inclined to believe it has something to do with the ROM set. That is, the ROM set is sort of a hack and isn't fully "hooked into" the NG environment. Just my educated guess coming from a background in low level software development.

The NeoSD likely has certain expectations for the ROM set that would be common to all commercial NeoGeo games. The Cabal ROM set falls short of these expectations, therefore the NeoSD fumbles when the real hardware asks what to do. However, the Cabal ROM set works fine when hooked directly to hardware. I still consider this the fault of the ROM set and not the NeoSD.

Again, just my surface level guess on why this doesn't seem to work.
 
Last edited:

Burning Fight!!

NIS America fan & Rent Free tenant
Joined
Jan 12, 2014
Posts
2,806
It's really likely that Cabal just does stuff the wrong, or at least not expected, way. On the forums thread the dev itself said it doesn't work on AES and doesn't have the proper hooks for BIOS transitions like the eyecatcher. You guys will have to wait for a proper fix.
 

Neo Alec

Orochi Spam Riot
20 Year Member
Joined
Dec 7, 2000
Posts
9,820
Here's iq_132's comment about the NeoSD:

Yes, I suspect the way I am starting the game is the issue for the NeoSD. I hook into the vblank interrupt and take over the 68k as soon as it switches from the bios' vector table and starts using the game's vector table. I have not been able to get the standard jump table way to work for any of my ports. Here's a pseudo-code snippet of what I'm doing.
Code:
_vblank_callback
    ori     #$2700, SR               ; first item in vblank
    clr.b   $300001                ; kick watchdog
    move.w  #$7, $3c000c.l                 ; ack irq
    cmpi.b  #$1, $10d2ff            ; have we gone through init process?
    bne.s     _dont_use_game_vblank        ; no, jump to $122
    ; do game vblank here
 

geladobom

War Room Troll
Joined
Aug 26, 2020
Posts
443
All TAD Corp. games maybe had possibilities to be on neogeo, like toki. :love:
5 Games in total.
Blood Bros.
Heated Barrel
Legionnaire
Toki
 

geladobom

War Room Troll
Joined
Aug 26, 2020
Posts
443
Toki maybe. Blood Bros, less likely. Heated Barrel and Legionaire are very unlikely.
Because Legionaire is a fighting game and we have a lot of them? :ROFLMAO:
Pinball Action and Super Pinball Action it can be on NeoGeo, those ones are really great.
 
Last edited:

traveno

Rugal's Thug
Joined
Feb 29, 2020
Posts
97
Pinball Action and Super Pinball Action it can be on NeoGeo, those ones are really great.
Pinball games on the NeoGeo? It feels out of place, because if you're at the arcade, why would you opt for a pinball game on the NG if there's real machines around the corner? BUT... this scenario doesn't happen anymore because, you know, arcades pretty much dead as hell. These days, as a homebrew project I think it would be cool. I imagine something like Devil's Crush on TGFX16 but amped up to NG levels. Easily would become one of my favorite games.
 

geladobom

War Room Troll
Joined
Aug 26, 2020
Posts
443
Pinball games on the NeoGeo? It feels out of place, because if you're at the arcade, why would you opt for a pinball game on the NG if there's real machines around the corner? BUT... this scenario doesn't happen anymore because, you know, arcades pretty much dead as hell. These days, as a homebrew project I think it would be cool. I imagine something like Devil's Crush on TGFX16 but amped up to NG levels. Easily would become one of my favorite games.
Just an idea.
 

iq_132

Timid Neo Newbie
Joined
Nov 27, 2009
Posts
2

NeoCverA

RevQuixo. Who He?,
20 Year Member
Joined
Aug 7, 2002
Posts
6,585
This worked well enough (despite regions being way bigger than reality)

Code:
FILENAME( cabalng, neogeo, 0, 0, 0, 0, 320 )
 REGION( 0x900000, CPU1, 0 )
 ROM( 0, cabal-p1.bin, 0x000000, 0x100000, 0xbb193926 )

 REGION( 0x40000, GFX2, 0 )
 ROM( 0, cabal-s1.bin, 0x00000, 0x20000, 0x45f0bc5e )

 REGION( 0x20000, CPU2, 0 )
 ROM( 0, cabal-m1.bin, 0x10000, 0x10000, 0xefd97334 )

 REGION( 0x1000000, SOUND1, 0 )
 ROM( 0, cabal-v1.bin, 0x0000000, 0x100000, 0x1a5bbc12 )
 ROM( 0, cabal-v2.bin, 0x0100000, 0x100000, 0xa2b9c011 )

 REGION( 0x4000000, GFX3, 0 )
 ROMX( 0, cabal-c1.bin, 0x0000000, 0x1000000, 0x9f5ea8bb, 1, 1 )
 ROMX( 0, cabal-c2.bin, 0x0000001, 0x1000000, 0xedf277f2, 1, 1 )
 
END
 
Top