King of Fighters 94: Team Edit hack

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
I can ask Justin if you want.
If you could I'd appreciate it.

Even if the NeoSD doesn't implement wait cycles, then the worst case scenario is the hack runs the same as the original game which I'm ok with.

I think my idea is going to work. There's still a ways to go, but it's looking promising. I now have the hack running on the mister with no glitches at all, which is really nice.
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
I asked. He doesn't know.

They must be doing something, since NeoSD owners aren't reporting the glitches.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
Ok, thanks for asking.

I'm like 99% certain I've seen the glitch on the NeoSD. And when I did, I then fired up vanilla KOF94 and saw the glitch too. At the time I just figured it must be my particular NeoSD, which only kinda/sorta works. I had no idea about this wait cycle thing.

I'll see if I can repro again on the NeoSD and record it.

NeoSD owners aren't reporting the glitches

I still think it's possible the glitches are happening. Based on the mister's data, only older games seem to use these wait cycle workarounds. So I wouldn't be surprised if these older games just aren't played all that much. And on top of that the glitch is pretty rare. Capturing that Chang instance took about an hour of playing (that was on the mister).
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
So, I tested on both my NeoSD Pro AES and NeoSD Pro MVS, and got some interesting results. I was only able to reproduce the glitch on my MV4F, pretty consistently, and yes it only happens on the TE hack, not with the original game rom. On my MV1C with the same cartridge, and on my AES, the glitch never shows up on the TE hack. My AES and MVS cartridges are both running the same firmware version and have all the same settings in the NeoSD menu. I ran all of the systems in AES modes. So maybe it only affects certain systems? It's bizarre.

Justin replied some more. He thinks maybe the NeoSD uses a lookup table to determine which games to apply SLOWROM to. If that's the case then it probably doesn't use the NGH number for the lookup, since you're already using the normal KOF94 NGH number for your rom. You know what, let me try renaming the rom to the normal kof94 file name and see if that does it...
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
Yep, I was right. That did it. I renamed the TE hack to kof94.neo and the glitch went away on my MV4F. I renamed the regular KOF94 rom to kof94-old.neo and now the regular game rom is glitching.

So it seems that the NeoSD is probably using a lookup table based on the file name. And the Mister issue is probably something similar. Justin gets all the credit for that theory.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
Yep, I was right. That did it. I renamed the TE hack to kof94.neo and the glitch went away on my MV4F. I renamed the regular KOF94 rom to kof94-old.neo and now the regular game rom is glitching.
Interesting. Awesome work. I'm going to try this now.


This should answer a mystery from all of this. If kof94te uses SLOWROM on the NeoSD, then it too should be very laggy just like on the mister. If it's not, then that means either the mister's wait cycle implementation is too aggressive, or the NeoSD is actually not using wait cycles and the fact the glitch never occurred was pure chance.

Btw, I was just testing the hack on the NeoSD and it immediately had the glitch.


EDIT: renaming the hack to kof94.neo does not cause any lag at all. I'm going to reach out to the mister team to see what they think.
 
Last edited:

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
Just asked the mister team here




oh and 1.3.1 (that addresses this issue) is now at beta 3 and looking really good. It runs beautifully on the mister. I think 1.3.1 proper will be out in the next day or two.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
Doh, neodev has shut down private messages on discord (can't blame him...) so as far as I know, there is no way to ask TerraOnion.
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
I don't think slowrom causes any lag issues on the NeoSD. I think that's a Mister-specific problem.

Sounds like no one on the TO discord could answer so far? I wonder if there's a rom name lookup table baked into the NeoSD firmware or if maybe there's something in the BUP file or something.

I'm a little frustrated that stuff like the game images are baked in. The NeoSD and the NeoBuilder tool were made before the Neo Geo homebrew/indie scene took off, so the cart seems kind of geared toward a set list of official games and known existing hacks. And other than blocking out Last Hope, NGDevTeam games aren't a concern.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
I don't think slowrom causes any lag issues on the NeoSD. I think that's a Mister-specific problem.
I am now pretty darn confident the NeoSD never sets slowrom at all. I think the Ninja Commando cutscenes are very strong evidence.
I'm a little frustrated that stuff like the game images are baked in.
I think this is ok. ROM hacks are really the only casualties here. For brand new games, I can't imagine any devs would turn on slowrom.

EDIT: actually, even ROM hacks are fine if it's true the NeoSD never sets slowrom (and I'm like at 99.999% at this point).
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
So are you seeing the glitches on your NeoSD even on the unhacked original KOF94? This was not my experience.

What system are you testing with? I only got the glitches on my MV4F, but the MV1C and AES 3-4 were fine.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
So are you seeing the glitches on your NeoSD even on the unhacked original KOF94? This was not my experience.
The problem is KOF94's glitches are very random. I can go for hours and not see one.

Ninja Commando's cutscene glitches seem to happen every time.

Oh and I forgot, KOF94 does have a deterministic glitch, win quotes.


