50 fighter entries
The KOF '98 cast, five Street Fighter guests and hidden forms — including Kyo Nests, Kyo Ash, Rugal and Omega Rugal.
Fan-made port · Super Nintendo
The SNESFest
A complete SNES fighting engine built from scratch — 50 fighters, 10 stages, six game modes and the full KOF '98 system set, running on real 16-bit hardware.
SNS-KF-USA · Fan-made · Not for sale
Trailer
The official English trailer: the fighting engine, the modes and the full roster running on a real SNES.
The story
About 30 years ago, seeing Street Fighter Alpha 2 running on the Super Nintendo felt impossible: large characters, smooth animation, effects and voices… all on a 16-bit console. That game left a mark — and proved that the SNES, when someone truly commits, can reach places that once seemed unimaginable.
Time passed, but the urge to push the SNES to its limit stayed. This port of The King of Fighters '98 was born from that obsession: take a huge fighting game full of systems, characters and effects, and make it fit on hardware many people already considered maxed out in the 90s.
It is not an emulator, a wrapper or an official ROM. It is a custom fighting engine written in 65816 + PVSnesLib, with assets converted from MUGEN/KOF '98 packages, running for real on the SNES — or on a compatible emulator.
"The SNES, when someone truly commits to it, can reach places that once seemed unimaginable."
— Fábio AD, developer
What's inside
Everything you expect from KOF '98 is here: the meter, the cancels, the teams, the attitude. Rebuilt from the ground up for the SNES.
The KOF '98 cast, five Street Fighter guests and hidden forms — including Kyo Nests, Kyo Ash, Rugal and Omega Rugal.
Build meter, activate MAX and spend it on supers, MAX/SDM versions and Quick SDM. Chains, cancels and juggles included.
High, low and air blocking, chip damage, pushback, blowback guard crush, character-specific counters, reversals and throws.
Eight difficulty levels and four profiles — zoner, rush, grappler and balanced. Aggression, defense and super usage scale with the level.
Single Play campaign, local versus, 3v3 Team Play, Team VS, Survivor with its own ending, and a full-featured Practice mode.
Stream character tiles, voices and the 13-still Survivor ending from the optional MSU-1 file. Music and SFX stay on SPC700/SNESMOD.
The roster
The KOF '98 family, a few special guests and hidden forms. Search the roster or filter by category.
No fighters match your search.
Without MSU-1, the ROM-resident roster is Kyo, Iori, Shingo, Terry, Benimaru, Daimon and Omega Rugal. Everything else needs the data file.
Game modes
Six modes, plus an attract demo and a sound test. Every match is best of three rounds.
Arcade campaign. Fight your way through the roster and reach the ending.
Two players, one screen. Classic local versus, best of three.
Pick three fighters and take on the CPU in team elimination order.
Two local teams of three. Build your order and settle it on the screen.
Endless gauntlet with its own 13-still ending when MSU-1 data is present.
Command list in the pause menu, infinite meter, protected health, frozen clock and an idle CPU.
Screenshots
Native 256×224 resolution. Click any shot to open it full size.
MSU-1
The optional MSU-1 data file unlocks the complete roster, streamed graphics and voices. The ROM alone still runs the core game.
Controls
Direction + button combinations reproduce the classic MUGEN motions — QCF, QCB, DP, HCF, HCB, charge and double motions.
L = dodge · R = blowback · L+R = taunt. On the select screen, SELECT changes the AI level; in a fight it opens the pause menu.
| Button | Action |
|---|---|
| D-pad | Walk, crouch, jump |
| Y | Light punch |
| X | Strong punch |
| B | Light kick |
| A | Strong kick |
| L | Standing dodge |
| L + ←/→ | Back / forward roll |
| R | Blowback (CD) |
| L + R | Taunt |
| START | Confirm / advance menus. In Single or Team Play, START on the CPU side opens that side's character select. |
| SELECT | Changes the AI level on the select screen. During a fight, opens the pause menu (Continue / Command List / Exit). |
Under the hood
A hybrid PVSnesLib build with a hand-written assembly fighting engine, plus Python tools that convert MUGEN assets into compact tables.
# requirements: PVSnesLib 4.6+, WLA-DX, Python 3
make pvsnes PVSNESLIB_HOME=~/pvsneslib
make pvsnes-verify PVSNESLIB_HOME=~/pvsneslib
# output
kof98-snes.sfc # 64 megabit ROM
kof98-snes.msu # optional data (~222 megabit) — ROM+MSU-1 = 286 megabit
Keep both files together for the full roster. Use only the .sfc to play without MSU-1.
src/engine/fight.asm
The 65816 fighting engine core.
src/snes/fight_bridge.asm
ASM bridge and memory map for the PVSnesLib build.
tools/build_fight.py
Converts SFF/AIR/CNS/CMD into compact tables.
tools/build_stages.py + tools/build_audio.py
Stage and audio conversion.
docs/
Technical docs, move lists and validation reports.
Credits
This port would not exist without the people who extracted and shared these assets over the years. Their names greet you on the very first screen of the game.
THANKS FOR
IKARUGA, ZELGADIS,
NEOGOUKI, OHGAKI, M.M.R.,
AHURON, LE@N, MDK, JUANXOC,
TESTP, JERZY, 119WAY,
FERVICANTE, KAMRANBERNSTEIN,
KOOPAKOOT, SANDER71113, EHNYD,
MOUSER, H", VICE, BRAZOMBIE,
GONZO-, JIN, J.LEE
Thank you also to the MUGEN community, the PVSnesLib and WLA-DX maintainers, the SNES/SPC700 scene, and the emulator developers at Snes9x, Mesen and bsnes.
If I forgot anyone, please let me know — the credit belongs to you.
Bug tracker
Describe the bug you found in the game — the character, the mode, the move and what happened. Your report goes straight to the public list below and helps shape the next fixes.
No bugs reported yet. Be the first!
Loading bug reports…
Download
Grab the latest build from GitHub Releases. 286 megabit total (ROM + MSU-1): download the ROM and the optional MSU-1 data if you want the full roster and streamed extras.
kof98-snes.sfc + kof98-snes.msu
Fan project, unofficial and non-commercial. The King of Fighters, SNK, Street Fighter and Capcom characters belong to their respective owners.