That flickering only happens on the NeoSD, or on the mister with slow rom disabled. On the mister with slow rom turned on, or using a real KOF94 cart, the win quotes are fine.
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
I'm not sure. I'm able to trigger glitching at least half the time on my MV4F by selecting Chang. On my other systems and with the original rom it never seems to happen.

I can also see it in-game on the characters once in a while.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
Check the win quotes. Compare the NeoSD with a real cart. That should be conclusive.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
And here are the Ninja Commando graphical glitches


Check the upper left and right corners once the side images appear.

That happens for me every time on a NeoSD, but never happens on the mister.
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
Damn, you're right. Now I'm getting the glitches on the original KOF94 rom too. Guess my theory about the filename was wrong. This is not good news for the NeoSD. I wonder if we could come up with a list of games affected.

But it only happens with certain systems. I still can't see the glitch on my AES 3-4 or MV1C.

I just added my last system into the mix, an MV1FS board. This one is showing the glitches, like my MV4F. So far it's happening only on older revision hardware I guess. Which system are you testing with?

Edit: Tested with Ninja Commando, and I am getting the intro glitches on the MV1C. Is the KOF94 glitch just less consistent? I can trigger it easily on the MV1FS and the MV4F, but not the MV1C.

I'm getting the flashing text on the win quotes with the MV1C too. Seems like the glitch after selecting characters never happens on the newer hardware, but the other two problems you've pointed out are always there on every system.
 
Last edited:

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
I hope you have some luck getting through to TO. This is an issue that really needs to be addressed if possible. I'm going to be paranoid capturing footage of older games using the NeoSD going forward.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
wonder if we could come up with a list of games affected.
I think the mister team already has. In a mister distro, in the /media/fat/games/NEOGEO directory is romsets.xml, which has all official games. If a game has p_wait="1" and/or rom_wait="1" specified, then it is using one form of wait cycles (there are three different forms in total).

Not sure where romsets.xml lives outside of a mister distribution, I can't find it in their github repo.
Which system are you testing with?
A US AES with serial 13793 and uses the PRO-POW power supply.

I'm not a hardware guy at all. But maybe the randomness across different systems has to do with how fast a given system's video RAM is. I would guess SNK had a spec and some systems are a bit faster and some slower, but all fall within the spec. Total, wild guess.

hope you have some luck getting through to TO. This is an issue that really needs to be addressed if possible.
I posted another message to their discord. This is the only form of contact I know of.

If the neosd has control of the 3 wait cycle cartridge pins, maybe this can be fixed with a firmware update?
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
1.3.1 release candidate is available here if anyone wants to give it a try

I am feeling good about this one, but I'm going to give it one more round of testing myself before releasing 1.3.1 for real.

This version addresses the mister issue. So the hack will play correctly on the mister now. And presumably real hardware if a real cart was properly made (I plan to try this myself someday).

It also contains many small tweaks and bug fixes. Even if you play on emulators, 1.3.1 is recommended.
 

Neo Alec

Warrior of the Innanet
20 Year Member
Joined
Dec 7, 2000
Posts
12,907
I think the mister team already has. In a mister distro, in the /media/fat/games/NEOGEO directory is romsets.xml, which has all official games. If a game has p_wait="1" and/or rom_wait="1" specified, then it is using one form of wait cycles (there are three different forms in total).

Not sure where romsets.xml lives outside of a mister distribution, I can't find it in their github repo.

Interesting. Only three games currently have rom_wait="1":
Ninja Combat
Ninja Commando
KOF 94

The p_wait="1" is listed on more newer releases than I would have guessed. What's the difference? The rom_wait one would seem to be of more consequence for this discussion so far.

Surely there are more games than just those three? That's a very limited list.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
What's the difference?
My guess is p_wait is PORT zone and rom_wait is ROM zone

  • 000000~0FFFFF: ROM zone (P ROM) - Configurable, 0 or 1 cycle
  • 200000~2FFFFF: PORT zone (P ROM or special chips) - Configurable, 0, 1, 2 or more cycles
  • 800000~BFFFFF: Memory card - Fixed, 2 cycles
000000-0FFFFF is always the first bank of all proms. 200000-2FFFFF is the second bank of a 2meg prom (as in kof94), but can also be other things via bank switching, or any arbitrary bank of larger proms.
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
This post talks about wait cycles being needed for proper effects in garou


But then the mister list has nothing turned on for garou (I think ram="2" just means it's a big game and so more mister ram modules are needed).
 

city41

Sultan of Slugs
10 Year Member
Joined
Dec 27, 2010
Posts
2,583
What I don't understand is when the mister turned wait cycles on, it was absolutely disastrous to the hack. The character select screen would run at about 2fps. Based on my understanding of wait cycles, and the the things I did to get the hack working again, it just doesn't add up. But I trust the mister team, they seem to know game hardware quite well. So I'm assuming my understanding must not be correct.

That's why I was really hoping the NeoSD did wait cycles, as I wanted to compare. Oh well.
 
Top