This commit is contained in:
phoe-nix 2013-04-16 07:57:29 +08:00
parent cfacb41afe
commit 6b8e7bea24
358 changed files with 506576 additions and 0 deletions

342
Makefile Normal file
View File

@ -0,0 +1,342 @@
#------------------------------------------------------------------------------
#
# CPS1/CPS2/NEOGEO/NEOGEO CDZ Emulator for PSP Makefile
#
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Configuration
#------------------------------------------------------------------------------
BUILD_CPS1PSP = 1
#BUILD_CPS2PSP = 1
#BUILD_MVSPSP = 1
#BUILD_NCDZPSP = 1
PSP_SLIM = 1
#KERNEL_MODE = 1
COMMAND_LIST = 1
ADHOC = 1
SAVE_STATE = 1
UI_32BPP = 1
#RELEASE = 1
VERSION_MAJOR = 2
VERSION_MINOR = 3
VERSION_BUILD = 1
#------------------------------------------------------------------------------
# Defines
#------------------------------------------------------------------------------
OS = psp
ifdef PSP_SLIM
PSP_FW_VERSION = 371
KERNEL_MODE =
else
PSP_FW_VERSION = 150
endif
ifdef BUILD_CPS1PSP
BUILD_CPS2PSP=
BUILD_MVSPSP=
BUILD_NCDZPSP=
TARGET = CPS1PSP
endif
ifdef BUILD_CPS2PSP
BUILD_MVSPSP=
BUILD_NCDZPSP=
TARGET = CPS2PSP
endif
ifdef BUILD_MVSPSP
BUILD_NCDZPSP=
TARGET = MVSPSP
endif
ifdef BUILD_NCDZPSP
TARGET = NCDZPSP
ADHOC =
endif
PBPNAME_STR = $(TARGET)
ifeq ($(VERSION_BUILD), 0)
VERSION_STR = $(VERSION_MAJOR).$(VERSION_MINOR)
else
VERSION_STR = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
endif
EXTRA_TARGETS = maketree EBOOT.PBP delelf
#------------------------------------------------------------------------------
# Utilities
#------------------------------------------------------------------------------
ifeq ($(PSPDEV),)
MD = -mkdir
RM = -rm
else
MD = -mkdir.exe
RM = -rm.exe
endif
#------------------------------------------------------------------------------
# File include path
#------------------------------------------------------------------------------
INCDIR = \
src \
src/zip \
src/zlib \
src/libmad
ifdef PSP_SLIM
INCDIR += src/SDK/include
endif
#------------------------------------------------------------------------------
# Object Directory
#------------------------------------------------------------------------------
OBJDIRS = \
$(OBJ) \
$(OBJ)/cpu \
$(OBJ)/common \
$(OBJ)/sound \
$(OBJ)/zip \
$(OBJ)/zlib \
$(OBJ)/libmad \
$(OBJ)/$(OS) \
$(OBJ)/$(OS)/font \
$(OBJ)/$(OS)/icon
#------------------------------------------------------------------------------
# Object Files (common)
#------------------------------------------------------------------------------
MAINOBJS = \
$(OBJ)/emumain.o \
$(OBJ)/zip/zfile.o \
$(OBJ)/zip/unzip.o \
$(OBJ)/sound/sndintrf.o \
$(OBJ)/common/cache.o \
$(OBJ)/common/loadrom.o
ifdef ADHOC
MAINOBJS += $(OBJ)/common/adhoc.o
endif
ifdef COMMAND_LIST
MAINOBJS += $(OBJ)/common/cmdlist.o
endif
ifdef SAVE_STATE
MAINOBJS += $(OBJ)/common/state.o
endif
FONTOBJS = \
$(OBJ)/$(OS)/font/graphic.o \
$(OBJ)/$(OS)/font/ascii_14p.o \
$(OBJ)/$(OS)/font/font_s.o \
$(OBJ)/$(OS)/font/bshadow.o \
$(OBJ)/$(OS)/font/command.o \
$(OBJ)/$(OS)/font/ascii_14.o \
$(OBJ)/$(OS)/font/latin1_14.o \
$(OBJ)/$(OS)/font/jpn_h14.o \
$(OBJ)/$(OS)/font/jpn_h14p.o \
$(OBJ)/$(OS)/font/jpn_z14.o \
$(OBJ)/$(OS)/font/sjis_tbl.o
OSOBJS = \
$(OBJ)/$(OS)/$(OS).o \
$(OBJ)/$(OS)/config.o \
$(OBJ)/$(OS)/filer.o \
$(OBJ)/$(OS)/input.o \
$(OBJ)/$(OS)/ticker.o \
$(OBJ)/$(OS)/ui.o \
$(OBJ)/$(OS)/ui_draw.o \
$(OBJ)/$(OS)/ui_menu.o \
$(OBJ)/$(OS)/ui_text.o \
$(OBJ)/$(OS)/video.o \
$(OBJ)/$(OS)/sound.o \
$(OBJ)/$(OS)/png.o \
ifdef ADHOC
OSOBJS += $(OBJ)/$(OS)/adhoc.o
endif
OSOBJS += $(OBJ)/$(OS)/SystemButtons.o
ifdef UI_32BPP
OSOBJS += $(OBJ)/$(OS)/wallpaper.o
endif
ZLIB = \
$(OBJ)/zlib/adler32.o \
$(OBJ)/zlib/compress.o \
$(OBJ)/zlib/uncompr.o \
$(OBJ)/zlib/crc32.o \
$(OBJ)/zlib/deflate.o \
$(OBJ)/zlib/inflate.o \
$(OBJ)/zlib/inftrees.o \
$(OBJ)/zlib/inffast.o \
$(OBJ)/zlib/trees.o \
$(OBJ)/zlib/zutil.o
#------------------------------------------------------------------------------
# Include makefiles
#------------------------------------------------------------------------------
include src/makefiles/$(TARGET).mak
#------------------------------------------------------------------------------
# Compiler Flags
#------------------------------------------------------------------------------
CFLAGS = \
-O2 \
-fomit-frame-pointer \
-fstrict-aliasing \
-falign-functions=32 \
-falign-loops \
-falign-labels \
-falign-jumps \
-Wall \
-Wundef \
-Wpointer-arith \
-Wbad-function-cast \
-Wwrite-strings \
-Wmissing-prototypes \
-Wsign-compare \
-Werror
#------------------------------------------------------------------------------
# Compiler Defines
#------------------------------------------------------------------------------
CDEFS = -DINLINE='static __inline' \
-Dinline=__inline \
-D__inline__=__inline \
-DBUILD_$(TARGET)=1 \
-DPBPNAME_STR='"$(PBPNAME_STR)"' \
-DVERSION_STR='"$(VERSION_STR)"' \
-DVERSION_MAJOR=$(VERSION_MAJOR) \
-DVERSION_MINOR=$(VERSION_MINOR) \
-DVERSION_BUILD=$(VERSION_BUILD) \
-DPSP
ifdef PSP_SLIM
CDEFS += -DPSP_SLIM=1
endif
ifdef KERNEL_MODE
CDEFS += -DKERNEL_MODE=1
endif
ifdef ADHOC
CDEFS += -DADHOC=1
SAVE_STATE = 1
endif
ifdef SAVE_STATE
CDEFS += -DSAVE_STATE=1
endif
ifdef COMMAND_LIST
CFLAGS += -DCOMMAND_LIST=1
endif
ifdef UI_32BPP
CFLAGS += -DPSP_VIDEO_32BPP=1
else
CFLAGS += -DPSP_VIDEO_32BPP=0
endif
ifdef RELEASE
CDEFS += -DRELEASE=1
else
CDEFS += -DRELEASE=0
endif
#------------------------------------------------------------------------------
# Linker Flags
#------------------------------------------------------------------------------
ifdef PSP_SLIM
LIBDIR = src/SDK/lib
else
LIBDIR =
endif
LDFLAGS =
#------------------------------------------------------------------------------
# Library
#------------------------------------------------------------------------------
USE_PSPSDK_LIBC = 1
LIBS = -lm -lc -lpspaudio -lpspgu -lpsppower -lpsprtc
ifdef PSP_SLIM
LIBS += -lpspkubridge
endif
ifdef ADHOC
LIBS += -lpspwlan -lpspnet_adhoc -lpspnet_adhocctl -lpspnet_adhocmatching
endif
ifdef BUILD_NCDZPSP
LIBS += src/libmad/libmad.a
endif
#------------------------------------------------------------------------------
# Rules to make libraries
#------------------------------------------------------------------------------
OBJS = $(MAINOBJS) $(COREOBJS) $(OSOBJS) $(FONTOBJS) $(ICONOBJS) $(ZLIB)
include src/makefiles/build.mak
#------------------------------------------------------------------------------
# Rules to manage files
#------------------------------------------------------------------------------
$(OBJ)/%.o: src/%.c
@echo Compiling $<...
@$(CC) $(CDEFS) $(CFLAGS) -c $< -o$@
ifdef KERNEL_MODE
$(OBJ)/psp/adhoc.o: src/psp/adhoc.c
@echo Compiling [-G0] $<...
@$(CC) -G0 $(CDEFS) $(CFLAGS) -c $< -o$@
endif
$(OBJ)/%.o: src/%.S
@echo Assembling $<...
@$(CC) $(CDEFS) $(CFLAGS) -c $< -o$@
$(OBJ)/%.o: src/%.s
@echo Assembling $<...
@$(AS) $(ASDEFS) $(ASFLAGS) -c $< -o$@
$(OBJ)/%.a:
@echo Archiving $@...
@$(AR) -r $@ $^
delelf:
@$(RM) -f $(PSP_EBOOT_SFO)
@$(RM) -f $(TARGET).elf
maketree:
@$(MD) -p $(subst //,\,$(sort $(OBJDIRS)))

Binary file not shown.

BIN
data/cps1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

BIN
data/cps2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

BIN
data/mvs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

BIN
data/ncdz.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

3990
data/rominfo/rominfo.cps1 Normal file

File diff suppressed because it is too large Load Diff

6711
data/rominfo/rominfo.cps2 Normal file

File diff suppressed because it is too large Load Diff

6077
data/rominfo/rominfo.mvs Normal file

File diff suppressed because it is too large Load Diff

137
data/zipname/zipname.cps1 Normal file
View File

@ -0,0 +1,137 @@
forgottn,Forgotten Worlds (US)
lostwrld,Lost Worlds (Japan)
ghouls,Ghouls'n Ghosts (World)
ghoulsu,Ghouls'n Ghosts (US)
daimakai,Dai Makai-Mura (Japan)
strider,Strider (US set 1)
stridrua,Strider (US set 2)
striderj,Strider Hiryu (Japan set 1)
stridrja,Strider Hiryu (Japan set 2)
dynwar,Dynasty Wars (World)
dynwarj,Tenchi wo Kurau (Japan)
willow,Willow (US)
willowj,Willow (Japan - Japanese)
willowje,Willow (Japan - English)
unsquad,U.N. Squadron (US)
area88,Area 88 (Japan)
ffight,Final Fight (World)
ffightu,Final Fight (US)
ffightua,Final Fight (US 900112)
ffightub,Final Fight (US 900613)
ffightj,Final Fight (Japan)
ffightj1,Final Fight (Japan 900305)
1941,1941 - Counter Attack (World)
1941j,1941 - Counter Attack (Japan)
mercs,Mercs (World 900302)
mercsu,Mercs (US 900302)
mercsua,Mercs (US 900608)
mercsj,Senjou no Ookami II (Japan 900302)
mtwins,Mega Twins (World 900619)
chikij,Chiki Chiki Boys (Japan 900619)
msword,Magic Sword - Heroic Fantasy (World 900725)
mswordr1,Magic Sword - Heroic Fantasy (World 900623)
mswordu,Magic Sword - Heroic Fantasy (US 900725)
mswordj,Magic Sword (Japan 900623)
cawing,Carrier Air Wing (World 901012)
cawingr1,Carrier Air Wing (World 901009)
cawingu,Carrier Air Wing (US 901012)
cawingj,U.S. Navy (Japan 901012)
nemo,Nemo (World 901130)
nemoj,Nemo (Japan 901120)
sf2,Street Fighter II - The World Warrior (World 910522)
sf2eb,Street Fighter II - The World Warrior (World 910214)
sf2ua,Street Fighter II - The World Warrior (US 910206)
sf2ub,Street Fighter II - The World Warrior (US 910214)
sf2ud,Street Fighter II - The World Warrior (US 910318)
sf2ue,Street Fighter II - The World Warrior (US 910228)
sf2uf,Street Fighter II - The World Warrior (US 910411)
sf2ui,Street Fighter II - The World Warrior (US 910522)
sf2uk,Street Fighter II - The World Warrior (US 911101)
sf2j,Street Fighter II - The World Warrior (Japan 911210)
sf2ja,Street Fighter II - The World Warrior (Japan 910214)
sf2jc,Street Fighter II - The World Warrior (Japan 910306)
3wonders,Three Wonders (World 910520)
3wonderu,Three Wonders (US 910520)
wonder3,Wonder 3 (Japan 910520)
kod,The King of Dragons (World 910711)
kodu,The King of Dragons (US 910910)
kodj,The King of Dragons (Japan 910805)
kodb,The King of Dragons (bootleg),GAME_BOOTLEG
captcomm,Captain Commando (World 911014)
captcomu,Captain Commando (US 910928)
captcomj,Captain Commando (Japan 911202)
knights,Knights of the Round (World 911127)
knightsu,Knights of the Round (US 911127)
knightsj,Knights of the Round (Japan 911127)
knightsb,Knights of the Round (bootleg)
knightsh,Knights of the Round (hack)
sf2ce,Street Fighter II' - Champion Edition (World 920313)
sf2ceua,Street Fighter II' - Champion Edition (US 920313)
sf2ceub,Street Fighter II' - Champion Edition (US 920513)
sf2ceuc,Street Fighter II' - Champion Edition (US 920803)
sf2cej,Street Fighter II' - Champion Edition (Japan 920513)
sf2rb,Street Fighter II' - Champion Edition (Rainbow set 1),GAME_BOOTLEG
sf2rb2,Street Fighter II' - Champion Edition (Rainbow set 2),GAME_BOOTLEG
sf2red,Street Fighter II' - Champion Edition (Red Wave),GAME_BOOTLEG
sf2v004,Street Fighter II! - Champion Edition (V004),GAME_NOT_WORK|GAME_BOOTLEG
sf2accp2,Street Fighter II' - Champion Edition (Accelerator Pt.II),GAME_BOOTLEG
sf2m1,Street Fighter II' - Champion Edition (M1),GAME_NOT_WORK|GAME_BOOTLEG
sf2m2,Street Fighter II' - Champion Edition (M2),GAME_BOOTLEG
sf2m3,Street Fighter II' - Champion Edition (M3),GAME_NOT_WORK|GAME_BOOTLEG
sf2m4,Street Fighter II' - Champion Edition (M4),GAME_BOOTLEG
sf2m5,Street Fighter II' - Champion Edition (M5),GAME_BOOTLEG
sf2m6,Street Fighter II' - Champion Edition (Subdue the Dragon set 2),GAME_BOOTLEG
sf2m7,Street Fighter II' - Champion Edition (M7),GAME_BOOTLEG
sf2m8,Street Fighter II' - Champion Edition (M8),GAME_NOT_WORK|GAME_BOOTLEG
sf2m13,Street Fighter II' - Champion Edition (M13),GAME_BOOTLEG
sf2tlona,Street Fighter II' - Champion Edition (Slay the Dragon set 1),GAME_BOOTLEG
sf2tlonb,Street Fighter II' - Champion Edition (Slay the Dragon set 2),GAME_BOOTLEG
sf2yyc,Street Fighter II' - Champion Edition (YYC),GAME_BOOTLEG
sf2koryu,Street Fighter II' - Champion Edition (Subdue the Dragon set 1),GAME_BOOTLEG
varth,Varth - Operation Thunderstorm (World 920714)
varthr1,Varth - Operation Thunderstorm (World 920612)
varthu,Varth - Operation Thunderstorm (US 920612)
varthj,Varth - Operation Thunderstorm (Japan 920714)
cworld2j,Capcom World 2 (Japan 920611)
sf2hf,Street Fighter II' - Hyper Fighting (World 921209)
sf2t,Street Fighter II' - Hyper Fighting (US 921209)
sf2tj,Street Fighter II' Turbo - Hyper Fighting (Japan 921209)
qad,Quiz & Dragons (US 920701)
qadj,Quiz & Dragons (Japan 940921)
qtono2,Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)
megaman,Mega Man - The Power Battle (CPS1 Asia 951006)
rockmanj,Rockman - The Power Battle (CPS1 Japan 950922)
wof,Warriors of Fate (World 921002)
wofa,Sangokushi II (Asia 921005)
wofu,Warriors of Fate (US 921031)
wofj,Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)
wofb,Warriors of Fate (bootleg),GAME_NOT_WORKING|GAME_BOOTLEG
wofh,Legend of Three Kingdoms' Heroes (bootleg / set 1),GAME_BOOTLEG
wofha,Legend of Three Kingdoms' Heroes (bootleg / set 2),GAME_BOOTLEG
wof3js,Three Sword Masters (bootleg),GAME_BOOTLEG
wof3sj,Three Holy Swords (bootleg / set 1),GAME_BOOTLEG
wof3sja,Three Holy Swords (bootleg / set 2),GAME_BOOTLEG
wofsj,Holy Sword Three Kingdoms (bootleg / set 1),GAME_BOOTLEG
wofsja,Holy Sword Three Kingdoms (bootleg / set 2),GAME_BOOTLEG
wofsjb,Holy Sword Three Kingdoms (bootleg / set 3),GAME_BOOTLEG
dino,Cadillacs and Dinosaurs (World 930201)
dinou,Cadillacs and Dinosaurs (US 930201)
dinoj,Cadillacs Kyouryuu-Shinseiki (Japan 930201)
dinob,Cadillacs and Dinosaurs (bootleg),GAME_BOOTLEG
dinoh,Cadillacs and Dinosaurs (bootleg / set 1),GAME_BOOTLEG
dinoha,Cadillacs and Dinosaurs (bootleg / set 2),GAME_BOOTLEG
dinohb,Cadillacs and Dinosaurs (bootleg / set 3),GAME_BOOTLEG
punisher,The Punisher (World 930422)
punishru,The Punisher (US 930422)
punishrj,The Punisher (Japan 930422)
slammast,Saturday Night Slam Masters (World 930713)
slammasu,Saturday Night Slam Masters (US 930713)
mbomberj,Muscle Bomber - The Body Explosion (Japan 930713)
mbombrd,Muscle Bomber Duo - Ultimate Team Battle (World 931206)
mbombrdj,Muscle Bomber Duo - Heat Up Warriors (Japan 931206)
pnickj,Pnickies (Japan 940608)
pnicku,Pnickies (USA 940608 Loca Test Version)
pang3,Pang! 3 (Euro 950511)
pang3j,Pang! 3 (Japan 950511)
sfzch,Street Fighter ZERO (Japan 951020 CPS Changer)
sfach,Street Fighter ALPHA (USA 950727 Publicity)

220
data/zipname/zipname.cps2 Normal file
View File

@ -0,0 +1,220 @@
ssf2,Super Street Fighter II: The New Challengers (World 930911)
ssf2u,Super Street Fighter II: The New Challengers (USA 930911)
ssf2a,Super Street Fighter II: The New Challengers (Asia 931005)
ssf2ar1,Super Street Fighter II: The New Challengers (Asia 930914)
ssf2j,Super Street Fighter II: The New Challengers (Japan 931005)
ssf2jr1,Super Street Fighter II: The New Challengers (Japan 930911)
ssf2jr2,Super Street Fighter II: The New Challengers (Japan 930910)
ssf2tb,Super Street Fighter II: The Tournament Battle (World 931119)
ssf2tbr1,Super Street Fighter II: The Tournament Battle (World 930911)
ssf2tbj,Super Street Fighter II: The Tournament Battle (Japan 930911)
ddtod,Dungeons & Dragons: Tower of Doom (Euro 940412)
ddtodr1,Dungeons & Dragons: Tower of Doom (Euro 940113)
ddtodu,Dungeons & Dragons: Tower of Doom (USA 940125)
ddtodur1,Dungeons & Dragons: Tower of Doom (USA 940113)
ddtodj,Dungeons & Dragons: Tower of Doom (Japan 940125)
ddtodjr1,Dungeons & Dragons: Tower of Doom (Japan 940113)
ddtoda,Dungeons & Dragons: Tower of Doom (Asia 940113)
ddtodh,Dungeons & Dragons: Tower of Doom (Hispanic 940125)
ecofghtr,Eco Fighters (World 931203)
ecofghtu,Eco Fighters (USA 931203)
uecology,Ultimate Ecology (Japan 931203)
ecofghta,Eco Fighters (Asia 931203)
ssf2t,Super Street Fighter II Turbo (World 940223)
ssf2ta,Super Street Fighter II Turbo (Asia 940223)
ssf2tu,Super Street Fighter II Turbo (USA 940323)
ssf2tur1,Super Street Fighter II Turbo (USA 940223)
ssf2xj,Super Street Fighter II X: Grand Master Challenge (Japan 940223)
xmcota,X-Men: Children of the Atom (Euro 950105)
xmcotau,X-Men: Children of the Atom (USA 950105)
xmcotah,X-Men: Children of the Atom (Hispanic 950331)
xmcotaj,X-Men: Children of the Atom (Japan 941222)
xmcotaj1,X-Men: Children of the Atom (Japan 941219)
xmcotaj2,X-Men: Children of the Atom (Japan 941217)
xmcotajr,X-Men: Children of the Atom (Japan 941208 rent version)
xmcotaa,X-Men: Children of the Atom (Asia 941217)
armwar,Armored Warriors (Euro 941024)
armwarr1,Armored Warriors (Euro 941011)
armwaru,Armored Warriors (USA 941024)
pgear,Powered Gear: Strategic Variant Armor Equipment (Japan 941024)
pgearr1,Powered Gear: Strategic Variant Armor Equipment (Japan 940916)
armwara,Armored Warriors (Asia 940920)
avsp,Alien vs. Predator (Euro 940520)
avspu,Alien vs. Predator (USA 940520)
avspj,Alien vs. Predator (Japan 940520)
avspa,Alien vs. Predator (Asia 940520)
avsph,Alien vs. Predator (Hispanic 940520)
dstlk,Darkstalkers: The Night Warriors (Euro 940705)
dstlku,Darkstalkers: The Night Warriors (USA 940818)
dstlkur1,Darkstalkers: The Night Warriors (USA 940705)
dstlka,Darkstalkers: The Night Warriors (Asia 940705)
vampj,Vampire: The Night Warriors (Japan 940705)
vampja,Vampire: The Night Warriors (Japan 940705 alt)
vampjr1,Vampire: The Night Warriors (Japan 940630)
ringdest,Ring of Destruction: Slammasters II (Euro 940902)
smbomb,Super Muscle Bomber: The International Blowout (Japan 940831)
smbombr1,Super Muscle Bomber: The International Blowout (Japan 940808)
cybots,Cyberbots: Fullmetal Madness (Euro 950424)
cybotsu,Cyberbots: Fullmetal Madness (USA 950424)
cybotsj,Cyberbots: Fullmetal Madness (Japan 950420)
msh,Marvel Super Heroes (Euro 951024)
mshu,Marvel Super Heroes (USA 951024)
mshj,Marvel Super Heroes (Japan 951117)
mshjr1,Marvel Super Heroes (Japan 951024)
msha,Marvel Super Heroes (Asia 951024)
mshh,Marvel Super Heroes (Hispanic 951117)
mshb,Marvel Super Heroes (Brazil 951117)
nwarr,Night Warriors: Darkstalkers' Revenge (Euro 950316)
nwarru,Night Warriors: Darkstalkers' Revenge (USA 950406)
nwarrh,Night Warriors: Darkstalkers' Revenge (Hispanic 950403)
nwarrb,Night Warriors: Darkstalkers' Revenge (Brazil 950403)
vhuntj,Vampire Hunter: Darkstalkers' Revenge (Japan 950316)
vhuntjr1,Vampire Hunter: Darkstalkers' Revenge (Japan 950307)
vhuntjr2,Vampire Hunter: Darkstalkers' Revenge (Japan 950302)
sfa,Street Fighter Alpha: Warriors' Dreams (Euro 950727)
sfar1,Street Fighter Alpha: Warriors' Dreams (Euro 950718)
sfar2,Street Fighter Alpha: Warriors' Dreams (Euro 950627)
sfar3,Street Fighter Alpha: Warriors' Dreams (Euro 950605)
sfau,Street Fighter Alpha: Warriors' Dreams (USA 950627)
sfza,Street Fighter Zero (Asia 950627)
sfzj,Street Fighter Zero (Japan 950727)
sfzjr1,Street Fighter Zero (Japan 950627)
sfzjr2,Street Fighter Zero (Japan 950605)
sfzh,Street Fighter Zero (Hispanic 950627)
sfzb,Street Fighter Zero (Brazil 951109)
sfzbr1,Street Fighter Zero (Brazil 950727)
mmancp2u,Mega Man: The Power Battle (CPS2 - USA 951006 / SAMPLE Version)
rmancp2j,Rockman: The Power Battle (CPS2 - Japan 950922)
19xx,19XX: The War Against Destiny (USA 951207)
19xxa,19XX: The War Against Destiny (Asia 951207)
19xxj,19XX: The War Against Destiny (Japan 951225)
19xxjr1,19XX: The War Against Destiny (Japan 951207)
19xxh,19XX: The War Against Destiny (Hispanic 951218)
19xxb,19XX: The War Against Destiny (Brazil 951218)
ddsom,Dungeons & Dragons: Shadow over Mystara (Euro 960619)
ddsomr1,Dungeons & Dragons: Shadow over Mystara (Euro 960223)
ddsomr2,Dungeons & Dragons: Shadow over Mystara (Euro 960209)
ddsomr3,Dungeons & Dragons: Shadow over Mystara (Euro 960208)
ddsomu,Dungeons & Dragons: Shadow over Mystara (USA 960619)
ddsomur1,Dungeons & Dragons: Shadow over Mystara (USA 960209)
ddsomj,Dungeons & Dragons: Shadow over Mystara (Japan 960619)
ddsomjr1,Dungeons & Dragons: Shadow over Mystara (Japan 960206)
ddsoma,Dungeons & Dragons: Shadow over Mystara (Asia 960619)
ddsomb,Dungeons & Dragons: Shadow over Mystara (Brazil 960223)
megaman2,Mega Man 2: The Power Fighters (USA 960708)
megamn2a,Mega Man 2: The Power Fighters (Asia 960708)
rckman2j,Rockman 2: The Power Fighters (Japan 960708)
qndream,Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)
sfa2,Street Fighter Alpha 2 (USA 960306)
sfz2j,Street Fighter Zero 2 (Japan 960227)
sfz2a,Street Fighter Zero 2 (Asia 960227)
sfz2b,Street Fighter Zero 2 (Brazil 960531)
sfz2br1,Street Fighter Zero 2 (Brazil 960304)
sfz2h,Street Fighter Zero 2 (Hispanic 960304)
sfz2n,Street Fighter Zero 2 (Oceania 960229)
sfz2aj,Street Fighter Zero 2 Alpha (Japan 960805)
sfz2ah,Street Fighter Zero 2 Alpha (Hispanic 960813)
sfz2ab,Street Fighter Zero 2 Alpha (Brazil 960813)
sfz2aa,Street Fighter Zero 2 Alpha (Asia 960826)
spf2t,Super Puzzle Fighter II Turbo (USA 960620)
spf2xj,Super Puzzle Fighter II X (Japan 960531)
spf2ta,Super Puzzle Fighter II Turbo (Asia 960529)
xmvsf,X-Men Vs. Street Fighter (Euro 961004)
xmvsfr1,X-Men Vs. Street Fighter (Euro 960910)
xmvsfu,X-Men Vs. Street Fighter (USA 961023)
xmvsfur1,X-Men Vs. Street Fighter (USA 961004)
xmvsfj,X-Men Vs. Street Fighter (Japan 961004)
xmvsfjr1,X-Men Vs. Street Fighter (Japan 960910)
xmvsfjr2,X-Men Vs. Street Fighter (Japan 960909)
xmvsfa,X-Men Vs. Street Fighter (Asia 961023)
xmvsfar1,X-Men Vs. Street Fighter (Asia 960919)
xmvsfh,X-Men Vs. Street Fighter (Hispanic 961004)
xmvsfb,X-Men Vs. Street Fighter (Brazil 961023)
batcir,Battle Circuit (Euro 970319)
batcira,Battle Circuit (Asia 970319)
batcirj,Battle Circuit (Japan 970319)
csclub,Capcom Sports Club (Euro 970722)
cscluba,Capcom Sports Club (Asia 970722)
csclubj,Capcom Sports Club (Japan 970722)
csclubh,Capcom Sports Club (Hispanic 970722)
mshvsf,Marvel Super Heroes Vs. Street Fighter (Euro 970625)
mshvsfu,Marvel Super Heroes Vs. Street Fighter (USA 970827)
mshvsfu1,Marvel Super Heroes Vs. Street Fighter (USA 970625)
mshvsfj,Marvel Super Heroes Vs. Street Fighter (Japan 970707)
mshvsfj1,Marvel Super Heroes Vs. Street Fighter (Japan 970702)
mshvsfj2,Marvel Super Heroes Vs. Street Fighter (Japan 970625)
mshvsfh,Marvel Super Heroes Vs. Street Fighter (Hispanic 970625)
mshvsfa,Marvel Super Heroes Vs. Street Fighter (Asia 970625)
mshvsfa1,Marvel Super Heroes Vs. Street Fighter (Asia 970620)
mshvsfb,Marvel Super Heroes Vs. Street Fighter (Brazil 970827)
mshvsfb1,Marvel Super Heroes Vs. Street Fighter (Brazil 970625)
sgemf,Super Gem Fighter Mini Mix (USA 970904)
pfghtj,Pocket Fighter (Japan 970904)
sgemfa,Super Gem Fighter: Mini Mix (Asia 970904)
sgemfh,Super Gem Fighter: Mini Mix (Hispanic 970904)
vhunt2,Vampire Hunter 2: Darkstalkers Revenge (Japan 970929)
vhunt2r1,Vampire Hunter 2: Darkstalkers Revenge (Japan 970913)
vsav,Vampire Savior: The Lord of Vampire (Euro 970519)
vsavu,Vampire Savior: The Lord of Vampire (USA 970519)
vsavj,Vampire Savior: The Lord of Vampire (Japan 970519)
vsava,Vampire Savior: The Lord of Vampire (Asia 970519)
vsavh,Vampire Savior: The Lord of Vampire (Hispanic 970519)
vsav2,Vampire Savior 2: The Lord of Vampire (Japan 970913)
mvsc,Marvel Vs. Capcom: Clash of Super Heroes (Euro 980112)
mvscu,Marvel Vs. Capcom: Clash of Super Heroes (USA 980123)
mvscj,Marvel Vs. Capcom: Clash of Super Heroes (Japan 980123)
mvscjr1,Marvel Vs. Capcom: Clash of Super Heroes (Japan 980112)
mvsca,Marvel Vs. Capcom: Clash of Super Heroes (Asia 980123)
mvscar1,Marvel Vs. Capcom: Clash of Super Heroes (Asia 980112)
mvsch,Marvel Vs. Capcom: Clash of Super Heroes (Hispanic 980123)
mvscb,Marvel Vs. Capcom: Clash of Super Heroes (Brazil 980123)
sfa3,Street Fighter Alpha 3 (Euro 980904)
sfa3u,Street Fighter Alpha 3 (USA 980904)
sfa3ur1,Street Fighter Alpha 3 (USA 980629)
sfa3b,Street Fighter Alpha 3 (Brazil 980629)
sfz3j,Street Fighter Zero 3 (Japan 980904)
sfz3jr1,Street Fighter Zero 3 (Japan 980727)
sfz3jr2,Street Fighter Zero 3 (Japan 980629)
sfz3a,Street Fighter Zero 3 (Asia 980904)
sfz3ar1,Street Fighter Zero 3 (Asia 980701)
jyangoku,Jyangokushi: Haoh no Saihai (Japan 990527)
hsf2,Hyper Street Fighter II: The Anniversary Edition (Asia 040202)
hsf2j,Hyper Street Fighter II: The Anniversary Edition (Japan 031222)
gigawing,Giga Wing (USA 990222)
gwingj,Giga Wing (Japan 990223)
gwinga,Giga Wing (Asia 990222)
mmatrix,Mars Matrix: Hyper Solid Shooting (USA 000412)
mmatrixj,Mars Matrix: Hyper Solid Shooting (Japan 000412)
mpang,Mighty! Pang (USA 001010)
mpangj,Mighty! Pang (Japan 001011)
pzloop2,Puzz Loop 2 (Euro 010302)
pzloop2j,Puzz Loop 2 (Japan 010205)
choko,Choko (Japan 010820)
dimahoo,Dimahoo (Euro 000121)
dimahoou,Dimahoo (USA 000121)
gmahou,Great Mahou Daisakusen (Japan 000121)
1944,1944: The Loop Master (USA 000620)
1944j,1944: The Loop Master (Japan 000620)
progear,Progear (USA 010117)
progearj,Progear no Arashi (Japan 010117)
progeara,Progear (Asia 010117)
ddtodd,Dungeons & Dragons: Tower of Doom (Euro 940412 Phoenix Edition),GAME_BOOTLEG
xmcotad,X-Men: Children of the Atom (Euro 950105 Phoenix Edition),GAME_BOOTLEG
avspd,Alien vs. Predator (Euro 940520 Phoenix Edition),GAME_BOOTLEG
dstlku1d,Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition),GAME_BOOTLEG
ringdstd,Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition),GAME_BOOTLEG
nwarrd,Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition),GAME_BOOTLEG
sfad,Street Fighter Alpha: Warriors' Dreams (Euro 950727 Phoenix Edition),GAME_BOOTLEG
19xxd,19XX: The War Against Destiny (USA 951207 Phoenix Edition),GAME_BOOTLEG
ddsomud,Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition),GAME_BOOTLEG
megamn2d,Mega Man 2: The Power Fighters (USA 960708 Phoenix Edition),GAME_BOOTLEG
sfz2aad,Street Fighter Zero 2 Alpha (Asia 960826 Phoenix Edition),GAME_BOOTLEG
spf2xjd,Super Puzzle Fighter II X (Japan 960531 Phoenix Edition),GAME_BOOTLEG
xmvsfu1d,X-Men Vs. Street Fighter (USA 961004 Phoenix Edition),GAME_BOOTLEG
batcird,Battle Circuit (Euro 970319 Phoenix Edition),GAME_BOOTLEG
vsavd,Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition),GAME_BOOTLEG
mvscud,Marvel Vs. Capcom: Clash of Super Heroes (USA 980123 Phoenix Edition),GAME_BOOTLEG
sfa3d,Street Fighter Alpha 3 (USA 980904 Phoenix Edition),GAME_BOOTLEG
hsf2d,Hyper Street Fighter II: The Anniversary Edition (Asia 040202 Phoenix Edition),GAME_BOOTLEG
gwingjd,Giga Wing (Japan 990223 Phoenix Edition),GAME_BOOTLEG
1944d,1944: The Loop Master (USA 000620 Phoenix Edition),GAME_BOOTLEG

255
data/zipname/zipname.mvs Normal file
View File

@ -0,0 +1,255 @@
2020bb,2020 Super Baseball (set 1)
2020bba,2020 Super Baseball (set 2)
2020bbh,2020 Super Baseball (set 3)
3countb,3 Count Bout
alpham2,Alpha Mission II
androdun,Andro Dunos
aodk,Aggressors of Dark Kombat
aof,Art of Fighting
aof2,Art of Fighting 2 (set 1)
aof2a,Art of Fighting 2 (set 2)
aof3,Art of Fighting 3 - The Path of the Warrior
aof3k,Art of Fighting 3 - The Path of the Warrior (Korean release)
bakatono,Bakatonosama Mahjong Manyuki
bangbead,Bang Bead
bjourney,Blue's Journey
blazstar,Blazing Star
breakers,Breakers
breakrev,Breakers Revenge
bstars,Baseball Stars Professional
bstars2,Baseball Stars 2
burningf,Burning Fight (set 1)
burningh,Burning Fight (set 2)
crsword,Crossed Swords
ctomaday,Captain Tomaday
cyberlip,Cyber-Lip
doubledr,Double Dragon
eightman,Eight Man
fatfursa,Fatal Fury Special (set 2)
fatfursp,Fatal Fury Special (set 1)
fatfury1,Fatal Fury - King of Fighters
fatfury2,Fatal Fury 2
fatfury3,Fatal Fury 3 - Road to the Final Victory
fbfrenzy,Football Frenzy
fightfev,Fight Fever (set 1)
fightfva,Fight Fever (set 2)
flipshot,Battle Flip Shot
fswords,Fighters Swords (Korean release of Samurai Shodown III)
galaxyfg,Galaxy Fight - Universal Warriors
ganryu,Ganryu
garou,Garou - Mark of the Wolves (set 1)
garouo,Garou - Mark of the Wolves (set 2)
garoup,Garou - Mark of the Wolves (prototype)
ghostlop,Ghostlop (prototype)
goalx3,Goal! Goal! Goal!
gowcaizr,Voltage Fighter - Gowcaizer
gpilots,Ghost Pilots
gururin,Gururin
irrmaze,The Irritating Maze
janshin,Jyanshin Densetsu - Quest of Jongmaster
jockeygp,Jockey Grand Prix
joyjoy,Puzzled
kabukikl,Far East of Eden - Kabuki Klash
karnovr,Karnov's Revenge
kf2k3pcb,The King of Fighters 2003 (Japan / JAMMA PCB)
kizuna,Kizuna Encounter - Super Tag Battle
kof2000,The King of Fighters 2000
kof2000n,The King of Fighters 2000 (not encrypted)
kof2001,The King of Fighters 2001 (set 1)
kof2001h,The King of Fighters 2001 (set 2)
kof2002,The King of Fighters 2002
kof2003,The King of Fighters 2003 (World / US / MVS)
kof94,The King of Fighters '94
kof95,The King of Fighters '95 (set 1)
kof95a,The King of Fighters '95 (set 2)
kof96,The King of Fighters '96 (set 1)
kof96h,The King of Fighters '96 (set 2)
kof97,The King of Fighters '97 (set 1)
kof97a,The King of Fighters '97 (set 2)
kof98,The King of Fighters '98 - The Slugfest
kof98k,The King of Fighters '98 - The Slugfest (Korean board)
kof98n,The King of Fighters '98 - The Slugfest (not encrypted)
kof99,The King of Fighters '99 - Millennium Battle (set 1)
kof99a,The King of Fighters '99 - Millennium Battle (set 2)
kof99e,The King of Fighters '99 - Millennium Battle (earlier)
kof99n,The King of Fighters '99 - Millennium Battle (not encrypted)
kof99p,The King of Fighters '99 - Millennium Battle (prototype)
kotm,King of the Monsters (set 1)
kotmh,King of the Monsters (set 2)
kotm2,King of the Monsters 2 - The Next Thing
lastblad,The Last Blade (set 1)
lastbldh,The Last Blade (set 2)
lastsold,The Last Soldier (Korean release of The Last Blade)
lastbld2,The Last Blade 2
lbowling,League Bowling
legendos,Legend of Success Joe
lresort,Last Resort
magdrop2,Magical Drop II
magdrop3,Magical Drop III
maglord,Magician Lord (set 1)
maglordh,Magician Lord (set 2)
mahretsu,Mahjong Kyoretsuden
marukodq,Chibi Marukochan Deluxe Quiz
matrim,Matrimelee
miexchng,Money Puzzle Exchanger
minasan,Minnasanno Okagesamadesu
mosyougi,Syougi No Tatsujin - Master of Syougi
ms5pcb,Metal Slug 5 (JAMMA PCB)
mslug,Metal Slug - Super Vehicle-001
mslug2,Metal Slug 2 - Super Vehicle-001/II
mslug3,Metal Slug 3
mslug3n,Metal Slug 3 (not encrypted)
mslug4,Metal Slug 4
mslug5,Metal Slug 5
mslugx,Metal Slug X - Super Vehicle-001
mutnat,Mutation Nation
nam1975,NAM-1975
ncombat,Ninja Combat (set 1)
ncombath,Ninja Combat (set 2)
ncommand,Ninja Commando
neobombe,Neo Bomberman
neocup98,Neo-Geo Cup '98 - The Road to the Victory
neodrift,Neo Drift Out - New Technology
neomrdo,Neo Mr. Do!
ninjamas,Ninja Master's - haoh-ninpo-cho
nitd,Nightmare in the Dark
overtop,Over Top
panicbom,Panic Bomber
pbobbl2n,Puzzle Bobble 2 / Bust-A-Move Again
pbobblen,Puzzle Bobble / Bust-A-Move (set 1)
pbobblna,Puzzle Bobble / Bust-A-Move (set 2)
pgoal,Pleasure Goal
pnyaa,Pochi and Nyaa
popbounc,Pop 'n Bounce
preisle2,Prehistoric Isle 2
pspikes2,Power Spikes II
pulstar,Pulstar
puzzldpr,Puzzle De Pon! R!
puzzledp,Puzzle De Pon!
quizdai2,Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2
quizdais,Quiz Daisousa Sen - The Last Count Down
quizkof,Quiz King of Fighters
ragnagrd,Ragnagard
rbff1,Real Bout Fatal Fury
rbff2,Real Bout Fatal Fury 2 - The Newcomers (set 1)
rbff2h,Real Bout Fatal Fury 2 - The Newcomers (set 2)
rbff2k,Real Bout Fatal Fury 2 - The Newcomers (Korean release)
rbffspec,Real Bout Fatal Fury Special
ridhero,Riding Hero (set 1)
ridheroh,Riding Hero (set 2)
roboarma,Robo Army (set 2)
roboarmy,Robo Army (set 1)
rotd,Rage of the Dragons
s1945p,Strikers 1945 Plus
samsh5sh,Samurai Shodown V Special (set 2 / censored)
samsh5sn,Samurai Shodown V Special (set 3 / less censored)
samsh5sp,Samurai Shodown V Special (set 1 / uncensored)
samsho,Samurai Shodown
samsho2,Samurai Shodown II
samsho3,Samurai Shodown III (set 1)
samsho3a,Samurai Shodown III (set 2)
samsho4,Samurai Shodown IV - Amakusa's Revenge
samsho5,Samurai Shodown V (set 1)
samsho5h,Samurai Shodown V (set 2)
savagere,Savage Reign
sdodgeb,Super Dodge Ball
sengokh,Sengoku (set 2)
sengoku,Sengoku (set 1)
sengoku2,Sengoku 2 / Sengoku Denshou 2
sengoku3,Sengoku 3
shocktr2,Shock Troopers - 2nd Squad
shocktra,Shock Troopers (set 2)
shocktro,Shock Troopers (set 1)
socbrawl,Soccer Brawl
sonicwi2,Aero Fighters 2
sonicwi3,Aero Fighters 3
spinmast,Spin Master
ssideki,Super Sidekicks
ssideki2,Super Sidekicks 2 - The World Championship
ssideki3,Super Sidekicks 3 - The Next Glory
ssideki4,Ultimate 11 - The SNK Football Championship
stakwin,Stakes Winner
stakwin2,Stakes Winner 2
strhoop,Street Hoop / Street Slam
superspy,The Super Spy
svc,SvC Chaos - SNK vs Capcom
svcpcb,SvC Chaos - SNK vs Capcom (JAMMA PCB),GAME_NOT_WORK
svcpcba,SVC Chaos - SNK vs CAPCOM (JAMMA PCB / set 2)
tophunta,Top Hunter - Roddy & Cathy (set 2)
tophuntr,Top Hunter - Roddy & Cathy (set 1)
tpgolf,Top Player's Golf
trally,Thrash Rally
turfmast,Neo Turf Masters
twinspri,Twinkle Star Sprites
tws96,Tecmo World Soccer '96
viewpoin,Viewpoint
vliner,V-Liner (set 1)
vlinero,V-Liner (set 2)
wakuwak7,Waku Waku 7
wh1,World Heroes (set 1)
wh1h,World Heroes (set 2)
wh1ha,World Heroes (set 3)
wh2,World Heroes 2
wh2j,World Heroes 2 Jet (set 1)
wh2jh,World Heroes 2 Jet (set 2)
whp,World Heroes Perfect
wjammers,Windjammers
zedblade,Zed Blade
zupapa,Zupapa!
kof96ep,The King of Fighters '96 (bootleg),GAME_BOOTLEG
kof97pls,The King of Fighters '97 Plus (bootleg),GAME_BOOTLEG
kof97pla,The King of Fighters '97 Plus 2003 (bootleg),GAME_BOOTLEG
kog,King of Gladiator (KOF'97 bootleg),GAME_NOT_WORK|GAME_BOOTLEG
zintrckb,Zintrick / Oshidashi Zentrix (bootleg),GAME_BOOTLEG
zintrkcd,Zintrick / Oshidashi Zentrix (CD to MVS Conversion),GAME_BOOTLEG
garoubl,Garou - Mark of the Wolves (bootleg),GAME_BOOTLEG
mslug3b6,Metal Slug 6 (Metal Slug 3 bootleg),GAME_BOOTLEG
kf2k1pls,The King of Fighters 2001 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k1pa,The King of Fighters 2001 Plus (set 2 / bootleg),GAME_BOOTLEG
cthd2003,Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 1),GAME_BOOTLEG
cthd2k3a,Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 2),GAME_BOOTLEG
ct2k3sp,Crouching Tiger Hidden Dragon 2003 Super Plus (KOF2001 bootleg),GAME_BOOTLEG
ct2k3sa,Crouching Tiger Hidden Dragon 2003 Super Plus alternate (KOF2001 bootleg),GAME_BOOTLEG
kof2002b,The King of Fighters 2002 (bootleg),GAME_BOOTLEG
kf2k2pls,The King of Fighters 2002 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k2pla,The King of Fighters 2002 Plus (set 2 / bootleg),GAME_BOOTLEG
kf2k2plb,The King of Fighters 2002 Plus (set 3 / bootleg),GAME_BOOTLEG
kf2k2plc,The King of Fighters 2002 Super (set 4 / bootleg),GAME_BOOTLEG
kf2k2mp,The King of Fighters 2002 Magic Plus (bootleg),GAME_BOOTLEG
kf2k2mp2,The King of Fighters 2002 Magic Plus II (bootleg),GAME_BOOTLEG
kof10th,The King of Fighters 10th Anniversary (KOF2002 bootleg),GAME_BOOTLEG
kf2k5uni,The King of Fighters 10th Anniversary 2005 Unique (KOF2002 bootleg),GAME_BOOTLEG
kf10thep,The King of Fighters 10th Anniversary Extra Plus (KOF2002 bootleg),GAME_BOOTLEG
kof2k4se,The King of Fighters Special Edition 2004 (KOF2002 bootleg),GAME_BOOTLEG
kf2k4pls,The King of Fighters Special Edition 2004 Plus (KOF2002 bootleg),GAME_BOOTLEG
mslug5b,Metal Slug 5 (bootleg),GAME_BOOTLEG
ms5plus,Metal Slug 5 Plus (bootleg),GAME_BOOTLEG
nitdbl,Nightmare in the Dark (bootleg),GAME_BOOTLEG
svcboot,SvC Chaos - SNK vs Capcom (bootleg),GAME_BOOTLEG
svcplus,SvC Chaos - SNK vs Capcom Plus (set 1 / bootleg),GAME_BOOTLEG
svcplusa,SvC Chaos - SNK vs Capcom Plus (set 2 / bootleg),GAME_BOOTLEG
svcsplus,SvC Chaos - SNK vs Capcom Super Plus (bootleg),GAME_BOOTLEG
samsho5b,Samurai Shodown V / Samurai Spirits Zero (bootleg),GAME_BOOTLEG
kf2k3bl,The King of Fighters 2003 (set 1 / bootleg),GAME_BOOTLEG
kf2k3bla,The King of Fighters 2003 (set 2 / bootleg),GAME_BOOTLEG
kf2k3pl,The King of Fighters 2004 Plus / Hero (KOF2003 bootleg),GAME_BOOTLEG
kf2k3upl,The King of Fighters 2004 Ultra Plus (KOF2003 bootleg),GAME_BOOTLEG
matrimbl,Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg),GAME_BOOTLEG
lans2004,Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg),GAME_BOOTLEG
ms4plus,Metal Slug 4 Plus (bootleg),GAME_BOOTLEG
fr2ch,Idol Mahjong - final romance 2 (CD to MVS Conversion),GAME_BOOTLEG
bangbedp,Bang Bead (bootleg?),GAME_BOOTLEG
diggerma,Digger Man (prototype),GAME_BOOTLEG
columnsn,Columns (PD),GAME_BOOTLEG
poknight,Poker Night (PD),GAME_BOOTLEG
neonopon,Neo No Panepon (beta / PD),GAME_BOOTLEG
neopong,Neo Pong (v1.1 / PD),GAME_BOOTLEG
npong10,Neo Pong (v1.0 / PD),GAME_NOT_WORK|GAME_BOOTLEG
frogfest,Frog Feast (PD),GAME_BOOTLEG
ltorb1,Jonas Indiana and the Lost Temple of RA (20050717 / PD),GAME_BOOTLEG
cnbe,Codename - Blut Engel (2006-01-19 / PD),GAME_BOOTLEG
beast,Shadow of the Beast (demo / PD),GAME_BOOTLEG
neodemo,Neo-Demo (PD),GAME_BOOTLEG
ngem2k,NGEM2K (beta 2006-01-18 / PD),GAME_BOOTLEG
neo2500,Neo 2500 Demo (PD),GAME_BOOTLEG
syscheck,Neo System Check (ver 1.0b / PD),GAME_BOOTLEG

View File

@ -0,0 +1,221 @@
ssf2,낚섬쌍庫게珙2 (各썹경 930911)
ssf2u,낚섬쌍庫게珙2 (쳄경 930911)
ssf2a,낚섬쌍庫게珙2 (饑碌경 931005)
ssf2ar1,낚섬쌍庫게珙2 (饑碌경 930914)
ssf2j,낚섬쌍庫게珙2 (휑경 931005)
ssf2jr1,낚섬쌍庫게珙2 (휑경 930911)
ssf2jr2,낚섬쌍庫게珙2 (휑경 930910)
ssf2tb,낚섬쌍庫게珙2 - 젬힙 (各썹경 931119)
ssf2tbr1,낚섬쌍庫게珙2 - 젬힙 (各썹경 930911)
ssf2tbj,낚섬쌍庫게珙2 - 젬힙 (휑경 930911)
ddtod,질宅뒈苟냘1 쁑췻裂檢 (킹碌경 940412)
ddtodr1,질宅뒈苟냘1 쁑췻裂檢 (킹碌경 940113)
ddtodu,질宅뒈苟냘1 쁑췻裂檢 (쳄경 940125)
ddtodur1,질宅뒈苟냘1 쁑췻裂檢 (쳄경 940113)
ddtodj,질宅뒈苟냘1 쁑췻裂檢 (휑경 940125)
ddtodjr1,질宅뒈苟냘1 쁑췻裂檢 (휑경 940113)
ddtoda,질宅뒈苟냘1 쁑췻裂檢 (饑碌경 940113)
ddtodh,질宅뒈苟냘1 쁑췻裂檢 (鮫겯記경 940125)
ecofghtr,ECO 낚濫샙 [Eco Fighters] (各썹경 931203)
ecofghtu,ECO 낚濫샙 [Eco Fighters] (쳄경 931203)
uecology,ECO 낚濫샙 (휑경 931203)
ecofghta,ECO 낚濫샙 [Eco Fighters] (饑碌경 931203)
ssf2t,낚섬쌍게2 TURBO [Super Street Fighter II Turbo] (各썹경 940223)
ssf2ta,낚섬쌍게2 TURBO [Super Street Fighter II Turbo] (饑碌경 940223)
ssf2tu,낚섬쌍게2 TURBO [Super Street Fighter II Turbo] (쳄경 940323)
ssf2tur1,낚섬쌍게2 TURBO [Super Street Fighter II Turbo] (쳄경 940223)
ssf2xj,낚섬쌍게2 X: Grand Master Challenge (휑경 940223)
xmcota,X 濫쒸목떱경 (킹碌경 950105)
xmcotau,X 濫쒸목떱경 (쳄경 950105)
xmcotah,X 濫쒸목떱경 (鮫겯記경 950331)
xmcotaj,X 濫쒸목떱경 (휑경 941219)
xmcotaj1,X 濫쒸목떱경 (휑경 941217)
xmcotaj2,X 濫쒸목떱경 (휑경 941217)
xmcotajr,X 濫쒸목떱경 (휑경 941208 μτ<CEBC>λ경)
xmcotaa,X 濫쒸목떱경 (饑碌경 941217)
armwar,샙솖陋구 [Armored Warriors] (킹碌경 941024)
armwarr1,샙솖陋구 [Armored Warriors] (킹碌경 941011)
armwaru,샙솖陋구 [Armored Warriors] (쳄경 941024)
pgear,샙솖陋구 (휑경 941024)
pgearr1,샙솖陋구 (휑경 940916)
armwara,샙솖陋구 [Armored Warriors] (饑碌경 940920)
avsp,嫩近뚤老섐濫却 (킹碌경 940520)
avspu,嫩近뚤老섐濫却 (쳄경 940520)
avspj,嫩近뚤老섐濫却 (휑경 940520)
avspa,嫩近뚤老섐濫却 (饑碌경 940520)
avsph,嫩近뚤老섐濫却 (鮫겯記경 940520)
dstlk,띳침濫却1 敎拈떱却 [Darkstalkers: The Night Warriors] (킹碌경 940705)
dstlku,띳침濫却1 敎拈떱却 [Darkstalkers: The Night Warriors] (쳄경 940818)
dstlkur1,띳침濫却1 敎拈떱却 [Darkstalkers: The Night Warriors] (쳄경 940705)
dstlka,띳침濫却1 敎拈떱却 [Darkstalkers: The Night Warriors] (饑碌경 940705)
vampj,띳침濫却: 敎拈떱却 (휑경 940705)
vampja,띳침濫却: 敎拈떱却 (휑경 940705 alt)
vampjr1,띳침濫却: 敎拈떱却 (휑경 940630)
ringdest,箚실게珙2 젯뻔괵죙 [Ring of Destruction: Slammasters<72>] (킹碌경 940902)
smbomb,箚실게珙2 젯뻔괵죙 (휑경 940831)
smbombr1,箚실게珙2 젯뻔괵죙 (휑경 940808)
cybots,샙솖목떱 (킹碌경 950424)
cybotsu,샙솖목떱 (쳄경 950424)
cybotsj,샙솖목떱 (휑경 950420)
msh,쳄벌낚섬찻뺌亶衿 (킹碌경 951024)
mshu,쳄벌낚섬찻뺌亶衿 (쳄경 951024)
mshj,쳄벌낚섬찻뺌亶衿 (휑경 951117)
mshjr1,쳄벌낚섬찻뺌亶衿 (휑경 951024)
msha,쳄벌낚섬찻뺌亶衿 (饑碌경 951024)
mshh,쳄벌낚섬찻뺌亶衿 (鮫겯記경 951117)
mshb,쳄벌낚섬찻뺌亶衿 (것鮫경 951117)
nwarr,띳침濫却2 띳침돨릿놈 [Night Warriors: Darkstalkers' Revenge] (쳄경 950316)
nwarru,띳침濫却2 띳침돨릿놈 [Night Warriors: Darkstalkers' Revenge] (쳄경 950406)
nwarrh,띳침濫却2 띳침돨릿놈 [Night Warriors: Darkstalkers' Revenge] (鮫겯記경 950403)
nwarrb,띳침濫却2 띳침돨릿놈 [Night Warriors: Darkstalkers' Revenge] (것鮫경 950403)
vhuntj,띳침濫却: 띳침돨릿놈 (휑경 950316)
vhuntjr1,띳침濫却: 띳침돨릿놈 (휑경 950307)
vhuntjr2,띳침濫却: 띳침돨릿놈 (휑경 950302)
sfa,<2C>쾨쌍庫게珙 ZERO [Street Fighter Alpha: Warriors' Dreams] (킹碌경 950727)
sfar1,<2C>쾨쌍庫게珙 ZERO [Street Fighter Alpha: Warriors' Dreams] (킹碌경 950718)
sfar2,<2C>쾨쌍庫게珙 ZERO [Street Fighter Alpha: Warriors' Dreams] (킹碌경 950627)
sfar3,<2C>쾨쌍庫게珙 ZERO [Street Fighter Alpha: Warriors' Dreams] (킹碌경 950605)
sfau,<2C>쾨쌍庫게珙 ZERO [Street Fighter Alpha: Warriors' Dreams] (쳄경 950627)
sfza,<2C>쾨쌍庫게珙 ZERO (饑碌경 950627)
sfzj,<2C>쾨쌍庫게珙 ZERO (휑경 950727)
sfzjr1,<2C>쾨쌍庫게珙 ZERO (휑경 950627)
sfzjr2,<2C>쾨쌍庫게珙 ZERO (휑경 950605)
sfzh,<2C>쾨쌍庫게珙ZERO (鮫겯記경 950627)
sfzb,<2C>쾨쌍庫게珙ZERO (것鮫경 951109)
sfzbr1,<2C>쾨쌍庫게珙ZERO (것鮫경 950727)
mmancp2u,쭤옹훙 - 제좆뚤엄 [Mega Man: The Power Battle] (CPS2 / 쳄경 951006 / SAMPLE 경)
rmancp2j,쭤옹훙 - 제좆뚤엄 (CPS2 / 휑경 950922)
19xx,19XX-츱頓뤠엄濫 (쳄경 951207)
19xxa,19XX-츱頓뤠엄濫 (饑碌경 951207)
19xxj,19XX-츱頓뤠엄濫 (휑경 951225)
19xxjr1,19XX-츱頓뤠엄濫 (휑경 951207)
19xxh,19XX-츱頓뤠엄濫 (鮫겯記경 951218)
19xxb,19XX-츱頓뤠엄濫 (것鮫경 951218)
ddsom,질宅뒈苟냘2 갠붚쵤緞 (킹碌경 960619)
ddsomr1,질宅뒈苟냘2 갠붚쵤緞 (킹碌경 960223)
ddsomr2,질宅뒈苟냘2 갠붚쵤緞 (킹碌경 960209)
ddsomr3,질宅뒈苟냘2 갠붚쵤緞 (킹碌경 960208)
ddsomu,질宅뒈苟냘2 갠붚쵤緞 (쳄경 960619)
ddsomur1,질宅뒈苟냘2 갠붚쵤緞 (쳄경 960209)
ddsomj,질宅뒈苟냘2 갠붚쵤緞 (휑경 960619)
ddsomjr1,질宅뒈苟냘2 갠붚쵤緞 (휑경 960206)
ddsoma,질宅뒈苟냘2 갠붚쵤緞 (饑碌경 960619)
ddsomb,질宅뒈苟냘2 갠붚쵤緞 (것鮫경 960223)
megaman2,쭤옹훙2 - 제좆뚤엄 [Mega Man 2: The Power Fighters] (쳄경 960708)
megamn2a,쭤옹훙2 - 제좆뚤엄 [Mega Man 2: The Power Fighters] (饑碌경 960708)
rckman2j,쭤옹훙2 - 제좆뚤엄 (휑경 960708)
qndream,펌꽈촘 븀<>裁돨펜샬 (휑경 960826)
sfa2,<2C>쾨쌍庫게珙2 [Street Fighter Alpha 2] (쳄경 960306)
sfz2j,<2C>쾨쌍庫게珙 ZERO2 (휑경 960227)
sfz2a,<2C>쾨쌍庫게珙 ZERO2 (饑碌경 960227)
sfz2b,<2C>쾨쌍庫게珙 ZERO2 (것鮫경 960531)
sfz2br1,<2C>쾨쌍庫게珙 ZERO2 (것鮫경 960304)
sfz2h,<2C>쾨쌍庫게珙 ZERO2 (鮫겯記경 960304)
sfz2n,<2C>쾨쌍庫게珙 ZERO2 (댕捏碌경 960229)
sfz2aj,<2C>쾨쌍庫게珙 ZERO2 ALPHA (휑경 960805)
sfz2ah,<2C>쾨쌍庫게珙 ZERO2 ALPHA (鮫겯記경 960813)
sfz2ab,<2C>쾨쌍庫게珙 ZERO2 ALPHA (것鮫경 960813)
sfz2aa,<2C>쾨쌍庫게珙 ZERO2 ALPHA (饑碌경 960826)
spf2t,낚섬렘욥濫却2 X [Super Puzzle Fighter II Turbo] (쳄경 960620)
spf2h,낚섬렘욥濫却2 X (옵殮쌈朞茶꾜훙膠),GAME_BOOTLEG
spf2xj,낚섬렘욥濫却2 X (휑경 960531)
spf2ta,낚섬렘욥濫却2 X [Super Puzzle FighterII Turbo] (饑碌경 960529)
xmvsf,X-Men 뚤쌍庫게珙 (킹碌경 961004)
xmvsfr1,X-Men 뚤쌍庫게珙 (킹碌경 960910)
xmvsfu,X-Men 뚤쌍庫게珙 (쳄경 961023)
xmvsfur1,X-Men 뚤쌍庫게珙 (쳄경 961004)
xmvsfj,X-Men 뚤쌍庫게珙 (휑경 961004)
xmvsfjr1,X-Men 뚤쌍庫게珙 (휑경 960910)
xmvsfjr2,X-Men 뚤쌍庫게珙 (휑경 960909)
xmvsfa,X-Men 뚤쌍庫게珙 (饑碌경 961023)
xmvsfar1,X-Men 뚤쌍庫게珙 (饑碌경 960919)
xmvsfh,X-Men 뚤쌍庫게珙 (鮫겯記경 961004)
xmvsfb,X-Men 뚤쌍庫게珙 (것鮫경 961023)
batcir,濫떱쀼쨌 (킹碌경 970319)
batcira,濫떱쀼쨌 (饑碌경 970319)
batcirj,濫떱쀼쨌 (휑경 970319)
csclub,CAPCOM頓땡얇있꼬 (킹碌경 970722)
cscluba,CAPCOM頓땡얇있꼬 (饑碌경 970722)
csclubj,CAPCOM頓땡얇있꼬 (휑경 970722)
csclubh,CAPCOM頓땡얇있꼬 (鮫겯記경 970722)
mshvsf,낚섬찻뺌亶衿뚤쌍庫게珙 (킹碌경 970625)
mshvsfu,낚섬찻뺌亶衿뚤쌍庫게珙 (쳄경 970827)
mshvsfu1,낚섬찻뺌亶衿뚤쌍庫게珙 (쳄경 970625)
mshvsfj,낚섬찻뺌亶衿뚤쌍庫게珙 (휑경 970707)
mshvsfj1,낚섬찻뺌亶衿뚤쌍庫게珙 (휑경 970702)
mshvsfj2,낚섬찻뺌亶衿뚤쌍庫게珙 (휑경 970625)
mshvsfh,낚섬찻뺌亶衿뚤쌍庫게珙 (鮫겯記경 970625)
mshvsfa,낚섬찻뺌亶衿뚤쌍庫게珙 (饑碌경 970625)
mshvsfa1,낚섬찻뺌亶衿뚤쌍庫게珙 (饑碌경 970620)
mshvsfb,낚섬찻뺌亶衿뚤쌍庫게珙 (것鮫경 970827)
mshvsfb1,낚섬찻뺌亶衿뚤쌍庫게珙 (것鮫경 970625)
sgemf,왯덟濫却 [Super Gem Fighter Mini Mix] (쳄경 970904)
pfghtj,왯덟濫却 (휑경 970904)
sgemfa,왯덟濫却 [Super Gem Fighter Mini Mix] (饑碌경 970904)
sgemfh,왯덟濫却 [Super Gem Fighter Mini Mix] (鮫겯記경 970904)
vhunt2,띳침濫却3-2:띳침돨릿놈 (휑경 970929)
vhunt2r1,띳침濫却3-2:띳침돨릿놈 (휑경 970913)
vsav,띳침濫却3-1 鯉띳안各寮 (킹碌경 970519)
vsavu,띳침濫却3-1 鯉띳안各寮 (쳄경 970519)
vsavj,띳침濫却3-1 鯉띳안各寮 (휑경 970519)
vsava,띳침濫却3-1 鯉띳안各寮 (饑碌경 970519)
vsavh,띳침濫却3-1 鯉띳안各寮 (鮫겯記경 970519)
vsav2,띳침濫却3-2:띳침돨릿놈 (휑경 970913)
mvsc,낚섬찻뺌亶衿뚤CAPCOM (킹碌경 980112)
mvscu,낚섬찻뺌亶衿뚤CAPCOM (쳄경 980123)
mvscj,낚섬찻뺌亶衿뚤CAPCOM (휑경 980123)
mvscjr1,낚섬찻뺌亶衿뚤CAPCOM (휑경 980112)
mvsca,낚섬찻뺌亶衿뚤CAPCOM (饑碌경 980123)
mvscar1,낚섬찻뺌亶衿뚤CAPCOM (饑碌경 980112)
mvsch,낚섬찻뺌亶衿뚤CAPCOM (鮫겯記경 980123)
mvscb,낚섬찻뺌亶衿뚤CAPCOM (것鮫경 980123)
sfa3,<2C>쾨쌍庫게珙 ZERO3 [Street Fighter Alpha 3] (쳄경 980904)
sfa3u,<2C>쾨쌍庫게珙 ZERO3 [Street Fighter Alpha 3] (쳄경 980904)
sfa3ur1,<2C>쾨쌍庫게珙 ZERO3 [Street Fighter Alpha 3] (쳄경 980629)
sfa3b,<2C>쾨쌍庫게珙 ZERO3 [Street Fighter Alpha 3] (것鮫경 980629)
sfz3j,<2C>쾨쌍庫게珙 ZERO3 (휑경 980904)
sfz3jr1,<2C>쾨쌍庫게珙 ZERO3 (휑경 980727)
sfz3jr2,<2C>쾨쌍庫게珙 ZERO3 (휑경 980629)
sfz3a,<2C>쾨쌍庫게珙 ZERO3 (饑碌경 980904)
sfz3ar1,<2C>쾨쌍庫게珙 ZERO3 (饑碌경 980701)
jyangoku,회힛벌羚 (휑경 990527)
hsf2,낚섬쌍庫게珙II셩쿡경 (饑碌경 040202)
hsf2j,낚섬쌍庫게珙II셩쿡경 (휑경 031222)
gigawing,잉쿰裂訥 (쳄경 990222)
gwingj,잉쿰裂訥 (휑경 990223)
gwinga,잉쿰裂訥 (饑碌경 990222)
mmatrix,뎐滑뒈掉 (쳄경 000412)
mmatrixj,뎐滑뒈掉 (휑경 000412)
mpang,침뱁폭텟 (쳄경 001010)
mpangj,침뱁폭텟 (휑경 001011)
pzloop2,旗瘻폭텟 2 (킹碌경 010302)
pzloop2j,旗瘻폭텟 2 (휑경 010205)
choko,낀쉭:회탬踏狗 (휑경 010820)
dimahoo,섣루침랬댕鱗濫 [Dimahoo] (쳄경 000121)
dimahoou,섣루침랬댕鱗濫 [Dimahoo] (쳄경 000121)
gmahou,섣루침랬댕鱗濫 (휑경 000121)
1944,1944-瀝濫裂可 (쳄경 000620)
1944j,1944-瀝濫裂可 (휑경 000620)
progear,쾀瘻裂嘯 [Progear] (쳄경 010117)
progearj,쾀瘻裂嘯 (휑경 010117)
progeara,쾀瘻裂嘯 [Progear] (饑碌경 010117)
ddtodd,질宅뒈苟냘-쁑췻裂檢 (킹碌경 940412 Phoenix Edition),GAME_BOOTLEG
xmcotad,X 濫쒸목떱경 (킹碌경 950105 Phoenix Edition),GAME_BOOTLEG
avspd,嫩近댕濫屆沂濫却 (킹碌경 940520 Phoenix Edition),GAME_BOOTLEG
dstlku1d,띳침濫却 (쳄경 940705 Phoenix Edition),GAME_BOOTLEG
ringdstd,낚섬꼽쪽실댕珙II-젯뻔괵죙 (킹碌경 940902 Phoenix Edition),GAME_BOOTLEG
nwarrd,俱沂뱁죤훙-띳침돨릿놈 (쳄경 950406 Phoenix Edition),GAME_BOOTLEG
sfad,<2C>쾨쌍게-떱却裂촘 (킹碌경 950727 Phoenix Edition),GAME_BOOTLEG
19xxd,19XX-츱頓뤠엄濫 (쳄경 951207 Phoenix Edition),GAME_BOOTLEG
ddsomud,질宅뒈苟냘 : 갠붚쵤緞 (쳄경 960619 Phoenix Edition),GAME_BOOTLEG
megamn2d,쭤옹훙2 퓻댕돨濫却 (쳄경 960708 Phoenix Edition),GAME_BOOTLEG
sfz2aad,쌍庫게珙 Zero 2 Alpha (饑碌경 960826 Phoenix Edition),GAME_BOOTLEG
spf2xjd,낚섬렘욥濫却II X (휑경 960531 Phoenix Edition),GAME_BOOTLEG
xmvsfu1d,X濫쒸뚤쌍庫게珙 (쳄경 961004 Phoenix Edition),GAME_BOOTLEG
batcird,濫떱쀼쨌 (킹碌경 970319 Phoenix Edition),GAME_BOOTLEG
vsavd,침堵聃쥣 (킹碌경 970519 Phoenix Edition),GAME_BOOTLEG
mvscud,낚섬찻뺌亶衿 Vs. Capcom (쳄경 980123 Phoenix Edition),GAME_BOOTLEG
sfa3d,쌍庫게珙 Alpha 3 (쳄경 980904 Phoenix Edition),GAME_BOOTLEG
hsf2d,낚섬쌍庫게珙II셩쿡경(饑碌경 040202 Phoenix Edition),GAME_BOOTLEG
gwingjd,잉쿰裂訥 (휑경 990223 Phoenix Edition),GAME_BOOTLEG
1944d,1944-瀝濫裂可 (쳄경 000620 Phoenix Edition),GAME_BOOTLEG

View File

@ -0,0 +1,164 @@
forgottn,世界末日 (美版)
lostwrld,世界末日 (日版)
ghouls,大魔界村 (世界版)
ghoulsu,大魔界村 (美版)
daimakai,大魔界村 (日版)
strider,出击飞龙 (美版 set 1)
stridrua,出击飞龙 (美版 set 2)
striderj,出击飞龙 (日版 set 1)
stridrja,出击飞龙 (日版 set 2)
dynwar,三国志 - 呑食天地 (世界版)
dynwarj,三国志 - 呑食天地 (日版)
willow,威洛之旅 (美版)
willowj,威洛之旅 (日版 - 日文)
willowje,威洛之旅 (日版 - 英文)
unsquad,战区88 (美版)
area88,战区88 (日版)
ffight,街头快打 (世界版)
ffightu,街头快打 (美版 900112)
ffightua,街头快打 (美版 900613)
ffightub,街头快打 (美版 900613)
ffightj,街头快打 (日版)
ffightj1,街头快打 (日版 900305)
1941,1941-反击战 (世界版)
1941j,1941-反击战 (日版)
mercs,战场之狼II (世界版 900302)
mercsu,战场之狼II (美版 900302)
mercsua,战场之狼II (美版 900608)
mercsj,战场之狼II (日版 900302)
mtwins,双麟儿 (世界版 900619)
chikij,双麟儿 (日版 900619)
msword,魔剑 (世界版 900725)
mswordr1,魔剑 (世界版 900623)
mswordu,魔剑 (美版 900725)
mswordj,魔剑 (日版 900623)
cawing,美国海军 (世界版 901012)
cawingr1,美国海军 (世界版 901009)
cawingu,美国海军 (美版 901012)
cawingj,美国海军 (日版 901012)
nemo,梦幻冒险 (世界版 901130)
nemoj,梦幻冒险 (日版 901120)
sf2,街头霸王II - 天下斗士 (世界版 910522)
sf2eb,街头霸王II - 天下斗士 (世界版 910214)
sf2ua,街头霸王II - 天下斗士 (美版 910206)
sf2ub,街头霸王II - 天下斗士 (美版 910214)
sf2ud,街头霸王II - 天下斗士 (美版 910318)
sf2ue,街头霸王II - 天下斗士 (美版 910228)
sf2uf,街头霸王II - 天下斗士 (美版 910411)
sf2ui,街头霸王II - 天下斗士 (美版 910522)
sf2uk,街头霸王II - 天下斗士 (美版 911101)
sf2j,街头霸王II - 天下斗士 (日版 911210)
sf2ja,街头霸王II - 天下斗士 (日版 910214)
sf2jc,街头霸王II - 天下斗士 (日版 910306)
3wonders,神奇三合一 (世界版 910520)
3wonderu,神奇三合一 (美版 910520)
wonder3,神奇三合一 (日版 910520)
kod,龙王 (世界版 910711)
kodu,龙王 (美版 910910)
kodj,龙王 (日版 910805)
kodb,龙王 (bootleg),GAME_BOOTLEG
captcomm,名将 (世界版 911014)
captcomu,名将 (美版 910928)
captcomj,名将 (日版 911202)
knights,圆卓骑士 (世界版 911127)
knightsu,圆卓骑士 (美版 911127)
knightsj,圆卓骑士 (日版 911127)
knightsb,圆卓骑士 (bootleg)
knightsh,圆卓骑士 (hack)
knightsi,圆卓骑士 (显示乱步),GAME_BOOTLEG
knightsr,圆卓骑士 (随机版),GAME_BOOTLEG
sf2ce,街头霸王II - 四大天王 (世界版 920313)
sf2ceua,街头霸王II - 四大天王 (美版 920313)
sf2ceub,街头霸王II - 四大天王 (美版 920513)
sf2ceuc,街头霸王II - 四大天王 (美版 920803)
sf2cej,街头霸王II - 四大天王 (日版 920513)
sf2rb,街头霸王II - 四大天王 (彩虹版 set 1),GAME_BOOTLEG
sf2rb2,街头霸王II - 四大天王 (彩虹版 set 2),GAME_BOOTLEG
sf2red,街头霸王II - 四大天王 (赤色波动),GAME_BOOTLEG
sf2v004,街头霸王II - 四大天王 (V004),GAME_NOT_WORK|GAME_BOOTLEG
sf2accp2,街头霸王II - 四大天王 (加速版 Pt.II),GAME_BOOTLEG
sf2m1,街头霸王II - 四大天王 (M1),GAME_NOT_WORK|GAME_BOOTLEG
sf2m2,街头霸王II - 四大天王 (M2),GAME_BOOTLEG
sf2m3,街头霸王II - 四大天王 (M3),GAME_NOT_WORK|GAME_BOOTLEG
sf2m4,街头霸王II - 四大天王 (M4),GAME_BOOTLEG
sf2m5,街头霸王II - 四大天王 (M5),GAME_BOOTLEG
sf2m6,街头霸王II - 四大天王 (降龙 set 2),GAME_BOOTLEG
sf2m7,街头霸王II - 四大天王 (M7),GAME_BOOTLEG
sf2m8,街头霸王II - 四大天王 (M8),GAME_NOT_WORK|GAME_BOOTLEG
sf2m13,街头霸王II - 四大天王 (M13),GAME_BOOTLEG
sf2tlona,街头霸王II - 四大天王 (屠龙 set 1),GAME_BOOTLEG
sf2tlonb,街头霸王II - 四大天王 (屠龙 set 2),GAME_BOOTLEG
sf2yyc,街头霸王II - 四大天王 (YYC),GAME_BOOTLEG
sf2koryu,街头霸王II - 四大天王 (降龙 set 1),GAME_BOOTLEG
varth,威虎战机 - 雷雨行动 (世界版 920714)
varthr1,威虎战机 - 雷雨行动 (世界版 920612)
varthu,威虎战机 - 雷雨行动 (美版 920612)
varthj,威虎战机 - 雷雨行动 (日版 920714)
cworld2j,问答 Capcom世界II (日版 920611)
sf2hf,街头霸王II加速版 - 终极格斗 (世界版 921209)
sf2t,街头霸王II加速版 - 终极格斗 (美版 921209)
sf2tj,街头霸王II加速版 - 终极格斗 (日版 921209)
qad,龙之谜题 (美版 920701)
qadj,龙之谜题 (日版 940921)
qtono2,问答 殿样之野望 2 全国版 (日版 950123)
megaman,洛克人 - 力量之战 (亚洲版 951006)
rockmanj,洛克人 - 力量之战 (日版 950922)
wof,三国志 II (世界版 921002)
wofa,三国志 II - 呑食天地 (亚洲版 921005)
wofu,三国志 II (美版 921031)
wofj,三国志 II - 呑食天地 (日版 921031)
wofb,三国志 II (bootleg),GAME_NOT_WORKING|GAME_BOOTLEG
wofh,三国志 Ⅱ三国英雄伝 (bootleg / set 1),GAME_BOOTLEG
wofha,三国志 Ⅱ赤壁之战 (bootleg / set 2),GAME_BOOTLEG
wof3js,三国志 II -三剑圣 (bootleg),GAME_BOOTLEG
wof3sj,三国志 II -三圣剑 (bootleg / set 1),GAME_BOOTLEG
wof3sja,三国志 II -三圣剑 (bootleg / set 2),GAME_BOOTLEG
wofsj,三国志 II -三剑圣 (bootleg / set 1),GAME_BOOTLEG
wofsja,三国志 II -三剑圣 (bootleg / set 2),GAME_BOOTLEG
wofsjb,三国志 II -三剑圣 (bootleg / set 3),GAME_BOOTLEG
wofth,三国志 Ⅱ赤壁之战 -敌人替换版
wofjjq,三国志 Ⅱ赤壁之战 -血腥加强版
woffh,三国志 Ⅱ赤壁之战 -粉红版
wofzhs,三国志 Ⅱ赤壁之战 -召唤曾版
wofbio,三国志 Ⅱ赤壁之战 -BOSS加强版
wofctj,三国志 Ⅱ赤壁之战 -草薙剑版
wofctm,三国志 Ⅱ赤壁之战 -草薙马版
wofgyc,三国志 Ⅱ赤壁之战 -关羽赤兔马版
wofgyq,三国志 Ⅱ赤壁之战 -关羽强化版
wofhzj,三国志 Ⅱ赤壁之战 -黄忠加强版
wofjqz,三国志 Ⅱ赤壁之战 -剑气纵横版
wofsjj,三国志 Ⅱ赤壁之战 -神箭+剑气版
wofyjs,三国志 Ⅱ赤壁之战 -御剑术版
wofzyq,三国志 Ⅱ赤壁之战 -赵云嗜血暴力版
wofzy2,三国志 Ⅱ赤壁之战 -赵云强化连蹴版
wofzy3,三国志 Ⅱ赤壁之战 -赵云强化升龙版
wofsbl,三国志 Ⅱ赤壁之战 -神兵利器版
wofsz,三国志 Ⅱ赤壁之战 -烧猪版
wofdy,三国志 Ⅱ赤壁之战 -地狱版
wofbt,三国志 Ⅱ赤壁之战 -张飞强化暴力版
wofhgz,三国志 Ⅱ赤壁之战 -寒光斩
wofdyg,三国志 Ⅱ赤壁之战 -天下第一关
wofyxg,三国志 Ⅱ赤壁之战 -英雄关
wofmr,三国志 Ⅱ赤壁之战 -美人关
wofzhy,三国志 Ⅱ赤壁之战 -召唤曾&御剑术版
dino,恐龙世纪 (世界版 930201)
dinou,恐龙世纪 (美版 930201)
dinoj,恐龙世纪 (日版 930201)
dinob,恐龙世纪 (bootleg),GAME_BOOTLEG
dinoh,恐龙世纪 (bootleg / set 1),GAME_BOOTLEG
dinoha,恐龙世纪 (bootleg / set 2),GAME_BOOTLEG
dinohb,恐龙世纪 (bootleg / set 3),GAME_BOOTLEG
punisher,惩罚者 (世界版 930422)
punishru,惩罚者 (美版 930422)
punishrj,惩罚者 (日版 930422)
slammast,摔角霸王 (世界版 930713)
slammasu,摔角霸王 (美版 930713)
mbomberj,摔角霸王 - 肌肉爆弹 (日版 930713)
mbombrd,摔角霸王 - 热力战士 (世界版 931206)
mbombrdj,摔角霸王 - 热力战士 (日版 931206)
pnickj,魔法方块 (日版 940608)
pnicku,魔法方块 (美版 940608 Loca Test Version)
pang3,魔法气泡3 (欧版 950511)
pang3j,魔法气泡3 (日版 950511)
sfzch,街霸Zero - CPS1转换板 (日版 951020)
sfach,街霸ALPHA (美版 950727 Publicity)

View File

@ -0,0 +1,256 @@
2020bb,2020年超级棒球 (set 1)
2020bba,2020年超级棒球 (set 2)
2020bbh,2020年超级棒球 (set 3)
3countb,火炎格斗
alpham2,组合战机 ASO.2 - 最后的守护神
androdun,雷霆任务
aodk,痛快GANGAN行进曲
aof,龙虎拳
aof2,龙虎拳2 (set 1)
aof2a,龙虎拳2 (set 2)
aof3, 龙虎拳外伝
aof3k, 龙虎拳外伝 (韩国版)
bakatono,麻雀漫游记
bangbead,冲击弹珠
bjourney,拉吉少年
blazstar,死亡之星 2 - 燃烧星球
breakers,爆裂人
breakrev,爆裂人复仇编
bstars,棒球之星
bstars2,棒球之星 2
burningf,热血快打(set 1)
burningh,热血快打(set 2)
crsword,圣十字剑
ctomaday,蕃茄超人
cyberlip,战斗边境
doubledr,双截龙
eightman,八号超人
fatfursa,饿狼传说 特别版 (set 2)
fatfursp,饿狼传说 特别版 (set 1)
fatfury1,饿狼传说 - 宿命的战斗
fatfury2,饿狼传说2 - 新的战斗
fatfury3,饿狼传说3 - 遥远的战斗
fbfrenzy,疯狂美式足球
fightfev,狂热格斗(set 1)
fightfva,狂热格斗(set 2)
flipshot,盾牌大战
fswords,侍魂 斩红朗无双剑 (韩国版)
galaxyfg,银河快打
ganryu,武藏岩流记
garou,饿狼 - 群狼之证 (set 1)
garouo,饿狼 - 群狼之证 (set 2)
garoup,饿狼 - 群狼之证 (工程版)
ghostlop, 幽灵球 (工程版)
goalx3,世界杯足球
gowcaizr,超人学园 - 钢帝王
gpilots,魔鬼飞行员
gururin,小人国解谜
irrmaze,电流急急棒
janshin,雀神伝说
jockeygp,赌马大亨
joyjoy,阳光方块
kabukikl,天外魔境 真伝
karnovr,格斗列传 2 - 凯洛夫的复仇
kf2k3pcb,拳皇 2003 (Japan / JAMMA PCB)
kizuna,风云默示录 2 - 超级组队战
kof2000,拳皇 2000
kof2000n,拳皇 2000 (未加密)
kof2001,拳皇 2001 (set 1)
kof2001h,拳皇 2001 (set 2)
kof2002,拳皇 2002
kof2003,拳皇 2003 (World / US / MVS)
kof94,拳皇 '94
kof95,拳皇 '95 (set 1)
kof95a,拳皇 '95 (set 2)
kof96,拳皇 '96 (set 1)
kof96h,拳皇 '96 (set 2)
kof97,拳皇 '97 (set 1)
kof97a,拳皇 '97 (set 2)
kof98,拳皇 '98 - DREAM MATCH NEVER ENDS
kof98k,拳皇 '98 - DREAM MATCH NEVER ENDS (Korean board)
kof98n,拳皇 '98 - DREAM MATCH NEVER ENDS (未加密)
kof99,拳皇 '99 - Millennium Battle (set 1)
kof99a,拳皇 '99 - Millennium Battle (set 2)
kof99e,拳皇 '99 - Millennium Battle (earlier)
kof99n,拳皇 '99 - Millennium Battle (未加密)
kof99p,拳皇 '99 - Millennium Battle (工程版)
kotm,魔兽之王 (set 1)
kotmh,魔兽之王 (set 2)
kotm2,魔兽之王2 - THE NEXT THING
lastblad,幕末浪漫 月华剑士 (set 1)
lastbldh,幕末浪漫 月华剑士 (set 2)
lastsold,幕末浪漫 月华剑士 (THE LAST SOLDIER) (韩国版)
lastbld2,幕末浪漫第二幕 月华剑士 - 月中芳华 散落月下
lbowling,爆笑保龄球联盟
legendos,小拳王
lresort,终极任务
magdrop2, 魔法方块 Ⅱ
magdrop3, 魔法方块 Ⅲ
maglord,幻魔大战 (set 1)
maglordh,幻魔大战 (set 2)
mahretsu,麻雀狂列伝 - 西日本编
marukodq,小丸子问答
matrim,新豪血寺一族“斗婚”
miexchng,钱币解谜
minasan,麻雀大富翁
mosyougi,将棋达人
ms5pcb,合金弹头5 (JAMMA PCB)
mslug,合金弹头 - SUPER VEHICLE-001
mslug2,合金弹头2 - SUPER VEHICLE-001/II
mslug3,合金弹头3
mslug3n,合金弹头3 (未加密)
mslug4,合金弹头4
mslug5,合金弹头5
mslugx,合金弹头X - SUPER VEHICLE-001
mutnat,外星游龙
nam1975,越南 - 1975
ncombat,忍者大战 (set 1)
ncombata,忍者大战 (set 2)
ncommand,忍者军团
neobombe,Neo 轰炸超人
neocup98, Neo 足球 '98 - 胜利之路
neodrift,NEO越野赛车
neomrdo,Neo都先生
ninjamas,霸王忍法帖
nitd,幽灵克星 - 黑暗守墓者
overtop,终极顶尖赛车
panicbom,轰炸超人方块
pbobbl2n,魔法泡泡龙 2
pbobblen,魔法泡泡龙 (set 1)
pbobblna,魔法泡泡龙 (set 2)
pgoal,五对五小型足球 - 轻松得点
pnyaa,宠物方块
popbounc,动物砖块
preisle2,原始岛2
pspikes2, 超级排球 Ⅱ
pulstar,死亡之星 - 超电波球体大作战
puzzldpr,星座解谜气泡! R
puzzledp,星座解谜气泡!
quizdai2,问答大搜查线 2 - Neo 侦探迷
quizdais,问答大搜查线 - 最后倒计时
quizkof,拳皇大问答
ragnagrd,神凰拳
rbff1,真 饿狼传说
rbff2,真 饿狼传说2 - 新挑战者 (set 1)
rbff2a,真 饿狼传说2 - 新挑战者 (set 2)
rbff2k,真 饿狼传说2 - 新挑战者 (韩国版)
rbffspec,真 饿狼传说 - 特别版
ridhero,风速英雄 (set 1)
ridheroh,风速英雄 (set 2)
roboarma,机甲神兵 (set 2)
roboarmy,机甲神兵 (set 1)
rotd,龙拳
s1945p,1945 Plus
samsh5sh,侍魂零特别版 (set 2 / uncensored)
samsh5sn,侍魂零特别版 (set 3 / censored)
samsh5sp,侍魂零特别版 (set 1 / less censored)
samsho,侍魂
samsho2,真侍魂 - 霸王丸地狱变
samsho3,侍魂 斩红朗无双剑 (set 1)
samsho3a,侍魂 斩红朗无双剑 (set 2)
samsho4,侍魂 天草光临
samsho5,侍魂零 (set 1)
samsho5h,侍魂零 (set 2)
savagere,风云默示录 - 格斗创世
sdodgeb,热血斗球伝说
sengokh,战国传承 (set 2)
sengoku,战国传承 (set 1)
sengoku2,战国传承2
sengoku3,战国传承2001
shocktr2,突击奇兵 2 - 第二纵队
shocktra,突击奇兵 (set 2)
shocktro,突击奇兵 (set 1)
socbrawl,机器人足球
sonicwi2,音速战机 2
sonicwi3,音速战机 3
spinmast,风雨兄弟 - 强尼大冒险
ssideki,得点王
ssideki2,得点王2 - 世界杯
ssideki3,得点王3 - 下一个荣誉
ssideki4,得点王4 - 火炎之 Libero
stakwin,骑手之路 - GI 完全制霸之道
stakwin2,骑手之路 2 - 最强马传说
strhoop,街头篮球
superspy,谍报飞龙
svc,SvC 大乱斗 (MVS)
svcpcba,SvC 大乱斗 (JAMMA PCB / set 2)
tophunta,顶尖猎人 (set 2)
tophuntr,顶尖猎人 (set 1)
tpgolf,顶尖高尔夫
trally,极速英豪
turfmast,Neo 高尔夫
twinspri,闪亮小妖精
tws96,Tecmo 世界杯足球 '96
viewpoin,视点 - V 计划
vliner,胜利拉霸水果盘 (set 1)
vlinero,胜利拉霸水果盘 (set 2)
wakuwak7,热血七战士
wh1,世界英雄榜 (set 1)
wh1h,世界英雄榜 (set 2)
wh1ha,世界英雄榜 (set 3)
wh2,世界英雄榜 2
wh2j,世界英雄榜 2 JET (set 1)
wh2jh,世界英雄榜 2 JET (set 2)
whp,世界英雄榜完美版
wjammers,超级飞盘
zedblade,末日之战
zupapa,欢乐精灵! - 星星大作战
kof96ep,拳皇 '96 (bootleg),GAME_BOOTLEG
kof97pls,拳皇'97 PLUS (bootleg),GAME_BOOTLEG
kof97pla,拳皇 '97 Plus 2003 (bootleg),GAME_BOOTLEG
kogd,拳皇 KOG (拳皇'97 bootleg),GAME_BOOTLEG
zintrckb,水滴对战气泡 (hack / bootleg),GAME_BOOTLEG
zintrkcd,水滴对战气泡 (CD to MVS Conversion),GAME_BOOTLEG
garoubl,饿狼 - 群狼之证 (bootleg),GAME_BOOTLEG
mslug3b6,合金弹头6 (合金弹头3 bootleg),GAME_BOOTLEG
kf2k1pls,拳皇 2001 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k1pa,拳皇 2001 Plus (set 2 / bootleg),GAME_BOOTLEG
cthd2003,卧虎藏龙 2003 (KOF2001 bootleg),GAME_BOOTLEG
cthd2k3a,卧虎藏龙 2003 (KOF2001 bootleg / set 2),GAME_BOOTLEG
ct2k3sp,卧虎藏龙 2003 SUPER PLUS (KOF2001 bootleg),GAME_BOOTLEG
ct2k3sa,卧虎藏龙 2003 Super Plus alternate (KOF2001 bootleg),GAME_BOOTLEG
kof2002b,拳皇 2002 (bootleg),GAME_BOOTLEG
kf2k2pls,拳皇 2002 PLUS (set 1 / bootleg),GAME_BOOTLEG
kf2k2pla,拳皇 2002 PLUS (set 2 / bootleg),GAME_BOOTLEG
kf2k2plb,拳皇 2002 Plus (set 3 / bootleg),GAME_BOOTLEG
kf2k2plc,拳皇 2002 Super (set 4 / bootleg),GAME_BOOTLEG
kf2k2mp,拳皇 2002 MAGIC PLUS (bootleg),GAME_BOOTLEG
kf2k2mp2,拳皇 2002 MAGIC PLUSⅡ (bootleg),GAME_BOOTLEG
kof10th,拳皇 10 周年纪念版 (KOF2002 bootleg),GAME_BOOTLEG
kf2k5uni,拳皇 10 周年纪念版 2005 Unique (KOF2002 bootleg),GAME_BOOTLEG
kf10thep,拳皇 10 周年纪念版 Extra Plus (KOF2002 bootleg),GAME_BOOTLEG
kof2k4se,拳皇 Special Edition 2004 (KOF2002 bootleg),GAME_BOOTLEG
kf2k4pls,拳皇 Special Edition 2004 Plus (KOF2002 bootleg),GAME_BOOTLEG
ms5plus,合金弹头 5 PLUS (bootleg),GAME_BOOTLEG
ms5plus,合金弹头 5 Plus (bootleg),GAME_BOOTLEG
nitdbl,午夜恶梦 (bootleg),GAME_BOOTLEG
svcboot,SNK VS. CAPKOM SVC CHAOS (MVS) (bootleg),GAME_BOOTLEG
svcplus,SNK VS. CAPKOM SVC CHAOS PLUS (set 1 / bootleg),GAME_BOOTLEG
svcplusa,SNK VS. CAPKOM SVC CHAOS PLUS (set 2 / bootleg),GAME_BOOTLEG
svcsplus,SNK VS. CAPKOM SVC CHAOS SUPER PLUS (bootleg),GAME_BOOTLEG
samsho5b,侍魂5 (bootleg),GAME_BOOTLEG
kf2k3bl,拳皇2003 (set 1 / bootleg),GAME_BOOTLEG
kf2k3bla,拳皇2003 (set 2 / bootleg),GAME_BOOTLEG
kf2k3pl,拳皇2004 PLUS / HERO (KOF2003 bootleg),GAME_BOOTLEG
kf2k3upl,拳皇2004 ULTRA PLUS (KOF2003 bootleg),GAME_BOOTLEG
matrimbl,新豪血寺一族 - 斗婚 (bootleg),GAME_BOOTLEG
lans2004,突击奇兵2004 (突击奇兵 bootleg),GAME_BOOTLEG
ms4plus,合金弹头4 PLUS (bootleg),GAME_BOOTLEG
fr2ch,麻雀 最终罗曼史2 (CD to MVS Conversion),GAME_BOOTLEG
bangbedp,撞球大战 (bootleg?),GAME_BOOTLEG
diggerma,掘地人 (工程版),GAME_BOOTLEG
columnsn,魔法宝石 (PD),GAME_BOOTLEG
poknight,扑克之夜 (PD),GAME_BOOTLEG
neonopon,Neo 智力方块 (beta / PD),GAME_BOOTLEG
neopong,Neo 弹球 (v1.1 / PD),GAME_BOOTLEG
frogfest,浮游城 (PD),GAME_BOOTLEG
ltorb1,Jonas Indiana and the Lost Temple of RA (20050717 / PD),GAME_BOOTLEG
cnbe,Codename - Blut Engel (2006-01-19 / PD),GAME_BOOTLEG
beast,兽之影 (demo / PD),GAME_BOOTLEG
kof2k2cn,拳皇 2002CN,GAME_BOOTLEG
kof2kcn,拳皇 2000CN,GAME_BOOTLEG
kof98cn,拳皇 98CN,GAME_BOOTLEG
kof98C,拳皇 98Combo,GAME_BOOTLEG
kof2kbsd,拳皇 2000bsd,GAME_BOOTLEG
kof96ae,拳皇 96ae,GAME_BOOTLEG
kof2k1bs,拳皇 2001 Plus (bs / bootleg),GAME_BOOTLEG

View File

@ -0,0 +1,221 @@
ssf2,超級街頭霸王2 (世界版 930911)
ssf2u,超級街頭霸王2 (美版 930911)
ssf2a,超級街頭霸王2 (亞洲版 931005)
ssf2ar1,超級街頭霸王2 (亞洲版 930914)
ssf2j,超級街頭霸王2 (日版 931005)
ssf2jr1,超級街頭霸王2 (日版 930911)
ssf2jr2,超級街頭霸王2 (日版 930910)
ssf2tb,超級街頭霸王2 - 聯賽 (世界版 931119)
ssf2tbr1,超級街頭霸王2 - 聯賽 (世界版 930911)
ssf2tbj,超級街頭霸王2 - 聯賽 (日版 930911)
ddtod,龍與地下城1 毀滅之塔 (歐洲版 940412)
ddtodr1,龍與地下城1 毀滅之塔 (歐洲版 940113)
ddtodu,龍與地下城1 毀滅之塔 (美版 940125)
ddtodur1,龍與地下城1 毀滅之塔 (美版 940113)
ddtodj,龍與地下城1 毀滅之塔 (日版 940125)
ddtodjr1,龍與地下城1 毀滅之塔 (日版 940113)
ddtoda,龍與地下城1 毀滅之塔 (亞洲版 940113)
ddtodh,龍與地下城1 毀滅之塔 (西班牙版 940125)
ecofghtr,ECO 超戰機 [Eco Fighters] (世界版 931203)
ecofghtu,ECO 超戰機 [Eco Fighters] (美版 931203)
uecology,ECO 超戰機 (日版 931203)
ecofghta,ECO 超戰機 [Eco Fighters] (亞洲版 931203)
ssf2t,超級街霸2 TURBO [Super Street Fighter II Turbo] (世界版 940223)
ssf2ta,超級街霸2 TURBO [Super Street Fighter II Turbo] (亞洲版 940223)
ssf2tu,超級街霸2 TURBO [Super Street Fighter II Turbo] (美版 940323)
ssf2tur1,超級街霸2 TURBO [Super Street Fighter II Turbo] (美版 940223)
ssf2xj,超級街霸2 X: Grand Master Challenge (日版 940223)
xmcota,X 戰警格鬥版 (歐洲版 950105)
xmcotau,X 戰警格鬥版 (美版 950105)
xmcotah,X 戰警格鬥版 (西班牙版 950331)
xmcotaj,X 戰警格鬥版 (日版 941219)
xmcotaj1,X 戰警格鬥版 (日版 941217)
xmcotaj2,X 戰警格鬥版 (日版 941217)
xmcotajr,X 戰警格鬥版 (日版 941208 ????版)
xmcotaa,X 戰警格鬥版 (亞洲版 941217)
armwar,機甲裝備 [Armored Warriors] (歐洲版 941024)
armwarr1,機甲裝備 [Armored Warriors] (歐洲版 941011)
armwaru,機甲裝備 [Armored Warriors] (美版 941024)
pgear,機甲裝備 (日版 941024)
pgearr1,機甲裝備 (日版 940916)
armwara,機甲裝備 [Armored Warriors] (亞洲版 940920)
avsp,異形對終極戰士 (歐洲版 940520)
avspu,異形對終極戰士 (美版 940520)
avspj,異形對終極戰士 (日版 940520)
avspa,異形對終極戰士 (亞洲版 940520)
avsph,異形對終極戰士 (西班牙版 940520)
dstlk,惡魔戰士1 午夜鬥士 [Darkstalkers: The Night Warriors] (歐洲版 940705)
dstlku,惡魔戰士1 午夜鬥士 [Darkstalkers: The Night Warriors] (美版 940818)
dstlkur1,惡魔戰士1 午夜鬥士 [Darkstalkers: The Night Warriors] (美版 940705)
dstlka,惡魔戰士1 午夜鬥士 [Darkstalkers: The Night Warriors] (亞洲版 940705)
vampj,惡魔戰士: 午夜鬥士 (日版 940705)
vampja,惡魔戰士: 午夜鬥士 (日版 940705 alt)
vampjr1,惡魔戰士: 午夜鬥士 (日版 940630)
ringdest,蟀角霸王2 連環爆裂 [Ring of Destruction: SlammastersⅡ] (歐洲版 940902)
smbomb,蟀角霸王2 連環爆裂 (日版 940831)
smbombr1,蟀角霸王2 連環爆裂 (日版 940808)
cybots,機甲格鬥 (歐洲版 950424)
cybotsu,機甲格鬥 (美版 950424)
cybotsj,機甲格鬥 (日版 950420)
msh,美國超級漫畫英雄 (歐洲版 951024)
mshu,美國超級漫畫英雄 (美版 951024)
mshj,美國超級漫畫英雄 (日版 951117)
mshjr1,美國超級漫畫英雄 (日版 951024)
msha,美國超級漫畫英雄 (亞洲版 951024)
mshh,美國超級漫畫英雄 (西班牙版 951117)
mshb,美國超級漫畫英雄 (巴西版 951117)
nwarr,惡魔戰士2 惡魔的復仇 [Night Warriors: Darkstalkers' Revenge] (美版 950316)
nwarru,惡魔戰士2 惡魔的復仇 [Night Warriors: Darkstalkers' Revenge] (美版 950406)
nwarrh,惡魔戰士2 惡魔的復仇 [Night Warriors: Darkstalkers' Revenge] (西班牙版 950403)
nwarrb,惡魔戰士2 惡魔的復仇 [Night Warriors: Darkstalkers' Revenge] (巴西版 950403)
vhuntj,惡魔戰士: 惡魔的復仇 (日版 950316)
vhuntjr1,惡魔戰士: 惡魔的復仇 (日版 950307)
vhuntjr2,惡魔戰士: 惡魔的復仇 (日版 950302)
sfa,少年街頭霸王 ZERO [Street Fighter Alpha: Warriors' Dreams] (歐洲版 950727)
sfar1,少年街頭霸王 ZERO [Street Fighter Alpha: Warriors' Dreams] (歐洲版 950718)
sfar2,少年街頭霸王 ZERO [Street Fighter Alpha: Warriors' Dreams] (歐洲版 950627)
sfar3,少年街頭霸王 ZERO [Street Fighter Alpha: Warriors' Dreams] (歐洲版 950605)
sfau,少年街頭霸王 ZERO [Street Fighter Alpha: Warriors' Dreams] (美版 950627)
sfza,少年街頭霸王 ZERO (亞洲版 950627)
sfzj,少年街頭霸王 ZERO (日版 950727)
sfzjr1,少年街頭霸王 ZERO (日版 950627)
sfzjr2,少年街頭霸王 ZERO (日版 950605)
sfzh,少年街頭霸王ZERO (西班牙版 950627)
sfzb,少年街頭霸王ZERO (巴西版 951109)
sfzbr1,少年街頭霸王ZERO (巴西版 950727)
mmancp2u,洛克人 - 力量對決 [Mega Man: The Power Battle] (CPS2 / 美版 951006 / SAMPLE 版)
rmancp2j,洛克人 - 力量對決 (CPS2 / 日版 950922)
19xx,19XX-命運否決戰 (美版 951207)
19xxa,19XX-命運否決戰 (亞洲版 951207)
19xxj,19XX-命運否決戰 (日版 951225)
19xxjr1,19XX-命運否決戰 (日版 951207)
19xxh,19XX-命運否決戰 (西班牙版 951218)
19xxb,19XX-命運否決戰 (巴西版 951218)
ddsom,龍與地下城2 暗黑秘影 (歐洲版 960619)
ddsomr1,龍與地下城2 暗黑秘影 (歐洲版 960223)
ddsomr2,龍與地下城2 暗黑秘影 (歐洲版 960209)
ddsomr3,龍與地下城2 暗黑秘影 (歐洲版 960208)
ddsomu,龍與地下城2 暗黑秘影 (美版 960619)
ddsomur1,龍與地下城2 暗黑秘影 (美版 960209)
ddsomj,龍與地下城2 暗黑秘影 (日版 960619)
ddsomjr1,龍與地下城2 暗黑秘影 (日版 960206)
ddsoma,龍與地下城2 暗黑秘影 (亞洲版 960619)
ddsomb,龍與地下城2 暗黑秘影 (巴西版 960223)
megaman2,洛克人2 - 力量對決 [Mega Man 2: The Power Fighters] (美版 960708)
megamn2a,洛克人2 - 力量對決 [Mega Man 2: The Power Fighters] (亞洲版 960708)
rckman2j,洛克人2 - 力量對決 (日版 960708)
qndream,七彩夢 虹色町的奇跡 (日版 960826)
sfa2,少年街頭霸王2 [Street Fighter Alpha 2] (美版 960306)
sfz2j,少年街頭霸王 ZERO2 (日版 960227)
sfz2a,少年街頭霸王 ZERO2 (亞洲版 960227)
sfz2b,少年街頭霸王 ZERO2 (巴西版 960531)
sfz2br1,少年街頭霸王 ZERO2 (巴西版 960304)
sfz2h,少年街頭霸王 ZERO2 (西班牙版 960304)
sfz2n,少年街頭霸王 ZERO2 (大洋洲版 960229)
sfz2aj,少年街頭霸王 ZERO2 ALPHA (日版 960805)
sfz2ah,少年街頭霸王 ZERO2 ALPHA (西班牙版 960813)
sfz2ab,少年街頭霸王 ZERO2 ALPHA (巴西版 960813)
sfz2aa,少年街頭霸王 ZERO2 ALPHA (亞洲版 960826)
spf2t,超級方塊戰士2 X [Super Puzzle Fighter II Turbo] (美版 960620)
spf2h,超級方塊戰士2 X (可直接選隱藏人物),GAME_BOOTLEG
spf2xj,超級方塊戰士2 X (日版 960531)
spf2ta,超級方塊戰士2 X [Super Puzzle FighterII Turbo] (亞洲版 960529)
xmvsf,X-Men 對街頭霸王 (歐洲版 961004)
xmvsfr1,X-Men 對街頭霸王 (歐洲版 960910)
xmvsfu,X-Men 對街頭霸王 (美版 961023)
xmvsfur1,X-Men 對街頭霸王 (美版 961004)
xmvsfj,X-Men 對街頭霸王 (日版 961004)
xmvsfjr1,X-Men 對街頭霸王 (日版 960910)
xmvsfjr2,X-Men 對街頭霸王 (日版 960909)
xmvsfa,X-Men 對街頭霸王 (亞洲版 961023)
xmvsfar1,X-Men 對街頭霸王 (亞洲版 960919)
xmvsfh,X-Men 對街頭霸王 (西班牙版 961004)
xmvsfb,X-Men 對街頭霸王 (巴西版 961023)
batcir,戰鬥回路 (歐洲版 970319)
batcira,戰鬥回路 (亞洲版 970319)
batcirj,戰鬥回路 (日版 970319)
csclub,CAPCOM運動俱樂部 (歐洲版 970722)
cscluba,CAPCOM運動俱樂部 (亞洲版 970722)
csclubj,CAPCOM運動俱樂部 (日版 970722)
csclubh,CAPCOM運動俱樂部 (西班牙版 970722)
mshvsf,超級漫畫英雄對街頭霸王 (歐洲版 970625)
mshvsfu,超級漫畫英雄對街頭霸王 (美版 970827)
mshvsfu1,超級漫畫英雄對街頭霸王 (美版 970625)
mshvsfj,超級漫畫英雄對街頭霸王 (日版 970707)
mshvsfj1,超級漫畫英雄對街頭霸王 (日版 970702)
mshvsfj2,超級漫畫英雄對街頭霸王 (日版 970625)
mshvsfh,超級漫畫英雄對街頭霸王 (西班牙版 970625)
mshvsfa,超級漫畫英雄對街頭霸王 (亞洲版 970625)
mshvsfa1,超級漫畫英雄對街頭霸王 (亞洲版 970620)
mshvsfb,超級漫畫英雄對街頭霸王 (巴西版 970827)
mshvsfb1,超級漫畫英雄對街頭霸王 (巴西版 970625)
sgemf,口袋戰士 [Super Gem Fighter Mini Mix] (美版 970904)
pfghtj,口袋戰士 (日版 970904)
sgemfa,口袋戰士 [Super Gem Fighter Mini Mix] (亞洲版 970904)
sgemfh,口袋戰士 [Super Gem Fighter Mini Mix] (西班牙版 970904)
vhunt2,惡魔戰士3-2:惡魔的復仇 (日版 970929)
vhunt2r1,惡魔戰士3-2:惡魔的復仇 (日版 970913)
vsav,惡魔戰士3-1 罪惡救世主 (歐洲版 970519)
vsavu,惡魔戰士3-1 罪惡救世主 (美版 970519)
vsavj,惡魔戰士3-1 罪惡救世主 (日版 970519)
vsava,惡魔戰士3-1 罪惡救世主 (亞洲版 970519)
vsavh,惡魔戰士3-1 罪惡救世主 (西班牙版 970519)
vsav2,惡魔戰士3-2:惡魔的復仇 (日版 970913)
mvsc,超級漫畫英雄對CAPCOM (歐洲版 980112)
mvscu,超級漫畫英雄對CAPCOM (美版 980123)
mvscj,超級漫畫英雄對CAPCOM (日版 980123)
mvscjr1,超級漫畫英雄對CAPCOM (日版 980112)
mvsca,超級漫畫英雄對CAPCOM (亞洲版 980123)
mvscar1,超級漫畫英雄對CAPCOM (亞洲版 980112)
mvsch,超級漫畫英雄對CAPCOM (西班牙版 980123)
mvscb,超級漫畫英雄對CAPCOM (巴西版 980123)
sfa3,少年街頭霸王 ZERO3 [Street Fighter Alpha 3] (美版 980904)
sfa3u,少年街頭霸王 ZERO3 [Street Fighter Alpha 3] (美版 980904)
sfa3ur1,少年街頭霸王 ZERO3 [Street Fighter Alpha 3] (美版 980629)
sfa3b,少年街頭霸王 ZERO3 [Street Fighter Alpha 3] (巴西版 980629)
sfz3j,少年街頭霸王 ZERO3 (日版 980904)
sfz3jr1,少年街頭霸王 ZERO3 (日版 980727)
sfz3jr2,少年街頭霸王 ZERO3 (日版 980629)
sfz3a,少年街頭霸王 ZERO3 (亞洲版 980904)
sfz3ar1,少年街頭霸王 ZERO3 (亞洲版 980701)
jyangoku,雀三國誌 (日版 990527)
hsf2,超級街頭霸王II紀念版 (亞洲版 040202)
hsf2j,超級街頭霸王II紀念版 (日版 031222)
gigawing,雷鳥之翼 (美版 990222)
gwingj,雷鳥之翼 (日版 990223)
gwinga,雷鳥之翼 (亞洲版 990222)
mmatrix,彈丸地獄 (美版 000412)
mmatrixj,彈丸地獄 (日版 000412)
mpang,魔鬼氣泡 (美版 001010)
mpangj,魔鬼氣泡 (日版 001011)
pzloop2,旋轉氣泡 2 (歐洲版 010302)
pzloop2j,旋轉氣泡 2 (日版 010205)
choko,長江:雀牌遊戲 (日版 010820)
dimahoo,疾風魔法大作戰 [Dimahoo] (美版 000121)
dimahoou,疾風魔法大作戰 [Dimahoo] (美版 000121)
gmahou,疾風魔法大作戰 (日版 000121)
1944,1944-征戰之師 (美版 000620)
1944j,1944-征戰之師 (日版 000620)
progear,逆轉之嵐 [Progear] (美版 010117)
progearj,逆轉之嵐 (日版 010117)
progeara,逆轉之嵐 [Progear] (亞洲版 010117)
ddtodd,龍與地下城-毀滅之塔 (歐洲版 940412 Phoenix Edition),GAME_BOOTLEG
xmcotad,X 戰警格鬥版 (歐洲版 950105 Phoenix Edition),GAME_BOOTLEG
avspd,異形大戰鐵血戰士 (歐洲版 940520 Phoenix Edition),GAME_BOOTLEG
dstlku1d,惡魔戰士 (美版 940705 Phoenix Edition),GAME_BOOTLEG
ringdstd,超級才率角大王II-連環爆裂 (歐洲版 940902 Phoenix Edition),GAME_BOOTLEG
nwarrd,吸血鬼獵人-惡魔的復仇 (美版 950406 Phoenix Edition),GAME_BOOTLEG
sfad,少年街霸-鬥士之夢 (歐洲版 950727 Phoenix Edition),GAME_BOOTLEG
19xxd,19XX-命運否決戰 (美版 951207 Phoenix Edition),GAME_BOOTLEG
ddsomud,龍與地下城 : 暗黑秘影 (美版 960619 Phoenix Edition),GAME_BOOTLEG
megamn2d,洛克人2 強大的戰士 (美版 960708 Phoenix Edition),GAME_BOOTLEG
sfz2aad,街頭霸王 Zero 2 Alpha (亞洲版 960826 Phoenix Edition),GAME_BOOTLEG
spf2xjd,超級方塊戰士II X (日版 960531 Phoenix Edition),GAME_BOOTLEG
xmvsfu1d,X戰警對街頭霸王 (美版 961004 Phoenix Edition),GAME_BOOTLEG
batcird,戰鬥回路 (歐洲版 970319 Phoenix Edition),GAME_BOOTLEG
vsavd,魔域幽靈 (歐洲版 970519 Phoenix Edition),GAME_BOOTLEG
mvscud,超級漫畫英雄 Vs. Capcom (美版 980123 Phoenix Edition),GAME_BOOTLEG
sfa3d,街頭霸王 Alpha 3 (美版 980904 Phoenix Edition),GAME_BOOTLEG
hsf2d,超級街頭霸王II紀念版(亞洲版 040202 Phoenix Edition),GAME_BOOTLEG
gwingjd,雷鳥之翼 (日版 990223 Phoenix Edition),GAME_BOOTLEG
1944d,1944-征戰之師 (美版 000620 Phoenix Edition),GAME_BOOTLEG

View File

@ -0,0 +1,164 @@
forgottn,世界末日 (美版)
lostwrld,世界末日 (日版)
ghouls,大魔界村 (世界版)
ghoulsu,大魔界村 (美版)
daimakai,大魔界村 (日版)
strider,出擊飛龍 (美版 set 1)
stridrua,出擊飛龍 (美版 set 2)
striderj,出擊飛龍 (日版 set 1)
stridrja,出擊飛龍 (日版 set 2)
dynwar,三國誌 - 吞食天地 (世界版)
dynwarj,三國誌 - 吞食天地 (日版)
willow,威洛之旅 (美版)
willowj,威洛之旅 (日版 - 日文)
willowje,威洛之旅 (日版 - 英文)
unsquad,戰區88 (美版)
area88,戰區88 (日版)
ffight,街頭快打 (世界版)
ffightu,街頭快打 (美版 900112)
ffightua,街頭快打 (美版 900613)
ffightub,街頭快打 (美版 900613)
ffightj,街頭快打 (日版)
ffightj1,街頭快打 (日版 900305)
1941,1941-反擊戰 (世界版)
1941j,1941-反擊戰 (日版)
mercs,戰場之狼II (世界版 900302)
mercsu,戰場之狼II (美版 900302)
mercsua,戰場之狼II (美版 900608)
mercsj,戰場之狼II (日版 900302)
mtwins,雙麟兒 (世界版 900619)
chikij,雙麟兒 (日版 900619)
msword,魔劍 (世界版 900725)
mswordr1,魔劍 (世界版 900623)
mswordu,魔劍 (美版 900725)
mswordj,魔劍 (日版 900623)
cawing,美國海軍 (世界版 901012)
cawingr1,美國海軍 (世界版 901009)
cawingu,美國海軍 (美版 901012)
cawingj,美國海軍 (日版 901012)
nemo,夢幻冒險 (世界版 901130)
nemoj,夢幻冒險 (日版 901120)
sf2,街頭霸王II - 天下鬥士 (世界版 910522)
sf2eb,街頭霸王II - 天下鬥士 (世界版 910214)
sf2ua,街頭霸王II - 天下鬥士 (美版 910206)
sf2ub,街頭霸王II - 天下鬥士 (美版 910214)
sf2ud,街頭霸王II - 天下鬥士 (美版 910318)
sf2ue,街頭霸王II - 天下鬥士 (美版 910228)
sf2uf,街頭霸王II - 天下鬥士 (美版 910411)
sf2ui,街頭霸王II - 天下鬥士 (美版 910522)
sf2uk,街頭霸王II - 天下鬥士 (美版 911101)
sf2j,街頭霸王II - 天下鬥士 (日版 911210)
sf2ja,街頭霸王II - 天下鬥士 (日版 910214)
sf2jc,街頭霸王II - 天下鬥士 (日版 910306)
3wonders,神奇三合一 (世界版 910520)
3wonderu,神奇三合一 (美版 910520)
wonder3,神奇三合一 (日版 910520)
kod,龍王 (世界版 910711)
kodu,龍王 (美版 910910)
kodj,龍王 (日版 910805)
kodb,龍王 (bootleg),GAME_BOOTLEG
captcomm,名將 (世界版 911014)
captcomu,名將 (美版 910928)
captcomj,名將 (日版 911202)
knights,圓卓騎士 (世界版 911127)
knightsu,圓卓騎士 (美版 911127)
knightsj,圓卓騎士 (日版 911127)
knightsb,圓卓騎士 (bootleg)
knightsh,圓卓騎士 (hack)
knightsi,圓卓騎士 (顯示亂步),GAME_BOOTLEG
knightsr,圓卓騎士 (隨機版),GAME_BOOTLEG
sf2ce,街頭霸王II - 四大天王 (世界版 920313)
sf2ceua,街頭霸王II - 四大天王 (美版 920313)
sf2ceub,街頭霸王II - 四大天王 (美版 920513)
sf2ceuc,街頭霸王II - 四大天王 (美版 920803)
sf2cej,街頭霸王II - 四大天王 (日版 920513)
sf2rb,街頭霸王II - 四大天王 (彩虹版 set 1),GAME_BOOTLEG
sf2rb2,街頭霸王II - 四大天王 (彩虹版 set 2),GAME_BOOTLEG
sf2red,街頭霸王II - 四大天王 (赤色波動),GAME_BOOTLEG
sf2v004,街頭霸王II - 四大天王 (V004),GAME_NOT_WORK|GAME_BOOTLEG
sf2accp2,街頭霸王II - 四大天王 (加速版 Pt.II),GAME_BOOTLEG
sf2m1,街頭霸王II - 四大天王 (M1),GAME_NOT_WORK|GAME_BOOTLEG
sf2m2,街頭霸王II - 四大天王 (M2),GAME_BOOTLEG
sf2m3,街頭霸王II - 四大天王 (M3),GAME_NOT_WORK|GAME_BOOTLEG
sf2m4,街頭霸王II - 四大天王 (M4),GAME_BOOTLEG
sf2m5,街頭霸王II - 四大天王 (M5),GAME_BOOTLEG
sf2m6,街頭霸王II - 四大天王 (降龍 set 2),GAME_BOOTLEG
sf2m7,街頭霸王II - 四大天王 (M7),GAME_BOOTLEG
sf2m8,街頭霸王II - 四大天王 (M8),GAME_NOT_WORK|GAME_BOOTLEG
sf2m13,街頭霸王II - 四大天王 (M13),GAME_BOOTLEG
sf2tlona,街頭霸王II - 四大天王 (屠龍 set 1),GAME_BOOTLEG
sf2tlonb,街頭霸王II - 四大天王 (屠龍 set 2),GAME_BOOTLEG
sf2yyc,街頭霸王II - 四大天王 (YYC),GAME_BOOTLEG
sf2koryu,街頭霸王II - 四大天王 (降龍 set 1),GAME_BOOTLEG
varth,威虎戰機 - 雷雨行動 (世界版 920714)
varthr1,威虎戰機 - 雷雨行動 (世界版 920612)
varthu,威虎戰機 - 雷雨行動 (美版 920612)
varthj,威虎戰機 - 雷雨行動 (日版 920714)
cworld2j,問答 Capcom世界II (日版 920611)
sf2hf,街頭霸王II加速版 - 終極格鬥 (世界版 921209)
sf2t,街頭霸王II加速版 - 終極格鬥 (美版 921209)
sf2tj,街頭霸王II加速版 - 終極格鬥 (日版 921209)
qad,龍之謎題 (美版 920701)
qadj,龍之謎題 (日版 940921)
qtono2,問答 殿樣之野望 2 全國版 (日版 950123)
megaman,洛克人 - 力量之戰 (亞洲版 951006)
rockmanj,洛克人 - 力量之戰 (日版 950922)
wof,三國誌 II (世界版 921002)
wofa,三國誌 II - 吞食天地 (亞洲版 921005)
wofu,三國誌 II (美版 921031)
wofj,三國誌 II - 吞食天地 (日版 921031)
wofb,三國誌 II (bootleg),GAME_NOT_WORKING|GAME_BOOTLEG
wofh,三國誌 Ⅱ三國英雄伝 (bootleg / set 1),GAME_BOOTLEG
wofha,三國誌 Ⅱ赤壁之戰 (bootleg / set 2),GAME_BOOTLEG
wof3js,三國誌 II -三劍聖 (bootleg),GAME_BOOTLEG
wof3sj,三國誌 II -三聖劍 (bootleg / set 1),GAME_BOOTLEG
wof3sja,三國誌 II -三聖劍 (bootleg / set 2),GAME_BOOTLEG
wofsj,三國誌 II -三劍聖 (bootleg / set 1),GAME_BOOTLEG
wofsja,三國誌 II -三劍聖 (bootleg / set 2),GAME_BOOTLEG
wofsjb,三國誌 II -三劍聖 (bootleg / set 3),GAME_BOOTLEG
wofth,三國誌 Ⅱ赤壁之戰 -敵人替換版
wofjjq,三國誌 Ⅱ赤壁之戰 -血腥加強版
woffh,三國誌 Ⅱ赤壁之戰 -粉紅版
wofzhs,三國誌 Ⅱ赤壁之戰 -召喚曾版
wofbio,三國誌 Ⅱ赤壁之戰 -BOSS加強版
wofctj,三國誌 Ⅱ赤壁之戰 -草薙劍版
wofctm,三國誌 Ⅱ赤壁之戰 -草薙馬版
wofgyc,三國誌 Ⅱ赤壁之戰 -關羽赤兔馬版
wofgyq,三國誌 Ⅱ赤壁之戰 -關羽強化版
wofhzj,三國誌 Ⅱ赤壁之戰 -黃忠加強版
wofjqz,三國誌 Ⅱ赤壁之戰 -劍氣縱橫版
wofsjj,三國誌 Ⅱ赤壁之戰 -神箭+劍氣版
wofyjs,三國誌 Ⅱ赤壁之戰 -御劍術版
wofzyq,三國誌 Ⅱ赤壁之戰 -趙雲嗜血暴力版
wofzy2,三國誌 Ⅱ赤壁之戰 -趙雲強化連蹴版
wofzy3,三國誌 Ⅱ赤壁之戰 -趙雲強化升龍版
wofsbl,三國誌 Ⅱ赤壁之戰 -神兵利器版
wofsz,三國誌 Ⅱ赤壁之戰 -燒豬版
wofdy,三國誌 Ⅱ赤壁之戰 -地獄版
wofbt,三國誌 Ⅱ赤壁之戰 -張飛強化暴力版
wofhgz,三國誌 Ⅱ赤壁之戰 -寒光斬
wofdyg,三國誌 Ⅱ赤壁之戰 -天下第一關
wofyxg,三國誌 Ⅱ赤壁之戰 -英雄關
wofmr,三國誌 Ⅱ赤壁之戰 -美人關
wofzhy,三國誌 Ⅱ赤壁之戰 -召喚曾&御劍術版
dino,恐龍世紀 (世界版 930201)
dinou,恐龍世紀 (美版 930201)
dinoj,恐龍世紀 (日版 930201)
dinob,恐龍世紀 (bootleg),GAME_BOOTLEG
dinoh,恐龍世紀 (bootleg / set 1),GAME_BOOTLEG
dinoha,恐龍世紀 (bootleg / set 2),GAME_BOOTLEG
dinohb,恐龍世紀 (bootleg / set 3),GAME_BOOTLEG
punisher,懲罰者 (世界版 930422)
punishru,懲罰者 (美版 930422)
punishrj,懲罰者 (日版 930422)
slammast,摔角霸王 (世界版 930713)
slammasu,摔角霸王 (美版 930713)
mbomberj,摔角霸王 - 肌肉爆彈 (日版 930713)
mbombrd,摔角霸王 - 熱力戰士 (世界版 931206)
mbombrdj,摔角霸王 - 熱力戰士 (日版 931206)
pnickj,魔法方塊 (日版 940608)
pnicku,魔法方塊 (美版 940608 Loca Test Version)
pang3,魔法氣泡3 (歐版 950511)
pang3j,魔法氣泡3 (日版 950511)
sfzch,街霸Zero - CPS1轉換板 (日版 951020)
sfach,街霸ALPHA (美版 950727 Publicity)

View File

@ -0,0 +1,256 @@
2020bb,2020年超級棒球 (set 1)
2020bba,2020年超級棒球 (set 2)
2020bbh,2020年超級棒球 (set 3)
3countb,火炎格鬥
alpham2,組合戰機 ASO.2 - 最後的守護神
androdun,雷霆任務
aodk,痛快GANGAN行進曲
aof,龍虎拳
aof2,龍虎拳2 (set 1)
aof2a,龍虎拳2 (set 2)
aof3, 龍虎拳外伝
aof3k, 龍虎拳外伝 (韓國版)
bakatono,麻雀漫遊記
bangbead,衝擊彈珠
bjourney,拉吉少年
blazstar,死亡之星 2 - 燃燒星球
breakers,爆裂人
breakrev,爆裂人復仇編
bstars,棒球之星
bstars2,棒球之星 2
burningf,熱血快打(set 1)
burningh,熱血快打(set 2)
crsword,聖十字劍
ctomaday,蕃茄超人
cyberlip,戰鬥邊境
doubledr,雙截龍
eightman,八號超人
fatfursa,餓狼傳說 特別版 (set 2)
fatfursp,餓狼傳說 特別版 (set 1)
fatfury1,餓狼傳說 - 宿命的戰鬥
fatfury2,餓狼傳說2 - 新的戰鬥
fatfury3,餓狼傳說3 - 遙遠的戰鬥
fbfrenzy,瘋狂美式足球
fightfev,狂熱格鬥(set 1)
fightfva,狂熱格鬥(set 2)
flipshot,盾牌大戰
fswords,侍魂 斬紅朗無雙劍 (韓國版)
galaxyfg,銀河快打
ganryu,武藏巖流記
garou,餓狼 - 群狼之證 (set 1)
garouo,餓狼 - 群狼之證 (set 2)
garoup,餓狼 - 群狼之證 (工程版)
ghostlop, 幽靈球 (工程版)
goalx3,世界盃足球
gowcaizr,超人學園 - 鋼帝王
gpilots,魔鬼飛行員
gururin,小人國解謎
irrmaze,電流急急棒
janshin,雀神伝說
jockeygp,賭馬大亨
joyjoy,陽光方塊
kabukikl,天外魔境 真伝
karnovr,格鬥列傳 2 - 凱洛夫的復仇
kf2k3pcb,拳皇 2003 (Japan / JAMMA PCB)
kizuna,風雲默示錄 2 - 超級組隊戰
kof2000,拳皇 2000
kof2000n,拳皇 2000 (未加密)
kof2001,拳皇 2001 (set 1)
kof2001h,拳皇 2001 (set 2)
kof2002,拳皇 2002
kof2003,拳皇 2003 (World / US / MVS)
kof94,拳皇 '94
kof95,拳皇 '95 (set 1)
kof95a,拳皇 '95 (set 2)
kof96,拳皇 '96 (set 1)
kof96h,拳皇 '96 (set 2)
kof97,拳皇 '97 (set 1)
kof97a,拳皇 '97 (set 2)
kof98,拳皇 '98 - DREAM MATCH NEVER ENDS
kof98k,拳皇 '98 - DREAM MATCH NEVER ENDS (Korean board)
kof98n,拳皇 '98 - DREAM MATCH NEVER ENDS (未加密)
kof99,拳皇 '99 - Millennium Battle (set 1)
kof99a,拳皇 '99 - Millennium Battle (set 2)
kof99e,拳皇 '99 - Millennium Battle (earlier)
kof99n,拳皇 '99 - Millennium Battle (未加密)
kof99p,拳皇 '99 - Millennium Battle (工程版)
kotm,魔獸之王 (set 1)
kotmh,魔獸之王 (set 2)
kotm2,魔獸之王2 - THE NEXT THING
lastblad,幕末浪漫 月華劍士 (set 1)
lastbldh,幕末浪漫 月華劍士 (set 2)
lastsold,幕末浪漫 月華劍士 (THE LAST SOLDIER) (韓國版)
lastbld2,幕末浪漫第二幕 月華劍士 - 月中芳華 散落月下
lbowling,爆笑保齡球聯盟
legendos,小拳王
lresort,終極任務
magdrop2, 魔法方塊 Ⅱ
magdrop3, 魔法方塊 Ⅲ
maglord,幻魔大戰 (set 1)
maglordh,幻魔大戰 (set 2)
mahretsu,麻雀狂列伝 - 西日本編
marukodq,小丸子問答
matrim,新豪血寺一族「斗婚」
miexchng,錢幣解謎
minasan,麻雀大富翁
mosyougi,將棋達人
ms5pcb,合金彈頭5 (JAMMA PCB)
mslug,合金彈頭 - SUPER VEHICLE-001
mslug2,合金彈頭2 - SUPER VEHICLE-001/II
mslug3,合金彈頭3
mslug3n,合金彈頭3 (未加密)
mslug4,合金彈頭4
mslug5,合金彈頭5
mslugx,合金彈頭X - SUPER VEHICLE-001
mutnat,外星游龍
nam1975,越南 - 1975
ncombat,忍者大戰 (set 1)
ncombata,忍者大戰 (set 2)
ncommand,忍者軍團
neobombe,Neo 轟炸超人
neocup98, Neo 足球 '98 - 勝利之路
neodrift,NEO越野賽車
neomrdo,Neo都先生
ninjamas,霸王忍法帖
nitd,幽靈剋星 - 黑暗守墓者
overtop,終極頂尖賽車
panicbom,轟炸超人方塊
pbobbl2n,魔法泡泡龍 2
pbobblen,魔法泡泡龍 (set 1)
pbobblna,魔法泡泡龍 (set 2)
pgoal,五對五小型足球 - 輕鬆得點
pnyaa,寵物方塊
popbounc,動物磚塊
preisle2,原始島2
pspikes2, 超級排球 Ⅱ
pulstar,死亡之星 - 超電波球體大作戰
puzzldpr,星座解謎氣泡! R
puzzledp,星座解謎氣泡!
quizdai2,問答大搜查線 2 - Neo 偵探迷
quizdais,問答大搜查線 - 最後倒計時
quizkof,拳皇大問答
ragnagrd,神凰拳
rbff1,真 餓狼傳說
rbff2,真 餓狼傳說2 - 新挑戰者 (set 1)
rbff2a,真 餓狼傳說2 - 新挑戰者 (set 2)
rbff2k,真 餓狼傳說2 - 新挑戰者 (韓國版)
rbffspec,真 餓狼傳說 - 特別版
ridhero,風速英雄 (set 1)
ridheroh,風速英雄 (set 2)
roboarma,機甲神兵 (set 2)
roboarmy,機甲神兵 (set 1)
rotd,龍拳
s1945p,1945 Plus
samsh5sh,侍魂零特別版 (set 2 / uncensored)
samsh5sn,侍魂零特別版 (set 3 / censored)
samsh5sp,侍魂零特別版 (set 1 / less censored)
samsho,侍魂
samsho2,真侍魂 - 霸王丸地獄變
samsho3,侍魂 斬紅朗無雙劍 (set 1)
samsho3a,侍魂 斬紅朗無雙劍 (set 2)
samsho4,侍魂 天草光臨
samsho5,侍魂零 (set 1)
samsho5h,侍魂零 (set 2)
savagere,風雲默示錄 - 格鬥創世
sdodgeb,熱血鬥球伝說
sengokh,戰國傳承 (set 2)
sengoku,戰國傳承 (set 1)
sengoku2,戰國傳承2
sengoku3,戰國傳承2001
shocktr2,突擊奇兵 2 - 第二縱隊
shocktra,突擊奇兵 (set 2)
shocktro,突擊奇兵 (set 1)
socbrawl,機器人足球
sonicwi2,音速戰機 2
sonicwi3,音速戰機 3
spinmast,風雨兄弟 - 強尼大冒險
ssideki,得點王
ssideki2,得點王2 - 世界盃
ssideki3,得點王3 - 下一個榮譽
ssideki4,得點王4 - 火炎之 Libero
stakwin,騎手之路 - GI 完全制霸之道
stakwin2,騎手之路 2 - 最強馬傳說
strhoop,街頭籃球
superspy,諜報飛龍
svc,SvC 大亂鬥 (MVS)
svcpcba,SvC 大亂鬥 (JAMMA PCB / set 2)
tophunta,頂尖獵人 (set 2)
tophuntr,頂尖獵人 (set 1)
tpgolf,頂尖高爾夫
trally,極速英豪
turfmast,Neo 高爾夫
twinspri,閃亮小妖精
tws96,Tecmo 世界盃足球 '96
viewpoin,視點 - V 計劃
vliner,勝利拉霸水果盤 (set 1)
vlinero,勝利拉霸水果盤 (set 2)
wakuwak7,熱血七戰士
wh1,世界英雄榜 (set 1)
wh1h,世界英雄榜 (set 2)
wh1ha,世界英雄榜 (set 3)
wh2,世界英雄榜 2
wh2j,世界英雄榜 2 JET (set 1)
wh2jh,世界英雄榜 2 JET (set 2)
whp,世界英雄榜完美版
wjammers,超級飛盤
zedblade,末日之戰
zupapa,歡樂精靈! - 星星大作戰
kof96ep,拳皇 '96 (bootleg),GAME_BOOTLEG
kof97pls,拳皇'97 PLUS (bootleg),GAME_BOOTLEG
kof97pla,拳皇 '97 Plus 2003 (bootleg),GAME_BOOTLEG
kogd,拳皇 KOG (拳皇'97 bootleg),GAME_BOOTLEG
zintrckb,水滴對戰氣泡 (hack / bootleg),GAME_BOOTLEG
zintrkcd,水滴對戰氣泡 (CD to MVS Conversion),GAME_BOOTLEG
garoubl,餓狼 - 群狼之證 (bootleg),GAME_BOOTLEG
mslug3b6,合金彈頭6 (合金彈頭3 bootleg),GAME_BOOTLEG
kf2k1pls,拳皇 2001 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k1pa,拳皇 2001 Plus (set 2 / bootleg),GAME_BOOTLEG
cthd2003,臥虎藏龍 2003 (KOF2001 bootleg),GAME_BOOTLEG
cthd2k3a,臥虎藏龍 2003 (KOF2001 bootleg / set 2),GAME_BOOTLEG
ct2k3sp,臥虎藏龍 2003 SUPER PLUS (KOF2001 bootleg),GAME_BOOTLEG
ct2k3sa,臥虎藏龍 2003 Super Plus alternate (KOF2001 bootleg),GAME_BOOTLEG
kof2002b,拳皇 2002 (bootleg),GAME_BOOTLEG
kf2k2pls,拳皇 2002 PLUS (set 1 / bootleg),GAME_BOOTLEG
kf2k2pla,拳皇 2002 PLUS (set 2 / bootleg),GAME_BOOTLEG
kf2k2plb,拳皇 2002 Plus (set 3 / bootleg),GAME_BOOTLEG
kf2k2plc,拳皇 2002 Super (set 4 / bootleg),GAME_BOOTLEG
kf2k2mp,拳皇 2002 MAGIC PLUS (bootleg),GAME_BOOTLEG
kf2k2mp2,拳皇 2002 MAGIC PLUSⅡ (bootleg),GAME_BOOTLEG
kof10th,拳皇 10 週年紀念版 (KOF2002 bootleg),GAME_BOOTLEG
kf2k5uni,拳皇 10 週年紀念版 2005 Unique (KOF2002 bootleg),GAME_BOOTLEG
kf10thep,拳皇 10 週年紀念版 Extra Plus (KOF2002 bootleg),GAME_BOOTLEG
kof2k4se,拳皇 Special Edition 2004 (KOF2002 bootleg),GAME_BOOTLEG
kf2k4pls,拳皇 Special Edition 2004 Plus (KOF2002 bootleg),GAME_BOOTLEG
ms5plus,合金彈頭 5 PLUS (bootleg),GAME_BOOTLEG
ms5plus,合金彈頭 5 Plus (bootleg),GAME_BOOTLEG
nitdbl,午夜惡夢 (bootleg),GAME_BOOTLEG
svcboot,SNK VS. CAPKOM SVC CHAOS (MVS) (bootleg),GAME_BOOTLEG
svcplus,SNK VS. CAPKOM SVC CHAOS PLUS (set 1 / bootleg),GAME_BOOTLEG
svcplusa,SNK VS. CAPKOM SVC CHAOS PLUS (set 2 / bootleg),GAME_BOOTLEG
svcsplus,SNK VS. CAPKOM SVC CHAOS SUPER PLUS (bootleg),GAME_BOOTLEG
samsho5b,侍魂5 (bootleg),GAME_BOOTLEG
kf2k3bl,拳皇2003 (set 1 / bootleg),GAME_BOOTLEG
kf2k3bla,拳皇2003 (set 2 / bootleg),GAME_BOOTLEG
kf2k3pl,拳皇2004 PLUS / HERO (KOF2003 bootleg),GAME_BOOTLEG
kf2k3upl,拳皇2004 ULTRA PLUS (KOF2003 bootleg),GAME_BOOTLEG
matrimbl,新豪血寺一族 - 斗婚 (bootleg),GAME_BOOTLEG
lans2004,突擊奇兵2004 (突擊奇兵 bootleg),GAME_BOOTLEG
ms4plus,合金彈頭4 PLUS (bootleg),GAME_BOOTLEG
fr2ch,麻雀 最終羅曼史2 (CD to MVS Conversion),GAME_BOOTLEG
bangbedp,撞球大戰 (bootleg?),GAME_BOOTLEG
diggerma,掘地人 (工程版),GAME_BOOTLEG
columnsn,魔法寶石 (PD),GAME_BOOTLEG
poknight,撲克之夜 (PD),GAME_BOOTLEG
neonopon,Neo 智力方塊 (beta / PD),GAME_BOOTLEG
neopong,Neo 彈球 (v1.1 / PD),GAME_BOOTLEG
frogfest,浮游城 (PD),GAME_BOOTLEG
ltorb1,Jonas Indiana and the Lost Temple of RA (20050717 / PD),GAME_BOOTLEG
cnbe,Codename - Blut Engel (2006-01-19 / PD),GAME_BOOTLEG
beast,獸之影 (demo / PD),GAME_BOOTLEG
kof2k2cn,拳皇 2002CN,GAME_BOOTLEG
kof2kcn,拳皇 2000CN,GAME_BOOTLEG
kof98cn,拳皇 98CN,GAME_BOOTLEG
kof98C,拳皇 98Combo,GAME_BOOTLEG
kof2kbsd,拳皇 2000bsd,GAME_BOOTLEG
kof96ae,拳皇 96ae,GAME_BOOTLEG
kof2k1bs,拳皇 2001 Plus (bs / bootleg),GAME_BOOTLEG

137
data/zipnamej/zipnamej.cps1 Normal file
View File

@ -0,0 +1,137 @@
forgottn,ロストワールド [Forgotton Worlds] (US)
lostwrld,ロストワールド (Japan)
ghouls,大魔界村 [Ghouls'n Ghosts] (World)
ghoulsu,大魔界村 [Ghouls'n Ghosts] (US)
daimakai,大魔界村 (Japan)
strider,ストライダー飛竜 [Strider] (US set 1)
stridrua,ストライダー飛竜 [Strider] (US set 2)
striderj,ストライダー飛竜 (Japan set 1)
stridrja,ストライダー飛竜 (Japan set 2)
dynwar,天地を喰らう [Dynasty Wars] (World)
dynwarj,天地を喰らう (Japan)
willow,ウィロー (US)
willowj,ウィロー (Japan - Japanese)
willowje,ウィロー (Japan - English)
unsquad,エリア88 [U.N. Squadron] (US)
area88,エリア88 (Japan)
ffight,ファイナルファイト (World)
ffightu,ファイナルファイト (US)
ffightua,ファイナルファイト (US 900112)
ffightub,ファイナルファイト (US 900613)
ffightj,ファイナルファイト (Japan)
ffightj1,ファイナルファイト (Japan 900305)
1941,1941 - Counter Attack (World)
1941j,1941 - Counter Attack (Japan)
mercs,戦場の狼Ⅱ [Mercs] (World 900302)
mercsu,戦場の狼Ⅱ [Mercs] (US 900302)
mercsua,戦場の狼Ⅱ [Mercs] (US 900608)
mercsj,戦場の狼Ⅱ (Japan 900302)
mtwins,チキチキボーイズ [Mega Twins] (World 900619)
chikij,チキチキボーイズ (Japan 900619)
msword,マジックソード - Heroic Fantasy (World 900725)
mswordr1,マジックソード - Heroic Fantasy (World 900623)
mswordu,マジックソード - Heroic Fantasy (US 900725)
mswordj,マジックソード (Japan 900623)
cawing,U.S.ネイビー [Carrier Air Wing] (World 901012)
cawingr1,U.S.ネイビー [Carrier Air Wing] (World 901009)
cawingu,U.S.ネイビー [Carrier Air Wing] (US 901012)
cawingj,U.S.ネイビー (Japan 901012)
nemo,ニモ (World 901130)
nemoj,ニモ (Japan 901120)
sf2,ストリートファイターⅡ - The World Warrior (World 910522)
sf2eb,ストリートファイターⅡ - The World Warrior (World 910214)
sf2ua,ストリートファイターⅡ - The World Warrior (US 910206)
sf2ub,ストリートファイターⅡ - The World Warrior (US 910214)
sf2ud,ストリートファイターⅡ - The World Warrior (US 910318)
sf2ue,ストリートファイターⅡ - The World Warrior (US 910228)
sf2uf,ストリートファイターⅡ - The World Warrior (US 910411)
sf2ui,ストリートファイターⅡ - The World Warrior (US 910522)
sf2uk,ストリートファイターⅡ - The World Warrior (US 911101)
sf2j,ストリートファイターⅡ - The World Warrior (Japan 911210)
sf2ja,ストリートファイターⅡ - The World Warrior (Japan 910214)
sf2jc,ストリートファイターⅡ - The World Warrior (Japan 910306)
3wonders,ワンダー3 [Three Wonders] (World 910520)
3wonderu,ワンダー3 [Three Wonders] (US 910520)
wonder3,ワンダー3 (Japan 910520)
kod,キング・オブ・ドラゴンズ [The King of Dragons] (World 910711)
kodu,キング・オブ・ドラゴンズ [The King of Dragons] (US 910910)
kodj,キング・オブ・ドラゴンズ (Japan 910805)
kodb,キング・オブ・ドラゴンズ (bootleg),GAME_BOOTLEG
captcomm,キャプテンコマンドー (World 911014)
captcomu,キャプテンコマンドー (US 910928)
captcomj,キャプテンコマンドー (Japan 911202)
knights,ナイツ・オブ・ザ・ラウンド (World 911127)
knightsu,ナイツ・オブ・ザ・ラウンド (US 911127)
knightsj,ナイツ・オブ・ザ・ラウンド (Japan 911127)
knightsb,ナイツ・オブ・ザ・ラウンド (bootleg),GAME_BOOTLEG
knightsh,ナイツ・オブ・ザ・ラウンド (hack),GAME_BOOTLEG
sf2ce,ストリートファイターⅡ' - Champion Edition (World 920313)
sf2ceua,ストリートファイターⅡ' - Champion Edition (US 920313)
sf2ceub,ストリートファイターⅡ' - Champion Edition (US 920513)
sf2ceuc,ストリートファイターⅡ' - Champion Edition (US 920803)
sf2cej,ストリートファイターⅡ' - Champion Edition (Japan 920513)
sf2rb,ストリートファイターⅡ' - Champion Edition (Rainbow set 1),GAME_BOOTLEG
sf2rb2,ストリートファイターⅡ' - Champion Edition (Rainbow set 2),GAME_BOOTLEG
sf2red,ストリートファイターⅡ' - Champion Edition (Red Wave),GAME_BOOTLEG
sf2v004,ストリートファイターⅡ! - Champion Edition (V004),GAME_NOT_WORK|GAME_BOOTLEG
sf2accp2,ストリートファイターⅡ' - Champion Edition (Accelerator Pt.II),GAME_BOOTLEG
sf2m1,ストリートファイターⅡ' - Champion Edition (M1),GAME_NOT_WORK|GAME_BOOTLEG
sf2m2,ストリートファイターⅡ' - Champion Edition (M2),GAME_BOOTLEG
sf2m3,ストリートファイターⅡ' - Champion Edition (M3),GAME_NOT_WORK|GAME_BOOTLEG
sf2m4,ストリートファイターⅡ' - Champion Edition (M4),GAME_BOOTLEG
sf2m5,ストリートファイターⅡ' - Champion Edition (M5),GAME_BOOTLEG
sf2m6,ストリートファイターⅡ' - Champion Edition (降龍 set 2),GAME_BOOTLEG
sf2m7,ストリートファイターⅡ' - Champion Edition (M7),GAME_BOOTLEG
sf2m8,ストリートファイターⅡ' - Champion Edition (M8),GAME_NOT_WORK|GAME_BOOTLEG
sf2m13,ストリートファイターⅡ' - Champion Edition (M13),GAME_BOOTLEG
sf2tlona,ストリートファイターⅡ' - Champion Edition (屠龍 set 1),GAME_BOOTLEG
sf2tlonb,ストリートファイターⅡ' - Champion Edition (屠龍 set 2),GAME_BOOTLEG
sf2yyc,ストリートファイターⅡ' - Champion Edition (YYC),GAME_BOOTLEG
sf2koryu,ストリートファイターⅡ' - Champion Edition (降龍 set 1),GAME_BOOTLEG
varth,バース - Operation Thunderstorm (World 920714)
varthr1,バース - Operation Thunderstorm (World 920612)
varthu,バース - Operation Thunderstorm (US 920612)
varthj,バース - Operation Thunderstorm (Japan 920714)
cworld2j,カプコンワールド2 (Japan 920611)
sf2hf,ストリートファイターⅡ' - Hyper Fighting (World 921209)
sf2t,ストリートファイターⅡ' - Hyper Fighting (US 921209)
sf2tj,ストリートファイターⅡ' Turbo - Hyper Fighting (Japan 921209)
qad,クイズ&ドラゴンズ (US 920701)
qadj,クイズ&ドラゴンズ (Japan 940921)
qtono2,クイズ殿様の野望2 全国版 (Japan 950123)
megaman,ロックマン ザ・パワー・バトル [Mega Man - The Power Battle] (Asia 951006)
rockmanj,ロックマン ザ・パワー・バトル (Japan 950922)
wof,天地を喰らうⅡ [Warriors of Fate] (World 921002)
wofa,天地を喰らうⅡ [三國誌Ⅱ] (Asia 921005)
wofu,天地を喰らうⅡ [Warriors of Fate] (US 921031)
wofj,天地を喰らうⅡ - 赤壁の戦い (Japan 921031)
wofb,天地を喰らうⅡ - 赤壁の戦い (bootleg),GAME_NOT_WORK|GAME_BOOTLEG
wofh,天地を喰らうⅡ - 赤壁の戦い (三國英雄傳 set 1),GAME_BOOTLEG
wofha,天地を喰らうⅡ - 赤壁の戦い (三國英雄傳 set 2),GAME_BOOTLEG
wof3js,天地を喰らうⅡ - 赤壁の戦い (三劍聖),GAME_BOOTLEG
wof3sj,天地を喰らうⅡ - 赤壁の戦い (三聖劍 set 1),GAME_BOOTLEG
wof3sja,天地を喰らうⅡ - 赤壁の戦い (三聖劍 set 2),GAME_BOOTLEG
wofsj,天地を喰らうⅡ - 赤壁の戦い (聖劍三國 set 1),GAME_BOOTLEG
wofsja,天地を喰らうⅡ - 赤壁の戦い (聖劍三國 set 2),GAME_BOOTLEG
wofsjb,天地を喰らうⅡ - 赤壁の戦い (聖劍三國 set 3),GAME_BOOTLEG
dino,キャディラックス [Cadillacs and Dinosaurs] (World 930201)
dinou,キャディラックス [Cadillacs and Dinosaurs] (US 930201)
dinoj,キャディラックス 恐竜新世紀 (Japan 930201)
dinob,キャディラックス 恐竜新世紀 (bootleg),GAME_BOOTLEG
dinoh,キャディラックス 恐竜新世紀 (hack set 1),GAME_BOOTLEG
dinoha,キャディラックス 恐竜新世紀 (hack set 2),GAME_BOOTLEG
dinohb,キャディラックス 恐竜新世紀 (hack set 3),GAME_BOOTLEG
punisher,パニッシャー [The Punisher] (World 930422)
punishru,パニッシャー [The Punisher] (US 930422)
punishrj,パニッシャー (Japan 930422)
slammast,マッスルボマー [Saturday Night Slam Masters] (World 930713)
slammasu,マッスルボマー [Saturday Night Slam Masters] (US 930713)
mbomberj,マッスルボマー - The Body Explosion (Japan 930713)
mbombrd,マッスルボマーDuo - Ultimate Team Battle (World 931206)
mbombrdj,マッスルボマーDuo - Heat Up Warriors (Japan 931206)
pnickj,ぷにっきぃず (Japan 940608)
pnicku,ぷにっきぃず (USA 940608 Loca Test Version)
pang3,パン! 3 (Euro 950511)
pang3j,パン! 3 - 怪盗たちの華麗な午後 - (Japan 950511)
sfzch,ストリートファイターZERO (Japan CPS Changer)
sfach,ストリートファイターALPHA (USA 950727 Publicity)

220
data/zipnamej/zipnamej.cps2 Normal file
View File

@ -0,0 +1,220 @@
ssf2,スーパーストリートファイターⅡ The New Challengers (World 930911)
ssf2u,スーパーストリートファイターⅡ The New Challengers (USA 930911)
ssf2a,スーパーストリートファイターⅡ The New Challengers (Asia 931005)
ssf2ar1,スーパーストリートファイターⅡ The New Challengers (Asia 930914)
ssf2j,スーパーストリートファイターⅡ The New Challengers (Japan 931005)
ssf2jr1,スーパーストリートファイターⅡ The New Challengers (Japan 930911)
ssf2jr2,スーパーストリートファイターⅡ The New Challengers (Japan 930910)
ssf2tb,スーパーストリートファイターⅡ The Tournament Battle (World 931119)
ssf2tbr1,スーパーストリートファイターⅡ The Tournament Battle (World 930911)
ssf2tbj,スーパーストリートファイターⅡ The Tournament Battle (Japan 930911)
ddtod,ダンジョンズ&ドラゴンズ Tower of Doom (Euro 940412)
ddtodr1,ダンジョンズ&ドラゴンズ Tower of Doom (Euro 940113)
ddtodu,ダンジョンズ&ドラゴンズ Tower of Doom (USA 940125)
ddtodur1,ダンジョンズ&ドラゴンズ Tower of Doom (USA 940113)
ddtodj,ダンジョンズ&ドラゴンズ Tower of Doom (Japan 940125)
ddtodjr1,ダンジョンズ&ドラゴンズ Tower of Doom (Japan 940113)
ddtoda,ダンジョンズ&ドラゴンズ Tower of Doom (Asia 940113)
ddtodh,ダンジョンズ&ドラゴンズ Tower of Doom (Hispanic 940125)
ecofghtr,アルティメイトエコロジー [Eco Fighters] (World 931203)
ecofghtu,アルティメイトエコロジー [Eco Fighters] (USA 931203)
uecology,アルティメイトエコロジー (Japan 931203)
ecofghta,アルティメイトエコロジー [Eco Fighters] (Asia 931203)
ssf2t,スーパーストリートファイターⅡX [Super Street Fighter II Turbo] (World 940223)
ssf2ta,スーパーストリートファイターⅡX [Super Street Fighter II Turbo] (Asia 940223)
ssf2tu,スーパーストリートファイターⅡX [Super Street Fighter II Turbo] (USA 940323)
ssf2tur1,スーパーストリートファイターⅡX [Super Street Fighter II Turbo] (USA 940223)
ssf2xj,スーパーストリートファイターⅡX Grand Master Challenge (Japan 940223)
xmcota,X-MEN Children of the Atom (Euro 950105)
xmcotau,X-MEN Children of the Atom (USA 950105)
xmcotah,X-MEN Children of the Atom (Hispanic 950331)
xmcotaj,X-MEN Children of the Atom (Japan 941222)
xmcotaj1,X-MEN Children of the Atom (Japan 941219)
xmcotaj2,X-MEN Children of the Atom (Japan 941217)
xmcotajr,X-MEN Children of the Atom (Japan 941208 レンタル版)
xmcotaa,X-MEN Children of the Atom (Asia 941217)
armwar,パワードギア [Armored Warriors] (Euro 941024)
armwarr1,パワードギア [Armored Warriors] (Euro 941011)
armwaru,パワードギア [Armored Warriors] (USA 941024)
armwara,パワードギア [Armored Warriors] (Asia 940920)
pgear,パワードギア Strategic Variant Armor Equipment (Japan 941024)
pgearr1,パワードギア Strategic Variant Armor Equipment (Japan 940916)
avsp,エイリアン VS. プレデター (Euro 940520)
avspu,エイリアン VS. プレデター (USA 940520)
avspj,エイリアン VS. プレデター (Japan 940520)
avspa,エイリアン VS. プレデター (Asia 940520)
avsph,エイリアン VS. プレデター (Hispanic 940520)
dstlk,ヴァンパイア [Darkstalkers: The Night Warriors] (Euro 940705)
dstlku,ヴァンパイア [Darkstalkers: The Night Warriors] (USA 940818)
dstlkur1,ヴァンパイア [Darkstalkers: The Night Warriors] (USA 940705)
dstlka,ヴァンパイア [Darkstalkers: The Night Warriors] (Asia 940705)
vampj,ヴァンパイア The Night Warriors (Japan 940705)
vampja,ヴァンパイア The Night Warriors (Japan 940705 alt)
vampjr1,ヴァンパイア The Night Warriors (Japan 940630)
ringdest,スーパーマッスルボマー [Ring of Destruction: SlammastersⅡ] (Euro 940902)
smbomb,スーパーマッスルボマー The International Blowout (Japan 940831)
smbombr1,スーパーマッスルボマー The International Blowout (Japan 940808)
cybots,サイバーボッツ Fullmetal Madness (Euro 950424)
cybotsu,サイバーボッツ Fullmetal Madness (USA 950424)
cybotsj,サイバーボッツ Fullmetal Madness (Japan 950420)
msh,マーヴルスーパーヒーローズ (Euro 951024)
mshu,マーヴルスーパーヒーローズ (USA 951024)
mshj,マーヴルスーパーヒーローズ (Japan 951117)
mshjr1,マーヴルスーパーヒーローズ (Japan 951024)
msha,マーヴルスーパーヒーローズ (Asia 951024)
mshh,マーヴルスーパーヒーローズ (Hispanic 951117)
mshb,マーヴルスーパーヒーローズ (Brazil 951117)
nwarr,ヴァンパイアハンター [Night Warriors: Darkstalkers' Revenge] (Euro 950316)
nwarru,ヴァンパイアハンター [Night Warriors: Darkstalkers' Revenge] (USA 950406)
nwarrh,ヴァンパイアハンター [Night Warriors: Darkstalkers' Revenge] (Hispanic 950403)
nwarrb,ヴァンパイアハンター [Night Warriors: Darkstalkers' Revenge] (Brazil 950403)
vhuntj,ヴァンパイアハンター Darkstalkers' Revenge (Japan 950316)
vhuntjr1,ヴァンパイアハンター Darkstalkers' Revenge (Japan 950307)
vhuntjr2,ヴァンパイアハンター Darkstalkers' Revenge (Japan 950302)
sfa,ストリートファイターZERO [Street Fighter Alpha: Warriors' Dreams] (Euro 950727)
sfar1,ストリートファイターZERO [Street Fighter Alpha: Warriors' Dreams] (Euro 950718)
sfar2,ストリートファイターZERO [Street Fighter Alpha: Warriors' Dreams] (Euro 950627)
sfar3,ストリートファイターZERO [Street Fighter Alpha: Warriors' Dreams] (Euro 950605)
sfau,ストリートファイターZERO [Street Fighter Alpha: Warriors' Dreams] (USA 950627)
sfza,ストリートファイターZERO (Asia 950627)
sfzj,ストリートファイターZERO (Japan 950727)
sfzjr1,ストリートファイターZERO (Japan 950627)
sfzjr2,ストリートファイターZERO (Japan 950605)
sfzh,ストリートファイターZERO (Hispanic 950627)
sfzb,ストリートファイターZERO (Brazil 951109)
sfzbr1,ストリートファイターZERO (Brazil 950727)
mmancp2u,ロックマン The Power Battle [Mega Man: The Power Battle] (CPS2 / USA 951006 / SAMPLE Version)
rmancp2j,ロックマン The Power Battle (CPS2 / Japan 950922)
19xx,19XX The War Against Destiny (USA 951207)
19xxa,19XX The War Against Destiny (Asia 951207)
19xxj,19XX The War Against Destiny (Japan 951225)
19xxjr1,19XX The War Against Destiny (Japan 951207)
19xxh,19XX The War Against Destiny (Hispanic 951218)
19xxb,19XX: The War Against Destiny (Brazil 951218)
ddsom,ダンジョンズ&ドラゴンズ Shadow over Mystara (Euro 960619)
ddsomr1,ダンジョンズ&ドラゴンズ Shadow over Mystara (Euro 960223)
ddsomr2,ダンジョンズ&ドラゴンズ Shadow over Mystara (Euro 960209)
ddsomr3,ダンジョンズ&ドラゴンズ Shadow over Mystara (Euro 960208)
ddsomu,ダンジョンズ&ドラゴンズ Shadow over Mystara (USA 960619)
ddsomur1,ダンジョンズ&ドラゴンズ Shadow over Mystara (USA 960209)
ddsomj,ダンジョンズ&ドラゴンズ Shadow over Mystara (Japan 960619)
ddsomjr1,ダンジョンズ&ドラゴンズ Shadow over Mystara (Japan 960206)
ddsoma,ダンジョンズ&ドラゴンズ Shadow over Mystara (Asia 960619)
ddsomb,ダンジョンズ&ドラゴンズ Shadow over Mystara (Brazil 960223)
megaman2,ロックマン2 The Power Fighters [Mega Man 2: The Power Fighters] (USA 960708)
megamn2a,ロックマン2 The Power Fighters [Mega Man 2: The Power Fighters] (Asia 960708)
rckman2j,ロックマン2 The Power Fighters (Japan 960708)
qndream,クイズなないろDREAMS 虹色町の奇跡 (Japan 960826)
sfa2,ストリートファイターZERO2 [Street Fighter Alpha 2] (USA 960306)
sfz2j,ストリートファイターZERO2 (Japan 960227)
sfz2a,ストリートファイターZERO2 (Asia 960227)
sfz2b,ストリートファイターZERO2 (Brazil 960531)
sfz2br1,ストリートファイターZERO2 (Brazil 960304)
sfz2h,ストリートファイターZERO2 (Hispanic 960304)
sfz2n,ストリートファイターZERO2 (Oceania 960229)
sfz2aj,ストリートファイターZERO2 ALPHA (Japan 960805)
sfz2ah,ストリートファイターZERO2 ALPHA (Hispanic 960813)
sfz2ab,ストリートファイターZERO2 ALPHA (Brazil 960813)
sfz2aa,ストリートファイターZERO2 ALPHA (Asia 960826)
spf2t,スーパーパズルファイターⅡX [Super Puzzle Fighter II Turbo] (USA 960620)
spf2xj,スーパーパズルファイターⅡX (Japan 960531)
spf2ta,スーパーパズルファイターⅡX [Super Puzzle FighterII Turbo] (Asia 960529)
xmvsf,X-MEN VS. ストリートファイター (Euro 961004)
xmvsfr1,X-MEN VS. ストリートファイター (Euro 960910)
xmvsfu,X-MEN VS. ストリートファイター (USA 961023)
xmvsfur1,X-MEN VS. ストリートファイター (USA 961004)
xmvsfj,X-MEN VS. ストリートファイター (Japan 961004)
xmvsfjr1,X-MEN VS. ストリートファイター (Japan 960910)
xmvsfjr2,X-MEN VS. ストリートファイター (Japan 960909)
xmvsfa,X-MEN VS. ストリートファイター (Asia 961023)
xmvsfar1,X-MEN VS. ストリートファイター (Asia 960919)
xmvsfh,X-MEN VS. ストリートファイター (Hispanic 961004)
xmvsfb,X-MEN VS. ストリートファイター (Brazil 961023)
batcir,バトルサーキット (Euro 970319)
batcira,バトルサーキット (Asia 970319)
batcirj,バトルサーキット (Japan 970319)
csclub,カプコンスポーツクラブ (Euro 970722)
cscluba,カプコンスポーツクラブ (Asia 970722)
csclubj,カプコンスポーツクラブ (Japan 970722)
csclubh,カプコンスポーツクラブ (Hispanic 970722)
mshvsf,マーヴルスーパーヒーローズ VS. ストリートファイター (Euro 970625)
mshvsfu,マーヴルスーパーヒーローズ VS. ストリートファイター (USA 970827)
mshvsfu1,マーヴルスーパーヒーローズ VS. ストリートファイター (USA 970625)
mshvsfj,マーヴルスーパーヒーローズ VS. ストリートファイター (Japan 970707)
mshvsfj1,マーヴルスーパーヒーローズ VS. ストリートファイター (Japan 970702)
mshvsfj2,マーヴルスーパーヒーローズ VS. ストリートファイター (Japan 970625)
mshvsfh,マーヴルスーパーヒーローズ VS. ストリートファイター (Hispanic 970625)
mshvsfa,マーヴルスーパーヒーローズ VS. ストリートファイター (Asia 970625)
mshvsfa1,マーヴルスーパーヒーローズ VS. ストリートファイター (Asia 970620)
mshvsfb,マーヴルスーパーヒーローズ VS. ストリートファイター (Brazil 970827)
mshvsfb1,マーヴルスーパーヒーローズ VS. ストリートファイター (Brazil 970625)
sgemf,ポケットファイター [Super Gem Fighter Mini Mix] (USA 970904)
pfghtj,ポケットファイター (Japan 970904)
sgemfa,ポケットファイター [Super Gem Fighter Mini Mix] (Asia 970904)
sgemfh,ポケットファイター [Super Gem Fighter Mini Mix] (Hispanic 970904)
vhunt2,ヴァンパイアハンター2 Darkstalkers Revenge (Japan 970929)
vhunt2r1,ヴァンパイアハンター2 Darkstalkers Revenge (Japan 970913)
vsav,ヴァンパイアセイバー The Lord of Vampire (Euro 970519)
vsavu,ヴァンパイアセイバー The Lord of Vampire (USA 970519)
vsavj,ヴァンパイアセイバー The Lord of Vampire (Japan 970519)
vsava,ヴァンパイアセイバー The Lord of Vampire (Asia 970519)
vsavh,ヴァンパイアセイバー The Lord of Vampire (Hispanic 970519)
vsav2,ヴァンパイアセイバー2 The Lord of Vampire (Japan 970913)
mvsc,マーヴル VS. カプコン Clash of Super Heroes (Euro 980112)
mvscu,マーヴル VS. カプコン Clash of Super Heroes (USA 980123)
mvscj,マーヴル VS. カプコン Clash of Super Heroes (Japan 980123)
mvscjr1,マーヴル VS. カプコン Clash of Super Heroes (Japan 980112)
mvsca,マーヴル VS. カプコン Clash of Super Heroes (Asia 980123)
mvscar1,マーヴル VS. カプコン Clash of Super Heroes (Asia 980112)
mvsch,マーヴル VS. カプコン Clash of Super Heroes (Hispanic 980123)
mvscb,マーヴル VS. カプコン Clash of Super Heroes (Brazil 980123)
sfa3,ストリートファイターZERO3 [Street Fighter Alpha 3] (Euro 980904)
sfa3u,ストリートファイターZERO3 [Street Fighter Alpha 3] (USA 980904)
sfa3ur1,ストリートファイターZERO3 [Street Fighter Alpha 3] (USA 980629)
sfa3b,ストリートファイターZERO3 [Street Fighter Alpha 3] (Brazil 980629)
sfz3j,ストリートファイターZERO3 (Japan 980904)
sfz3jr1,ストリートファイターZERO3 (Japan 980727)
sfz3jr2,ストリートファイターZERO3 (Japan 980629)
sfz3a,ストリートファイターZERO3 (Asia 980904)
sfz3ar1,ストリートファイターZERO3 (Asia 980701)
jyangoku,雀國志 覇王の采牌 (Japan 990527)
hsf2,ハイパーストリートファイターⅡ The Anniversary Edition (Asia 040202)
hsf2j,ハイパーストリートファイターⅡ The Anniversary Edition (Japan 031222)
gigawing,ギガウイング (USA 990222)
gwingj,ギガウイング (Japan 990223)
gwinga,ギガウイング (Asia 990222)
mmatrix,マーズマトリックス Hyper Solid Shooting (USA 000412)
mmatrixj,マーズマトリックス Hyper Solid Shooting (Japan 000412)
mpang,マイティ!パン (USA 001010)
mpangj,マイティ!パン (Japan 001011)
pzloop2,パズループ2 (Euro 010302)
pzloop2j,パズループ2 (Japan 010205)
choko,雀牌パズル 長江 (Japan 010820)
dimahoo,グレート魔法大作戦 [Dimahoo] (Euro 000121)
dimahoou,グレート魔法大作戦 [Dimahoo] (USA 000121)
gmahou,グレート魔法大作戦 (Japan 000121)
1944,1944 The Loop Master (USA 000620)
1944j,1944 The Loop Master (Japan 000620)
progear,プロギアの嵐 [Progear] (USA 010117)
progearj,プロギアの嵐 (Japan 010117)
progeara,プロギアの嵐 [Progear] (Asia 010117)
ddtodd,ダンジョンズ&ドラゴンズ Tower of Doom (Euro 940412 Phoenix Edition),GAME_BOOTLEG
xmcotad,X-MEN Children of the Atom (Euro 950105 Phoenix Edition),GAME_BOOTLEG
avspd,エイリアン VS. プレデター (Euro 940520 Phoenix Edition),GAME_BOOTLEG
dstlku1d,ヴァンパイア The Night Warriors (USA 940705 Phoenix Edition),GAME_BOOTLEG
ringdstd,スーパーマッスルボマー (Euro 940902 Phoenix Edition),GAME_BOOTLEG
nwarrd,ヴァンパイアハンター Darkstalkers' Revenge (USA 950406 Phoenix Edition),GAME_BOOTLEG
sfad,ストリートファイターZERO (Euro 950727 Phoenix Edition),GAME_BOOTLEG
19xxd,19XX The War Against Destiny (USA 951207 Phoenix Edition),GAME_BOOTLEG
ddsomud,ダンジョンズ&ドラゴンズ Shadow over Mystara (USA 960619 Phoenix Edition),GAME_BOOTLEG
megamn2d,ロックマン2 The Power Fighters (USA 960708 Phoenix Edition),GAME_BOOTLEG
sfz2aad,ストリートファイターZERO2 ALPHA (Asia 960826 Phoenix Edition),GAME_BOOTLEG
spf2xjd,スーパーパズルファイターⅡX (Japan 960531 Phoenix Edition),GAME_BOOTLEG
xmvsfu1d,X-MEN VS. ストリートファイター (USA 961004 Phoenix Edition),GAME_BOOTLEG
batcird,バトルサーキット (Euro 970319 Phoenix Edition),GAME_BOOTLEG
vsavd,ヴァンパイアセイバー The Lord of Vampire (Euro 970519 Phoenix Edition),GAME_BOOTLEG
mvscud,マーヴル VS. カプコン Clash of Super Heroes (USA 980123 Phoenix Edition),GAME_BOOTLEG
sfa3d,ストリートファイターZERO3 (USA 980904 Phoenix Edition),GAME_BOOTLEG
hsf2d,ハイパーストリートファイターⅡ The Anniversary Edition (Asia 040202 Phoenix Edition),GAME_BOOTLEG
gwingjd,ギガウイング (Japan 990223 Phoenix Edition),GAME_BOOTLEG
1944d,1944 The Loop Master (USA 000620 Phoenix Edition),GAME_BOOTLEG

255
data/zipnamej/zipnamej.mvs Normal file
View File

@ -0,0 +1,255 @@
2020bb,2020年スーパーベースボール (set 1)
2020bba,2020年スーパーベースボール (set 2)
2020bbh,2020年スーパーベースボール (set 3)
3countb,ファイヤースープレックス
alpham2,ASOⅡ - LAST GUARDIAN
androdun,アンドロデュノス
aodk,痛快GANGAN行進曲
aof,龍虎の拳
aof2,龍虎の拳2 (set 1)
aof2a,龍虎の拳2 (set 2)
aof3,アートオブファイティング龍虎の拳外伝
aof3k,アートオブファイティング龍虎の拳外伝 (Korean release)
bakatono,バカ殿様 麻雀漫遊記
bangbead,バンビード
bjourney,ラギ
blazstar,ブレイジングスター
breakers,ブレイカーズ
breakrev,ブレイカーズリベンジ
bstars,ベースボールスターズプロフェッショナル
bstars2,ベースボールスターズ2
burningf,バーニングファイト (set 1)
burningh,バーニングファイト (set 2)
crsword,クロススォード
ctomaday,キャプテントマディ
cyberlip,サイバーリップ
doubledr,ダブルドラゴン
eightman,エイトマン
fatfursa,餓狼伝説スペシャル (set 2)
fatfursp,餓狼伝説スペシャル (set 1)
fatfury1,餓狼伝説 - 宿命の闘い
fatfury2,餓狼伝説2 - 新たなる闘い
fatfury3,餓狼伝説3 - 遥かなる闘い
fbfrenzy,フットボールフレンジー
fightfev,ファイトフィーバー (set 1)
fightfva,ファイトフィーバー (set 2)
flipshot,フリップショット
fswords,サムライスピリッツ 斬紅朗無双剣 [FIGHTERS SWORDS] (Korean release)
galaxyfg,ギャラクシーファイト - UNIVERSAL WARRIORS
ganryu,武蔵巌流記
garou,餓狼 - MARK OF THE WOLVES (set 1)
garouo,餓狼 - MARK OF THE WOLVES (set 2)
garoup,餓狼 - MARK OF THE WOLVES (prototype)
ghostlop,ゴーストロップ (prototype)
goalx3,ゴール! ゴール! ゴール!
gowcaizr,超人学園ゴウカイザー
gpilots,ゴーストパイロット
gururin,ぐるりん
irrmaze,ウッチャンナンチャンの炎のチャレンジャー ウルトラ電流イライラ棒
janshin,雀神伝説 - QUEST OF JONGMASTER
jockeygp,ジョッキーグランプリ
joyjoy,ジョイジョイキッド
kabukikl,天外魔境 真伝
karnovr,ファイターズヒストリーダイナマイト
kf2k3pcb,ザ・キング・オブ・ファイターズ2003 (Japan / JAMMA PCB)
kizuna,風雲スーパータッグバトル
kof2000,ザ・キング・オブ・ファイターズ2000
kof2000n,ザ・キング・オブ・ファイターズ2000 (not encrypted)
kof2001,ザ・キング・オブ・ファイターズ2001 (set 1)
kof2001h,ザ・キング・オブ・ファイターズ2001 (set 2)
kof2002,ザ・キング・オブ・ファイターズ2002
kof2003,ザ・キング・オブ・ファイターズ2003 (World / US / MVS)
kof94,ザ・キング・オブ・ファイターズ'94
kof95,ザ・キング・オブ・ファイターズ'95 (set 1)
kof95a,ザ・キング・オブ・ファイターズ'95 (set 2)
kof96,ザ・キング・オブ・ファイターズ'96 (set 1)
kof96h,ザ・キング・オブ・ファイターズ'96 (set 2)
kof97,ザ・キング・オブ・ファイターズ'97 (set 1)
kof97a,ザ・キング・オブ・ファイターズ'97 (set 2)
kof98,ザ・キング・オブ・ファイターズ'98 - DREAM MATCH NEVER ENDS
kof98k,ザ・キング・オブ・ファイターズ'98 - DREAM MATCH NEVER ENDS (Korean board)
kof98n,ザ・キング・オブ・ファイターズ'98 - DREAM MATCH NEVER ENDS (not encrypted)
kof99,ザ・キング・オブ・ファイターズ'99 - Millennium Battle (set 1)
kof99a,ザ・キング・オブ・ファイターズ'99 - Millennium Battle (set 2)
kof99e,ザ・キング・オブ・ファイターズ'99 - Millennium Battle (earlier)
kof99n,ザ・キング・オブ・ファイターズ'99 - Millennium Battle (not encrypted)
kof99p,ザ・キング・オブ・ファイターズ'99 - Millennium Battle (prototype)
kotm,キング・オブ・ザ・モンスターズ (set 1)
kotm2,キング・オブ・ザ・モンスターズ2 - THE NEXT THING
kotmh,キング・オブ・ザ・モンスターズ (set 2)
lastblad,幕末浪漫 月華の剣士 (set 1)
lastbldh,幕末浪漫 月華の剣士 (set 2)
lastsold,幕末浪漫 月華の剣士 [THE LAST SOLDIER] (Korean release)
lastbld2,幕末浪漫第二幕 月華の剣士 - 月に咲く華、散りゆく花
lbowling,リーグボウリング
legendos,明日のジョー伝説
lresort,ラストリゾート
magdrop2,マジカルドロップⅡ
magdrop3,マジカルドロップⅢ
maglord,マジシャンロード (set 1)
maglordh,マジシャンロード (set 2)
mahretsu,麻雀狂列伝 - 西日本編
marukodq,ちびまる子ちゃん まる子デラックスクイズ
matrim,新豪血寺一族「闘婚」- Matrimelee
miexchng,マネーアイドルエクスチェンジャー
minasan,みなさんのおかげ様です
mosyougi,将棋の達人
ms5pcb,メタルスラッグ5 (JAMMA PCB)
mslug,メタルスラッグ - SUPER VEHICLE-001
mslug2,メタルスラッグ2 - SUPER VEHICLE-001/II
mslug3,メタルスラッグ3
mslug3n,メタルスラッグ3 (not encrypted)
mslug4,メタルスラッグ4
mslug5,メタルスラッグ5
mslugx,メタルスラッグX - SUPER VEHICLE-001
mutnat,ミューテーションネイション
nam1975,NAM-1975
ncombat,ニンジャコンバット (set 1)
ncombath,ニンジャコンバット (set 2)
ncommand,ニンジャコマンドー
neobombe,ネオボンバーマン
neocup98,ネオジオカップ'98 - 勝利への道
neodrift,NEOドリフトアウト - New Technology
neomrdo,Neo Mr. Do!
ninjamas,ニンジャマスターズ - 覇王忍法帖
nitd,ナイトメア・イン・ザ・ダーク
overtop,オーバートップ
panicbom,ぱにっくボンバー
pbobbl2n,パズルボブル2
pbobblen,パズルボブル (set 1)
pbobblna,パズルボブル (set 2)
pgoal,フットサル - 5 on 5 Mini Soccer
pnyaa,ポチッとにゃー
popbounc,ガッポリン
preisle2,原始島2
pspikes2,パワースパイクスⅡ
pulstar,パルスター
puzzldpr,パズルでポン! R
puzzledp,パズルでポン!
quizdai2,クイズ迷探偵ネオ&ジオ - クイズ大捜査線パート2
quizdais,クイズ大捜査線 - THE LAST COUNT DOWN
quizkof,クイズ・キング・オブ・ファイターズ
ragnagrd,神凰拳
rbff1,リアルバウト餓狼伝説
rbff2,リアルバウト餓狼伝説2 - THE NEWCOMMERS (set 1)
rbff2h,リアルバウト餓狼伝説2 - THE NEWCOMMERS (set 2)
rbff2k,リアルバウト餓狼伝説2 - THE NEWCOMMERS (Korean release)
rbffspec,リアルバウト餓狼伝説スペシャル
ridhero,ライディングヒーロー (set 1)
ridheroh,ライディングヒーロー (set 2)
roboarma,ロボアーミー (set 2)
roboarmy,ロボアーミー (set 1)
rotd,レイジ・オブ・ザ・ドラゴンズ
s1945p,ストライカー1945 Plus
samsh5sh,サムライスピリッツ零スペシャル (set 2 / uncensored)
samsh5sn,サムライスピリッツ零スペシャル (set 3 / censored)
samsh5sp,サムライスピリッツ零スペシャル (set 1 / less censored)
samsho,サムライスピリッツ
samsho2,真サムライスピリッツ - 覇王丸地獄変
samsho3,サムライスピリッツ 斬紅朗無双剣 (set 1)
samsho3a,サムライスピリッツ 斬紅朗無双剣 (set 2)
samsho4,サムライスピリッツ 天草光臨
samsho5,サムライスピリッツ零 (set 1)
samsho5h,サムライスピリッツ零 (set 2)
savagere,風雲黙示録 - 格闘創世
sdodgeb,くにおの熱血闘球伝説
sengokh,戦国伝承 (set 2)
sengoku,戦国伝承 (set 1)
sengoku2,戦国伝承2
sengoku3,戦国伝承2001
shocktr2,ショックトルーパーズ セカンドスカッド
shocktra,ショックトルーパーズ (set 2)
shocktro,ショックトルーパーズ (set 1)
socbrawl,サッカーブロール
sonicwi2,ソニックウィングス2
sonicwi3,ソニックウィングス3
spinmast,ミラクルアドベンチャー
ssideki,得点王
ssideki2,得点王2 - リアルファイトフットボール
ssideki3,得点王3 - 栄光への道
ssideki4,得点王4 - 炎のリベロ
stakwin,ステークスウイナー - G完全制覇への道
stakwin2,ステークスウイナー2
strhoop,ダンクドリーム
superspy,ザ・スーパースパイ
svc,SNK VS. CAPCOM SVC CHAOS
svcpcb,SNK VS. CAPCOM SVC CHAOS (JAMMA PCB /set 1),GAME_NOT_WORK
svcpcba,SNK VS. CAPCOM SVC CHAOS (JAMMA PCB / set 2)
tophunta,トップハンター (set 2)
tophuntr,トップハンター (set 1)
tpgolf,トッププレイヤーズゴルフ
trally,スラッシュラリー
turfmast,ビッグトーナメントゴルフ
twinspri,ティンクルスタースプライツ
tws96,テクモワールドサッカー'96
viewpoin,ビューポイント
vliner,V-Liner (set 1)
vlinero,V-Liner (set 2)
wakuwak7,わくわく7
wh1,ワールドヒーローズ (set 1)
wh1h,ワールドヒーローズ (set 2)
wh1ha,ワールドヒーローズ (set 3)
wh2,ワールドヒーローズ2
wh2j,ワールドヒーローズ2 JET (set 1)
wh2jh,ワールドヒーローズ2 JET (set 2)
whp,ワールドヒーローズパーフェクト
wjammers,フライングパワーディスク
zedblade,オペレーションラグナロク
zupapa,ズパパ!
kof96ep,ザ・キング・オブ・ファイターズ'96 (bootleg),GAME_BOOTLEG
kof97pls,ザ・キング・オブ・ファイターズ'97 PLUS (bootleg),GAME_BOOTLEG
kof97pla,ザ・キング・オブ・ファイターズ'97 PLUS 2003 (bootleg),GAME_BOOTLEG
kog,キング・オブ・グラディエーター (KOF'97 bootleg),GAME_BOOTLEG
garoubl,餓狼 - MARK OF THE WOLVES (bootleg),GAME_BOOTLEG
mslug3b6,メタルスラッグ6 (メタルスラッグ3 bootleg),GAME_BOOTLEG
kf2k1pls,ザ・キング・オブ・ファイターズ2001 PLUS (set 1 / bootleg),GAME_BOOTLEG
kf2k1pa,ザ・キング・オブ・ファイターズ2001 PLUS (set 2 / bootleg),GAME_BOOTLEG
cthd2003,臥虎蔵龍 CROUCHING TIGER HIDDEN DRAGON 2003 (KOF2001 bootleg / set 1),GAME_BOOTLEG
cthd2k3a,臥虎蔵龍 CROUCHING TIGER HIDDEN DRAGON 2003 (KOF2001 bootleg / set 2),GAME_BOOTLEG
ct2k3sp,臥虎蔵龍 CROUCHING TIGER HIDDEN DRAGON 2003 SUPER PLUS (KOF2001 bootleg),GAME_BOOTLEG
ct2k3sa,臥虎蔵龍 CROUCHING TIGER HIDDEN DRAGON 2003 SUPER PLUS alternate (KOF2001 bootleg),GAME_BOOTLEG
kof2002b,ザ・キング・オブ・ファイターズ2002 (bootleg),GAME_BOOTLEG
kf2k2pls,ザ・キング・オブ・ファイターズ2002 PLUS (set 1 / bootleg),GAME_BOOTLEG
kf2k2pla,ザ・キング・オブ・ファイターズ2002 PLUS (set 2 / bootleg),GAME_BOOTLEG
kf2k2plb,ザ・キング・オブ・ファイターズ2002 PLUS (set 3 / bootleg),GAME_BOOTLEG
kf2k2plc,ザ・キング・オブ・ファイターズ2002 SUPER (set 4 / bootleg),GAME_BOOTLEG
kf2k2mp,ザ・キング・オブ・ファイターズ2002 MAGIC PLUS (bootleg),GAME_BOOTLEG
kf2k2mp2,ザ・キング・オブ・ファイターズ2002 MAGIC PLUSⅡ (bootleg),GAME_BOOTLEG
kof10th,ザ・キング・オブ・ファイターズ 10th Anniversary (KOF2002 bootleg),GAME_BOOTLEG
kf2k5uni,ザ・キング・オブ・ファイターズ 10th Anniversary 2005 Unique (KOF2002 bootleg),GAME_BOOTLEG
kf10thep,ザ・キング・オブ・ファイターズ 10th Anniversary Extra Plus (KOF2002 bootleg),GAME_BOOTLEG
kof2k4se,ザ・キング・オブ・ファイターズ Special Edition 2004 (KOF2002 bootleg),GAME_BOOTLEG
kf2k4pls,ザ・キング・オブ・ファイターズ Special Edition 2004 PLUS (KOF2002 bootleg),GAME_BOOTLEG
mslug5b,メタルスラッグ5 (bootleg),GAME_BOOTLEG
ms5plus,メタルスラッグ5 PLUS (bootleg),GAME_BOOTLEG
nitdbl,ナイトメア・イン・ザ・ダーク (bootleg),GAME_BOOTLEG
svcboot,SNK VS. CAPCOM SVC CHAOS (bootleg),GAME_BOOTLEG
svcplus,SNK VS. CAPCOM SVC CHAOS PLUS (set 1 / bootleg),GAME_BOOTLEG
svcplusa,SNK VS. CAPCOM SVC CHAOS PLUS (set 2 / bootleg),GAME_BOOTLEG
svcsplus,SNK VS. CAPCOM SVC CHAOS SUPER PLUS (bootleg),GAME_BOOTLEG
samsho5b,サムライスピリッツ零 (bootleg),GAME_BOOTLEG
kf2k3bl,ザ・キング・オブ・ファイターズ2003 (set 1 / bootleg),GAME_BOOTLEG
kf2k3bla,ザ・キング・オブ・ファイターズ2003 (set 2 / bootleg),GAME_BOOTLEG
kf2k3pl,ザ・キング・オブ・ファイターズ2004 PLUS / HERO (KOF2003 bootleg),GAME_BOOTLEG
kf2k3upl,ザ・キング・オブ・ファイターズ2004 ULTRA PLUS (KOF2003 bootleg),GAME_BOOTLEG
zintrckb,押し出しジントリック (hack / bootleg),GAME_BOOTLEG
zintrkcd,押し出しジントリック (CD→MVS変換),GAME_BOOTLEG
matrimbl,新豪血寺一族「闘婚」- Matrimelee (bootleg),GAME_BOOTLEG
lans2004,ランスクネー2004 (ショックトルーパーズ セカンドスカッド bootleg),GAME_BOOTLEG
ms4plus,メタルスラッグ4 PLUS (bootleg),GAME_BOOTLEG
fr2ch,アイドル麻雀 ファイナルロマンス2 (CD→MVS変換),GAME_BOOTLEG
bangbedp,バンビード (bootleg?),GAME_BOOTLEG
diggerma,ディガーマン (prototype),GAME_BOOTLEG
columnsn,コラムス (PD),GAME_BOOTLEG
poknight,ポーカーナイト (PD),GAME_BOOTLEG
neonopon,ネオのパネポン (beta / PD),GAME_BOOTLEG
npong10,ネオ・ポン (V1.0 / PD),GAME_NOT_WORK|GAME_BOOTLEG
neopong,ネオ・ポン (V1.1 / PD),GAME_BOOTLEG
frogfest,フロッグフェスト (PD),GAME_BOOTLEG
ltorb1,インディ・ジョーンズ・アンド・ザ・ロスト・テンプル・オブ RA (20050717 / PD),GAME_BOOTLEG
cnbe,コードネーム - ブルーエンジェル (2006-01-19 / PD),GAME_BOOTLEG
beast,シャドウ・オブ・ザ・ビースト (demo / PD),GAME_BOOTLEG
neodemo,NEOデモ (PD),GAME_BOOTLEG
ngem2k,NGEM2K (beta 2006-01-18 / PD),GAME_BOOTLEG
neo2500,Neo 2500デモ (PD),GAME_BOOTLEG
syscheck,NEOシステムチェック (ver 1.0b / PD),GAME_BOOTLEG

140
docs/1.50/readme_cps1.txt Normal file
View File

@ -0,0 +1,140 @@
------------------------------------------------------------------------------
CAPCOM CPS1 Emulator for PSP 2.3.1 for 1.5 kernel
このプログラムは PSP-2000では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のCAPCOM CPS1(Capcom Play System)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが3.xx Kernelの場合は/PSP/GAME150/)
|
+- CPS1PSP/
| |
| +- EBOOT.PBP CPS1PSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- cps1psp.ini CPS1PSP設定情報記録ファイル (自動的に作成)
| +- rominfo.cps1 CPS1 ROMセットデータベース (必須)
| +- zipname.cps1 CPS1 英語ゲーム名リスト (必須)
| +- zipnamej.cps1 CPS1 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- nvram/ EEPROMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- 1941.zip (例: 1941)
| +- sf2.zip (例: Street Fighter II (parent))
| +- sf2j.zip (例: Street Fighter II (clone: Japanese ver.))
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
以下の場合には、自動的にボタン配置を画面に合わせて反転/回転しますので、
特に意識して変更する必要はありません。
・DIPスイッチでCabinetの項目をCooktailに設定した場合の2 Player操作時
・DIPスイッチでFlip Screenの項目をOnにした場合
・縦画面のゲームでRotate ScreenをYesにした場合
共通
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
2ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
3ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
クイズゲーム (方向ボタンは使用しません)
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
Button 4 - Circle
プレイヤー切り替え - L trigger
Street Fighter II系のゲーム (Street Fighter Zero CPS Changer ver.含む)
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger
Forgotton World / Lost World
(ループレバーはPSPではどうにもならないので、L/Rトリガで代用)
Button 1 - Square
Dial(rotate left) - L trigger
Dial(rotate right) - R trigger
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
L + R + START: 1P & 2P START (サービスメニューで使用)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示

162
docs/1.50/readme_cps2.txt Normal file
View File

@ -0,0 +1,162 @@
------------------------------------------------------------------------------
CAPCOM CPS2 Emulator for PSP 2.3.1 for 1.5 kernel
このプログラムは PSP-2000では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のCAPCOM CPS2(Capcom Play System II)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが3.xx Kernelの場合は/PSP/GAME150/)
|
+- CPS2PSP/
| |
| +- EBOOT.PBP CPS2PSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- cps2psp.ini CPS2PSP設定情報記録ファイル (自動的に作成)
| +- rominfo.cps2 CPS2 ROMセットデータベース (必須)
| +- zipname.cps2 CPS2 英語ゲーム名リスト (必須)
| +- zipnamej.cps2 CPS2 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- cache/ キャッシュファイル用フォルダ(romcnv_cps2.exeで作成)
| |
| +- 19xx_cache.zip (例:19XX用キャッシュ/ZIP圧縮)
| +- ssf2.cache (例:ssf2用キャッシュ/無圧縮)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- nvram/ EEPROMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- 19xx.zip (例: 19xx)
| +- ssf2.zip (例: Super Street Fighter II (parent))
| +- ssf2j.zip (例: Super Street Fighter II (clone: Japanese ver.))
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
キャッシュファイルの作成
全てのゲームでグラフィックデータのキャッシュを作成する必要があります。
付属のromcnv_cps2.exeで作成してください。使い方はromcnv_cps2.exeの
readme_cps2.txtを参照してください。
基本的には親セットのキャッシュのみ作成すれば良いです。
各ゲーム毎に作成しても構いません。
以下のゲームのみ特殊ですのでご注意ください。
・Super Street Fighter II Turbo及びそのクローンセット
(日本語版はスーパーストリートファイターIIXです。)
このゲームは親セットがssf2ですが、ssf2にグラフィックを追加して
いるため、ssf2のキャッシュでは正常に動作しません。
ssf2tを指定してキャッシュファイルを作成するか、個別にキャッシュを
作成してください。
・Mighty! Pang
USA版と日本語版ではグラフィックROMが異なるようです。
日本語版はUSA版のクローンセットになっていますが、キャッシュは
それぞれ別に作成する必要があります。
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
以下の場合には、自動的にボタン配置を画面に合わせて反転/回転しますので、
特に意識して変更する必要はありません。
・サービスメニューでFlip Screenの項目を有効にした場合
・縦画面のゲームでRotate ScreenをYesにした場合
共通
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
2ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
3ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
6ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger
クイズなないろドリームス専用 (方向ボタンは使用しません)
Button 1 - Square
Button 2 - Cross
Button 3 - Triangle
Button 4 - Circle
プレイヤー切り替え - L trigger
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
L + R + START: 1P & 2P START (サービスメニューで使用)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示

239
docs/1.50/readme_mvs.txt Normal file
View File

@ -0,0 +1,239 @@
------------------------------------------------------------------------------
NEOGEO Emulator for PSP 2.3.1 for 1.5 kernel
このプログラムは PSP-2000では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のNEOGEO(MVS/AES)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
ファイルブラウザ上でグレーで表示されているゲームは、起動できません。
BIOSはneogeo.zipというファイルにまとめ、romsフォルダに置いてください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが3.xx Kernelの場合は/PSP/GAME150/)
|
+- MVSPSP/
| |
| +- EBOOT.PBP MVSPSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- mvspsp.ini MVSPSP設定情報記録ファイル (自動的に作成)
| +- rominfo.mvs MVS ROMセットデータベース (必須)
| +- zipname.mvs MVS 英語ゲーム名リスト (必須)
| +- zipnamej.mvs MVS 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- cache/ キャッシュファイル用フォルダ(romcnv_mvs.exeで作成)
| |
| +- mslug_cache/ (例: Metal Slug) ※作成されたフォルダをコピー
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- memcard/ メモリカード用フォルダ
|
+- nvram/ SRAMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- neogeo.zip (NEOGEO BIOS)
| +- samsho.zip (例: サムライスピリッツ)
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
ROMセットについての補足
・以下のROMセットは、MAMEのROMセットと親子関係が異なるため注意してください。
(※いずれもbootleg対応版のみ動作可能)
親セット クローンセット
garoup --- garoubl
svcboot -+- svcplus
+- svcplusa
+- svcsplus
kof2k4se --- kf2k4pls
kof10th -+- kf10thep
+- kf2k5uni
kf2k3bl -+- kf2k3bla
+- kf2k3pl
+- kf2k3upl
キャッシュファイルの作成
・ROM読み込み時に"メモリが足りない"というエラーが表示される場合は、
グラフィックデータのキャッシュを作成する必要があります。
付属のromcnv_mvs.exeで作成してください。使い方はromcnv_mvs.exeの
readme_mvs.txtを参照してください。
・以下のクローンセットは親セットのキャッシュがあればそちらを使用するので、
親セットのみ作成すればOKです。
(括弧内が親セット名、bootlegはbootleg対応版でのみ動作)
aof2a (aof2)
fatfursa (fatfursp)
kof95a (kof95)
samsho3a (samsho3)
fswords (samsho3)
aof3k (aof3)
kof96h (kof96)
kof96ep (kof96) ※bootleg
kof97a (kof97)
kof97pls (kof97) ※bootleg
lastbldh (lastblad)
lastsold (lastblad)
shocktra (shocktro)
rbff2h (rbff2)
rbff2k (rbff2)
kof98k (kof98)
kof98n (kof98)
kof99a (kof99)
kof99e (kof99)
kof99n (kof99)
garouo (garou)
mslug3n (mslug3)
kof2000n (kof2000)
kof2001h (kof2001)
kf2k1pls (kof2001) ※bootleg
kf2k1pa (kof2001) ※bootleg
ms4plus (mslug4) ※bootleg
kf2k2pls (kof2002) ※bootleg
kf2k2pla (kof2002) ※bootleg
kf2k2plb (kof2002) ※bootleg
mslug5b (mslug5) ※bootleg
svcpcba (svcpcb)
samsho5h (samsho5)
samsh5sh (samsh5sp)
samsh5sn (samsh5sp)
kf2k5uni (kof10th) ※bootleg / MAMEと親セットが異なる
svcplusa (svcboot) ※bootleg / MAMEと親セットが異なる
kf2k3bla (kf2k3bl) ※bootleg / MAMEと親セットが異なる
・以下のクローンセットは一部のキャッシュファイルを親セットの
キャッシュと共有します。[]内のファイルが親セットのキャッシュに
あればそちらを使用します。
(括弧内が親セット名、bootkegはbootleg対応版でのみ動作)
kof97pla (kof97) [crom/vrom] ※bootleg
kog (kof97) [vrom] ※bootleg
kof99p (kof99) [vrom]
garoubl (garoup) [crom] ※bootleg / MAMEと親セットが異なる
mslug3b6 (mslug3) [crom/vrom] ※bootleg
cthd2003 (kof2001) [vrom] ※bootleg
ct2k3sp (kof2001) [vrom] ※bootleg
ct2k3sa (kof2001) [vrom] ※bootleg
kof2002b (kof2002) [srom/vrom] ※bootleg
kf2k2plc (kof2002) [crom/vrom] ※bootleg
kf2k2mp (kof2002) [crom/vrom] ※bootleg
kf2k2mp2 (kof2002) [crom/vrom] ※bootleg
matrimbl (matrim) [crom/srom] ※bootleg
ms5plus (mslug5) [crom/srom] ※bootleg
kf2k4pls (kof2k4se) [crom/srom] ※bootleg / MAMEと親セットが異なる
kf10thep (kof10th) [vrom] ※bootleg / MAMEと親セットが異なる
svcplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
svcsplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3pl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3upl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
------------------------------------------------------------------------------
操作方法
※BIOSの設定画面はファイルブラウザ実行中に"START"を押すことで表示されます。
"必ずここで設定してから"ゲームを起動してください。
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
Button A - Cross
Button B - Circle
Button C - Square
Button D - Triangle
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示
------------------------------------------------------------------------------
BIOSのRegion/Machine Modeの変更について
・ゲーム設定メニュー内で変更できるようにしていますが、完全に動作するわけでは
ありません。後期のゲームの場合、この設定を変更するとプロテクトに引っかかり
動作しないものがあります。
また、AESのBIOSでMVSのゲームを動作させようとした場合も、同様にプロテクトに
引っかかって動作しない場合があります。
・確実に変更したいのであれば、uni-biosを使用してください。
------------------------------------------------------------------------------
その他
・メモリカードのファイルはゲームごとに作成されます。
また、メモリカードは常に認識した状態になっています。
・以下のゲームはMAMEでは動作しますが、このエミュレータではメモリ不足に
より起動できないため未対応です。
svcpcb SvC Chaos - SNK vs Capcom (JAMMA PCB)

147
docs/1.50/readme_ncdz.txt Normal file
View File

@ -0,0 +1,147 @@
------------------------------------------------------------------------------
NEOGEO CDZ Emulator for PSP 2.3.1 for 1.5 kernel
このプログラムは PSP-2000では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のSNK NEOGEO CDZエミュレータです。
------------------------------------------------------------------------------
対応ゲームについて
正規に発売されたゲームは全て動作します。ただし、一部のゲームで使用されている
ラスタエフェクトは、PSPでは非常に重い処理のため標準では無効になっています。
また、いくつかのゲームではエミュレーションが不完全な場面があります。
一度起動すると、romsフォルダが自動的に作成されます。このフォルダ内に、好きな
名前のフォルダを作成し、そこにCD-ROMから取り出した全てのファイルか、まとめて
ZIP圧縮(好きな名前で作成)したファイルをコピーします。
CDDAによるサウンドはそのままでは再生できないため、MP3形式に変換して先ほど
作成したフォルダ内にmp3というフォルダを作成し、そこに全てコピーしてください。
MP3のエンコードは96Kbit/sec程度がバランスが良いと思われます。
なお、MP3ファイル名には命名規則がありますので、下記の説明を参照してください。
------------------------------------------------------------------------------
MP3ファイルの命名規則
MP3ファイルは、ファイル名の最後を"xx.mp3"(xxは0299までのトラック番号)の
ファイル名で作成してください。
例えば、
"mslug-02.mp3", "track02.mp3", "02.mp3" は認識します。
"02-mslug.mp3", "track_2.mp3" は正しくないため、認識できません。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが3.xx Kernelの場合は/PSP/GAME150/)
|
+- NCDZPSP/
| |
| +- EBOOT.PBP NCDZPSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- ncdzpsp.ini NCDZPSP設定情報記録ファイル (自動的に作成されます)
| +- command.dat MAME Plus!用command.dat (コマンドリスト用/任意)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- data/ 壁紙データ用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ CD-ROMイメージファイル用フォルダ
| |
| +- Metal Slug/ (例: メタルスラッグ / 圧縮しない場合)
| | |
| | +- ABS.TXT
| | +- ARTC_OBJ.SPR
| | +- ARTC_OTB.PRG
| | | ・
| | | ・
| | | ・
| | +- TTL_OTBL.PRG
| | |
| | +- mp3/ (MP3用フォルダ)
| | |
| | +- Metal Slug - Track 02.mp3
| | +- Metal Slug - Track 03.mp3
| | +- Metal Slug - Track 04.mp3
| | | ・
| | | ・
| | | ・
| | +- Metal Slug - Track 20.mp3
| |
| |
| +- Samurai Spirits RPG/ (例: サムライスピリッツ武士道列伝 / ZIP圧縮)
| | |
| | +- ssprg.zip (ファイル名は何でもかまいません)
| | |
| | +- mp3/ (MP3用フォルダ)
| | |
| | +- ssrpg_track02.mp3
| | +- ssrpg_track03.mp3
| | +- ssrpg_track20.mp3
| | | ・
| | | ・
| | | ・
| | +- ssrpg_track32.mp3
| |
| +- ...
------------------------------------------------------------------------------
背景画像の変更
標準では内蔵の壁紙を使用しますが、変更することも可能です。ファイル名は固定、
8bitか24bitカラーPNG画像が使用できます。なお、あまりサイズが大きい画像はメモリ
が足りず表示できない場合がありますので、480x272ドットのサイズで作成してください。
ファイルは以下のように設定してください。
/PSP/GAME/NCDZPSP/data/
+ logo.png (起動画面、メインメニュー背景)
+ filer.png (ファイルブラウザ背景)
+ gamecfg.png (ゲーム設定メニュー背景)
+ keycfg.png (ボタン入力設定メニュー背景)
+ state.png (セーブ/ロードステート背景)
+ colorcfg.png (カラー設定メニュー背景)
+ cmdlist.png (コマンドリスト背景)
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
・初期設定では、ゲームのボタン配置はAES/NEOGEO CDのNEOGEO PADと同じ配置に
なっています。
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Select - Select
Button A - Circle
Button B - Cross
Button C - Square
Button D - Triangle
特殊操作
HOME: メニューを開く

140
docs/3.xx/readme_cps1.txt Normal file
View File

@ -0,0 +1,140 @@
------------------------------------------------------------------------------
CAPCOM CPS1 Emulator for PSP 2.3.1 for FW 3.xx
このプログラムは CFW 3.03以下では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のCAPCOM CPS1(Capcom Play System)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが1.50 Kernelの場合は/PSP/GAME3xx/)
|
+- CPS1PSP/
| |
| +- EBOOT.PBP CPS1PSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- cps1psp.ini CPS1PSP設定情報記録ファイル (自動的に作成)
| +- rominfo.cps1 CPS1 ROMセットデータベース (必須)
| +- zipname.cps1 CPS1 英語ゲーム名リスト (必須)
| +- zipnamej.cps1 CPS1 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- nvram/ EEPROMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- 1941.zip (例: 1941)
| +- sf2.zip (例: Street Fighter II (parent))
| +- sf2j.zip (例: Street Fighter II (clone: Japanese ver.))
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
以下の場合には、自動的にボタン配置を画面に合わせて反転/回転しますので、
特に意識して変更する必要はありません。
・DIPスイッチでCabinetの項目をCooktailに設定した場合の2 Player操作時
・DIPスイッチでFlip Screenの項目をOnにした場合
・縦画面のゲームでRotate ScreenをYesにした場合
共通
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
2ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
3ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
クイズゲーム (方向ボタンは使用しません)
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
Button 4 - Circle
プレイヤー切り替え - L trigger
Street Fighter II系のゲーム (Street Fighter Zero CPS Changer ver.含む)
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger
Forgotton World / Lost World
(ループレバーはPSPではどうにもならないので、L/Rトリガで代用)
Button 1 - Square
Dial(rotate left) - L trigger
Dial(rotate right) - R trigger
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
L + R + START: 1P & 2P START (サービスメニューで使用)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示

162
docs/3.xx/readme_cps2.txt Normal file
View File

@ -0,0 +1,162 @@
------------------------------------------------------------------------------
CAPCOM CPS2 Emulator for PSP 2.3.1 for FW 3.xx
このプログラムは CFW 3.03以下では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のCAPCOM CPS2(Capcom Play System II)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが1.50 Kernelの場合は/PSP/GAME3xx/)
|
+- CPS2PSP/
| |
| +- EBOOT.PBP CPS2PSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- cps2psp.ini CPS2PSP設定情報記録ファイル (自動的に作成)
| +- rominfo.cps2 CPS2 ROMセットデータベース (必須)
| +- zipname.cps2 CPS2 英語ゲーム名リスト (必須)
| +- zipnamej.cps2 CPS2 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- cache/ キャッシュファイル用フォルダ(romcnv_cps2.exeで作成)
| |
| +- 19xx_cache.zip (例:19XX用キャッシュ/ZIP圧縮)
| +- ssf2.cache (例:ssf2用キャッシュ/無圧縮)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- nvram/ EEPROMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- 19xx.zip (例: 19xx)
| +- ssf2.zip (例: Super Street Fighter II (parent))
| +- ssf2j.zip (例: Super Street Fighter II (clone: Japanese ver.))
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
キャッシュファイルの作成
全てのゲームでグラフィックデータのキャッシュを作成する必要があります。
付属のromcnv_cps2.exeで作成してください。使い方はromcnv_cps2.exeの
readme_cps2.txtを参照してください。
基本的には親セットのキャッシュのみ作成すれば良いです。
各ゲーム毎に作成しても構いません。
以下のゲームのみ特殊ですのでご注意ください。
・Super Street Fighter II Turbo及びそのクローンセット
(日本語版はスーパーストリートファイターIIXです。)
このゲームは親セットがssf2ですが、ssf2にグラフィックを追加して
いるため、ssf2のキャッシュでは正常に動作しません。
ssf2tを指定してキャッシュファイルを作成するか、個別にキャッシュを
作成してください。
・Mighty! Pang
USA版と日本語版ではグラフィックROMが異なるようです。
日本語版はUSA版のクローンセットになっていますが、キャッシュは
それぞれ別に作成する必要があります。
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
以下の場合には、自動的にボタン配置を画面に合わせて反転/回転しますので、
特に意識して変更する必要はありません。
・サービスメニューでFlip Screenの項目を有効にした場合
・縦画面のゲームでRotate ScreenをYesにした場合
共通
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
2ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
3ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
6ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger
クイズなないろドリームス専用 (方向ボタンは使用しません)
Button 1 - Square
Button 2 - Cross
Button 3 - Triangle
Button 4 - Circle
プレイヤー切り替え - L trigger
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
L + R + START: 1P & 2P START (サービスメニューで使用)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示

238
docs/3.xx/readme_mvs.txt Normal file
View File

@ -0,0 +1,238 @@
------------------------------------------------------------------------------
NEOGEO Emulator for PSP 2.3.1 for FW 3.xx
このプログラムは CFW 3.03以下では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のNEOGEO(MVS/AES)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
ファイルブラウザ上でグレーで表示されているゲームは、起動できません。
BIOSはneogeo.zipというファイルにまとめ、romsフォルダに置いてください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが1.50 Kernelの場合は/PSP/GAME3xx/)
|
+- MVSPSP/
| |
| +- EBOOT.PBP MVSPSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- mvspsp.ini MVSPSP設定情報記録ファイル (自動的に作成)
| +- rominfo.mvs MVS ROMセットデータベース (必須)
| +- zipname.mvs MVS 英語ゲーム名リスト (必須)
| +- zipnamej.mvs MVS 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- cache/ キャッシュファイル用フォルダ(romcnv_mvs.exeで作成)
| |
| +- mslug_cache/ (例: Metal Slug) ※作成されたフォルダをコピー
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- memcard/ メモリカード用フォルダ
|
+- nvram/ SRAMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- neogeo.zip (NEOGEO BIOS)
| +- samsho.zip (例: サムライスピリッツ)
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
ROMセットについての補足
・以下のROMセットは、MAMEのROMセットと親子関係が異なるため注意してください。
(※いずれもbootleg対応版のみ動作可能)
親セット クローンセット
garoup --- garoubl
svcboot -+- svcplus
+- svcplusa
+- svcsplus
kof2k4se --- kf2k4pls
kof10th -+- kf10thep
+- kf2k5uni
kf2k3bl -+- kf2k3bla
+- kf2k3pl
+- kf2k3upl
キャッシュファイルの作成
・ROM読み込み時に"メモリが足りない"というエラーが表示される場合は、
グラフィックデータのキャッシュを作成する必要があります。
付属のromcnv_mvs.exeで作成してください。使い方はromcnv_mvs.exeの
readme_mvs.txtを参照してください。
・以下のクローンセットは親セットのキャッシュがあればそちらを使用するので、
親セットのみ作成すればOKです。
(括弧内が親セット名、bootlegはbootleg対応版でのみ動作)
aof2a (aof2)
fatfursa (fatfursp)
kof95a (kof95)
samsho3a (samsho3)
fswords (samsho3)
aof3k (aof3)
kof96h (kof96)
kof96ep (kof96) ※bootleg
kof97a (kof97)
kof97pls (kof97) ※bootleg
lastbldh (lastblad)
lastsold (lastblad)
shocktra (shocktro)
rbff2h (rbff2)
rbff2k (rbff2)
kof98k (kof98)
kof98n (kof98)
kof99a (kof99)
kof99e (kof99)
kof99n (kof99)
garouo (garou)
mslug3n (mslug3)
kof2000n (kof2000)
kof2001h (kof2001)
kf2k1pls (kof2001) ※bootleg
kf2k1pa (kof2001) ※bootleg
ms4plus (mslug4) ※bootleg
kf2k2pls (kof2002) ※bootleg
kf2k2pla (kof2002) ※bootleg
kf2k2plb (kof2002) ※bootleg
mslug5b (mslug5) ※bootleg
svcpcba (svcpcb)
samsho5h (samsho5)
samsh5sh (samsh5sp)
samsh5sn (samsh5sp)
kf2k5uni (kof10th) ※bootleg / MAMEと親セットが異なる
svcplusa (svcboot) ※bootleg / MAMEと親セットが異なる
kf2k3bla (kf2k3bl) ※bootleg / MAMEと親セットが異なる
・以下のクローンセットは一部のキャッシュファイルを親セットのキャッシュと共有
します。[]内のファイルが親セットのキャッシュにあればそちらを使用します。
(括弧内が親セット名、bootkegはbootleg対応版でのみ動作)
kof97pla (kof97) [crom/vrom] ※bootleg
kog (kof97) [vrom] ※bootleg
kof99p (kof99) [vrom]
garoubl (garoup) [crom] ※bootleg / MAMEと親セットが異なる
mslug3b6 (mslug3) [crom/vrom] ※bootleg
cthd2003 (kof2001) [vrom] ※bootleg
ct2k3sp (kof2001) [vrom] ※bootleg
ct2k3sa (kof2001) [vrom] ※bootleg
kof2002b (kof2002) [srom/vrom] ※bootleg
kf2k2plc (kof2002) [crom/vrom] ※bootleg
kf2k2mp (kof2002) [crom/vrom] ※bootleg
kf2k2mp2 (kof2002) [crom/vrom] ※bootleg
matrimbl (matrim) [crom/srom] ※bootleg
ms5plus (mslug5) [crom/srom] ※bootleg
kf2k4pls (kof2k4se) [crom/srom] ※bootleg / MAMEと親セットが異なる
kf10thep (kof10th) [vrom] ※bootleg / MAMEと親セットが異なる
svcplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
svcsplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3pl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3upl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
------------------------------------------------------------------------------
操作方法
※BIOSの設定画面はファイルブラウザ実行中に"START"を押すことで表示されます。
"必ずここで設定してから"ゲームを起動してください。
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
Button A - Cross
Button B - Circle
Button C - Square
Button D - Triangle
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示
------------------------------------------------------------------------------
BIOSのRegion/Machine Modeの変更について
・ゲーム設定メニュー内で変更できるようにしていますが、完全に動作するわけでは
ありません。後期のゲームの場合、この設定を変更するとプロテクトに引っかかり
動作しないものがあります。
また、AESのBIOSでMVSのゲームを動作させようとした場合も、同様にプロテクトに
引っかかって動作しない場合があります。
・確実に変更したいのであれば、uni-biosを使用してください。
------------------------------------------------------------------------------
その他
・メモリカードのファイルはゲームごとに作成されます。
また、メモリカードは常に認識した状態になっています。
・以下のゲームはMAMEでは動作しますが、このエミュレータではメモリ不足に
より起動できないため未対応です。
svcpcb SvC Chaos - SNK vs Capcom (JAMMA PCB)

147
docs/3.xx/readme_ncdz.txt Normal file
View File

@ -0,0 +1,147 @@
------------------------------------------------------------------------------
NEOGEO CDZ Emulator for PSP 2.3.1 for FW 3.xx
このプログラムは CFW 3.03以下では動作しません。
------------------------------------------------------------------------------
<概要>
PSP用のSNK NEOGEO CDZエミュレータです。
------------------------------------------------------------------------------
対応ゲームについて
正規に発売されたゲームは全て動作します。ただし、一部のゲームで使用されている
ラスタエフェクトは、PSPでは非常に重い処理のため標準では無効になっています。
また、いくつかのゲームではエミュレーションが不完全な場面があります。
一度起動すると、romsフォルダが自動的に作成されます。このフォルダ内に、好きな
名前のフォルダを作成し、そこにCD-ROMから取り出した全てのファイルか、まとめて
ZIP圧縮(好きな名前で作成)したファイルをコピーします。
CDDAによるサウンドはそのままでは再生できないため、MP3形式に変換して先ほど
作成したフォルダ内にmp3というフォルダを作成し、そこに全てコピーしてください。
MP3のエンコードは96Kbit/sec程度がバランスが良いと思われます。
なお、MP3ファイル名には命名規則がありますので、下記の説明を参照してください。
------------------------------------------------------------------------------
MP3ファイルの命名規則
MP3ファイルは、ファイル名の最後を"xx.mp3"(xxは0299までのトラック番号)の
ファイル名で作成してください。
例えば、
"mslug-02.mp3", "track02.mp3", "02.mp3" は認識します。
"02-mslug.mp3", "track_2.mp3" は正しくないため、認識できません。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (GAMEフォルダが1.50 Kernelの場合は/PSP/GAME3xx/)
|
+- NCDZPSP/
| |
| +- EBOOT.PBP NCDZPSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- ncdzpsp.ini NCDZPSP設定情報記録ファイル (自動的に作成されます)
| +- command.dat MAME Plus!用command.dat (コマンドリスト用/任意)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- data/ 壁紙データ用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ CD-ROMイメージファイル用フォルダ
| |
| +- Metal Slug/ (例: メタルスラッグ / 圧縮しない場合)
| | |
| | +- ABS.TXT
| | +- ARTC_OBJ.SPR
| | +- ARTC_OTB.PRG
| | | ・
| | | ・
| | | ・
| | +- TTL_OTBL.PRG
| | |
| | +- mp3/ (MP3用フォルダ)
| | |
| | +- Metal Slug - Track 02.mp3
| | +- Metal Slug - Track 03.mp3
| | +- Metal Slug - Track 04.mp3
| | | ・
| | | ・
| | | ・
| | +- Metal Slug - Track 20.mp3
| |
| |
| +- Samurai Spirits RPG/ (例: サムライスピリッツ武士道列伝 / ZIP圧縮)
| | |
| | +- ssprg.zip (ファイル名は何でもかまいません)
| | |
| | +- mp3/ (MP3用フォルダ)
| | |
| | +- ssrpg_track02.mp3
| | +- ssrpg_track03.mp3
| | +- ssrpg_track20.mp3
| | | ・
| | | ・
| | | ・
| | +- ssrpg_track32.mp3
| |
| +- ...
------------------------------------------------------------------------------
背景画像の変更
標準では内蔵の壁紙を使用しますが、変更することも可能です。ファイル名は固定、
8bitか24bitカラーPNG画像が使用できます。なお、あまりサイズが大きい画像はメモリ
が足りず表示できない場合がありますので、480x272ドットのサイズで作成してください。
ファイルは以下のように設定してください。
/PSP/GAME/NCDZPSP/data/
+ logo.png (起動画面、メインメニュー背景)
+ filer.png (ファイルブラウザ背景)
+ gamecfg.png (ゲーム設定メニュー背景)
+ keycfg.png (ボタン入力設定メニュー背景)
+ state.png (セーブ/ロードステート背景)
+ colorcfg.png (カラー設定メニュー背景)
+ cmdlist.png (コマンドリスト背景)
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
・初期設定では、ゲームのボタン配置はAES/NEOGEO CDのNEOGEO PADと同じ配置に
なっています。
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Select - Select
Button A - Circle
Button B - Cross
Button C - Square
Button D - Triangle
特殊操作
HOME: メニューを開く

134
docs/gamelist_cps1.txt Normal file
View File

@ -0,0 +1,134 @@
-------------------------------------------------------------------------------
CPS1PSP game list (ver.2.2.5)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Supported ROM set
-------------------------------------------------------------------------------
ROM set Game title
-------------------------------------------------------------------------------
forgottn Forgotten Worlds (US)
lostwrld Lost Worlds (Japan)
ghouls Ghouls'n Ghosts (World)
ghoulsu Ghouls'n Ghosts (US)
daimakai Dai Makai-Mura (Japan)
strider Strider (US set 1)
stridrua Strider (US set 2)
striderj Strider Hiryu (Japan set 1)
stridrja Strider Hiryu (Japan set 2)
dynwar Dynasty Wars (World)
dynwarj Tenchi wo Kurau (Japan)
willow Willow (US)
willowj Willow (Japan - Japanese)
willowje Willow (Japan - English)
unsquad U.N. Squadron (US)
area88 Area 88 (Japan)
ffight Final Fight (World)
ffightu Final Fight (US)
ffightua Final Fight (US 900112)
ffightub Final Fight (US 900613)
ffightj Final Fight (Japan)
ffightj1 Final Fight (Japan 900305)
1941 1941 - Counter Attack (World)
1941j 1941 - Counter Attack (Japan)
mercs Mercs (World 900302)
mercsu Mercs (US 900302)
mercsua Mercs (US 900608)
mercsj Senjou no Ookami II (Japan 900302)
mtwins Mega Twins (World 900619)
chikij Chiki Chiki Boys (Japan 900619)
msword Magic Sword - Heroic Fantasy (World 900725)
mswordr1 Magic Sword - Heroic Fantasy (World 900623)
mswordu Magic Sword - Heroic Fantasy (US 900725)
mswordj Magic Sword (Japan 900623)
cawing Carrier Air Wing (World 901012)
cawingr1 Carrier Air Wing (World 901009)
cawingu Carrier Air Wing (US 901012)
cawingj U.S. Navy (Japan 901012)
nemo Nemo (World 901130)
nemoj Nemo (Japan 901120)
sf2 Street Fighter II - The World Warrior (World 910522)
sf2eb Street Fighter II - The World Warrior (World 910214)
sf2ua Street Fighter II - The World Warrior (US 910206)
sf2ub Street Fighter II - The World Warrior (US 910214)
sf2ud Street Fighter II - The World Warrior (US 910318)
sf2ue Street Fighter II - The World Warrior (US 910228)
sf2uf Street Fighter II - The World Warrior (US 910411)
sf2ui Street Fighter II - The World Warrior (US 910522)
sf2uk Street Fighter II - The World Warrior (US 911101)
sf2j Street Fighter II - The World Warrior (Japan 911210)
sf2ja Street Fighter II - The World Warrior (Japan 910214)
sf2jc Street Fighter II - The World Warrior (Japan 910306)
3wonders Three Wonders (World 910520)
3wonderu Three Wonders (US 910520)
wonder3 Wonder 3 (Japan 910520)
kod The King of Dragons (World 910711)
kodu The King of Dragons (US 910910)
kodj The King of Dragons (Japan 910805)
captcomm Captain Commando (World 911014)
captcomu Captain Commando (US 910928)
captcomj Captain Commando (Japan 911202)
knights Knights of the Round (World 911127)
knightsu Knights of the Round (US 911127)
knightsj Knights of the Round (Japan 911127)
sf2ce Street Fighter II' - Champion Edition (World 920313)
sf2ceua Street Fighter II' - Champion Edition (US 920313)
sf2ceub Street Fighter II' - Champion Edition (US 920513)
sf2ceuc Street Fighter II' - Champion Edition (US 920803)
sf2cej Street Fighter II' - Champion Edition (Japan 920513)
varth Varth - Operation Thunderstorm (World 920714)
varthr1 Varth - Operation Thunderstorm (World 920612)
varthu Varth - Operation Thunderstorm (US 920612)
varthj Varth - Operation Thunderstorm (Japan 920714)
cworld2j Capcom World 2 (Japan 920611)
sf2hf Street Fighter II' - Hyper Fighting (World 921209)
sf2t Street Fighter II' - Hyper Fighting (US 921209)
sf2tj Street Fighter II' Turbo - Hyper Fighting (Japan 921209)
qad Quiz & Dragons (US 920701)
qadj Quiz & Dragons (Japan 940921)
qtono2 Quiz Tonosama no Yabou 2 Zenkoku-ban (Japan 950123)
megaman Mega Man - The Power Battle (CPS1 Asia 951006)
rockmanj Rockman - The Power Battle (CPS1 Japan 950922)
wof Warriors of Fate (World 921002)
wofa Sangokushi II (Asia 921005)
wofu Warriors of Fate (US 921031)
wofj Tenchi wo Kurau II - Sekiheki no Tatakai (Japan 921031)
dino Cadillacs and Dinosaurs (World 930201)
dinou Cadillacs and Dinosaurs (US 930201)
dinoj Cadillacs Kyouryuu-Shinseiki (Japan 930201)
punisher The Punisher (World 930422)
punishru The Punisher (US 930422)
punishrj The Punisher (Japan 930422)
slammast Saturday Night Slam Masters (World 930713)
slammasu Saturday Night Slam Masters (US 930713)
mbomberj Muscle Bomber - The Body Explosion (Japan 930713)
mbombrd Muscle Bomber Duo - Ultimate Team Battle (World 931206)
mbombrdj Muscle Bomber Duo - Heat Up Warriors (Japan 931206)
pnickj Pnickies (Japan 940608)
pang3 Pang! 3 (Euro 950511)
pang3j Pang! 3 (Japan 950511)
sfzch Street Fighter ZERO (Japan CPS Changer)
-------------------------------------------------------------------------------
Following games are supported by MAME, but will never support in CPS1PSP.
(I HATE these hack/bootleg games.)
-------------------------------------------------------------------------------
ROM set Game title
-------------------------------------------------------------------------------
sf2rb Street Fighter II' - Champion Edition (Rainbow set 1)
sf2rb2 Street Fighter II' - Champion Edition (Rainbow set 2)
sf2red Street Fighter II' - Champion Edition (Red Wave)
sf2v004 Street Fighter II! - Champion Edition (V004)
sf2accp2 Street Fighter II' - Champion Edition (Accelerator Pt.II)
sf2m1 Street Fighter II' - Champion Edition (M1)
sf2m2 Street Fighter II' - Champion Edition (M2)
sf2m3 Street Fighter II' - Champion Edition (M3)
sf2m4 Street Fighter II' - Champion Edition (M4)
sf2m5 Street Fighter II' - Champion Edition (M5)
sf2m6 Street Fighter II' - Champion Edition (M6)
sf2m7 Street Fighter II' - Champion Edition (M7)
sf2yyc Street Fighter II' - Champion Edition (YYC)
sf2koryu Street Fighter II' - Champion Edition (Kouryu)
kodb The King of Dragons (bootleg)

229
docs/gamelist_cps2.txt Normal file
View File

@ -0,0 +1,229 @@
-------------------------------------------------------------------------------
CPS2PSP game list (ver.2.2.5)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Supported ROM set
-------------------------------------------------------------------------------
ssf2 Super Street Fighter II: The New Challengers (World 930911)
ssf2u Super Street Fighter II: The New Challengers (USA 930911)
ssf2a Super Street Fighter II: The New Challengers (Asia 931005)
ssf2ar1 Super Street Fighter II: The New Challengers (Asia 930914)
ssf2j Super Street Fighter II: The New Challengers (Japan 931005)
ssf2jr1 Super Street Fighter II: The New Challengers (Japan 930911)
ssf2jr2 Super Street Fighter II: The New Challengers (Japan 930910)
ssf2tb Super Street Fighter II: The Tournament Battle (World 931119)
ssf2tbr1 Super Street Fighter II: The Tournament Battle (World 930911)
ssf2tbj Super Street Fighter II: The Tournament Battle (Japan 930911)
ddtod Dungeons & Dragons: Tower of Doom (Euro 940412)
ddtodr1 Dungeons & Dragons: Tower of Doom (Euro 940113)
ddtodu Dungeons & Dragons: Tower of Doom (USA 940125)
ddtodur1 Dungeons & Dragons: Tower of Doom (USA 940113)
ddtodj Dungeons & Dragons: Tower of Doom (Japan 940125)
ddtodjr1 Dungeons & Dragons: Tower of Doom (Japan 940113)
ddtoda Dungeons & Dragons: Tower of Doom (Asia 940113)
ddtodh Dungeons & Dragons: Tower of Doom (Hispanic 940125)
ecofghtr Eco Fighters (World 931203)
ecofghtu Eco Fighters (USA 931203)
uecology Ultimate Ecology (Japan 931203)
ecofghta Eco Fighters (Asia 931203)
ssf2t Super Street Fighter II Turbo (World 940223)
ssf2ta Super Street Fighter II Turbo (Asia 940223)
ssf2tu Super Street Fighter II Turbo (USA 940323)
ssf2tur1 Super Street Fighter II Turbo (USA 940223)
ssf2xj Super Street Fighter II X: Grand Master Challenge (Japan 940223)
xmcota X-Men: Children of the Atom (Euro 950105)
xmcotau X-Men: Children of the Atom (USA 950105)
xmcotaj X-Men: Children of the Atom (Japan 941222)
xmcotaj1 X-Men: Children of the Atom (Japan 941219)
xmcotaj2 X-Men: Children of the Atom (Japan 941217)
xmcotajr X-Men: Children of the Atom (Japan 941208 rent version)
xmcotaa X-Men: Children of the Atom (Asia 941217)
xmcotah X-Men: Children of the Atom (Hispanic 950331)
armwar Armored Warriors (Euro 941024)
armwarr1 Armored Warriors (Euro 941011)
armwaru Armored Warriors (USA 941024)
armwara Armored Warriors (Asia 940920)
pgear Powered Gear: Strategic Variant Armor Equipment (Japan 941024)
pgearr1 Powered Gear: Strategic Variant Armor Equipment (Japan 940916)
avsp Alien vs. Predator (Euro 940520)
avspu Alien vs. Predator (USA 940520)
avspj Alien vs. Predator (Japan 940520)
avspa Alien vs. Predator (Asia 940520)
avsph Alien vs. Predator (Hispanic 940520)
dstlk Darkstalkers: The Night Warriors (Euro 940705)
dstlku Darkstalkers: The Night Warriors (USA 940818)
dstlkur1 Darkstalkers: The Night Warriors (USA 940705)
dstlka Darkstalkers: The Night Warriors (Asia 940705)
vampj Vampire: The Night Warriors (Japan 940705)
vampja Vampire: The Night Warriors (Japan 940705 alt)
vampjr1 Vampire: The Night Warriors (Japan 940630)
ringdest Ring of Destruction: Slammasters II (Euro 940902)
smbomb Super Muscle Bomber: The International Blowout (Japan 940831)
smbombr1 Super Muscle Bomber: The International Blowout (Japan 940808)
cybots Cyberbots: Fullmetal Madness (Euro 950424)
cybotsu Cyberbots: Fullmetal Madness (USA 950424)
cybotsj Cyberbots: Fullmetal Madness (Japan 950420)
msh Marvel Super Heroes (Euro 951024)
mshu Marvel Super Heroes (USA 951024)
mshj Marvel Super Heroes (Japan 951117)
mshjr1 Marvel Super Heroes (Japan 951024)
msha Marvel Super Heroes (Asia 951024)
mshb Marvel Super Heroes (Brazil 951117)
mshh Marvel Super Heroes (Hispanic 951117)
nwarr Night Warriors: Darkstalkers' Revenge (EURO 950316)
nwarru Night Warriors: Darkstalkers' Revenge (USA 950406)
nwarrh Night Warriors: Darkstalkers' Revenge (Hispanic 950403)
nwarrb Night Warriors: Darkstalkers' Revenge (Brazil 950403)
vhuntj Vampire Hunter: Darkstalkers' Revenge (Japan 950316)
vhuntjr1 Vampire Hunter: Darkstalkers' Revenge (Japan 950307)
vhuntjr2 Vampire Hunter: Darkstalkers' Revenge (Japan 950302)
sfa Street Fighter Alpha: Warriors' Dreams (Euro 950727)
sfar1 Street Fighter Alpha: Warriors' Dreams (Euro 950718)
sfar2 Street Fighter Alpha: Warriors' Dreams (Euro 950627)
sfar3 Street Fighter Alpha: Warriors' Dreams (Euro 950605)
sfau Street Fighter Alpha: Warriors' Dreams (USA 950627)
sfzj Street Fighter Zero (Japan 950727)
sfzjr1 Street Fighter Zero (Japan 950627)
sfzjr2 Street Fighter Zero (Japan 950605)
sfza Street Fighter Zero (Asia 950627)
sfzh Street Fighter Zero (Hispanic 950627)
sfzb Street Fighter Zero (Brazil 951109)
sfzbr1 Street Fighter Zero (Brazil 950727)
mmancp2u Mega Man: The Power Battle (CPS2 - USA 951006 / SAMPLE Version)
rmancp2j Rockman: The Power Battle (CPS2 - Japan 950922)
19xx 19XX: The War Against Destiny (USA 951207)
19xxa 19XX: The War Against Destiny (Asia 951207)
19xxj 19XX: The War Against Destiny (Japan 951225)
19xxjr1 19XX: The War Against Destiny (Japan 951207)
19xxh 19XX: The War Against Destiny (Hispanic 951218)
19xxb 19XX: The War Against Destiny (Brazil 951218)
ddsom Dungeons & Dragons: Shadow over Mystara (Euro 960619)
ddsomr1 Dungeons & Dragons: Shadow over Mystara (Euro 960223)
ddsomr2 Dungeons & Dragons: Shadow over Mystara (Euro 960209)
ddsomr3 Dungeons & Dragons: Shadow over Mystara (Euro 960208)
ddsomu Dungeons & Dragons: Shadow over Mystara (USA 960619)
ddsomur1 Dungeons & Dragons: Shadow over Mystara (USA 960209)
ddsomj Dungeons & Dragons: Shadow over Mystara (Japan 960619)
ddsomjr1 Dungeons & Dragons: Shadow over Mystara (Japan 960206)
ddsoma Dungeons & Dragons: Shadow over Mystara (Asia 960619)
ddsomb Dungeons & Dragons: Shadow over Mystara (Brazil 960223)
megaman2 Mega Man 2: The Power Fighters (USA 960708)
megamn2a Mega Man 2: The Power Fighters (Asia 960708)
rckman2j Rockman 2: The Power Fighters (Japan 960708)
qndream Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)
sfa2 Street Fighter Alpha 2 (USA 960306)
sfz2j Street Fighter Zero 2 (Japan 960227)
sfz2a Street Fighter Zero 2 (Asia 960227)
sfz2b Street Fighter Zero 2 (Brazil 960531)
sfz2br1 Street Fighter Zero 2 (Brazil 960304)
sfz2h Street Fighter Zero 2 (Hispanic 960304)
sfz2n Street Fighter Zero 2 (Oceania 960229)
sfz2aj Street Fighter Zero 2 Alpha (Japan 960805)
sfz2aa Street Fighter Zero 2 Alpha (Asia 960826)
sfz2ah Street Fighter Zero 2 Alpha (Hispanic 960813)
sfz2ab Street Fighter Zero 2 Alpha (Brazil 960813)
xmvsf X-Men Vs. Street Fighter (Euro 961004)
xmvsfr1 X-Men Vs. Street Fighter (Euro 960910)
xmvsfu X-Men Vs. Street Fighter (USA 961023)
xmvsfur1 X-Men Vs. Street Fighter (USA 961004)
xmvsfj X-Men Vs. Street Fighter (Japan 961004)
xmvsfjr1 X-Men Vs. Street Fighter (Japan 960910)
xmvsfjr2 X-Men Vs. Street Fighter (Japan 960909)
xmvsfa X-Men Vs. Street Fighter (Asia 961023)
xmvsfar1 X-Men Vs. Street Fighter (Asia 960919)
xmvsfh X-Men Vs. Street Fighter (Hispanic 961004)
xmvsfb X-Men Vs. Street Fighter (Brazil 961023)
batcir Battle Circuit (Euro 970319)
batcira Battle Circuit (Asia 970319)
batcirj Battle Circuit (Japan 970319)
csclub Capcom Sports Club (Euro 970722)
cscluba Capcom Sports Club (Asia 970722)
csclubj Capcom Sports Club (Japan 970722)
csclubh Capcom Sports Club (Hispanic 970722)
spf2t Super Puzzle Fighter II Turbo (USA 960620)
spf2xj Super Puzzle Fighter II X (Japan 960531)
spf2ta Super Puzzle Fighter II Turbo (Asia 960529)
mshvsf Marvel Super Heroes Vs. Street Fighter (Euro 970625)
mshvsfu Marvel Super Heroes Vs. Street Fighter (USA 970827)
mshvsfu1 Marvel Super Heroes Vs. Street Fighter (USA 970625)
mshvsfj Marvel Super Heroes Vs. Street Fighter (Japan 970707)
mshvsfj1 Marvel Super Heroes Vs. Street Fighter (Japan 970702)
mshvsfj2 Marvel Super Heroes Vs. Street Fighter (Japan 970625)
mshvsfa Marvel Super Heroes Vs. Street Fighter (Asia 970625)
mshvsfa1 Marvel Super Heroes Vs. Street Fighter (Asia 970620)
mshvsfh Marvel Super Heroes Vs. Street Fighter (Hispanic 970625)
mshvsfb Marvel Super Heroes Vs. Street Fighter (Brazil 970827)
mshvsfb1 Marvel Super Heroes Vs. Street Fighter (Brazil 970625)
sgemf Super Gem Fighter Mini Mix (USA 970904)
pfghtj Pocket Fighter (Japan 970904)
sgemfa Super Gem Fighter: Mini Mix (Asia 970904)
sgemfh Super Gem Fighter: Mini Mix (Hispanic 970904)
vhunt2 Vampire Hunter 2: Darkstalkers Revenge (Japan 970929)
vhunt2r1 Vampire Hunter 2: Darkstalkers Revenge (Japan 970913)
vsav Vampire Savior: The Lord of Vampire (Euro 970519)
vsavu Vampire Savior: The Lord of Vampire (USA 970519)
vsavj Vampire Savior: The Lord of Vampire (Japan 970519)
vsava Vampire Savior: The Lord of Vampire (Asia 970519)
vsavh Vampire Savior: The Lord of Vampire (Hispanic 970519)
vsav2 Vampire Savior 2: The Lord of Vampire (Japan 970913)
mvsc Marvel Vs. Capcom: Clash of Super Heroes (Euro 980112)
mvscu Marvel Vs. Capcom: Clash of Super Heroes (USA 980123)
mvscj Marvel Vs. Capcom: Clash of Super Heroes (Japan 980123)
mvscjr1 Marvel Vs. Capcom: Clash of Super Heroes (Japan 980112)
mvsca Marvel Vs. Capcom: Clash of Super Heroes (Asia 980123)
mvscar1 Marvel Vs. Capcom: Clash of Super Heroes (Asia 980112)
mvsch Marvel Vs. Capcom: Clash of Super Heroes (Hispanic 980123)
mvscb Marvel Vs. Capcom: Clash of Super Heroes (Brazil 980123)
sfa3 Street Fighter Alpha 3 (Euro 980904)
sfa3u Street Fighter Alpha 3 (USA 980904)
sfa3ur1 Street Fighter Alpha 3 (USA 980629)
sfa3b Street Fighter Alpha 3 (Brazil 980629)
sfz3j Street Fighter Zero 3 (Japan 980904)
sfz3jr1 Street Fighter Zero 3 (Japan 980727)
sfz3jr2 Street Fighter Zero 3 (Japan 980629)
sfz3a Street Fighter Zero 3 (Asia 980904)
sfz3ar1 Street Fighter Zero 3 (Asia 980701)
choko Choko (Japan 010820)
jyangoku Jyangokushi: Haoh no Saihai (Japan 990527)
gigawing Giga Wing (USA 990222)
gwingj Giga Wing (Japan 990223)
gwinga Giga Wing (Asia 990222)
mmatrix Mars Matrix: Hyper Solid Shooting (USA 000412)
mmatrixj Mars Matrix: Hyper Solid Shooting (Japan 000412)
mpang Mighty! Pang (USA 001010)
mpangj Mighty! Pang (Japan 001011)
pzloop2j Puzz Loop 2 (Japan 010205)
dimahoo Dimahoo (Euro 000121)
dimahoou Dimahoo (USA 000121)
gmahou Great Mahou Daisakusen (Japan 000121)
1944 1944: The Loop Master (USA 000620)
1944j 1944: The Loop Master (Japan 000620)
progear Progear (USA 010117)
progearj Progear no Arashi (Japan 010117)
progeara Progear (Asia 010117)
hsf2 Hyper Street Fighter 2: The Anniversary Edition (Asia 040202)
hsf2j Hyper Street Fighter 2: The Anniversary Edition (Japan 031222)
ddtodd Dungeons & Dragons: Tower of Doom (Euro 940412 Phoenix Edition)
xmcotad X-Men: Children of the Atom (Euro 950105 Phoenix Edition)
avspd Alien vs. Predator (Euro 940520 Phoenix Edition)
dstlku1d Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition)
ringdstd Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition)
nwarrd Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition)
sfad Street Fighter Alpha: Warriors' Dreams (Euro 950727 Phoenix Edition)
19xxd 19XX: The War Against Destiny (USA 951207 Phoenix Edition)
ddsomud Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition)
megamn2d Mega Man 2: The Power Fighters (USA 960708 Phoenix Edition)
sfz2aad Street Fighter Zero 2 Alpha (Asia 960826 Phoenix Edition)
spf2xjd Super Puzzle Fighter II X (Japan 960531 Phoenix Edition)
xmvsfu1d X-Men Vs. Street Fighter (USA 961004 Phoenix Edition)
batcird Battle Circuit (Euro 970319 Phoenix Edition)
vsavd Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition)
mvscud Marvel Vs. Capcom: Clash of Super Heroes (USA 980123 Phoenix Edition)
sfa3d Street Fighter Alpha 3 (USA 980904 Phoenix Edition)
hsf2d Hyper Street Fighter II: The Anniversary Edition (Asia 040202 Phoenix Edition)
gwingjd Giga Wing (Japan 990223 Phoenix Edition)
1944d 1944: The Loop Master (USA 000620 Phoenix Edition)

274
docs/gamelist_mvs.txt Normal file
View File

@ -0,0 +1,274 @@
-------------------------------------------------------------------------------
MVSPSP game list (ver.2.2.5)
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Supported ROM set
-------------------------------------------------------------------------------
ROM set Game title
-------------------------------------------------------------------------------
2020bb 2020 Super Baseball (set 1)
2020bba 2020 Super Baseball (set 2)
2020bbh 2020 Super Baseball (set 3)
3countb 3 Count Bout
alpham2 Alpha Mission II
androdun Andro Dunos
aodk Aggressors of Dark Kombat
aof Art of Fighting
aof2 Art of Fighting 2 (set 1)
aof2a Art of Fighting 2 (set 2)
aof3 Art of Fighting 3 - The Path of the Warrior
aof3k Art of Fighting 3 - The Path of the Warrior (Korean release)
bakatono Bakatonosama Mahjong Manyuki
bangbead Bang Bead
bjourney Blue's Journey
blazstar Blazing Star
breakers Breakers
breakrev Breakers Revenge
bstars Baseball Stars Professional
bstars2 Baseball Stars 2
burningf Burning Fight (set 1)
burningh Burning Fight (set 2)
crsword Crossed Swords
ctomaday Captain Tomaday
cyberlip Cyber-Lip
doubledr Double Dragon
eightman Eight Man
fatfursa Fatal Fury Special (set 2)
fatfursp Fatal Fury Special (set 1)
fatfury1 Fatal Fury - King of Fighters
fatfury2 Fatal Fury 2
fatfury3 Fatal Fury 3 - Road to the Final Victory
fbfrenzy Football Frenzy
fightfev Fight Fever (set 1)
fightfva Fight Fever (set 2)
flipshot Battle Flip Shot
fswords Fighters Swords (Korean release of Samurai Shodown III)
galaxyfg Galaxy Fight - Universal Warriors
ganryu Ganryu
garou Garou - Mark of the Wolves (set 1)
garouo Garou - Mark of the Wolves (set 2)
garoup Garou - Mark of the Wolves (prototype)
ghostlop Ghostlop (prototype)
goalx3 Goal! Goal! Goal!
gowcaizr Voltage Fighter - Gowcaizer
gpilots Ghost Pilots
gururin Gururin
irrmaze The Irritating Maze
janshin Jyanshin Densetsu - Quest of Jongmaster
jockeygp Jockey Grand Prix
joyjoy Puzzled
kabukikl Far East of Eden - Kabuki Klash
karnovr Karnov's Revenge
kf2k3pcb The King of Fighters 2003 (Japan / JAMMA PCB)
kizuna Kizuna Encounter - Super Tag Battle
kof2000 The King of Fighters 2000
kof2000n The King of Fighters 2000 (not encrypted)
kof2001 The King of Fighters 2001 (set 1)
kof2001h The King of Fighters 2001 (set 2)
kof2002 The King of Fighters 2002
kof2003 The King of Fighters 2003 (World / US / MVS)
kof94 The King of Fighters '94
kof95 The King of Fighters '95 (set 1)
kof95a The King of Fighters '95 (set 2)
kof96 The King of Fighters '96 (set 1)
kof96h The King of Fighters '96 (set 2)
kof97 The King of Fighters '97 (set 1)
kof97a The King of Fighters '97 (set 2)
kof98 The King of Fighters '98 - The Slugfest
kof98k The King of Fighters '98 - The Slugfest (Korean board)
kof98n The King of Fighters '98 - The Slugfest (not encrypted)
kof99 The King of Fighters '99 - Millennium Battle (set 1)
kof99a The King of Fighters '99 - Millennium Battle (set 2)
kof99e The King of Fighters '99 - Millennium Battle (earlier)
kof99n The King of Fighters '99 - Millennium Battle (not encrypted)
kof99p The King of Fighters '99 - Millennium Battle (prototype)
kotm King of the Monsters (set 1)
kotm2 King of the Monsters 2 - The Next Thing
kotmh King of the Monsters (set 2)
lastblad The Last Blade (set 1)
lastbld2 The Last Blade 2
lastblda The Last Blade (set 2)
lastsold The Last Soldier (Korean release of The Last Blade)
lbowling League Bowling
legendos Legend of Success Joe
lresort Last Resort
magdrop2 Magical Drop II
magdrop3 Magical Drop III
maglord Magician Lord (set 1)
maglordh Magician Lord (set 2)
mahretsu Mahjong Kyoretsuden
marukodq Chibi Marukochan Deluxe Quiz
matrim Matrimelee
miexchng Money Puzzle Exchanger
minasan Minnasanno Okagesamadesu
mosyougi Syougi No Tatsujin - Master of Syougi
ms5pcb Metal Slug 5 (JAMMA PCB)
mslug Metal Slug - Super Vehicle-001
mslug2 Metal Slug 2 - Super Vehicle-001/II
mslug3 Metal Slug 3
mslug3n Metal Slug 3 (not encrypted)
mslug4 Metal Slug 4
mslug5 Metal Slug 5
mslugx Metal Slug X - Super Vehicle-001
mutnat Mutation Nation
nam1975 NAM-1975
ncombat Ninja Combat (set 1)
ncombath Ninja Combat (set 2)
ncommand Ninja Commando
neobombe Neo Bomberman
neocup98 Neo-Geo Cup '98 - The Road to the Victory
neodrift Neo Drift Out - New Technology
neomrdo Neo Mr. Do!
ninjamas Ninja Master's - haoh-ninpo-cho
nitd Nightmare in the Dark
overtop Over Top
panicbom Panic Bomber
pbobbl2n Puzzle Bobble 2 / Bust-A-Move Again
pbobblen Puzzle Bobble / Bust-A-Move (set 1)
pbobblna Puzzle Bobble / Bust-A-Move (set 2)
pgoal Pleasure Goal
pnyaa Pochi and Nyaa
popbounc Pop 'n Bounce
preisle2 Prehistoric Isle 2
pspikes2 Power Spikes II
pulstar Pulstar
puzzldpr Puzzle De Pon! R!
puzzledp Puzzle De Pon!
quizdai2 Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2
quizdais Quiz Daisousa Sen - The Last Count Down
quizkof Quiz King of Fighters
ragnagrd Ragnagard
rbff1 Real Bout Fatal Fury
rbff2 Real Bout Fatal Fury 2 - The Newcomers (set 1)
rbff2a Real Bout Fatal Fury 2 - The Newcomers (set 2)
rbff2k Real Bout Fatal Fury 2 - The Newcomers (Korean release)
rbffspec Real Bout Fatal Fury Special
ridhero Riding Hero (set 1)
ridheroh Riding Hero (set 2)
roboarma Robo Army (set 2)
roboarmy Robo Army (set 1)
rotd Rage of the Dragons
s1945p Strikers 1945 Plus
samsh5sh Samurai Shodown V Special (set 2 / censored)
samsh5sn Samurai Shodown V Special (set 3 / less censored)
samsh5sp Samurai Shodown V Special (set 1 / uncensored)
samsho Samurai Shodown
samsho2 Samurai Shodown II
samsho3 Samurai Shodown III (set 1)
samsho3a Samurai Shodown III (set 2)
samsho4 Samurai Shodown IV - Amakusa's Revenge
samsho5 Samurai Shodown V (set 1)
samsho5h Samurai Shodown V (set 2)
savagere Savage Reign
sdodgeb Super Dodge Ball
sengokh Sengoku (set 2)
sengoku Sengoku (set 1)
sengoku2 Sengoku 2 / Sengoku Denshou 2
sengoku3 Sengoku 3
shocktr2 Shock Troopers - 2nd Squad
shocktra Shock Troopers (set 2)
shocktro Shock Troopers (set 1)
socbrawl Soccer Brawl
sonicwi2 Aero Fighters 2
sonicwi3 Aero Fighters 3
spinmast Spin Master
ssideki Super Sidekicks
ssideki2 Super Sidekicks 2 - The World Championship
ssideki3 Super Sidekicks 3 - The Next Glory
ssideki4 Ultimate 11 - The SNK Football Championship
stakwin Stakes Winner
stakwin2 Stakes Winner 2
strhoop Street Hoop / Street Slam
superspy The Super Spy
svc SvC Chaos - SNK vs Capcom
svcpcba SVC Chaos - SNK vs CAPCOM (JAMMA PCB / set 2)
tophunta Top Hunter - Roddy & Cathy (set 2)
tophuntr Top Hunter - Roddy & Cathy (set 1)
tpgolf Top Player's Golf
trally Thrash Rally
turfmast Neo Turf Masters
twinspri Twinkle Star Sprites
tws96 Tecmo World Soccer '96
viewpoin Viewpoint
vliner V-Liner (set 1)
vlinero V-Liner (set 2)
wakuwak7 Waku Waku 7
wh1 World Heroes (set 1)
wh1h World Heroes (set 2)
wh1ha World Heroes (set 3)
wh2 World Heroes 2
wh2j World Heroes 2 Jet (Set 1)
wh2jh World Heroes 2 Jet (Set 2)
whp World Heroes Perfect
wjammers Windjammers
zedblade Zed Blade
zupapa Zupapa!
kof96ep The King of Fighters '96 (bootleg)
kof97pls The King of Fighters '97 Plus (bootleg)
kof97pla The King of Fighters '97 Plus 2003 (bootleg)
kog King of Gladiator (KOF'97 bootleg)
zintrckb Zintrick (hack / bootleg)
zintrkcd Zintrick / Oshidashi Zentrix (CD to MVS Conversion)
garoubl Garou - Mark of the Wolves (bootleg)
mslug3b6 Metal Slug 6 (Metal Slug 3 bootleg)
kf2k1pls The King of Fighters 2001 Plus (set 1 / bootleg)
kf2k1pa The King of Fighters 2001 Plus (set 2 / bootleg)
cthd2003 Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 1)
cthd2k3a Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 2)
ct2k3sp Crouching Tiger Hidden Dragon 2003 Super Plus (KOF2001 bootleg)
ct2k3sa Crouching Tiger Hidden Dragon 2003 Super Plus alternate (KOF2001 bootleg)
kof2002b The King of Fighters 2002 (bootleg)
kf2k2pls The King of Fighters 2002 Plus (set 1, bootleg)
kf2k2pla The King of Fighters 2002 Plus (set 2, bootleg)
kf2k2plb The King of Fighters 2002 Plus (set 3 / bootleg)
kf2k2plc The King of Fighters 2002 Super (set 4 / bootleg)
kf2k2mp The King of Fighters 2002 Magic Plus (bootleg)
kf2k2mp2 The King of Fighters 2002 Magic Plus II (bootleg)
kof10th The King Of Fighters 10th Anniversary (KOF2002 bootleg)
kf2k5uni The King of Fighters 10th Anniversary 2005 Unique (KOF2002 bootleg)
kf10thep The King of Fighters 10th Anniversary Extra Plus (KOF2002 bootleg)
kof2k4se The King of Fighters Special Edition 2004 (KOF2002 bootleg)
kf2k4pls The King of Fighters Special Edition 2004 Plus (KOF2002 bootleg)
mslug5b Metal Slug 5 (bootleg)
ms5plus Metal Slug 5 Plus (bootleg)
svcboot SvC Chaos - SNK vs Capcom (bootleg)
svcplus SvC Chaos - SNK vs Capcom Plus (set 1, bootleg)
svcplusa SvC Chaos - SNK vs Capcom Plus (set 2, bootleg)
svcsplus SvC Chaos - SNK vs Capcom Super Plus (bootleg)
samsho5b Samurai Shodown V / Samurai Spirits Zero (bootleg)
kf2k3bl The King of Fighters 2003 (bootleg, set 1)
kf2k3bla The King of Fighters 2003 (bootleg, set 2)
kf2k3pl The King of Fighters 2004 Plus / Hero (KOF2003 bootleg)
kf2k3upl The King of Fighters 2004 Ultra Plus (KOF2003 bootleg)
matrimbl Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg)
lans2004 Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)
ms4plus Metal Slug 4 Plus (bootleg)
fr2ch Idol Mahjong - final romance 2 (CD to MVS Conversion)
bangbedp Bang Bead (bootleg?)
nitdbl Nightmare in the Dark (bootleg)
diggerma Digger Man (prototype)
columnsn Columns (PD)
poknight Poker Night (PD)
neonopon Neo No Panepon (beta / PD)
neopong Neo Pong (v1.1 / PD)
frogfest Frog Feast (PD)
ltorb1 Jonas Indiana and the Lost Temple of RA (20050717 / PD)
cnbe Codename - Blut Engel (2006-01-19 / PD)
beast Shadow of the Beast (demo / PD)
neodemo Neo-Demo (PD)
ngem2k NGEM2K (beta 2006-01-18 / PD)
neo2500 Neo 2500 Demo (PD)
syscheck Neo System Check (ver 1.0b / PD)
-------------------------------------------------------------------------------
Following games are not working.
-------------------------------------------------------------------------------
ROM set Game title
-------------------------------------------------------------------------------
svcpcb SvC Chaos - SNK vs Capcom (JAMMA PCB) (PSPではメモリ不足)
npong10 Neo Pong (v1.0 / PD) (プログラムの書き方が正しくないため動作しない)

133
docs/slim/readme_cps2.txt Normal file
View File

@ -0,0 +1,133 @@
------------------------------------------------------------------------------
CAPCOM CPS2 Emulator for PSP 2.3.1 for PSP Slim
このプログラムは PSP-2000 + CFW 3.71専用です。
------------------------------------------------------------------------------
<概要>
PSP用のCAPCOM CPS2(Capcom Play System II)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (または/PSP/GAME3xx/)
|
+- CPS2PSP/
| |
| +- EBOOT.PBP CPS2PSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- cps2psp.ini CPS2PSP設定情報記録ファイル (自動的に作成)
| +- rominfo.cps2 CPS2 ROMセットデータベース (必須)
| +- zipname.cps2 CPS2 英語ゲーム名リスト (必須)
| +- zipnamej.cps2 CPS2 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- nvram/ EEPROMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- 19xx.zip (例: 19xx)
| +- ssf2.zip (例: Super Street Fighter II (parent))
| +- ssf2j.zip (例: Super Street Fighter II (clone: Japanese ver.))
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
操作方法
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
以下の場合には、自動的にボタン配置を画面に合わせて反転/回転しますので、
特に意識して変更する必要はありません。
・サービスメニューでFlip Screenの項目を有効にした場合
・縦画面のゲームでRotate ScreenをYesにした場合
共通
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
2ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
3ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
6ボタンのゲーム
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger
クイズなないろドリームス専用 (方向ボタンは使用しません)
Button 1 - Square
Button 2 - Cross
Button 3 - Triangle
Button 4 - Circle
プレイヤー切り替え - L trigger
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
L + R + START: 1P & 2P START (サービスメニューで使用)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示

238
docs/slim/readme_mvs.txt Normal file
View File

@ -0,0 +1,238 @@
------------------------------------------------------------------------------
NEOGEO Emulator for PSP 2.3.1 for PSP Slim
このプログラムは PSP-2000 + CFW 3.71専用です。
------------------------------------------------------------------------------
<概要>
PSP用のNEOGEO(MVS/AES)エミュレータです。
------------------------------------------------------------------------------
対応ROMセットについて
MAME 0.120に準拠させているため、zipファイル名はMAME 0.120が要求するROM
セット名と一致させる必要があります。
全てのROMイメージファイルはzipファイルに圧縮する必要があります。
フォルダに展開したファイルを扱えないことを除けば、MAMEと全く同じです。
また、MAMEが対応していないROMセットには対応していません。
zipファイル内のROMイメージファイル名はどんな名前でも構いませんが、CRCは
MAME 0.120のROMセットのCRCと一致している必要があります。
ファイルブラウザ上で白く表示されているゲームは全て動作します。
動作しない場合はROMセットが要求するものと異なっているということです。
ClrMame ProやRomCenter等のツールを使って、MAME 0.120以降のROMセットに一致
しているか確認してください。
ファイルブラウザ上でグレーで表示されているゲームは、起動できません。
BIOSはneogeo.zipというファイルにまとめ、romsフォルダに置いてください。
------------------------------------------------------------------------------
フォルダ設定
フォルダは全て初回起動時に自動的に作成されます。
/PSP/GAME/ (または/PSP/GAME3xx/)
|
+- MVSPSP/
| |
| +- EBOOT.PBP MVSPSP本体
| +- SystemButtons.prx システムボタン押下状態取得PRX
| +- mvspsp.ini MVSPSP設定情報記録ファイル (自動的に作成)
| +- rominfo.mvs MVS ROMセットデータベース (必須)
| +- zipname.mvs MVS 英語ゲーム名リスト (必須)
| +- zipnamej.mvs MVS 日本語ゲーム名リスト (任意)
| +- command.dat MAME Plus!用command.dat (コマンドリスト/任意)
|
+- cache/ キャッシュファイル用フォルダ(romcnv_mvs.exeで作成)
| |
| +- mslug_cache/ (例: Metal Slug) ※作成されたフォルダをコピー
|
+- config/ ゲーム個別設定ファイル用フォルダ
|
+- memcard/ メモリカード用フォルダ
|
+- nvram/ SRAMデータ保存用フォルダ
|
+- snap/ スクリーンショット用フォルダ
|
+- state/ ステートデータ用フォルダ
|
+- roms/ ROMイメージファイル用フォルダ (ZIP形式で圧縮)
| |
| +- neogeo.zip (NEOGEO BIOS)
| +- samsho.zip (例: サムライスピリッツ)
| +- ...
------------------------------------------------------------------------------
ユーザーインタフェースの表示言語について
・ver.2.2.2でバイナリを統合し、PSP本体の表示言語が日本語の場合は日本語で、
それ以外の場合は英語で表示します。
・zipnamej.datは日本語を使用しない場合は不要ですので、削除してかまいません。
・旧バージョンでresource_jp.zipに含まれていた日本語フォントを使用していた場合
は、不要になりましたので削除してください。
------------------------------------------------------------------------------
ROMセットについての補足
・以下のROMセットは、MAMEのROMセットと親子関係が異なるため注意してください。
(※いずれもbootleg対応版のみ動作可能)
親セット クローンセット
garoup --- garoubl
svcboot -+- svcplus
+- svcplusa
+- svcsplus
kof2k4se --- kf2k4pls
kof10th -+- kf10thep
+- kf2k5uni
kf2k3bl -+- kf2k3bla
+- kf2k3pl
+- kf2k3upl
キャッシュファイルの作成
・ROM読み込み時に"メモリが足りない"というエラーが表示される場合は、
グラフィックデータのキャッシュを作成する必要があります。
付属のromcnv_mvs.exeで作成してください。使い方はromcnv_mvs.exeの
readme_mvs.txtを参照してください。
・以下のクローンセットは親セットのキャッシュがあればそちらを使用するので、
親セットのみ作成すればOKです。
(括弧内が親セット名、bootlegはbootleg対応版でのみ動作)
aof2a (aof2)
fatfursa (fatfursp)
kof95a (kof95)
samsho3a (samsho3)
fswords (samsho3)
aof3k (aof3)
kof96h (kof96)
kof96ep (kof96) ※bootleg
kof97a (kof97)
kof97pls (kof97) ※bootleg
lastbldh (lastblad)
lastsold (lastblad)
shocktra (shocktro)
rbff2h (rbff2)
rbff2k (rbff2)
kof98k (kof98)
kof98n (kof98)
kof99a (kof99)
kof99e (kof99)
kof99n (kof99)
garouo (garou)
mslug3n (mslug3)
kof2000n (kof2000)
kof2001h (kof2001)
kf2k1pls (kof2001) ※bootleg
kf2k1pa (kof2001) ※bootleg
ms4plus (mslug4) ※bootleg
kf2k2pls (kof2002) ※bootleg
kf2k2pla (kof2002) ※bootleg
kf2k2plb (kof2002) ※bootleg
mslug5b (mslug5) ※bootleg
svcpcba (svcpcb)
samsho5h (samsho5)
samsh5sh (samsh5sp)
samsh5sn (samsh5sp)
kf2k5uni (kof10th) ※bootleg / MAMEと親セットが異なる
svcplusa (svcboot) ※bootleg / MAMEと親セットが異なる
kf2k3bla (kf2k3bl) ※bootleg / MAMEと親セットが異なる
・以下のクローンセットは一部のキャッシュファイルを親セットのキャッシュと共有
します。[]内のファイルが親セットのキャッシュにあればそちらを使用します。
(括弧内が親セット名、bootkegはbootleg対応版でのみ動作)
kof97pla (kof97) [crom/vrom] ※bootleg
kog (kof97) [vrom] ※bootleg
kof99p (kof99) [vrom]
garoubl (garoup) [crom] ※bootleg / MAMEと親セットが異なる
mslug3b6 (mslug3) [crom/vrom] ※bootleg
cthd2003 (kof2001) [vrom] ※bootleg
ct2k3sp (kof2001) [vrom] ※bootleg
ct2k3sa (kof2001) [vrom] ※bootleg
kof2002b (kof2002) [srom/vrom] ※bootleg
kf2k2plc (kof2002) [crom/vrom] ※bootleg
kf2k2mp (kof2002) [crom/vrom] ※bootleg
kf2k2mp2 (kof2002) [crom/vrom] ※bootleg
matrimbl (matrim) [crom/srom] ※bootleg
ms5plus (mslug5) [crom/srom] ※bootleg
kf2k4pls (kof2k4se) [crom/srom] ※bootleg / MAMEと親セットが異なる
kf10thep (kof10th) [vrom] ※bootleg / MAMEと親セットが異なる
svcplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
svcsplus (svcboot) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3pl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
kf2k3upl (kf2k3bl) [crom/vrom] ※bootleg / MAMEと親セットが異なる
------------------------------------------------------------------------------
操作方法
※BIOSの設定画面はファイルブラウザ実行中に"START"を押すことで表示されます。
"必ずここで設定してから"ゲームを起動してください。
・ゲーム実行中の画面とメインメニューを除き、全てのメニューで"Rトリガ"を押す
ことで操作ヘルプが表示されるようになっています。
わからなければとにかく"Rトリガ"を押してください。
見ればわかると思うので、詳細は割愛します。
・ゲームの設定等を変更するメニューは、ゲーム実行中に"HOME"を押すことで表示
されます。
・ゲーム中のボタン操作
ボタンの割り当ては変更可能です。以下にデフォルトの設定を書いておきます。
Up - Up or Analog Up
Down - Down or Analog Down
Left - Left or Analog Left
Right - Right or Analog Right
Start - Start
Coin - Select
Button A - Cross
Button B - Circle
Button C - Square
Button D - Triangle
特殊操作
HOME: メニューを開く
L + R + SELECT: サービススイッチ (特定のボタンに割り当ても可能)
AdHoc時
※ファイルブラウザで□(Square)でゲームを選択するとAdHocモードで
ゲームを起動します。
HOME: ポーズ、切断ダイアログの表示
------------------------------------------------------------------------------
BIOSのRegion/Machine Modeの変更について
・ゲーム設定メニュー内で変更できるようにしていますが、完全に動作するわけでは
ありません。後期のゲームの場合、この設定を変更するとプロテクトに引っかかり
動作しないものがあります。
また、AESのBIOSでMVSのゲームを動作させようとした場合も、同様にプロテクトに
引っかかって動作しない場合があります。
・確実に変更したいのであれば、uni-biosを使用してください。
------------------------------------------------------------------------------
その他
・メモリカードのファイルはゲームごとに作成されます。
また、メモリカードは常に認識した状態になっています。
・以下のゲームはMAMEでは動作しますが、このエミュレータではメモリ不足に
より起動できないため未対応です。
svcpcb SvC Chaos - SNK vs Capcom (JAMMA PCB)

2
romcnv/CPS2.BAT Normal file
View File

@ -0,0 +1,2 @@
make -f makefile.cps2
pause

Binary file not shown.

1
romcnv/cps2conv slim.bat Normal file
View File

@ -0,0 +1 @@
romcnv_cps2 -slim

1
romcnv/cps2conv.bat Normal file
View File

@ -0,0 +1 @@
romcnv_cps2 "%1"

1
romcnv/cps2conv_all.bat Normal file
View File

@ -0,0 +1 @@
romcnv_cps2 -all

191
romcnv/makefile.cps2 Normal file
View File

@ -0,0 +1,191 @@
#------------------------------------------------------------------------------
#
# romcnv_cps2.exe for Windows Makefile
#
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Configration
#------------------------------------------------------------------------------
TARGET = romcnv_cps2
#------------------------------------------------------------------------------
# Defines
#------------------------------------------------------------------------------
VERSION_MAJOR = 2
VERSION_MINOR = 2
VERSION_BUILD = 2
EXENAME_STR = $(TARGET)
VERSION_STR = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
ifdef UNIX
FINAL_TARGET = $(TARGET)
else
WIN32 = 1
FINAL_TARGET = $(TARGET).exe
endif
EXTRA_TARGETS = maketree $(FINAL_TARGET)
OBJ = obj_cps2
#------------------------------------------------------------------------------
# Utilities
#------------------------------------------------------------------------------
AR = ar
CC = gcc
LD = gcc
ifdef WIN32
MD = mkdir.exe
RM = rm.exe
else
MD = mkdir
RM = rm
endif
#------------------------------------------------------------------------------
# File include path
#------------------------------------------------------------------------------
INCDIR = \
src \
src/cps2 \
src/zlib
#------------------------------------------------------------------------------
# Object Directory
#------------------------------------------------------------------------------
OBJDIRS = \
$(OBJ) \
$(OBJ)/cps2 \
$(OBJ)/zlib
#------------------------------------------------------------------------------
# Object Files
#------------------------------------------------------------------------------
OBJS = \
$(OBJ)/cps2/romcnv.o \
$(OBJ)/common.o \
$(OBJ)/unzip.o \
$(OBJ)/zip.o \
$(OBJ)/zfile.o \
$(OBJ)/zlib.a
#------------------------------------------------------------------------------
# Compiler Flags
#------------------------------------------------------------------------------
CFLAGS = -O2
#------------------------------------------------------------------------------
# Compiler Defines
#------------------------------------------------------------------------------
ifdef WIN32
CDEFS = \
-DCRLF=3 \
-DWINVER=0x0400 \
-D_WIN32_WINNT=0x0500 \
-DWIN32 \
-D_WINDOWS \
-DINLINE='static __inline' \
-Dinline=__inline \
-D__inline__=__inline \
-DEXENAME_STR='"$(EXENAME_STR)"' \
-DVERSION_STR='"$(VERSION_STR)"' \
-DVERSION_MAJOR=$(VERSION_MAJOR) \
-DVERSION_MINOR=$(VERSION_MINOR) \
$(addprefix -I,$(INCDIR))
else
CDEFS = \
-DCRLF=3 \
-DINLINE='static __inline' \
-Dinline=__inline \
-D__inline__=__inline \
-DEXENAME_STR='"$(EXENAME_STR)"' \
-DVERSION_STR='"$(VERSION_STR)"' \
-DVERSION_MAJOR=$(VERSION_MAJOR) \
-DVERSION_MINOR=$(VERSION_MINOR) \
$(addprefix -I,$(INCDIR))
endif
ifdef UNIX
CDEFS += -DUNIX=1
endif
#---------------------------------------------------------------------
# Linker Flags
#---------------------------------------------------------------------
LDFLAGS = -s
ifdef WIN32
LDFLAGS += -mconsole -mno-cygwin
endif
#------------------------------------------------------------------------------
# Library
#------------------------------------------------------------------------------
LIBS =
ifdef WIN32
LIBS = -luser32 -lcomdlg32 -lshell32
endif
#------------------------------------------------------------------------------
# Rules to make libraries
#------------------------------------------------------------------------------
all: $(EXTRA_TARGETS)
$(FINAL_TARGET): $(OBJS)
@echo Linking $@...
$(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(OBJ)/zlib.a: \
$(OBJ)/zlib/adler32.o \
$(OBJ)/zlib/compress.o \
$(OBJ)/zlib/crc32.o \
$(OBJ)/zlib/deflate.o \
$(OBJ)/zlib/inflate.o \
$(OBJ)/zlib/inftrees.o \
$(OBJ)/zlib/inffast.o \
$(OBJ)/zlib/trees.o \
$(OBJ)/zlib/zutil.o
#------------------------------------------------------------------------------
# Rules to manage files
#------------------------------------------------------------------------------
$(OBJ)/%.o: src/%.c
@echo Compiling $<...
@$(CC) $(CDEFS) $(CFLAGS) -c $< -o$@
$(OBJ)/%.a:
@echo Archiving $@...
@$(AR) -r $@ $^
clean:
@$(RM) -rf $(OBJS)
maketree:
@$(MD) -p $(subst //,\,$(sort $(OBJDIRS)))

191
romcnv/makefile.mvs Normal file
View File

@ -0,0 +1,191 @@
#------------------------------------------------------------------------------
#
# romcnv_mvs.exe for Windows Makefile
#
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# Configration
#------------------------------------------------------------------------------
TARGET = romcnv_mvs
#------------------------------------------------------------------------------
# Defines
#------------------------------------------------------------------------------
VERSION_MAJOR = 2
VERSION_MINOR = 3
VERSION_BUILD = 0
EXENAME_STR = $(TARGET)
VERSION_STR = $(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_BUILD)
ifdef UNIX
FINAL_TARGET = $(TARGET)
else
WIN32 = 1
FINAL_TARGET = $(TARGET).exe
endif
EXTRA_TARGETS = maketree $(FINAL_TARGET)
OBJ = obj_mvs
#------------------------------------------------------------------------------
# Utilities
#------------------------------------------------------------------------------
AR = ar
CC = gcc
LD = gcc
ifdef WIN32
MD = mkdir.exe
RM = rm.exe
else
MD = mkdir
RM = rm
endif
#------------------------------------------------------------------------------
# File include path
#------------------------------------------------------------------------------
INCDIR = \
src \
src/mvs \
src/zlib
#------------------------------------------------------------------------------
# Object Directory
#------------------------------------------------------------------------------
OBJDIRS = \
$(OBJ) \
$(OBJ)/mvs \
$(OBJ)/zlib
#------------------------------------------------------------------------------
# Object Files
#------------------------------------------------------------------------------
OBJS = \
$(OBJ)/mvs/romcnv.o \
$(OBJ)/mvs/neocrypt.o \
$(OBJ)/common.o \
$(OBJ)/unzip.o \
$(OBJ)/zip.o \
$(OBJ)/zfile.o \
$(OBJ)/zlib.a
#------------------------------------------------------------------------------
# Compiler Flags
#------------------------------------------------------------------------------
CFLAGS = -O2
#------------------------------------------------------------------------------
# Compiler Defines
#------------------------------------------------------------------------------
ifdef WIN32
CDEFS = \
-DCRLF=3 \
-DWINVER=0x0400 \
-D_WIN32_WINNT=0x0500 \
-DWIN32 \
-D_WINDOWS \
-DINLINE='static __inline' \
-Dinline=__inline \
-D__inline__=__inline \
-DEXENAME_STR='"$(EXENAME_STR)"' \
-DVERSION_STR='"$(VERSION_STR)"' \
-DVERSION_MAJOR=$(VERSION_MAJOR) \
-DVERSION_MINOR=$(VERSION_MINOR) \
$(addprefix -I,$(INCDIR))
else
CDEFS = \
-DCRLF=3 \
-DINLINE='static __inline' \
-Dinline=__inline \
-D__inline__=__inline \
-DEXENAME_STR='"$(EXENAME_STR)"' \
-DVERSION_STR='"$(VERSION_STR)"' \
-DVERSION_MAJOR=$(VERSION_MAJOR) \
-DVERSION_MINOR=$(VERSION_MINOR) \
$(addprefix -I,$(INCDIR))
endif
ifdef UNIX
CDEFS += -DUNIX=1
endif
#---------------------------------------------------------------------
# Linker Flags
#---------------------------------------------------------------------
LDFLAGS = -s
ifdef WIN32
LDFLAGS += -mconsole -mno-cygwin
endif
#------------------------------------------------------------------------------
# Library
#------------------------------------------------------------------------------
LIBS =
ifdef WIN32
LIBS = -luser32 -lcomdlg32 -lshell32
endif
#------------------------------------------------------------------------------
# Rules to make libraries
#------------------------------------------------------------------------------
all: $(EXTRA_TARGETS)
$(FINAL_TARGET): $(OBJS)
@echo Linking $@...
$(LD) $(LDFLAGS) $(OBJS) $(LIBS) -o $@
$(OBJ)/zlib.a: \
$(OBJ)/zlib/adler32.o \
$(OBJ)/zlib/compress.o \
$(OBJ)/zlib/crc32.o \
$(OBJ)/zlib/deflate.o \
$(OBJ)/zlib/inflate.o \
$(OBJ)/zlib/inftrees.o \
$(OBJ)/zlib/inffast.o \
$(OBJ)/zlib/trees.o \
$(OBJ)/zlib/zutil.o
#------------------------------------------------------------------------------
# Rules to manage files
#------------------------------------------------------------------------------
$(OBJ)/%.o: src/%.c
@echo Compiling $<...
@$(CC) $(CDEFS) $(CFLAGS) -c $< -o$@
$(OBJ)/%.a:
@echo Archiving $@...
@$(AR) -r $@ $^
clean:
@$(RM) -rf $(OBJS)
maketree:
@$(MD) -p $(subst //,\,$(sort $(OBJDIRS)))

1
romcnv/mvsconv.bat Normal file
View File

@ -0,0 +1 @@
romcnv_mvs "%1"

1
romcnv/mvsconv_all.bat Normal file
View File

@ -0,0 +1 @@
romcnv_mvs -all

1
romcnv/mvsconv_slim.bat Normal file
View File

@ -0,0 +1 @@
romcnv_mvs -slim

View File

@ -0,0 +1 @@
romcnv_mvs -all -slim

157
romcnv/readme_cps2.txt Normal file
View File

@ -0,0 +1,157 @@
スプライトROM 変換ツール ver.2.2.0 (CPS2PSP用)
かなり手抜きですが、変換ツールです。
---------------------------------------------------------------------------
無圧縮キャッシュをまとめて作成する場合
1.cps2conv_all.batをダブルクリックして起動してください。
2.フォルダ選択ダイアログが表示されるので、ROMのフォルダを選択してください。
3.変換作業を開始します。
ファイルが見つからなかい場合はスキップしますので、終わるまで待ちましょう。
4.cacheフォルダ内に ゲーム名.cacheというファイルが作成されますので、
/PSP/GAMES/cps2psp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/cps2psp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
無圧縮キャッシュをゲームを指定して作成する場合
1.cps2conv.batをダブルクリックして起動してください。
2.ファイル選択ダイアログが表示されるので、変換したいゲームのzipファイルを
選択してください。
3.変換作業を開始します。
なお、クローンセットの場合は、親ROMセットも同じフォルダ内にある必要が
あります。
4.cacheフォルダ内に ゲーム名.cacheというファイルが作成されますので、
/PSP/GAMES/cps2psp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/cps2psp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
上記がうまくいかない場合
1.cps2conv.batに変換したいゲームのzipファイルをドラッグドロップして
ください。
2.変換作業を開始します。
なお、クローンセットの場合は、親ROMセットも同じフォルダ内にある必要が
あります。
3.cacheフォルダ内に ゲーム名.cache(cps2conv.batの場合)というファイルが作成
されますので、
/PSP/GAMES/cps2psp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/cps2psp/romsにコピーしてください。
4.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
romcnv_cps2.exeのコマンドライン引数について
·引数の順番は問いません。
·パスを渡す場合は、フルパスで指定してください。ダブルコーテーションで
前後を挟んだほうが良いです。
-all: 起動後にダイアログで指定したフォルダにあるファイルで、対応するゲーム
を全て変換します。指定されたパスは無視します。
-zip: ZIP圧縮キャッシュを作成します。
-batch: バッチ処理用のオプションです。変換後に一時停止しなくなります。
記述例) avspとqndreamはZIP圧縮し、mvscとvsavは無圧縮で変換。
vsavが終わるまで一時停止しない。
romcnv_cps2.exe "D:\roms\avsp.zip" -zip -batch
romcnv_cps2.exe "D:\roms\qndream.zip" -zip -batch
romcnv_cps2.exe "D:\roms\mvsc.zip" -batch
romcnv_cps2.exe "D:\roms\vsav.zip"
---------------------------------------------------------------------------
Linux等で使用する場合
---------------------
ver.2.0.6よりLinux等でも一応変換できるようにしました。
環境に依存するため、バイナリでの提供はありません。
ソースコードを適当なディレクトリに展開し、
make -f makefile.cps2 UNIX=1
とすることで、Unix系OS用のバイナリを作成します。
使用方法は基本的にWindows版と同じですが、ダイアログでの指定は出来ないので、
コマンドラインで引数を指定する必要があります。
以下にLinuxのbash上で使用する例を書いておきます。
例) /home/username/romcnv/roms内のssf2.zipを変換する場合。
./romcnv_cps2 /home/username/romcnv/roms/ssf2.zip
例) /home/username/romcnv/roms内のssf2.zipをzip圧縮変換する場合。
./romcnv_cps2 /home/username/romcnv/roms/ssf2.zip -zip
例) /home/username/romcnv/roms内の全てのromを変換する場合。
./romcnv_cps2 /home/username/romcnv/roms -all
例) /home/username/romcnv/roms内の全てのromをzip圧縮変換する場合。
./romcnv_cps2 /home/username/romcnv/roms -all -zip
romのディレクトリがromcnv_mvs本体より下の階層にある場合は以下のようにして
指定することも可能です。
romcnv_cps2は /home/username/romcnv-2.0.6にあるとする。
例) /home/username/romcnv-2.0.6/roms内のssf2.zipを変換する場合。
./romcnv_cps2 ./roms/ssf2.zip
例) /home/username/romcnv-2.0.6/roms内の全てのromを変換する場合。
./romcnv_cps2 ./roms -all
---------------------------------------------------------------------------
更新履歴
- ver.2.2.0 -
·rominfo.cps2のフォーマットを変更。
·キャッシュファイル自体には変更はありませんが、エミュレータのバージョン
更新に伴い、キャッシュファイルのバージョンもV22に更新されているため、
再度変換が必要です。
- ver.2.0.6 (3) -
·メモリに全て読み込めるゲームは常にzip圧縮を行うよう変更。
·rominfo.cps2を少し修正。
- ver.2.0.6 (2) -
·ドラッグ&ドロップで変換できなくなっていた不具合の修正。
- ver.2.0.6 -
·フォーラム等で動作しないという報告が目に付いたので、作り直してみました。
·ついでにMAME 0.112u2で追加されたゲームに対応。
·Linux等のUNIX系OSのコンソールで動作するバイナリをコンパイルできるように
しました。
- ver.2.0 -
·バージョン表記を本体に合わせました。
·zip圧縮は非推奨なので説明を除去。
·zip圧縮キャッシュにもバージョン情報を埋め込むように変更。
·mpangとmpangjを分離。
ごくわずかにデータが異なりますが、おそらく日本語版がBAD DUMPかROMを焼く時に
ミスったかのどちらかだと思われます。(日本語版は一部にスプライトの欠けあり)

191
romcnv/readme_mvs.txt Normal file
View File

@ -0,0 +1,191 @@
スプライトROM 変換ツール ver.2.3.0 (MVSPSP用)
かなり手抜きですが、変換ツールです。
---------------------------------------------------------------------------
無圧縮キャッシュをまとめて作成する場合PSP-2000の場合) (推奨)
1.mvsconv_slim_all.batをダブルクリックして起動してください。
2.フォルダ選択ダイアログが表示されるので、ROMのフォルダを選択してください。
3.変換作業を開始します。
ファイルが見つからなかい場合はスキップしますので、終わるまで待ちましょう。
4.cacheフォルダ内に ゲーム名_cacheというフォルダが作成されますので、
/PSP/GAMES/mvspsp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/mvspsp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
無圧縮キャッシュをゲームを指定して作成する場合 (PSP-2000の場合)
1.mvsconv_slim.batをダブルクリックして起動してください。
2.ファイル選択ダイアログが表示されるので、変換したいゲームのzipファイルを
選択してください。
3.変換作業を開始します。
なお、クローンセットの場合は、親ROMセットも同じフォルダ内にある必要が
あります。
4.cacheフォルダ内に ゲーム名_cacheというフォルダが作成されますので、
/PSP/GAMES/mvspsp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/mvspsp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
無圧縮キャッシュをまとめて作成する場合 (推奨)
1.mvsconv_all.batをダブルクリックして起動してください。
2.フォルダ選択ダイアログが表示されるので、ROMのフォルダを選択してください。
3.変換作業を開始します。
ファイルが見つからなかい場合はスキップしますので、終わるまで待ちましょう。
4.cacheフォルダ内に ゲーム名_cacheというフォルダが作成されますので、
/PSP/GAMES/mvspsp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/mvspsp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
無圧縮キャッシュをゲームを指定して作成する場合
1.mvsconv.batをダブルクリックして起動してください。
2.ファイル選択ダイアログが表示されるので、変換したいゲームのzipファイルを
選択してください。
3.変換作業を開始します。
なお、クローンセットの場合は、親ROMセットも同じフォルダ内にある必要が
あります。
4.cacheフォルダ内に ゲーム名_cacheというフォルダが作成されますので、
/PSP/GAMES/mvspsp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/mvspsp/romsにコピーしてください。
5.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
上記がうまくいかない場合
1.mvsconv.batに変換したいゲームのzipファイルをドラッグドロップして
ください。
2.変換作業を開始します。
なお、クローンセットの場合は、親ROMセットも同じフォルダ内にある必要が
あります。
3.cacheフォルダ内に ゲーム名_cachというフォルダが作成されますので、
/PSP/GAMES/mvspsp/cache ディレクトリにコピーしてください。
元のROMファイルも/PSP/GAMES/mvspsp/romsにコピーしてください。
4.ゲームを実行すれば、多分動作します。
---------------------------------------------------------------------------
romcnv_mvs.exeのコマンドライン引数について
·引数の順番は問いません。
·パスを渡す場合は、フルパスで指定してください。ダブルコーテーションで
前後を挟んだほうが良いです。
-all: 起動後にダイアログで指定したフォルダにあるファイルで、対応するゲーム
を全て変換します。指定されたパスは無視します。
-batch: バッチ処理用のオプションです。変換後に一時停止しなくなります。
-slim: 新型PSP(PSP-2000)用。暗号化されていない場合はPCMサウンド用の
キャッシュを作成しません。
記述例) garouとkof2002とkof2003を変換。
kof2003が終わるまで一時停止しない。
romcnv_mvs.exe "D:\roms\garou.zip" -batch
romcnv_mvs.exe "D:\roms\kof2002.zip" -batch
romcnv_mvs.exe "D:\roms\kof2003.zip"
---------------------------------------------------------------------------
Linux等で使用する場合
---------------------
ver.2.0.6よりLinux等でも一応変換できるようにしました。
環境に依存するため、バイナリでの提供はありません。
ソースコードを適当なディレクトリに展開し、
make -f makefile.mvs UNIX=1
とすることで、Unix系OS用のバイナリを作成します。
使用方法は基本的にWindows版と同じですが、ダイアログでの指定は出来ないので、
コマンドラインで引数を指定する必要があります。
以下にLinuxのbash上で使用する例を書いておきます。
例) /home/username/roms内のkof99.zipを変換する場合。
./romcnv_mvs /home/username/roms/kof99.zip
例) /home/username/roms内の全てのromを変換する場合。
./romcnv_mvs /home/username/roms -all
romのディレクトリがromcnv_mvs本体より下の階層にある場合は以下のようにして
指定することも可能です。
romcnv_mvsは /home/username/romcnv-2.0.6にあるとする。
例) /home/username/romcnv-2.0.6/roms内のkof99.zipを変換する場合。
./romcnv_mvs ./roms/kof99.zip
例) /home/username/romcnv-2.0.6/roms内の全てのromを変換する場合。
./romcnv_mvs ./roms -all
---------------------------------------------------------------------------
更新履歴
- ver.2.3.0 -
·フラグの変更により更新。
- ver.2.2.2 -
·PSP-2000ではPCMキャッシュを使用しないため、暗号化されたサウンドROM以外は
キャッシュファイルを作成しないように変更。-slimオプションをつけて実行
してください。
- ver.2.2.0 -
·キャッシュファイル自体には変更はありませんが、エミュレータのバージョン
更新に伴い、キャッシュファイルのバージョンもV22に更新されているため、
再度変換が必要です。
·rominfo.mvsの形式の変更に伴い、処理を変更。
·使用するメモリが16MB以下のゲームはキャッシュを作成しないように変更。
·-allオプションの処理を変更。ROMセットの親子関係を考慮して不要なキャッシュ
ファイルを作成しないようにしました。これにより、全てのゲームのキャッシュを
作成した場合のファイルサイズの合計が、7.8GB程度から3.9GB程度に減少しました。
※-allオプションを指定しない場合は従来と同じく必要なキャッシュファイルを
全て作成します。
- ver.2.0.6 -
·フォーラム等で動作しないという報告が目に付いたので、作り直してみました。
·ついでにMAME 0.112u2で追加/変更されたゲームに対応。
·bootleg setのキャッシュファイルも作成できるように変更。
·romcnv_cps2.exeと同様に-allで全ゲームの一括変換に対応。
·C/S/V rom以外はエミュレータ本体で復号処理を行うように変更。
構造自体は変更していないので、ver.2.0のキャシュはMVSPSP ver.2.0.6でも使用
できますが、ver.2.0.6のキャッシュはMVSPSP ver.2.0以前ではファイルが足りなく
なるため使用できないので注意してください。
·Linux等のUNIX系OSのコンソールで動作するバイナリをコンパイルできるようにしました。
- ver.2.0 -
·バージョン表記を本体に合わせました。
·キャッシュにバージョン情報を埋め込むように変更。

BIN
romcnv/romcnv.zip Normal file

Binary file not shown.

BIN
romcnv/romcnv_cps2.exe Normal file

Binary file not shown.

BIN
romcnv/romcnv_mvs.exe Normal file

Binary file not shown.

6734
romcnv/rominfo.cps2 Normal file

File diff suppressed because it is too large Load Diff

6461
romcnv/rominfo.mvs Normal file

File diff suppressed because it is too large Load Diff

54
romcnv/source.txt Normal file
View File

@ -0,0 +1,54 @@
Windowsで使用する場合
---------------------
GCC及びWindowsでコンパイル可能です。
makefileを作成すれば、VCでもコンパイルできます。
CPS2PSP用を作成する場合
make -f makefile.cps2
MVSPSP用を作成する場合
make -f makefile.mvs
でコンパイルを開始します。
---------------------------------------------------------------------------
Linux等で使用する場合
---------------------
ver.2.0.6よりLinux等でも一応変換できるようにしました。
環境に依存するため、バイナリでの提供はありません。
ソースコードを適当なディレクトリに展開し、
CPS2PSP用を作成する場合
make -f makefile.cps2 UNIX=1
MVSPSP用を作成する場合
make -f makefile.mvs UNIX=1
とすることで、Unix系OS用のバイナリを作成します。
使用方法は基本的にWindows版と同じですが、ダイアログでの指定は出来ないので、
コマンドラインで引数を指定する必要があります。
以下にLinuxのbash上で使用する例を書いておきます。
例) /home/username/romcnv/roms内のssf2.zipを変換する場合。
./romcnv_cps2 /home/username/romcnv/roms/ssf2.zip
例) /home/username/romcnv/roms内のssf2.zipをzip圧縮変換する場合。
./romcnv_cps2 /home/username/romcnv/roms/ssf2.zip -zip
例) /home/username/romcnv/roms内の全てのromを変換する場合。
./romcnv_cps2 /home/username/romcnv/roms -all

393
romcnv/src/common.c Normal file
View File

@ -0,0 +1,393 @@
/*****************************************************************************
common.c
******************************************************************************/
#include "common.h"
enum
{
ROM_LOAD = 0,
ROM_CONTINUE,
ROM_WORDSWAP,
MAP_MAX
};
/******************************************************************************
******************************************************************************/
int lsb_first;
int rom_fd;
char delimiter = '/';
char game_dir[MAX_PATH];
char zip_dir[MAX_PATH];
char launchDir[MAX_PATH];
char game_name[16];
char parent_name[16];
char cache_name[16];
/******************************************************************************
ROMロード処理
******************************************************************************/
/*--------------------------------------------------------
--------------------------------------------------------*/
void error_memory(const char *mem_name)
{
zip_close();
printf("ERROR: Could not allocate %s memory.\n", mem_name);
}
void error_file(const char *rom_name)
{
zip_close();
printf("ERROR: File not found. \"%s\"\n", rom_name);
}
void error_crc(const char *rom_name)
{
zip_close();
printf("ERROR: CRC32 not correct. \"%s\"\n", rom_name);
}
/*--------------------------------------------------------
ROMファイルを閉じる
--------------------------------------------------------*/
void file_close(void)
{
if (rom_fd != -1)
{
zclose(rom_fd);
zip_close();
rom_fd = -1;
}
}
/*--------------------------------------------------------
ROMファイルを開く
--------------------------------------------------------*/
int file_open(const char *fname1, const char *fname2, const UINT32 crc, char *fname)
{
int found = 0, res = -1;
struct zip_find_t file;
char path[MAX_PATH];
file_close();
sprintf(path, "%s%c%s.zip", zip_dir, delimiter, fname1);
if (zip_open(path, "rb") != -1)
{
if (zip_findfirst(&file))
{
if (file.crc32 == crc)
{
found = 1;
}
else
{
while (zip_findnext(&file))
{
if (file.crc32 == crc)
{
found = 1;
break;
}
}
}
}
if (!found)
{
if ((rom_fd = zopen(fname)) != -1)
{
file_close();
res = -2;
}
zip_close();
}
}
if (!found && fname2 != NULL)
{
sprintf(path, "%s%c%s.zip", zip_dir, delimiter, fname2);
if (zip_open(path, "rb") != -1)
{
if (zip_findfirst(&file))
{
if (file.crc32 == crc)
{
found = 2;
}
else
{
while (zip_findnext(&file))
{
if (file.crc32 == crc)
{
found = 2;
break;
}
}
}
}
if (!found)
{
if ((rom_fd = zopen(fname)) != -1)
{
file_close();
res = -2;
}
zip_close();
}
}
}
if (found)
{
if (fname) strcpy(fname, file.name);
rom_fd = zopen(file.name);
return rom_fd;
}
return res;
}
/*--------------------------------------------------------
ROMファイルを指定バイト読み込む
--------------------------------------------------------*/
int file_read(void *buf, size_t length)
{
if (rom_fd != -1)
return zread(rom_fd, buf, length);
return -1;
}
/*--------------------------------------------------------
ROMファイルを1バイト読み込む
--------------------------------------------------------*/
int file_getc(void)
{
if (rom_fd != -1)
return zgetc(rom_fd);
return -1;
}
/*--------------------------------------------------------
ROMを指定メモリエリアに読み込む
--------------------------------------------------------*/
int rom_load(struct rom_t *rom, UINT8 *mem, int idx, int max)
{
int offset, length;
_continue:
offset = rom[idx].offset;
if (rom[idx].skip == 0)
{
file_read(&mem[offset], rom[idx].length);
if (rom[idx].type == ROM_WORDSWAP)
swab(&mem[offset], &mem[offset], rom[idx].length);
}
else
{
int c;
int skip = rom[idx].skip + rom[idx].group;
length = 0;
if (rom[idx].group == 1)
{
if (rom[idx].type == ROM_WORDSWAP)
offset ^= 1;
while (length < rom[idx].length)
{
if ((c = file_getc()) == EOF) break;
mem[offset] = c;
offset += skip;
length++;
}
}
else
{
while (length < rom[idx].length)
{
if ((c = file_getc()) == EOF) break;
mem[offset + 0] = c;
if ((c = file_getc()) == EOF) break;
mem[offset + 1] = c;
offset += skip;
length += 2;
}
}
}
if (++idx != max)
{
if (rom[idx].type == ROM_CONTINUE)
{
goto _continue;
}
}
return idx;
}
/******************************************************************************
******************************************************************************/
/*--------------------------------------------------------
--------------------------------------------------------*/
int str_cmp(const char *s1, const char *s2)
{
return strncasecmp(s1, s2, strlen(s2));
}
/*--------------------------------------------------------
--------------------------------------------------------*/
void check_byte_order(void)
{
INT32 temp = 0x12345678;
char *p = (char *)&temp;
if (*p == 0x78)
lsb_first = 1;
else
lsb_first = 0;
}
/******************************************************************************
Windows用関数
******************************************************************************/
#ifdef WIN32
int is_win9x = 0;
/*--------------------------------------------------------
Windowsのバージョンチェック
--------------------------------------------------------*/
void check_windows_version(void)
{
OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
GetVersionEx(&osvi);
if (osvi.dwMajorVersion == 4)
{
is_win9x = 1;
delimiter = '\\';
}
}
/*--------------------------------------------------------
--------------------------------------------------------*/
int file_dialog(HWND hwnd, LPCSTR filter, char *fname, UINT32 flags)
{
OPENFILENAME OFN;
memset(&OFN, 0, sizeof(OPENFILENAME));
OFN.lStructSize = sizeof(OPENFILENAME);
OFN.hwndOwner = hwnd;
OFN.lpstrFilter = filter;
OFN.lpstrFile = fname;
OFN.nMaxFile = MAX_PATH*2;
OFN.Flags = flags;
OFN.lpstrTitle = "Select zipped ROM file.";
return GetOpenFileName(&OFN);
}
/*--------------------------------------------------------
--------------------------------------------------------*/
int folder_dialog(HWND hwnd, char *path)
{
BROWSEINFO BINFO;
LPITEMIDLIST pidl;
LPMALLOC pMalloc;
int res = 0;
if (SUCCEEDED(SHGetMalloc(&pMalloc)))
{
memset(&BINFO, 0, sizeof(BINFO));
BINFO.hwndOwner = hwnd;
BINFO.lpszTitle = "Select ROM folder";
BINFO.ulFlags = BIF_RETURNONLYFSDIRS;
pidl = SHBrowseForFolder(&BINFO);
if (pidl)
{
res = SHGetPathFromIDList(pidl, path);
IMalloc_Free(pMalloc, pidl);
}
IMalloc_Release(pMalloc);
}
return res;
}
/*--------------------------------------------------------
--------------------------------------------------------*/
#define issjis1(c) (((c) >= 0x81 && (c) <= 0x9f) | ((c) >= 0xe0 && (c) <= 0xfc))
void convert_delimiter(char *path)
{
if (!is_win9x)
{
char *p = path;
int i, len = strlen(path);
for (i = 0; i < len; i++)
{
if (*p == '\\')
{
if (i == 0 || !issjis1(*(UINT8 *)(p - 1)))
*p = '/';
}
p++;
}
}
}
#endif /* WIN32 */

95
romcnv/src/common.h Normal file
View File

@ -0,0 +1,95 @@
/*****************************************************************************
common.c
******************************************************************************/
#ifndef COMMON_H
#define COMMON_H
typedef unsigned char UINT8;
typedef unsigned short UINT16;
typedef unsigned int UINT32;
typedef char INT8;
typedef short INT16;
typedef int INT32;
__extension__ typedef unsigned long long UINT64;
__extension__ typedef signed long long INT64;
#ifdef WIN32
#define COBJMACROS
#include <windows.h>
#include <shlobj.h>
#include <conio.h>
#endif
#include <stdio.h>
#include <string.h>
#include <dirent.h>
#include <malloc.h>
#include "zlib/zlib.h"
#include "zfile.h"
#ifndef MAX_PATH
#define MAX_PATH 512
#endif
#ifdef WIN32
#define DELIMITER '\\'
#else
#define DELIMITER '/'
#endif
struct rom_t
{
UINT32 type;
UINT32 offset;
UINT32 length;
UINT32 crc;
int group;
int skip;
char name[32];
};
extern int lsb_first;
extern int rom_fd;
extern char delimiter;
extern char game_dir[MAX_PATH];
extern char zip_dir[MAX_PATH];
extern char launchDir[MAX_PATH];
extern char game_name[16];
extern char parent_name[16];
extern char cache_name[16];
void error_memory(const char *mem_name);
void error_file(const char *rom_name);
void error_rom(const char *rom_name);
int file_open(const char *fname1, const char *fname2, const UINT32 crc, char *fname);
void file_close(void);
int file_read(void *buf, size_t length);
int file_getc(void);
int rom_load(struct rom_t *rom, UINT8 *mem, int idx, int max);
int str_cmp(const char *s1, const char *s2);
void check_byte_order(void);
/*--------------------------------------------------------
Windowsp
--------------------------------------------------------*/
#ifdef WIN32
extern int is_win9x;
void check_windows_version(void);
int file_dialog(HWND hwnd, LPCSTR filter, char *fname, UINT32 flags);
int folder_dialog(HWND hwnd, char *path);
void convert_delimiter(char *path);
#endif
#endif /* COMMON_H */

1313
romcnv/src/cps2/romcnv.c Normal file

File diff suppressed because it is too large Load Diff

6
romcnv/src/cps2/romcnv.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef ROMCNV_H
#define ROMCNV_H
#include "common.h"
#endif /* ROMCNV_H */

1203
romcnv/src/mvs/neocrypt.c Normal file

File diff suppressed because it is too large Load Diff

314
romcnv/src/mvs/neogeo.h Normal file
View File

@ -0,0 +1,314 @@
/*************************************************************************
SNK NeoGeo hardware
*************************************************************************/
#define FLAG_BRAZ 0x1000
#define FLAG_PCB 0x2000
/* Neo Geo games */
/* the four digits number is the game ID stored at address 0x0108 of the program ROM */
/* info on prototypes taken from http://www.members.tripod.com/fresa/proto/puzzle.htm */
#define NGH_nam1975 0x0001 // 0001 (c) 1990 SNK
#define NGH_bstars 0x0002 // 0002 (c) 1990 SNK
#define NGH_tpgolf 0x0003 // 0003 (c) 1990 SNK
#define NGH_mahretsu 0x0004 // 0004 (c) 1990 SNK
#define NGH_maglord 0x0005 // 0005 (c) 1990 Alpha Denshi Co.
#define NGH_ridhero 0x0006 // 0006 (c) 1990 SNK
#define NGH_alpham2 0x0007 // 0007 (c) 1991 SNK
// 0008 Sunshine (prototype) 1990 SNK
#define NGH_ncombat 0x0009 // 0009 (c) 1990 Alpha Denshi Co.
#define NGH_cyberlip 0x0010 // 0010 (c) 1990 SNK
#define NGH_superspy 0x0011 // 0011 (c) 1990 SNK
// 0012
// 0013
#define NGH_mutnat 0x00014 // 0014 (c) 1992 SNK
// 0015
#define NGH_kotm 0x0016 // 0016 (c) 1991 SNK
#define NGH_sengoku 0x0017 // 0017 (c) 1991 SNK
#define NGH_burningf 0x0018 // 0018 (c) 1991 SNK
#define NGH_lbowling 0x0019 // 0019 (c) 1990 SNK
#define NGH_gpilots 0x0020 // 0020 (c) 1991 SNK
#define NGH_joyjoy 0x0021 // 0021 (c) 1990 SNK
#define NGH_bjourney 0x0022 // 0022 (c) 1990 Alpha Denshi Co.
#define NGH_quizdais 0x0023 // 0023 (c) 1991 SNK
#define NGH_lresort 0x0024 // 0024 (c) 1992 SNK
#define NGH_eightman 0x0025 // 0025 (c) 1991 SNK / Pallas
// 0026 Fun Fun Brothers (prototype) 1991 Alpha
#define NGH_minasan 0x0027 // 0027 (c) 1990 Monolith Corp.
// 0028 Dunk Star (prototype) Sammy
#define NGH_legendos 0x0029 // 0029 (c) 1991 SNK
#define NGH_2020bb 0x0030 // 0030 (c) 1991 SNK / Pallas
#define NGH_socbrawl 0x0031 // 0031 (c) 1991 SNK
#define NGH_roboarmy 0x0032 // 0032 (c) 1991 SNK
#define NGH_fatfury1 0x0033 // 0033 (c) 1991 SNK
#define NGH_fbfrenzy 0x0034 // 0034 (c) 1992 SNK
// 0035 Mystic Wand (prototype) 1991 Alpha
#define NGH_bakatono 0x0036 // 0036 (c) 1991 Monolith Corp.
#define NGH_crsword 0x0037 // 0037 (c) 1991 Alpha Denshi Co.
#define NGH_trally 0x0038 // 0038 (c) 1991 Alpha Denshi Co.
#define NGH_kotm2 0x0039 // 0039 (c) 1992 SNK
#define NGH_sengoku2 0x0040 // 0040 (c) 1993 SNK
#define NGH_bstars2 0x0041 // 0041 (c) 1992 SNK
#define NGH_quizdai2 0x0042 // 0042 (c) 1992 SNK
#define NGH_3countb 0x0043 // 0043 (c) 1993 SNK
#define NGH_aof 0x0044 // 0044 (c) 1992 SNK
#define NGH_samsho 0x0045 // 0045 (c) 1993 SNK
#define NGH_tophuntr 0x0046 // 0046 (c) 1994 SNK
#define NGH_fatfury2 0x0047 // 0047 (c) 1992 SNK
#define NGH_janshin 0x0048 // 0048 (c) 1994 Aicom
#define NGH_androdun 0x0049 // 0049 (c) 1992 Visco
#define NGH_ncommand 0x0050 // 0050 (c) 1992 Alpha Denshi Co.
#define NGH_viewpoin 0x0051 // 0051 (c) 1992 Sammy
#define NGH_ssideki 0x0052 // 0052 (c) 1992 SNK
#define NGH_wh1 0x0053 // 0053 (c) 1992 Alpha Denshi Co.
// 0054 Crossed Swords 2 (CD only? not confirmed, MVS might exist)
#define NGH_kof94 0x0055 // 0055 (c) 1994 SNK
#define NGH_aof2 0x0056 // 0056 (c) 1994 SNK
#define NGH_wh2 0x0057 // 0057 (c) 1993 ADK
#define NGH_fatfursp 0x0058 // 0058 (c) 1993 SNK
#define NGH_savagere 0x0059 // 0059 (c) 1995 SNK
#define NGH_fightfev 0x0060 // 0060 (c) 1994 Viccom
#define NGH_ssideki2 0x0061 // 0061 (c) 1994 SNK
#define NGH_spinmast 0x0062 // 0062 (c) 1993 Data East Corporation
#define NGH_samsho2 0x0063 // 0063 (c) 1994 SNK
#define NGH_wh2j 0x0064 // 0064 (c) 1994 ADK / SNK
#define NGH_wjammers 0x0065 // 0065 (c) 1994 Data East Corporation
#define NGH_karnovr 0x0066 // 0066 (c) 1994 Data East Corporation
#define NGH_gururin 0x0067 // 0067 (c) 1994 Face
#define NGH_pspikes2 0x0068 // 0068 (c) 1994 Video System Co.
#define NGH_fatfury3 0x0069 // 0069 (c) 1995 SNK
#define NGH_zupapa 0x0070 // 0070 Zupapa - released in 2001, 1994 prototype probably exists
// 0071 Bang Bang Busters (prototype) 1994 Visco
// 0072 Last Odyssey Pinball Fantasia (prototype) 1995 Monolith
#define NGH_panicbom 0x0073 // 0073 (c) 1994 Eighting / Hudson
#define NGH_aodk 0x0074 // 0074 (c) 1994 ADK / SNK
#define NGH_sonicwi2 0x0075 // 0075 (c) 1994 Video System Co.
#define NGH_zedblade 0x0076 // 0076 (c) 1994 NMK
// 0077 The Warlocks of the Fates (prototype) 1995 Astec
#define NGH_galaxyfg 0x0078 // 0078 (c) 1995 Sunsoft
#define NGH_strhoop 0x0079 // 0079 (c) 1994 Data East Corporation
#define NGH_quizkof 0x0080 // 0080 (c) 1995 Saurus
#define NGH_ssideki3 0x0081 // 0081 (c) 1995 SNK
#define NGH_doubledr 0x0082 // 0082 (c) 1995 Technos
#define NGH_pbobblen 0x0083 // 0083 (c) 1994 Taito
#define NGH_kof95 0x0084 // 0084 (c) 1995 SNK
// 0085 Shinsetsu Samurai Spirits Bushidoretsuden / Samurai Shodown RPG (CD only)
#define NGH_tws96 0x0086 // 0086 (c) 1996 Tecmo
#define NGH_samsho3 0x0087 // 0087 (c) 1995 SNK
#define NGH_stakwin 0x0088 // 0088 (c) 1995 Saurus
#define NGH_pulstar 0x0089 // 0089 (c) 1995 Aicom
#define NGH_whp 0x0090 // 0090 (c) 1995 ADK / SNK
// 0091
#define NGH_kabukikl 0x0092 // 0092 (c) 1995 Hudson
#define NGH_neobombe 0x0093 // 0093 (c) 1997 Hudson
#define NGH_gowcaizr 0x0094 // 0094 (c) 1995 Technos
#define NGH_rbff1 0x0095 // 0095 (c) 1995 SNK
#define NGH_aof3 0x0096 // 0096 (c) 1996 SNK
#define NGH_sonicwi3 0x0097 // 0097 (c) 1995 Video System Co.
// 0098 Idol Mahjong - final romance 2 (CD only? not confirmed, MVS might exist)
// 0099 Neo Pool Masters
#define NGH_turfmast 0x0200 // 0200 (c) 1996 Nazca
#define NGH_mslug 0x0201 // 0201 (c) 1996 Nazca
#define NGH_puzzledp 0x0202 // 0202 (c) 1995 Taito (Visco license)
#define NGH_mosyougi 0x0203 // 0203 (c) 1995 ADK / SNK
// 0204 QP (prototype)
// 0205 Neo-Geo CD Special (CD only)
#define NGH_marukodq 0x0206 // 0206 (c) 1995 Takara
#define NGH_neomrdo 0x0207 // 0207 (c) 1996 Visco
#define NGH_sdodgeb 0x0208 // 0208 (c) 1996 Technos
#define NGH_goalx3 0x0209 // 0209 (c) 1995 Visco
// 0210 Karate Ninja Sho (prototype) 1995 Yumekobo
// 0211 Oshidashi Zintrick (CD only? not confirmed, MVS might exist) 1996 SNK/ADK
#define NGH_overtop 0x0212 // 0212 (c) 1996 ADK
#define NGH_neodrift 0x0213 // 0213 (c) 1996 Visco
#define NGH_kof96 0x0214 // 0214 (c) 1996 SNK
#define NGH_ssideki4 0x0215 // 0215 (c) 1996 SNK
#define NGH_kizuna 0x0216 // 0216 (c) 1996 SNK
#define NGH_ninjamas 0x0217 // 0217 (c) 1996 ADK / SNK
#define NGH_ragnagrd 0x0218 // 0218 (c) 1996 Saurus
#define NGH_pgoal 0x0219 // 0219 (c) 1996 Saurus
// 0220 Choutetsu Brikin'ger - iron clad (MVS existance seems to have been confirmed)
#define NGH_magdrop2 0x0221 // 0221 (c) 1996 Data East Corporation
#define NGH_samsho4 0x0222 // 0222 (c) 1996 SNK
#define NGH_rbffspec 0x0223 // 0223 (c) 1996 SNK
#define NGH_twinspri 0x0224 // 0224 (c) 1996 ADK
#define NGH_wakuwak7 0x0225 // 0225 (c) 1996 Sunsoft
// 0226 Pair Pair Wars (prototype) 1996 Sunsoft?
#define NGH_stakwin2 0x0227 // 0227 (c) 1996 Saurus
#define NGH_ghostlop 0x0228 // 0228 GhostLop (prototype) 1996? Data East
// 0229 King of Fighters '96 CD Collection (CD only)
#define NGH_breakers 0x0230 // 0230 (c) 1996 Visco
#define NGH_miexchng 0x0231 // 0231 (c) 1997 Face
#define NGH_kof97 0x0232 // 0232 (c) 1997 SNK
#define NGH_magdrop3 0x0233 // 0233 (c) 1997 Data East Corporation
#define NGH_lastblad 0x0234 // 0234 (c) 1997 SNK
#define NGH_puzzldpr 0x0235 // 0235 (c) 1997 Taito (Visco license)
#define NGH_irrmaze 0x0236 // 0236 (c) 1997 SNK / Saurus
#define NGH_popbounc 0x0237 // 0237 (c) 1997 Video System Co.
#define NGH_shocktro 0x0238 // 0238 (c) 1997 Saurus
#define NGH_blazstar 0x0239 // 0239 (c) 1998 Yumekobo
#define NGH_rbff2 0x0240 // 0240 (c) 1998 SNK
#define NGH_mslug2 0x0241 // 0241 (c) 1998 SNK
#define NGH_kof98 0x0242 // 0242 (c) 1998 SNK
#define NGH_lastbld2 0x0243 // 0243 (c) 1998 SNK
#define NGH_neocup98 0x0244 // 0244 (c) 1998 SNK
#define NGH_breakrev 0x0245 // 0245 (c) 1998 Visco
#define NGH_shocktr2 0x0246 // 0246 (c) 1998 Saurus
#define NGH_flipshot 0x0247 // 0247 (c) 1998 Visco
#define NGH_pbobbl2n 0x0248 // 0248 (c) 1999 Taito (SNK license)
#define NGH_ctomaday 0x0249 // 0249 (c) 1999 Visco
#define NGH_mslugx 0x0250 // 0250 (c) 1999 SNK
#define NGH_kof99 0x0251 // 0251 (c) 1999 SNK
#define NGH_ganryu 0x0252 // 0252 (c) 1999 Visco
#define NGH_garou 0x0253 // 0253 (c) 1999 SNK
#define NGH_s1945p 0x0254 // 0254 (c) 1999 Psikyo
#define NGH_preisle2 0x0255 // 0255 (c) 1999 Yumekobo
#define NGH_mslug3 0x0256 // 0256 (c) 2000 SNK
#define NGH_kof2000 0x0257 // 0257 (c) 2000 SNK
// 0258 SNK vs. Capcom? (prototype)
#define NGH_bangbead 0x0259 // 0259 (c) 2000 Visco
#define NGH_nitd 0x0260 // 0260 (c) 2000 Eleven / Gavaking
#define NGH_sengoku3 0x0261 // 0261 (c) 2001 SNK
#define NGH_kof2001 0x0262 // 0262 (c) 2001 Eolith / SNK
#define NGH_mslug4 0x0263 // 0263 (c) 2002 Mega Enterprise
#define NGH_rotd 0x0264 // 0264 (c) 2002 Evoga
#define NGH_kof2002 0x0265 // 0265 (c) 2002 Eolith / Playmore
#define NGH_matrim 0x0266 // 0266 (c) 2002 Atlus
#define NGH_pnyaa 0x0267 // 0267 (c) 2003 Aiky / Taito
#define NGH_mslug5 0x0268 // 0268 (c) 2003 Playmore
#define NGH_svc 0x0269 // 0269 (c) 2003 Playmore / Capcom
#define NGH_samsho5 0x0270 // 0270 (c) 2003 Playmore
#define NGH_kof2003 0x0271 // 0271 (c) 2003 Playmore/
#define NGH_samsh5sp 0x0272 // 0272 (c) 2003 Playmore
// The BrezzaSoft games don't have proper ID codes
#define NGH_vliner (0x0000 | FLAG_BRAZ)
#define NGH_vlinero (0x0000 | FLAG_BRAZ)
#define NGH_jockeygp (0x0001 | FLAG_BRAZ)
// JAMMA PCB
#define NGH_ms5pcb (0x0268 | FLAG_PCB) // 0268 (c) 2003 Playmore - JAMMA PCB
#define NGH_svcpcb (0x0269 | FLAG_PCB) // 0269 (c) 2003 Playmore / Capcom - JAMMA PCB
#define NGH_svcpcba (0x0269 | FLAG_PCB) // 0269 (c) 2003 Playmore / Capcom - JAMMA PCB
#define NGH_kf2k3pcb (0x0271 | FLAG_PCB) // 0271 (c) 2003 Playmore - JAMMA PCB
enum
{
// SNK
INIT_neogeo = 0, // 0
INIT_fatfury2, // 1
INIT_kof98, // 2
INIT_mslugx, // 3
INIT_kof99, // 4
INIT_kof99n, // 5
INIT_garou, // 6
INIT_garouo, // 7
INIT_mslug3, // 8
INIT_mslug3n, // 9
INIT_kof2000, // 10
INIT_kof2000n, // 11
INIT_zupapa, // 12
INIT_sengoku3, // 13
INIT_kof2001, // 14
INIT_kof2002, // 15
INIT_mslug5, // 16
INIT_svchaosa, // 17
INIT_samsho5, // 18
INIT_kof2003, // 19
INIT_samsh5sp, // 20
// SNKˆÈŠO
INIT_nitd, // 21
INIT_s1945p, // 22
INIT_pnyaa, // 23
INIT_preisle2, // 24
INIT_ganryu, // 25
INIT_bangbead, // 26
INIT_mslug4, // 27
INIT_rotd, // 28
INIT_matrim, // 29
// JAMMA PCB
INIT_ms5pcb, // 30
INIT_svcpcb, // 31
INIT_kf2k3pcb, // 32
// BrezzaSoft
INIT_jockeygp, // 33
INIT_vliner, // 34
// bootleg
INIT_garoubl, // 35
INIT_kf2k2pls, // 36
INIT_kf2k2mp, // 37
INIT_kf2k2mp2, // 38
INIT_ms5plus, // 39
INIT_svcboot, // 40
INIT_svcplus, // 41
INIT_svcplusa, // 42
INIT_svcsplus, // 43
INIT_samsho5b, // 44
INIT_kf2k3bl, // 45
INIT_kf2k3pl, // 46
INIT_kf2k3upl, // 47
INIT_kog, // 48
INIT_kof10th, // 49
INIT_kf10thep, // 50
INIT_kf2k5uni, // 51
INIT_cthd2003, // 52
INIT_ct2k3sp, // 53
INIT_kof2k4se, // 54
INIT_lans2004, // 55
INIT_mslug3b6, // 56
INIT_ms4plus, // 57
// bootleg (MAME plus)
INIT_kof96ep, // 58
INIT_kf2k1pls, // 59
INIT_kf2k1pa, // 60
INIT_cthd2k3a, // 61
INIT_kof2002b, // 62
INIT_matrimbl, // 63
INIT_kf2k2plc, // 64
INIT_kf2k4pls, // 65
INIT_kof97pla, // 66
INIT_fr2ch, // 67
INIT_mslug5b, // 68
// MAME 0.113 - 0.119
INIT_ct2k3sa, // 69
MAX_INIT
};
/*----------- defined in machine/neocrypt.c -----------*/
void kof99_neogeo_gfx_decrypt(int extra_xor);
void kof2000_neogeo_gfx_decrypt(int extra_xor);
void svcpcb_gfx_decrypt(void);
void svcpcb_s1data_decrypt(void);
void kf2k3pcb_cx_decrypt(void);
void kf2k3pcb_sx_decrypt(void);
void neo_pcm2_snk_1999(int value);
void neo_pcm2_swap(int value);
// bootleg
void cmc42_neogeo_gfx_decrypt(int extra_xor);
void cmc50_neogeo_gfx_decrypt(int extra_xor);
int neogeo_bootleg_cx_decrypt(void);
int neogeo_bootleg_sx_decrypt(int value);
int cthd2003_cx_decrypt(void);
int ct2k3sp_sx_decrypt(void);
int svcboot_cx_decrypt(void);
void lans2004_vx_decrypt(void);
// bootleg (MAME plus)
int samsho5b_cx_decrypt(void);
int kof2002b_cx_decrypt(void);
int kof2002b_sx_decrypt(void);
void samsho5b_vx_decrypt(void);

1238
romcnv/src/mvs/romcnv.c Normal file

File diff suppressed because it is too large Load Diff

15
romcnv/src/mvs/romcnv.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef ROMCNV_H
#define ROMCNV_H
#include "common.h"
#include "neogeo.h"
extern UINT8 *memory_region_gfx2;
extern UINT8 *memory_region_gfx3;
extern UINT8 *memory_region_sound1;
extern UINT32 memory_length_gfx2;
extern UINT32 memory_length_gfx3;
extern UINT32 memory_length_sound1;
#endif /* ROMCNV_H */

1219
romcnv/src/unzip.c Normal file

File diff suppressed because it is too large Load Diff

257
romcnv/src/unzip.h Normal file
View File

@ -0,0 +1,257 @@
/* unzip.h -- IO for uncompress .zip files using zlib
Version 0.15 beta, Mar 19th, 1998,
Copyright (C) 1998 Gilles Vollant
This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g
WinZip, InfoZip tools and compatible.
Encryption and multi volume ZipFile (span) are not supported.
Old compressions used by old PKZip 1.x are not supported
THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
CAN CHANGE IN FUTURE VERSION !!
I WAIT FEEDBACK at mail info@winimage.com
Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution
Condition of use and distribution are the same than zlib :
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
/* for more info about .ZIP format, see
ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
PkWare has also a specification at :
ftp://ftp.pkware.com/probdesc.zip */
#ifndef _unz_H
#define _unz_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ZLIB_H
#include "zlib.h"
#endif
typedef void *unzFile;
#define UNZ_OK (0)
#define UNZ_END_OF_LIST_OF_FILE (-100)
#define UNZ_ERRNO (Z_ERRNO)
#define UNZ_EOF (0)
#define UNZ_PARAMERROR (-102)
#define UNZ_BADZIPFILE (-103)
#define UNZ_INTERNALERROR (-104)
#define UNZ_CRCERROR (-105)
/* tm_unz contain date/time info */
typedef struct tm_unz_s
{
uInt tm_sec; /* seconds after the minute - [0,59] */
uInt tm_min; /* minutes after the hour - [0,59] */
uInt tm_hour; /* hours since midnight - [0,23] */
uInt tm_mday; /* day of the month - [1,31] */
uInt tm_mon; /* months since January - [0,11] */
uInt tm_year; /* years - [1980..2044] */
} tm_unz;
/* unz_global_info structure contain global data about the ZIPfile
These data comes from the end of central dir */
typedef struct unz_global_info_s
{
uLong number_entry; /* total number of entries in
the central dir on this disk */
uLong size_comment; /* size of the global comment of the zipfile */
} unz_global_info;
/* unz_file_info contain information about a file in the zipfile */
typedef struct unz_file_info_s
{
uLong version; /* version made by 2 bytes */
uLong version_needed; /* version needed to extract 2 bytes */
uLong flag; /* general purpose bit flag 2 bytes */
uLong compression_method; /* compression method 2 bytes */
uLong dosDate; /* last mod file date in Dos fmt 4 bytes */
uLong crc; /* crc-32 4 bytes */
uLong compressed_size; /* compressed size 4 bytes */
uLong uncompressed_size; /* uncompressed size 4 bytes */
uLong size_filename; /* filename length 2 bytes */
uLong size_file_extra; /* extra field length 2 bytes */
uLong size_file_comment; /* file comment length 2 bytes */
uLong disk_num_start; /* disk number start 2 bytes */
uLong internal_fa; /* internal file attributes 2 bytes */
uLong external_fa; /* external file attributes 4 bytes */
tm_unz tmu_date;
} unz_file_info;
int unzStringFileNameCompare(const char* fileName1, const char* fileName2, int iCaseSensitivity);
/*
Compare two filename (fileName1,fileName2).
If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp)
If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi
or strcasecmp)
If iCaseSenisivity = 0, case sensitivity is defaut of your operating system
(like 1 on Unix, 2 on Windows)
*/
unzFile unzOpen(const char *path);
/*
Open a Zip file. path contain the full pathname (by example,
on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer
"zlib/zlib111.zip".
If the zipfile cannot be opened (file don't exist or in not valid), the
return value is NULL.
Else, the return value is a unzFile Handle, usable with other function
of this unzip package.
*/
int unzClose(unzFile file);
/*
Close a ZipFile opened with unzipOpen.
If there is files inside the .Zip opened with unzOpenCurrentFile (see later),
these files MUST be closed with unzipCloseCurrentFile before call unzipClose.
return UNZ_OK if there is no problem. */
int unzGetGlobalInfo(unzFile file, unz_global_info *pglobal_info);
/*
Write info about the ZipFile in the *pglobal_info structure.
No preparation of the structure is needed
return UNZ_OK if there is no problem. */
int unzGetGlobalComment(unzFile file, char *szComment, uLong uSizeBuf);
/*
Get the global comment string of the ZipFile, in the szComment buffer.
uSizeBuf is the size of the szComment buffer.
return the number of byte copied or an error code <0
*/
/***************************************************************************/
/* Unzip package allow you browse the directory of the zipfile */
int unzGoToFirstFile(unzFile file);
/*
Set the current file of the zipfile to the first file.
return UNZ_OK if there is no problem
*/
int unzGoToNextFile(unzFile file);
/*
Set the current file of the zipfile to the next file.
return UNZ_OK if there is no problem
return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest.
*/
int unzLocateFile(unzFile file, const char *szFileName, int iCaseSensitivity);
/*
Try locate the file szFileName in the zipfile.
For the iCaseSensitivity signification, see unzStringFileNameCompare
return value :
UNZ_OK if the file is found. It becomes the current file.
UNZ_END_OF_LIST_OF_FILE if the file is not found
*/
int unzGetCurrentFileInfo(unzFile file,
unz_file_info *pfile_info,
char *szFileName,
uLong fileNameBufferSize,
void *extraField,
uLong extraFieldBufferSize,
char *szComment,
uLong commentBufferSize);
/*
Get Info about the current file
if pfile_info!=NULL, the *pfile_info structure will contain somes info about
the current file
if szFileName!=NULL, the filemane string will be copied in szFileName
(fileNameBufferSize is the size of the buffer)
if extraField!=NULL, the extra field information will be copied in extraField
(extraFieldBufferSize is the size of the buffer).
This is the Central-header version of the extra field
if szComment!=NULL, the comment string of the file will be copied in szComment
(commentBufferSize is the size of the buffer)
*/
/***************************************************************************/
/* for reading the content of the current zipfile, you can open it, read data
from it, and close it (you can close it before reading all the file)
*/
int unzOpenCurrentFile(unzFile file);
/*
Open for reading data the current file in the zipfile.
If there is no error, the return value is UNZ_OK.
*/
int unzCloseCurrentFile(unzFile file);
/*
Close the file in zip opened with unzOpenCurrentFile
Return UNZ_CRCERROR if all the file was read but the CRC is not good
*/
int unzReadCurrentFile(unzFile file, void *buf, unsigned len);
/*
Read bytes from the current file (opened by unzOpenCurrentFile)
buf contain buffer where data must be copied
len the size of buf.
return the number of byte copied if somes bytes are copied
return 0 if the end of file was reached
return <0 with error code if there is an error
(UNZ_ERRNO for IO error, or zLib error for uncompress error)
*/
z_off_t unztell(unzFile file);
/*
Give the current position in uncompressed data
*/
int unzeof(unzFile file);
/*
return 1 if the end of file was reached, 0 elsewhere
*/
int unzGetLocalExtrafield(unzFile file, void *buf, unsigned len);
/*
Read extra field from the current file (opened by unzOpenCurrentFile)
This is the local-header version of the extra field (sometimes, there is
more info in the local-header version than in the central-header)
if buf==NULL, it return the size of the local extra field
if buf!=NULL, len is the size of the buffer, the extra header is copied in
buf.
the return value is the number of bytes copied in buf, or (if <0)
the error code
*/
#ifdef __cplusplus
}
#endif
#endif /* _unz_H */

253
romcnv/src/zfile.c Normal file
View File

@ -0,0 +1,253 @@
#include "romcnv.h"
#include "unzip.h"
#include "zip.h"
#include <time.h>
#define ZIP_NOTOPEN 0
#define ZIP_READOPEN 1
#define ZIP_WRITEOPEN 2
static zipFile zipfile = NULL;
static char basedir[MAX_PATH];
static char *basedirend;
static char zip_cache[4096];
static int zip_cached_len;
static int zip_filepos;
static int zip_mode = ZIP_NOTOPEN;
static int zip_fd = -1;
int zip_open(const char *path, const char *mode)
{
if (zipfile) zip_close();
if (!strcmp(mode, "rb"))
{
zip_mode = ZIP_READOPEN;
if ((zipfile = unzOpen(path)) != NULL)
return (int)zipfile;
strcpy(basedir, path);
basedirend = basedir + strlen(basedir);
*basedirend++ = '/';
}
else if (!strcmp(mode, "wb"))
{
if ((zipfile = zipOpen(path, 0)) != NULL)
{
zip_mode = ZIP_WRITEOPEN;
return (int)zipfile;
}
}
return -1;
}
void zip_close(void)
{
if (zip_fd != -1) zclose(zip_fd);
if (zipfile)
{
if (zip_mode == ZIP_READOPEN)
unzClose(zipfile);
else
zipClose(zipfile, NULL);
zipfile = NULL;
}
zip_mode = ZIP_NOTOPEN;
}
int zip_findfirst(struct zip_find_t *file)
{
if (zipfile && zip_mode == ZIP_READOPEN)
{
if (unzGoToFirstFile(zipfile) == UNZ_OK)
{
unz_file_info info;
unzGetCurrentFileInfo(zipfile, &info, file->name, MAX_PATH, NULL, 0, NULL, 0);
file->length = info.uncompressed_size;
file->crc32 = info.crc;
return 1;
}
}
return 0;
}
int zip_findnext(struct zip_find_t *file)
{
if (zipfile && zip_mode == ZIP_READOPEN)
{
if (unzGoToNextFile(zipfile) == UNZ_OK)
{
unz_file_info info;
unzGetCurrentFileInfo(zipfile, &info, file->name, MAX_PATH, NULL, 0, NULL, 0);
file->length = info.uncompressed_size;
file->crc32 = info.crc;
return 1;
}
}
return 0;
}
int zopen(const char *filename)
{
zip_cached_len = 0;
if (zip_mode == ZIP_READOPEN)
{
if (!zipfile)
{
FILE *fp;
strcpy(basedirend, filename);
if ((fp = fopen(basedir, "rb")) != NULL)
{
zip_fd = (int)fp;
return zip_fd;
}
return -1;
}
if (unzLocateFile(zipfile, filename, 0) == UNZ_OK)
if (unzOpenCurrentFile(zipfile) == UNZ_OK)
return (int)zipfile;
}
else
{
zip_fileinfo zip_info;
struct tm *nowtime;
time_t ltime;
memset(&zip_info, 0, sizeof(zip_info));
time(&ltime);
nowtime = localtime(&ltime);
zip_info.tmz_date.tm_sec = nowtime->tm_sec;
zip_info.tmz_date.tm_min = nowtime->tm_min;
zip_info.tmz_date.tm_hour = nowtime->tm_hour;
zip_info.tmz_date.tm_mday = nowtime->tm_mday;
zip_info.tmz_date.tm_mon = nowtime->tm_mon ;
zip_info.tmz_date.tm_year = nowtime->tm_year;
if (zipOpenNewFileInZip(zipfile, filename, &zip_info, NULL, 0, NULL, 0, NULL, Z_DEFLATED, 9) == ZIP_OK)
return (int)zipfile;
}
return -1;
}
int zclose(int fd)
{
zip_cached_len = 0;
if (zip_mode == ZIP_READOPEN)
{
if (!zipfile)
{
if (fd != -1) fclose((FILE *)fd);
zip_fd = -1;
return 0;
}
return unzCloseCurrentFile(zipfile);
}
else
{
return zipCloseFileInZip(zipfile);
}
}
int zread(int fd, void *buf, unsigned size)
{
if (zip_mode == ZIP_READOPEN)
{
if (!zipfile)
return fread(buf, 1, size, (FILE *)fd);
else
return unzReadCurrentFile(zipfile, buf, size);
}
return 0;
}
int zwrite(int fd, void *buf, unsigned size)
{
if (zip_mode == ZIP_WRITEOPEN)
{
return zipWriteInFileInZip(zipfile, buf, size);
}
return 0;
}
int zgetc(int fd)
{
if (zip_mode == ZIP_READOPEN)
{
if (!zipfile) return fgetc((FILE *)fd);
if (zip_cached_len == 0)
{
zip_cached_len = unzReadCurrentFile(zipfile, zip_cache, 4096);
if (zip_cached_len == 0) return EOF;
zip_filepos = 0;
}
zip_cached_len--;
return zip_cache[zip_filepos++] & 0xff;
}
return EOF;
}
int zsize(int fd)
{
if (zip_mode == ZIP_READOPEN)
{
unz_file_info info;
if (zipfile == NULL)
{
FILE *fp = (FILE *)fd;
int len, pos = ftell(fp);
fseek(fp, 0, SEEK_END);
len = ftell(fp);
fseek(fp, pos, SEEK_SET);
return len;
}
unzGetCurrentFileInfo(zipfile, &info, NULL, 0, NULL, 0, NULL, 0);
return info.uncompressed_size;
}
return 0;
}
int zcrc(int fd)
{
if (zipfile && zip_mode == ZIP_READOPEN)
{
unz_file_info info;
unzGetCurrentFileInfo(zipfile, &info, NULL, 0, NULL, 0, NULL, 0);
return info.crc;
}
return 0;
}

29
romcnv/src/zfile.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef ZFILE_H
#define ZFILE_H
#ifndef MAX_PATH
#define MAX_PATH 512
#endif
struct zip_find_t
{
char name[MAX_PATH];
UINT32 length;
UINT32 crc32;
};
int zip_open(const char *path, const char *mode);
void zip_close(void);
int zip_findfirst(struct zip_find_t *file);
int zip_findnext(struct zip_find_t *file);
int zopen(const char *filename);
int zread(int fd, void *buf, unsigned size);
int zwrite(int fd, void *buf, unsigned size);
int zgetc(int fd);
int zclose(int fd);
int zsize(int fd);
int zcrc(int fd);
#endif /* ZFILEH */

693
romcnv/src/zip.c Normal file
View File

@ -0,0 +1,693 @@
/* zip.c -- IO on .zip files using zlib
Version 0.15 beta, Mar 19th, 1998,
Read zip.h for more info
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "zlib/zlib.h"
#include "zlib/zutil.h"
#include "zip.h"
#ifdef STDC
# include <stddef.h>
# include <string.h>
# include <stdlib.h>
#endif
#ifdef NO_ERRNO_H
extern int errno;
#else
# include <errno.h>
#endif
/* compile with -Dstatic if your debugger can't find static symbols */
#ifndef VERSIONMADEBY
# define VERSIONMADEBY (0x0) /* platform depedent */
#endif
#ifndef Z_BUFSIZE
#define Z_BUFSIZE (16384)
#endif
#ifndef Z_MAXFILENAMEINZIP
#define Z_MAXFILENAMEINZIP (256)
#endif
#ifndef ALLOC
# define ALLOC(size) (malloc(size))
#endif
#ifndef TRYFREE
# define TRYFREE(p) {if (p) free(p);}
#endif
/*
#define SIZECENTRALDIRITEM (0x2e)
#define SIZEZIPLOCALHEADER (0x1e)
*/
/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */
#ifndef SEEK_CUR
#define SEEK_CUR 1
#endif
#ifndef SEEK_END
#define SEEK_END 2
#endif
#ifndef SEEK_SET
#define SEEK_SET 0
#endif
const char zip_copyright[] = " zip 0.15 Copyright 1998 Gilles Vollant ";
#define SIZEDATA_INDATABLOCK (4096-(4*4))
#define LOCALHEADERMAGIC (0x04034b50)
#define CENTRALHEADERMAGIC (0x02014b50)
#define ENDHEADERMAGIC (0x06054b50)
#define FLAG_LOCALHEADER_OFFSET (0x06)
#define CRC_LOCALHEADER_OFFSET (0x0e)
#define SIZECENTRALHEADER (0x2e) /* 46 */
typedef struct linkedlist_datablock_internal_s
{
struct linkedlist_datablock_internal_s* next_datablock;
uLong avail_in_this_block;
uLong filled_in_this_block;
uLong unused; /* for future use and alignement */
unsigned char data[SIZEDATA_INDATABLOCK];
} linkedlist_datablock_internal;
typedef struct linkedlist_data_s
{
linkedlist_datablock_internal* first_block;
linkedlist_datablock_internal* last_block;
} linkedlist_data;
typedef struct
{
z_stream stream; /* zLib stream structure for inflate */
int stream_initialised; /* 1 is stream is initialised */
uInt pos_in_buffered_data; /* last written byte in buffered_data */
uLong pos_static_header; /* offset of the static header of the file
currenty writing */
char* central_header; /* central header data for the current file */
uLong size_centralheader; /* size of the central header for cur file */
uLong flag; /* flag of the file currently writing */
int method; /* compression method of file currenty wr.*/
Byte buffered_data[Z_BUFSIZE];/* buffer contain compressed data to be writ*/
uLong dosDate;
uLong crc32;
} curfile_info;
typedef struct
{
FILE * filezip;
linkedlist_data central_dir;/* datablock with central dir in construction*/
int in_opened_file_inzip; /* 1 if a file in the zip is currently writ.*/
curfile_info ci; /* info on the file curretly writing */
uLong begin_pos; /* position of the beginning of the zipfile */
uLong number_entry;
} zip_internal;
static linkedlist_datablock_internal *allocate_new_datablock(void)
{
linkedlist_datablock_internal *ldi;
ldi = (linkedlist_datablock_internal *)ALLOC(sizeof(linkedlist_datablock_internal));
if (ldi)
{
ldi->next_datablock = NULL;
ldi->filled_in_this_block = 0;
ldi->avail_in_this_block = SIZEDATA_INDATABLOCK;
}
return ldi;
}
static void free_datablock(linkedlist_datablock_internal* ldi)
{
while (ldi)
{
linkedlist_datablock_internal *ldinext = ldi->next_datablock;
TRYFREE(ldi);
ldi = ldinext;
}
}
static void init_linkedlist(linkedlist_data *ll)
{
ll->first_block = ll->last_block = NULL;
}
#if 0
static void free_linkedlist(linkedlist_data *ll)
{
free_datablock(ll->first_block);
ll->first_block = ll->last_block = NULL;
}
#endif
static int add_data_in_datablock(linkedlist_data *ll, const void *buf, uLong len)
{
linkedlist_datablock_internal *ldi;
const unsigned char *from_copy;
if (!ll) return ZIP_INTERNALERROR;
if (!ll->last_block)
{
ll->first_block = ll->last_block = allocate_new_datablock();
if (!ll->first_block) return ZIP_INTERNALERROR;
}
ldi = ll->last_block;
from_copy = (unsigned char *)buf;
while (len > 0)
{
uInt copy_this;
uInt i;
unsigned char *to_copy;
if (!ldi->avail_in_this_block)
{
ldi->next_datablock = allocate_new_datablock();
if (!ldi->next_datablock) return ZIP_INTERNALERROR;
ldi = ldi->next_datablock;
ll->last_block = ldi;
}
if (ldi->avail_in_this_block < len)
copy_this = (uInt)ldi->avail_in_this_block;
else
copy_this = (uInt)len;
to_copy = &(ldi->data[ldi->filled_in_this_block]);
for (i = 0; i < copy_this; i++)
*(to_copy + i) = *(from_copy + i);
ldi->filled_in_this_block += copy_this;
ldi->avail_in_this_block -= copy_this;
from_copy += copy_this;
len -= copy_this;
}
return ZIP_OK;
}
#if 0
static int write_datablock(FILE *fout, linkedlist_data *ll)
{
linkedlist_datablock_internal *ldi;
ldi = ll->first_block;
while (!ldi)
{
if (ldi->filled_in_this_block > 0)
if (fwrite(ldi->data,(uInt)ldi->filled_in_this_block, 1, fout) != 1)
return ZIP_ERRNO;
ldi = ldi->next_datablock;
}
return ZIP_OK;
}
#endif
/****************************************************************************/
/* ===========================================================================
Outputs a long in LSB order to the given file
nbByte == 1, 2 or 4 (byte, short or long)
*/
static int zipstatic_putValue OF((FILE *file, uLong x, int nbByte));
static int zipstatic_putValue (file, x, nbByte)
FILE *file;
uLong x;
int nbByte;
{
unsigned char buf[4];
int n;
for (n = 0; n < nbByte; n++) {
buf[n] = (unsigned char)(x & 0xff);
x >>= 8;
}
if (fwrite(buf,nbByte,1,file)!=1)
return ZIP_ERRNO;
else
return ZIP_OK;
}
static void zipstatic_putValue_inmemory OF((void* dest, uLong x, int nbByte));
static void zipstatic_putValue_inmemory (dest, x, nbByte)
void* dest;
uLong x;
int nbByte;
{
unsigned char* buf=(unsigned char*)dest;
int n;
for (n = 0; n < nbByte; n++) {
buf[n] = (unsigned char)(x & 0xff);
x >>= 8;
}
}
/****************************************************************************/
static uLong zipstatic_TmzDateToDosDate(const tm_zip *ptm)
{
uLong year = (uLong)ptm->tm_year;
uLong dosdate;
if (year > 1980)
year -= 1980;
else if (year > 80)
year -= 80;
dosdate = (uLong)(((ptm->tm_mday) + (32 * (ptm->tm_mon+1)) + (512 * year)) << 16);
return dosdate | ((ptm->tm_sec/2) + (32* ptm->tm_min) + (2048 * (uLong)ptm->tm_hour));
}
/****************************************************************************/
zipFile zipOpen(const char *pathname, int append)
{
zip_internal ziinit;
zip_internal *zi;
ziinit.filezip = fopen(pathname, (append == 0) ? "wb" : "ab");
if (!ziinit.filezip) return NULL;
ziinit.begin_pos = ftell(ziinit.filezip);
ziinit.in_opened_file_inzip = 0;
ziinit.ci.stream_initialised = 0;
ziinit.number_entry = 0;
init_linkedlist(&(ziinit.central_dir));
zi = (zip_internal*)ALLOC(sizeof(zip_internal));
if (!zi)
{
fclose(ziinit.filezip);
return NULL;
}
*zi = ziinit;
return (zipFile)zi;
}
int zipOpenNewFileInZip(
zipFile file,
const char *filename,
const zip_fileinfo *zipfi,
const void *extrafield_static,
uInt size_extrafield_static,
const void *extrafield_global,
uInt size_extrafield_global,
const char *comment,
int method,
int level)
{
zip_internal *zi;
uInt size_filename;
uInt size_comment;
uInt i;
int err = ZIP_OK;
if (!file) return ZIP_PARAMERROR;
if (method && method != Z_DEFLATED) return ZIP_PARAMERROR;
zi = (zip_internal *)file;
if (zi->in_opened_file_inzip == 1)
{
err = zipCloseFileInZip(file);
if (err != ZIP_OK)
return err;
}
if (!filename) filename = "-";
if (!comment)
size_comment = 0;
else
size_comment = strlen(comment);
size_filename = strlen(filename);
if (!zipfi)
{
zi->ci.dosDate = 0;
}
else
{
if (zipfi->dosDate)
zi->ci.dosDate = zipfi->dosDate;
else
zi->ci.dosDate = zipstatic_TmzDateToDosDate(&zipfi->tmz_date);
}
switch (level)
{
case 1: zi->ci.flag = 6; break;
case 2: zi->ci.flag = 4; break;
case 8: zi->ci.flag = 2; break;
case 9: zi->ci.flag = 2; break;
default: zi->ci.flag = 0; break;
}
zi->ci.crc32 = 0;
zi->ci.method = method;
zi->ci.stream_initialised = 0;
zi->ci.pos_in_buffered_data = 0;
zi->ci.pos_static_header = ftell(zi->filezip);
zi->ci.size_centralheader = SIZECENTRALHEADER + size_filename + size_extrafield_global + size_comment;
zi->ci.central_header = (char *)ALLOC((uInt)zi->ci.size_centralheader);
zipstatic_putValue_inmemory(zi->ci.central_header, (uLong)CENTRALHEADERMAGIC, 4);
/* version info */
zipstatic_putValue_inmemory(zi->ci.central_header + 4, (uLong)VERSIONMADEBY, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 6, (uLong)20, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 8, (uLong)zi->ci.flag, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 10, (uLong)zi->ci.method, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 12, (uLong)zi->ci.dosDate, 4);
zipstatic_putValue_inmemory(zi->ci.central_header + 16, (uLong)0, 4); /*crc*/
zipstatic_putValue_inmemory(zi->ci.central_header + 20, (uLong)0, 4); /*compr size*/
zipstatic_putValue_inmemory(zi->ci.central_header + 24, (uLong)0, 4); /*uncompr size*/
zipstatic_putValue_inmemory(zi->ci.central_header + 28, (uLong)size_filename, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 30, (uLong)size_extrafield_global, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 32, (uLong)size_comment, 2);
zipstatic_putValue_inmemory(zi->ci.central_header + 34, (uLong)0, 2); /*disk nm start*/
if (!zipfi)
zipstatic_putValue_inmemory(zi->ci.central_header + 36, (uLong)0, 2);
else
zipstatic_putValue_inmemory(zi->ci.central_header + 36, (uLong)zipfi->internal_fa, 2);
if (!zipfi)
zipstatic_putValue_inmemory(zi->ci.central_header + 38, (uLong)0, 4);
else
zipstatic_putValue_inmemory(zi->ci.central_header + 38, (uLong)zipfi->external_fa, 4);
zipstatic_putValue_inmemory(zi->ci.central_header + 42, (uLong)zi->ci.pos_static_header, 4);
for (i = 0; i < size_filename; i++)
*(zi->ci.central_header + SIZECENTRALHEADER + i) = *(filename + i);
for (i = 0; i < size_extrafield_global; i++)
*(zi->ci.central_header + SIZECENTRALHEADER + size_filename + i) = *(((const char *)extrafield_global) + i);
for (i = 0; i < size_comment; i++)
*(zi->ci.central_header + SIZECENTRALHEADER + size_filename + size_extrafield_global + i) = *(filename + i);
if (!zi->ci.central_header)
return ZIP_INTERNALERROR;
/* write the static header */
err = zipstatic_putValue(zi->filezip, (uLong)LOCALHEADERMAGIC, 4);
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)20, 2);/* version needed to extract */
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.flag, 2);
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.method, 2);
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.dosDate, 4);
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)0, 4); /* crc 32, unknown */
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)0, 4); /* compressed size, unknown */
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)0, 4); /* uncompressed size, unknown */
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)size_filename, 2);
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)size_extrafield_static, 2);
if ((err == ZIP_OK) && (size_filename > 0))
if (fwrite(filename,(uInt)size_filename, 1, zi->filezip) != 1)
err = ZIP_ERRNO;
if ((err == ZIP_OK) && (size_extrafield_static > 0))
if (fwrite(extrafield_static, (uInt)size_extrafield_static, 1, zi->filezip) != 1)
err = ZIP_ERRNO;
zi->ci.stream.avail_in = (uInt)0;
zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
zi->ci.stream.next_out = zi->ci.buffered_data;
zi->ci.stream.total_in = 0;
zi->ci.stream.total_out = 0;
if ((err == ZIP_OK) && (zi->ci.method == Z_DEFLATED))
{
zi->ci.stream.zalloc = (alloc_func)0;
zi->ci.stream.zfree = (free_func)0;
zi->ci.stream.opaque = (voidpf)0;
err = deflateInit2(&zi->ci.stream, level, Z_DEFLATED, -MAX_WBITS, DEF_MEM_LEVEL, 0);
if (err == Z_OK)
zi->ci.stream_initialised = 1;
}
if (err == Z_OK) zi->in_opened_file_inzip = 1;
return err;
}
int zipWriteInFileInZip(zipFile file, const void *buf, unsigned len)
{
zip_internal *zi;
int err = ZIP_OK;
if (!file) return ZIP_PARAMERROR;
zi = (zip_internal *)file;
if (!zi->in_opened_file_inzip) return ZIP_PARAMERROR;
zi->ci.stream.next_in = (Bytef *)buf;
zi->ci.stream.avail_in = len;
zi->ci.crc32 = crc32(zi->ci.crc32, buf, len);
while ((err == ZIP_OK) && (zi->ci.stream.avail_in > 0))
{
if (zi->ci.stream.avail_out == 0)
{
if (fwrite(zi->ci.buffered_data, (uInt)zi->ci.pos_in_buffered_data, 1, zi->filezip) != 1)
err = ZIP_ERRNO;
zi->ci.pos_in_buffered_data = 0;
zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
zi->ci.stream.next_out = zi->ci.buffered_data;
}
if (zi->ci.method == Z_DEFLATED)
{
uLong uTotalOutBefore = zi->ci.stream.total_out;
err = deflate(&zi->ci.stream, Z_NO_FLUSH);
zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore);
}
else
{
uInt copy_this, i;
if (zi->ci.stream.avail_in < zi->ci.stream.avail_out)
copy_this = zi->ci.stream.avail_in;
else
copy_this = zi->ci.stream.avail_out;
for (i = 0; i < copy_this; i++)
*(((char *)zi->ci.stream.next_out) + i) = *(((const char *)zi->ci.stream.next_in) + i);
zi->ci.stream.avail_in -= copy_this;
zi->ci.stream.avail_out -= copy_this;
zi->ci.stream.next_in += copy_this;
zi->ci.stream.next_out += copy_this;
zi->ci.stream.total_in += copy_this;
zi->ci.stream.total_out += copy_this;
zi->ci.pos_in_buffered_data += copy_this;
}
}
return 0;
}
int zipCloseFileInZip(zipFile file)
{
zip_internal *zi;
int err = ZIP_OK;
if (!file) return ZIP_PARAMERROR;
zi = (zip_internal *)file;
if (!zi->in_opened_file_inzip) return ZIP_PARAMERROR;
zi->ci.stream.avail_in = 0;
if (zi->ci.method == Z_DEFLATED)
{
while (err == ZIP_OK)
{
uLong uTotalOutBefore;
if (!zi->ci.stream.avail_out)
{
if (fwrite(zi->ci.buffered_data,(uInt)zi->ci.pos_in_buffered_data,1,zi->filezip) != 1)
err = ZIP_ERRNO;
zi->ci.pos_in_buffered_data = 0;
zi->ci.stream.avail_out = (uInt)Z_BUFSIZE;
zi->ci.stream.next_out = zi->ci.buffered_data;
}
uTotalOutBefore = zi->ci.stream.total_out;
err = deflate(&zi->ci.stream, Z_FINISH);
zi->ci.pos_in_buffered_data += (uInt)(zi->ci.stream.total_out - uTotalOutBefore);
}
}
if (err == Z_STREAM_END)
err = ZIP_OK; /* this is normal */
if ((zi->ci.pos_in_buffered_data>0) && (err == ZIP_OK))
if (fwrite(zi->ci.buffered_data,(uInt)zi->ci.pos_in_buffered_data,1,zi->filezip) != 1)
err = ZIP_ERRNO;
if ((zi->ci.method == Z_DEFLATED) && (err == ZIP_OK))
{
err = deflateEnd(&zi->ci.stream);
zi->ci.stream_initialised = 0;
}
zipstatic_putValue_inmemory(zi->ci.central_header + 16, (uLong)zi->ci.crc32, 4); /*crc*/
zipstatic_putValue_inmemory(zi->ci.central_header + 20, (uLong)zi->ci.stream.total_out, 4); /*compr size*/
zipstatic_putValue_inmemory(zi->ci.central_header + 24, (uLong)zi->ci.stream.total_in, 4); /*uncompr size*/
if (err == ZIP_OK)
err = add_data_in_datablock(&zi->central_dir,zi->ci.central_header, (uLong)zi->ci.size_centralheader);
free(zi->ci.central_header);
if (err == ZIP_OK)
{
long cur_pos_inzip = ftell(zi->filezip);
if (fseek(zi->filezip, zi->ci.pos_static_header + 14, SEEK_SET) != 0)
err = ZIP_ERRNO;
if (err == ZIP_OK)
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.crc32, 4); /* crc 32, unknown */
if (err == ZIP_OK) /* compressed size, unknown */
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.stream.total_out, 4);
if (err == ZIP_OK) /* uncompressed size, unknown */
err = zipstatic_putValue(zi->filezip, (uLong)zi->ci.stream.total_in, 4);
if (fseek(zi->filezip, cur_pos_inzip,SEEK_SET) != 0)
err = ZIP_ERRNO;
}
zi->number_entry++;
zi->in_opened_file_inzip = 0;
return err;
}
int zipClose(zipFile file, const char *global_comment)
{
zip_internal* zi;
int err = 0;
uLong size_centraldir = 0;
uLong centraldir_pos_inzip;
uInt size_global_comment;
if (!file) return ZIP_PARAMERROR;
zi = (zip_internal *)file;
if (zi->in_opened_file_inzip == 1)
{
err = zipCloseFileInZip(file);
}
if (!global_comment)
size_global_comment = 0;
else
size_global_comment = strlen(global_comment);
centraldir_pos_inzip = ftell(zi->filezip);
if (err == ZIP_OK)
{
linkedlist_datablock_internal *ldi = zi->central_dir.first_block;
while (ldi)
{
if ((err == ZIP_OK) && (ldi->filled_in_this_block > 0))
if (fwrite(ldi->data, (uInt)ldi->filled_in_this_block, 1, zi->filezip) != 1)
err = ZIP_ERRNO;
size_centraldir += ldi->filled_in_this_block;
ldi = ldi->next_datablock;
}
}
free_datablock(zi->central_dir.first_block);
if (err == ZIP_OK) /* Magic End */
err = zipstatic_putValue(zi->filezip, (uLong)ENDHEADERMAGIC, 4);
if (err == ZIP_OK) /* number of this disk */
err = zipstatic_putValue(zi->filezip, (uLong)0, 2);
if (err == ZIP_OK) /* number of the disk with the start of the central directory */
err = zipstatic_putValue(zi->filezip, (uLong)0, 2);
if (err == ZIP_OK) /* total number of entries in the central dir on this disk */
err = zipstatic_putValue(zi->filezip, (uLong)zi->number_entry, 2);
if (err == ZIP_OK) /* total number of entries in the central dir */
err = zipstatic_putValue(zi->filezip, (uLong)zi->number_entry, 2);
if (err == ZIP_OK) /* size of the central directory */
err = zipstatic_putValue(zi->filezip, (uLong)size_centraldir, 4);
if (err == ZIP_OK) /* offset of start of central directory with respect to the starting disk number */
err = zipstatic_putValue(zi->filezip, (uLong)centraldir_pos_inzip , 4);
if (err == ZIP_OK) /* zipfile comment length */
err = zipstatic_putValue(zi->filezip, (uLong)size_global_comment, 2);
if ((err == ZIP_OK) && (size_global_comment > 0))
if (fwrite(global_comment, (uInt)size_global_comment, 1, zi->filezip) != 1)
err = ZIP_ERRNO;
fclose(zi->filezip);
TRYFREE(zi);
return err;
}

142
romcnv/src/zip.h Normal file
View File

@ -0,0 +1,142 @@
/* zip.h -- IO for compress .zip files using zlib
Version 0.15 alpha, Mar 19th, 1998,
Copyright (C) 1998 Gilles Vollant
This unzip package allow creates .ZIP file, compatible with PKZip 2.04g
WinZip, InfoZip tools and compatible.
Encryption and multi volume ZipFile (span) are not supported.
Old compressions used by old PKZip 1.x are not supported
For uncompress .zip file, look at unzip.h
THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE
CAN CHANGE IN FUTURE VERSION !!
I WAIT FEEDBACK at mail info@winimage.com
Visit also http://www.winimage.com/zLibDll/zip.htm for evolution
Condition of use and distribution are the same than zlib :
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
/* for more info about .ZIP format, see
ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip
PkWare has also a specification at :
ftp://ftp.pkware.com/probdesc.zip
*/
#ifndef _zip_H
#define _zip_H
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _ZLIB_H
#include "zlib.h"
#endif
typedef void *zipFile;
#define ZIP_OK (0)
#define ZIP_ERRNO (Z_ERRNO)
#define ZIP_PARAMERROR (-102)
#define ZIP_INTERNALERROR (-104)
/* tm_zip contain date/time info */
typedef struct tm_zip_s
{
uInt tm_sec; /* seconds after the minute - [0,59] */
uInt tm_min; /* minutes after the hour - [0,59] */
uInt tm_hour; /* hours since midnight - [0,23] */
uInt tm_mday; /* day of the month - [1,31] */
uInt tm_mon; /* months since January - [0,11] */
uInt tm_year; /* years - [1980..2044] */
} tm_zip;
typedef struct
{
tm_zip tmz_date; /* date in understandable format */
uLong dosDate; /* if dos_date == 0, tmu_date is used */
/* uLong flag; */ /* general purpose bit flag 2 bytes */
uLong internal_fa; /* internal file attributes 2 bytes */
uLong external_fa; /* external file attributes 4 bytes */
} zip_fileinfo;
/*
Create a zipfile.
pathname contain on Windows NT a filename like "c:\\zlib\\zlib111.zip" or on
an Unix computer "zlib/zlib111.zip".
if the file pathname exist and append=1, the zip will be created at the end
of the file. (useful if the file contain a self extractor code)
If the zipfile cannot be opened, the return value is NULL.
Else, the return value is a zipFile Handle, usable with other function
of this zip package.
*/
zipFile zipOpen(const char *pathname, int append);
/*
Open a file in the ZIP for writing.
filename : the filename in zip (if NULL, '-' without quote will be used
*zipfi contain supplemental information
if extrafield_local!=NULL and size_extrafield_local>0, extrafield_local
contains the extrafield data the the local header
if extrafield_global!=NULL and size_extrafield_global>0, extrafield_global
contains the extrafield data the the local header
if comment != NULL, comment contain the comment string
method contain the compression method (0 for store, Z_DEFLATED for deflate)
level contain the level of compression (can be Z_DEFAULT_COMPRESSION)
*/
int zipOpenNewFileInZip(zipFile file,
const char *filename,
const zip_fileinfo *zipfi,
const void *extrafield_local,
uInt size_extrafield_local,
const void *extrafield_global,
uInt size_extrafield_global,
const char *comment,
int method,
int level);
/*
Write data in the zipfile
*/
int zipWriteInFileInZip(zipFile file, const void *buf, unsigned len);
/*
Close the current file in the zipfile
*/
int zipCloseFileInZip(zipFile file);
/*
Close the zipfile
*/
int zipClose(zipFile file, const char *global_comment);
#ifdef __cplusplus
}
#endif
#endif /* _zip_H */

149
romcnv/src/zlib/adler32.c Normal file
View File

@ -0,0 +1,149 @@
/* adler32.c -- compute the Adler-32 checksum of a data stream
* Copyright (C) 1995-2004 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#define ZLIB_INTERNAL
#include "zlib.h"
#define BASE 65521UL /* largest prime smaller than 65536 */
#define NMAX 5552
/* NMAX is the largest n such that 255n(n+1)/2 + (n+1)(BASE-1) <= 2^32-1 */
#define DO1(buf,i) {adler += (buf)[i]; sum2 += adler;}
#define DO2(buf,i) DO1(buf,i); DO1(buf,i+1);
#define DO4(buf,i) DO2(buf,i); DO2(buf,i+2);
#define DO8(buf,i) DO4(buf,i); DO4(buf,i+4);
#define DO16(buf) DO8(buf,0); DO8(buf,8);
/* use NO_DIVIDE if your processor does not do division in hardware */
#ifdef NO_DIVIDE
# define MOD(a) \
do { \
if (a >= (BASE << 16)) a -= (BASE << 16); \
if (a >= (BASE << 15)) a -= (BASE << 15); \
if (a >= (BASE << 14)) a -= (BASE << 14); \
if (a >= (BASE << 13)) a -= (BASE << 13); \
if (a >= (BASE << 12)) a -= (BASE << 12); \
if (a >= (BASE << 11)) a -= (BASE << 11); \
if (a >= (BASE << 10)) a -= (BASE << 10); \
if (a >= (BASE << 9)) a -= (BASE << 9); \
if (a >= (BASE << 8)) a -= (BASE << 8); \
if (a >= (BASE << 7)) a -= (BASE << 7); \
if (a >= (BASE << 6)) a -= (BASE << 6); \
if (a >= (BASE << 5)) a -= (BASE << 5); \
if (a >= (BASE << 4)) a -= (BASE << 4); \
if (a >= (BASE << 3)) a -= (BASE << 3); \
if (a >= (BASE << 2)) a -= (BASE << 2); \
if (a >= (BASE << 1)) a -= (BASE << 1); \
if (a >= BASE) a -= BASE; \
} while (0)
# define MOD4(a) \
do { \
if (a >= (BASE << 4)) a -= (BASE << 4); \
if (a >= (BASE << 3)) a -= (BASE << 3); \
if (a >= (BASE << 2)) a -= (BASE << 2); \
if (a >= (BASE << 1)) a -= (BASE << 1); \
if (a >= BASE) a -= BASE; \
} while (0)
#else
# define MOD(a) a %= BASE
# define MOD4(a) a %= BASE
#endif
/* ========================================================================= */
uLong ZEXPORT adler32(adler, buf, len)
uLong adler;
const Bytef *buf;
uInt len;
{
unsigned long sum2;
unsigned n;
/* split Adler-32 into component sums */
sum2 = (adler >> 16) & 0xffff;
adler &= 0xffff;
/* in case user likes doing a byte at a time, keep it fast */
if (len == 1) {
adler += buf[0];
if (adler >= BASE)
adler -= BASE;
sum2 += adler;
if (sum2 >= BASE)
sum2 -= BASE;
return adler | (sum2 << 16);
}
/* initial Adler-32 value (deferred check for len == 1 speed) */
if (buf == Z_NULL)
return 1L;
/* in case short lengths are provided, keep it somewhat fast */
if (len < 16) {
while (len--) {
adler += *buf++;
sum2 += adler;
}
if (adler >= BASE)
adler -= BASE;
MOD4(sum2); /* only added so many BASE's */
return adler | (sum2 << 16);
}
/* do length NMAX blocks -- requires just one modulo operation */
while (len >= NMAX) {
len -= NMAX;
n = NMAX / 16; /* NMAX is divisible by 16 */
do {
DO16(buf); /* 16 sums unrolled */
buf += 16;
} while (--n);
MOD(adler);
MOD(sum2);
}
/* do remaining bytes (less than NMAX, still just one modulo) */
if (len) { /* avoid modulos if none remaining */
while (len >= 16) {
len -= 16;
DO16(buf);
buf += 16;
}
while (len--) {
adler += *buf++;
sum2 += adler;
}
MOD(adler);
MOD(sum2);
}
/* return recombined sums */
return adler | (sum2 << 16);
}
/* ========================================================================= */
uLong ZEXPORT adler32_combine(adler1, adler2, len2)
uLong adler1;
uLong adler2;
z_off_t len2;
{
unsigned long sum1;
unsigned long sum2;
unsigned rem;
/* the derivation of this formula is left as an exercise for the reader */
rem = (unsigned)(len2 % BASE);
sum1 = adler1 & 0xffff;
sum2 = rem * sum1;
MOD(sum2);
sum1 += (adler2 & 0xffff) + BASE - 1;
sum2 += ((adler1 >> 16) & 0xffff) + ((adler2 >> 16) & 0xffff) + BASE - rem;
if (sum1 > BASE) sum1 -= BASE;
if (sum1 > BASE) sum1 -= BASE;
if (sum2 > (BASE << 1)) sum2 -= (BASE << 1);
if (sum2 > BASE) sum2 -= BASE;
return sum1 | (sum2 << 16);
}

View File

@ -0,0 +1,79 @@
/* compress.c -- compress a memory buffer
* Copyright (C) 1995-2003 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#define ZLIB_INTERNAL
#include "zlib.h"
/* ===========================================================================
Compresses the source buffer into the destination buffer. The level
parameter has the same meaning as in deflateInit. sourceLen is the byte
length of the source buffer. Upon entry, destLen is the total size of the
destination buffer, which must be at least 0.1% larger than sourceLen plus
12 bytes. Upon exit, destLen is the actual size of the compressed buffer.
compress2 returns Z_OK if success, Z_MEM_ERROR if there was not enough
memory, Z_BUF_ERROR if there was not enough room in the output buffer,
Z_STREAM_ERROR if the level parameter is invalid.
*/
int ZEXPORT compress2 (dest, destLen, source, sourceLen, level)
Bytef *dest;
uLongf *destLen;
const Bytef *source;
uLong sourceLen;
int level;
{
z_stream stream;
int err;
stream.next_in = (Bytef*)source;
stream.avail_in = (uInt)sourceLen;
#ifdef MAXSEG_64K
/* Check for source > 64K on 16-bit machine: */
if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
#endif
stream.next_out = dest;
stream.avail_out = (uInt)*destLen;
if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
stream.opaque = (voidpf)0;
err = deflateInit(&stream, level);
if (err != Z_OK) return err;
err = deflate(&stream, Z_FINISH);
if (err != Z_STREAM_END) {
deflateEnd(&stream);
return err == Z_OK ? Z_BUF_ERROR : err;
}
*destLen = stream.total_out;
err = deflateEnd(&stream);
return err;
}
/* ===========================================================================
*/
int ZEXPORT compress (dest, destLen, source, sourceLen)
Bytef *dest;
uLongf *destLen;
const Bytef *source;
uLong sourceLen;
{
return compress2(dest, destLen, source, sourceLen, Z_DEFAULT_COMPRESSION);
}
/* ===========================================================================
If the default memLevel or windowBits for deflateInit() is changed, then
this function needs to be updated.
*/
uLong ZEXPORT compressBound (sourceLen)
uLong sourceLen;
{
return sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + 11;
}

423
romcnv/src/zlib/crc32.c Normal file
View File

@ -0,0 +1,423 @@
/* crc32.c -- compute the CRC-32 of a data stream
* Copyright (C) 1995-2005 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*
* Thanks to Rodney Brown <rbrown64@csc.com.au> for his contribution of faster
* CRC methods: exclusive-oring 32 bits of data at a time, and pre-computing
* tables for updating the shift register in one step with three exclusive-ors
* instead of four steps with four exclusive-ors. This results in about a
* factor of two increase in speed on a Power PC G4 (PPC7455) using gcc -O3.
*/
/* @(#) $Id$ */
/*
Note on the use of DYNAMIC_CRC_TABLE: there is no mutex or semaphore
protection on the static variables used to control the first-use generation
of the crc tables. Therefore, if you #define DYNAMIC_CRC_TABLE, you should
first call get_crc_table() to initialize the tables before allowing more than
one thread to use crc32().
*/
#ifdef MAKECRCH
# include <stdio.h>
# ifndef DYNAMIC_CRC_TABLE
# define DYNAMIC_CRC_TABLE
# endif /* !DYNAMIC_CRC_TABLE */
#endif /* MAKECRCH */
#include "zutil.h" /* for STDC and FAR definitions */
#define local static
/* Find a four-byte integer type for crc32_little() and crc32_big(). */
#ifndef NOBYFOUR
# ifdef STDC /* need ANSI C limits.h to determine sizes */
# include <limits.h>
# define BYFOUR
# if (UINT_MAX == 0xffffffffUL)
typedef unsigned int u4;
# else
# if (ULONG_MAX == 0xffffffffUL)
typedef unsigned long u4;
# else
# if (USHRT_MAX == 0xffffffffUL)
typedef unsigned short u4;
# else
# undef BYFOUR /* can't find a four-byte integer type! */
# endif
# endif
# endif
# endif /* STDC */
#endif /* !NOBYFOUR */
/* Definitions for doing the crc four data bytes at a time. */
#ifdef BYFOUR
# define REV(w) (((w)>>24)+(((w)>>8)&0xff00)+ \
(((w)&0xff00)<<8)+(((w)&0xff)<<24))
local unsigned long crc32_little OF((unsigned long,
const unsigned char FAR *, unsigned));
local unsigned long crc32_big OF((unsigned long,
const unsigned char FAR *, unsigned));
# define TBLS 8
#else
# define TBLS 1
#endif /* BYFOUR */
/* Local functions for crc concatenation */
local unsigned long gf2_matrix_times OF((unsigned long *mat,
unsigned long vec));
local void gf2_matrix_square OF((unsigned long *square, unsigned long *mat));
#ifdef DYNAMIC_CRC_TABLE
local volatile int crc_table_empty = 1;
local unsigned long FAR crc_table[TBLS][256];
local void make_crc_table OF((void));
#ifdef MAKECRCH
local void write_table OF((FILE *, const unsigned long FAR *));
#endif /* MAKECRCH */
/*
Generate tables for a byte-wise 32-bit CRC calculation on the polynomial:
x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1.
Polynomials over GF(2) are represented in binary, one bit per coefficient,
with the lowest powers in the most significant bit. Then adding polynomials
is just exclusive-or, and multiplying a polynomial by x is a right shift by
one. If we call the above polynomial p, and represent a byte as the
polynomial q, also with the lowest power in the most significant bit (so the
byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p,
where a mod b means the remainder after dividing a by b.
This calculation is done using the shift-register method of multiplying and
taking the remainder. The register is initialized to zero, and for each
incoming bit, x^32 is added mod p to the register if the bit is a one (where
x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by
x (which is shifting right by one and adding x^32 mod p if the bit shifted
out is a one). We start with the highest power (least significant bit) of
q and repeat for all eight bits of q.
The first table is simply the CRC of all possible eight bit values. This is
all the information needed to generate CRCs on data a byte at a time for all
combinations of CRC register values and incoming bytes. The remaining tables
allow for word-at-a-time CRC calculation for both big-endian and little-
endian machines, where a word is four bytes.
*/
local void make_crc_table()
{
unsigned long c;
int n, k;
unsigned long poly; /* polynomial exclusive-or pattern */
/* terms of polynomial defining this crc (except x^32): */
static volatile int first = 1; /* flag to limit concurrent making */
static const unsigned char p[] = {0,1,2,4,5,7,8,10,11,12,16,22,23,26};
/* See if another task is already doing this (not thread-safe, but better
than nothing -- significantly reduces duration of vulnerability in
case the advice about DYNAMIC_CRC_TABLE is ignored) */
if (first) {
first = 0;
/* make exclusive-or pattern from polynomial (0xedb88320UL) */
poly = 0UL;
for (n = 0; n < sizeof(p)/sizeof(unsigned char); n++)
poly |= 1UL << (31 - p[n]);
/* generate a crc for every 8-bit value */
for (n = 0; n < 256; n++) {
c = (unsigned long)n;
for (k = 0; k < 8; k++)
c = c & 1 ? poly ^ (c >> 1) : c >> 1;
crc_table[0][n] = c;
}
#ifdef BYFOUR
/* generate crc for each value followed by one, two, and three zeros,
and then the byte reversal of those as well as the first table */
for (n = 0; n < 256; n++) {
c = crc_table[0][n];
crc_table[4][n] = REV(c);
for (k = 1; k < 4; k++) {
c = crc_table[0][c & 0xff] ^ (c >> 8);
crc_table[k][n] = c;
crc_table[k + 4][n] = REV(c);
}
}
#endif /* BYFOUR */
crc_table_empty = 0;
}
else { /* not first */
/* wait for the other guy to finish (not efficient, but rare) */
while (crc_table_empty)
;
}
#ifdef MAKECRCH
/* write out CRC tables to crc32.h */
{
FILE *out;
out = fopen("crc32.h", "w");
if (out == NULL) return;
fprintf(out, "/* crc32.h -- tables for rapid CRC calculation\n");
fprintf(out, " * Generated automatically by crc32.c\n */\n\n");
fprintf(out, "local const unsigned long FAR ");
fprintf(out, "crc_table[TBLS][256] =\n{\n {\n");
write_table(out, crc_table[0]);
# ifdef BYFOUR
fprintf(out, "#ifdef BYFOUR\n");
for (k = 1; k < 8; k++) {
fprintf(out, " },\n {\n");
write_table(out, crc_table[k]);
}
fprintf(out, "#endif\n");
# endif /* BYFOUR */
fprintf(out, " }\n};\n");
fclose(out);
}
#endif /* MAKECRCH */
}
#ifdef MAKECRCH
local void write_table(out, table)
FILE *out;
const unsigned long FAR *table;
{
int n;
for (n = 0; n < 256; n++)
fprintf(out, "%s0x%08lxUL%s", n % 5 ? "" : " ", table[n],
n == 255 ? "\n" : (n % 5 == 4 ? ",\n" : ", "));
}
#endif /* MAKECRCH */
#else /* !DYNAMIC_CRC_TABLE */
/* ========================================================================
* Tables of CRC-32s of all single-byte values, made by make_crc_table().
*/
#include "crc32.h"
#endif /* DYNAMIC_CRC_TABLE */
/* =========================================================================
* This function can be used by asm versions of crc32()
*/
const unsigned long FAR * ZEXPORT get_crc_table()
{
#ifdef DYNAMIC_CRC_TABLE
if (crc_table_empty)
make_crc_table();
#endif /* DYNAMIC_CRC_TABLE */
return (const unsigned long FAR *)crc_table;
}
/* ========================================================================= */
#define DO1 crc = crc_table[0][((int)crc ^ (*buf++)) & 0xff] ^ (crc >> 8)
#define DO8 DO1; DO1; DO1; DO1; DO1; DO1; DO1; DO1
/* ========================================================================= */
unsigned long ZEXPORT crc32(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
unsigned len;
{
if (buf == Z_NULL) return 0UL;
#ifdef DYNAMIC_CRC_TABLE
if (crc_table_empty)
make_crc_table();
#endif /* DYNAMIC_CRC_TABLE */
#ifdef BYFOUR
if (sizeof(void *) == sizeof(ptrdiff_t)) {
u4 endian;
endian = 1;
if (*((unsigned char *)(&endian)))
return crc32_little(crc, buf, len);
else
return crc32_big(crc, buf, len);
}
#endif /* BYFOUR */
crc = crc ^ 0xffffffffUL;
while (len >= 8) {
DO8;
len -= 8;
}
if (len) do {
DO1;
} while (--len);
return crc ^ 0xffffffffUL;
}
#ifdef BYFOUR
/* ========================================================================= */
#define DOLIT4 c ^= *buf4++; \
c = crc_table[3][c & 0xff] ^ crc_table[2][(c >> 8) & 0xff] ^ \
crc_table[1][(c >> 16) & 0xff] ^ crc_table[0][c >> 24]
#define DOLIT32 DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4; DOLIT4
/* ========================================================================= */
local unsigned long crc32_little(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
unsigned len;
{
register u4 c;
register const u4 FAR *buf4;
c = (u4)crc;
c = ~c;
while (len && ((ptrdiff_t)buf & 3)) {
c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
len--;
}
buf4 = (const u4 FAR *)(const void FAR *)buf;
while (len >= 32) {
DOLIT32;
len -= 32;
}
while (len >= 4) {
DOLIT4;
len -= 4;
}
buf = (const unsigned char FAR *)buf4;
if (len) do {
c = crc_table[0][(c ^ *buf++) & 0xff] ^ (c >> 8);
} while (--len);
c = ~c;
return (unsigned long)c;
}
/* ========================================================================= */
#define DOBIG4 c ^= *++buf4; \
c = crc_table[4][c & 0xff] ^ crc_table[5][(c >> 8) & 0xff] ^ \
crc_table[6][(c >> 16) & 0xff] ^ crc_table[7][c >> 24]
#define DOBIG32 DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4; DOBIG4
/* ========================================================================= */
local unsigned long crc32_big(crc, buf, len)
unsigned long crc;
const unsigned char FAR *buf;
unsigned len;
{
register u4 c;
register const u4 FAR *buf4;
c = REV((u4)crc);
c = ~c;
while (len && ((ptrdiff_t)buf & 3)) {
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
len--;
}
buf4 = (const u4 FAR *)(const void FAR *)buf;
buf4--;
while (len >= 32) {
DOBIG32;
len -= 32;
}
while (len >= 4) {
DOBIG4;
len -= 4;
}
buf4++;
buf = (const unsigned char FAR *)buf4;
if (len) do {
c = crc_table[4][(c >> 24) ^ *buf++] ^ (c << 8);
} while (--len);
c = ~c;
return (unsigned long)(REV(c));
}
#endif /* BYFOUR */
#define GF2_DIM 32 /* dimension of GF(2) vectors (length of CRC) */
/* ========================================================================= */
local unsigned long gf2_matrix_times(mat, vec)
unsigned long *mat;
unsigned long vec;
{
unsigned long sum;
sum = 0;
while (vec) {
if (vec & 1)
sum ^= *mat;
vec >>= 1;
mat++;
}
return sum;
}
/* ========================================================================= */
local void gf2_matrix_square(square, mat)
unsigned long *square;
unsigned long *mat;
{
int n;
for (n = 0; n < GF2_DIM; n++)
square[n] = gf2_matrix_times(mat, mat[n]);
}
/* ========================================================================= */
uLong ZEXPORT crc32_combine(crc1, crc2, len2)
uLong crc1;
uLong crc2;
z_off_t len2;
{
int n;
unsigned long row;
unsigned long even[GF2_DIM]; /* even-power-of-two zeros operator */
unsigned long odd[GF2_DIM]; /* odd-power-of-two zeros operator */
/* degenerate case */
if (len2 == 0)
return crc1;
/* put operator for one zero bit in odd */
odd[0] = 0xedb88320L; /* CRC-32 polynomial */
row = 1;
for (n = 1; n < GF2_DIM; n++) {
odd[n] = row;
row <<= 1;
}
/* put operator for two zero bits in even */
gf2_matrix_square(even, odd);
/* put operator for four zero bits in odd */
gf2_matrix_square(odd, even);
/* apply len2 zeros to crc1 (first square will put the operator for one
zero byte, eight zero bits, in even) */
do {
/* apply zeros operator for this bit of len2 */
gf2_matrix_square(even, odd);
if (len2 & 1)
crc1 = gf2_matrix_times(even, crc1);
len2 >>= 1;
/* if no more bits set, then done */
if (len2 == 0)
break;
/* another iteration of the loop with odd and even swapped */
gf2_matrix_square(odd, even);
if (len2 & 1)
crc1 = gf2_matrix_times(odd, crc1);
len2 >>= 1;
/* if no more bits set, then done */
} while (len2 != 0);
/* return combined crc */
crc1 ^= crc2;
return crc1;
}

441
romcnv/src/zlib/crc32.h Normal file
View File

@ -0,0 +1,441 @@
/* crc32.h -- tables for rapid CRC calculation
* Generated automatically by crc32.c
*/
local const unsigned long FAR crc_table[TBLS][256] =
{
{
0x00000000UL, 0x77073096UL, 0xee0e612cUL, 0x990951baUL, 0x076dc419UL,
0x706af48fUL, 0xe963a535UL, 0x9e6495a3UL, 0x0edb8832UL, 0x79dcb8a4UL,
0xe0d5e91eUL, 0x97d2d988UL, 0x09b64c2bUL, 0x7eb17cbdUL, 0xe7b82d07UL,
0x90bf1d91UL, 0x1db71064UL, 0x6ab020f2UL, 0xf3b97148UL, 0x84be41deUL,
0x1adad47dUL, 0x6ddde4ebUL, 0xf4d4b551UL, 0x83d385c7UL, 0x136c9856UL,
0x646ba8c0UL, 0xfd62f97aUL, 0x8a65c9ecUL, 0x14015c4fUL, 0x63066cd9UL,
0xfa0f3d63UL, 0x8d080df5UL, 0x3b6e20c8UL, 0x4c69105eUL, 0xd56041e4UL,
0xa2677172UL, 0x3c03e4d1UL, 0x4b04d447UL, 0xd20d85fdUL, 0xa50ab56bUL,
0x35b5a8faUL, 0x42b2986cUL, 0xdbbbc9d6UL, 0xacbcf940UL, 0x32d86ce3UL,
0x45df5c75UL, 0xdcd60dcfUL, 0xabd13d59UL, 0x26d930acUL, 0x51de003aUL,
0xc8d75180UL, 0xbfd06116UL, 0x21b4f4b5UL, 0x56b3c423UL, 0xcfba9599UL,
0xb8bda50fUL, 0x2802b89eUL, 0x5f058808UL, 0xc60cd9b2UL, 0xb10be924UL,
0x2f6f7c87UL, 0x58684c11UL, 0xc1611dabUL, 0xb6662d3dUL, 0x76dc4190UL,
0x01db7106UL, 0x98d220bcUL, 0xefd5102aUL, 0x71b18589UL, 0x06b6b51fUL,
0x9fbfe4a5UL, 0xe8b8d433UL, 0x7807c9a2UL, 0x0f00f934UL, 0x9609a88eUL,
0xe10e9818UL, 0x7f6a0dbbUL, 0x086d3d2dUL, 0x91646c97UL, 0xe6635c01UL,
0x6b6b51f4UL, 0x1c6c6162UL, 0x856530d8UL, 0xf262004eUL, 0x6c0695edUL,
0x1b01a57bUL, 0x8208f4c1UL, 0xf50fc457UL, 0x65b0d9c6UL, 0x12b7e950UL,
0x8bbeb8eaUL, 0xfcb9887cUL, 0x62dd1ddfUL, 0x15da2d49UL, 0x8cd37cf3UL,
0xfbd44c65UL, 0x4db26158UL, 0x3ab551ceUL, 0xa3bc0074UL, 0xd4bb30e2UL,
0x4adfa541UL, 0x3dd895d7UL, 0xa4d1c46dUL, 0xd3d6f4fbUL, 0x4369e96aUL,
0x346ed9fcUL, 0xad678846UL, 0xda60b8d0UL, 0x44042d73UL, 0x33031de5UL,
0xaa0a4c5fUL, 0xdd0d7cc9UL, 0x5005713cUL, 0x270241aaUL, 0xbe0b1010UL,
0xc90c2086UL, 0x5768b525UL, 0x206f85b3UL, 0xb966d409UL, 0xce61e49fUL,
0x5edef90eUL, 0x29d9c998UL, 0xb0d09822UL, 0xc7d7a8b4UL, 0x59b33d17UL,
0x2eb40d81UL, 0xb7bd5c3bUL, 0xc0ba6cadUL, 0xedb88320UL, 0x9abfb3b6UL,
0x03b6e20cUL, 0x74b1d29aUL, 0xead54739UL, 0x9dd277afUL, 0x04db2615UL,
0x73dc1683UL, 0xe3630b12UL, 0x94643b84UL, 0x0d6d6a3eUL, 0x7a6a5aa8UL,
0xe40ecf0bUL, 0x9309ff9dUL, 0x0a00ae27UL, 0x7d079eb1UL, 0xf00f9344UL,
0x8708a3d2UL, 0x1e01f268UL, 0x6906c2feUL, 0xf762575dUL, 0x806567cbUL,
0x196c3671UL, 0x6e6b06e7UL, 0xfed41b76UL, 0x89d32be0UL, 0x10da7a5aUL,
0x67dd4accUL, 0xf9b9df6fUL, 0x8ebeeff9UL, 0x17b7be43UL, 0x60b08ed5UL,
0xd6d6a3e8UL, 0xa1d1937eUL, 0x38d8c2c4UL, 0x4fdff252UL, 0xd1bb67f1UL,
0xa6bc5767UL, 0x3fb506ddUL, 0x48b2364bUL, 0xd80d2bdaUL, 0xaf0a1b4cUL,
0x36034af6UL, 0x41047a60UL, 0xdf60efc3UL, 0xa867df55UL, 0x316e8eefUL,
0x4669be79UL, 0xcb61b38cUL, 0xbc66831aUL, 0x256fd2a0UL, 0x5268e236UL,
0xcc0c7795UL, 0xbb0b4703UL, 0x220216b9UL, 0x5505262fUL, 0xc5ba3bbeUL,
0xb2bd0b28UL, 0x2bb45a92UL, 0x5cb36a04UL, 0xc2d7ffa7UL, 0xb5d0cf31UL,
0x2cd99e8bUL, 0x5bdeae1dUL, 0x9b64c2b0UL, 0xec63f226UL, 0x756aa39cUL,
0x026d930aUL, 0x9c0906a9UL, 0xeb0e363fUL, 0x72076785UL, 0x05005713UL,
0x95bf4a82UL, 0xe2b87a14UL, 0x7bb12baeUL, 0x0cb61b38UL, 0x92d28e9bUL,
0xe5d5be0dUL, 0x7cdcefb7UL, 0x0bdbdf21UL, 0x86d3d2d4UL, 0xf1d4e242UL,
0x68ddb3f8UL, 0x1fda836eUL, 0x81be16cdUL, 0xf6b9265bUL, 0x6fb077e1UL,
0x18b74777UL, 0x88085ae6UL, 0xff0f6a70UL, 0x66063bcaUL, 0x11010b5cUL,
0x8f659effUL, 0xf862ae69UL, 0x616bffd3UL, 0x166ccf45UL, 0xa00ae278UL,
0xd70dd2eeUL, 0x4e048354UL, 0x3903b3c2UL, 0xa7672661UL, 0xd06016f7UL,
0x4969474dUL, 0x3e6e77dbUL, 0xaed16a4aUL, 0xd9d65adcUL, 0x40df0b66UL,
0x37d83bf0UL, 0xa9bcae53UL, 0xdebb9ec5UL, 0x47b2cf7fUL, 0x30b5ffe9UL,
0xbdbdf21cUL, 0xcabac28aUL, 0x53b39330UL, 0x24b4a3a6UL, 0xbad03605UL,
0xcdd70693UL, 0x54de5729UL, 0x23d967bfUL, 0xb3667a2eUL, 0xc4614ab8UL,
0x5d681b02UL, 0x2a6f2b94UL, 0xb40bbe37UL, 0xc30c8ea1UL, 0x5a05df1bUL,
0x2d02ef8dUL
#ifdef BYFOUR
},
{
0x00000000UL, 0x191b3141UL, 0x32366282UL, 0x2b2d53c3UL, 0x646cc504UL,
0x7d77f445UL, 0x565aa786UL, 0x4f4196c7UL, 0xc8d98a08UL, 0xd1c2bb49UL,
0xfaefe88aUL, 0xe3f4d9cbUL, 0xacb54f0cUL, 0xb5ae7e4dUL, 0x9e832d8eUL,
0x87981ccfUL, 0x4ac21251UL, 0x53d92310UL, 0x78f470d3UL, 0x61ef4192UL,
0x2eaed755UL, 0x37b5e614UL, 0x1c98b5d7UL, 0x05838496UL, 0x821b9859UL,
0x9b00a918UL, 0xb02dfadbUL, 0xa936cb9aUL, 0xe6775d5dUL, 0xff6c6c1cUL,
0xd4413fdfUL, 0xcd5a0e9eUL, 0x958424a2UL, 0x8c9f15e3UL, 0xa7b24620UL,
0xbea97761UL, 0xf1e8e1a6UL, 0xe8f3d0e7UL, 0xc3de8324UL, 0xdac5b265UL,
0x5d5daeaaUL, 0x44469febUL, 0x6f6bcc28UL, 0x7670fd69UL, 0x39316baeUL,
0x202a5aefUL, 0x0b07092cUL, 0x121c386dUL, 0xdf4636f3UL, 0xc65d07b2UL,
0xed705471UL, 0xf46b6530UL, 0xbb2af3f7UL, 0xa231c2b6UL, 0x891c9175UL,
0x9007a034UL, 0x179fbcfbUL, 0x0e848dbaUL, 0x25a9de79UL, 0x3cb2ef38UL,
0x73f379ffUL, 0x6ae848beUL, 0x41c51b7dUL, 0x58de2a3cUL, 0xf0794f05UL,
0xe9627e44UL, 0xc24f2d87UL, 0xdb541cc6UL, 0x94158a01UL, 0x8d0ebb40UL,
0xa623e883UL, 0xbf38d9c2UL, 0x38a0c50dUL, 0x21bbf44cUL, 0x0a96a78fUL,
0x138d96ceUL, 0x5ccc0009UL, 0x45d73148UL, 0x6efa628bUL, 0x77e153caUL,
0xbabb5d54UL, 0xa3a06c15UL, 0x888d3fd6UL, 0x91960e97UL, 0xded79850UL,
0xc7cca911UL, 0xece1fad2UL, 0xf5facb93UL, 0x7262d75cUL, 0x6b79e61dUL,
0x4054b5deUL, 0x594f849fUL, 0x160e1258UL, 0x0f152319UL, 0x243870daUL,
0x3d23419bUL, 0x65fd6ba7UL, 0x7ce65ae6UL, 0x57cb0925UL, 0x4ed03864UL,
0x0191aea3UL, 0x188a9fe2UL, 0x33a7cc21UL, 0x2abcfd60UL, 0xad24e1afUL,
0xb43fd0eeUL, 0x9f12832dUL, 0x8609b26cUL, 0xc94824abUL, 0xd05315eaUL,
0xfb7e4629UL, 0xe2657768UL, 0x2f3f79f6UL, 0x362448b7UL, 0x1d091b74UL,
0x04122a35UL, 0x4b53bcf2UL, 0x52488db3UL, 0x7965de70UL, 0x607eef31UL,
0xe7e6f3feUL, 0xfefdc2bfUL, 0xd5d0917cUL, 0xcccba03dUL, 0x838a36faUL,
0x9a9107bbUL, 0xb1bc5478UL, 0xa8a76539UL, 0x3b83984bUL, 0x2298a90aUL,
0x09b5fac9UL, 0x10aecb88UL, 0x5fef5d4fUL, 0x46f46c0eUL, 0x6dd93fcdUL,
0x74c20e8cUL, 0xf35a1243UL, 0xea412302UL, 0xc16c70c1UL, 0xd8774180UL,
0x9736d747UL, 0x8e2de606UL, 0xa500b5c5UL, 0xbc1b8484UL, 0x71418a1aUL,
0x685abb5bUL, 0x4377e898UL, 0x5a6cd9d9UL, 0x152d4f1eUL, 0x0c367e5fUL,
0x271b2d9cUL, 0x3e001cddUL, 0xb9980012UL, 0xa0833153UL, 0x8bae6290UL,
0x92b553d1UL, 0xddf4c516UL, 0xc4eff457UL, 0xefc2a794UL, 0xf6d996d5UL,
0xae07bce9UL, 0xb71c8da8UL, 0x9c31de6bUL, 0x852aef2aUL, 0xca6b79edUL,
0xd37048acUL, 0xf85d1b6fUL, 0xe1462a2eUL, 0x66de36e1UL, 0x7fc507a0UL,
0x54e85463UL, 0x4df36522UL, 0x02b2f3e5UL, 0x1ba9c2a4UL, 0x30849167UL,
0x299fa026UL, 0xe4c5aeb8UL, 0xfdde9ff9UL, 0xd6f3cc3aUL, 0xcfe8fd7bUL,
0x80a96bbcUL, 0x99b25afdUL, 0xb29f093eUL, 0xab84387fUL, 0x2c1c24b0UL,
0x350715f1UL, 0x1e2a4632UL, 0x07317773UL, 0x4870e1b4UL, 0x516bd0f5UL,
0x7a468336UL, 0x635db277UL, 0xcbfad74eUL, 0xd2e1e60fUL, 0xf9ccb5ccUL,
0xe0d7848dUL, 0xaf96124aUL, 0xb68d230bUL, 0x9da070c8UL, 0x84bb4189UL,
0x03235d46UL, 0x1a386c07UL, 0x31153fc4UL, 0x280e0e85UL, 0x674f9842UL,
0x7e54a903UL, 0x5579fac0UL, 0x4c62cb81UL, 0x8138c51fUL, 0x9823f45eUL,
0xb30ea79dUL, 0xaa1596dcUL, 0xe554001bUL, 0xfc4f315aUL, 0xd7626299UL,
0xce7953d8UL, 0x49e14f17UL, 0x50fa7e56UL, 0x7bd72d95UL, 0x62cc1cd4UL,
0x2d8d8a13UL, 0x3496bb52UL, 0x1fbbe891UL, 0x06a0d9d0UL, 0x5e7ef3ecUL,
0x4765c2adUL, 0x6c48916eUL, 0x7553a02fUL, 0x3a1236e8UL, 0x230907a9UL,
0x0824546aUL, 0x113f652bUL, 0x96a779e4UL, 0x8fbc48a5UL, 0xa4911b66UL,
0xbd8a2a27UL, 0xf2cbbce0UL, 0xebd08da1UL, 0xc0fdde62UL, 0xd9e6ef23UL,
0x14bce1bdUL, 0x0da7d0fcUL, 0x268a833fUL, 0x3f91b27eUL, 0x70d024b9UL,
0x69cb15f8UL, 0x42e6463bUL, 0x5bfd777aUL, 0xdc656bb5UL, 0xc57e5af4UL,
0xee530937UL, 0xf7483876UL, 0xb809aeb1UL, 0xa1129ff0UL, 0x8a3fcc33UL,
0x9324fd72UL
},
{
0x00000000UL, 0x01c26a37UL, 0x0384d46eUL, 0x0246be59UL, 0x0709a8dcUL,
0x06cbc2ebUL, 0x048d7cb2UL, 0x054f1685UL, 0x0e1351b8UL, 0x0fd13b8fUL,
0x0d9785d6UL, 0x0c55efe1UL, 0x091af964UL, 0x08d89353UL, 0x0a9e2d0aUL,
0x0b5c473dUL, 0x1c26a370UL, 0x1de4c947UL, 0x1fa2771eUL, 0x1e601d29UL,
0x1b2f0bacUL, 0x1aed619bUL, 0x18abdfc2UL, 0x1969b5f5UL, 0x1235f2c8UL,
0x13f798ffUL, 0x11b126a6UL, 0x10734c91UL, 0x153c5a14UL, 0x14fe3023UL,
0x16b88e7aUL, 0x177ae44dUL, 0x384d46e0UL, 0x398f2cd7UL, 0x3bc9928eUL,
0x3a0bf8b9UL, 0x3f44ee3cUL, 0x3e86840bUL, 0x3cc03a52UL, 0x3d025065UL,
0x365e1758UL, 0x379c7d6fUL, 0x35dac336UL, 0x3418a901UL, 0x3157bf84UL,
0x3095d5b3UL, 0x32d36beaUL, 0x331101ddUL, 0x246be590UL, 0x25a98fa7UL,
0x27ef31feUL, 0x262d5bc9UL, 0x23624d4cUL, 0x22a0277bUL, 0x20e69922UL,
0x2124f315UL, 0x2a78b428UL, 0x2bbade1fUL, 0x29fc6046UL, 0x283e0a71UL,
0x2d711cf4UL, 0x2cb376c3UL, 0x2ef5c89aUL, 0x2f37a2adUL, 0x709a8dc0UL,
0x7158e7f7UL, 0x731e59aeUL, 0x72dc3399UL, 0x7793251cUL, 0x76514f2bUL,
0x7417f172UL, 0x75d59b45UL, 0x7e89dc78UL, 0x7f4bb64fUL, 0x7d0d0816UL,
0x7ccf6221UL, 0x798074a4UL, 0x78421e93UL, 0x7a04a0caUL, 0x7bc6cafdUL,
0x6cbc2eb0UL, 0x6d7e4487UL, 0x6f38fadeUL, 0x6efa90e9UL, 0x6bb5866cUL,
0x6a77ec5bUL, 0x68315202UL, 0x69f33835UL, 0x62af7f08UL, 0x636d153fUL,
0x612bab66UL, 0x60e9c151UL, 0x65a6d7d4UL, 0x6464bde3UL, 0x662203baUL,
0x67e0698dUL, 0x48d7cb20UL, 0x4915a117UL, 0x4b531f4eUL, 0x4a917579UL,
0x4fde63fcUL, 0x4e1c09cbUL, 0x4c5ab792UL, 0x4d98dda5UL, 0x46c49a98UL,
0x4706f0afUL, 0x45404ef6UL, 0x448224c1UL, 0x41cd3244UL, 0x400f5873UL,
0x4249e62aUL, 0x438b8c1dUL, 0x54f16850UL, 0x55330267UL, 0x5775bc3eUL,
0x56b7d609UL, 0x53f8c08cUL, 0x523aaabbUL, 0x507c14e2UL, 0x51be7ed5UL,
0x5ae239e8UL, 0x5b2053dfUL, 0x5966ed86UL, 0x58a487b1UL, 0x5deb9134UL,
0x5c29fb03UL, 0x5e6f455aUL, 0x5fad2f6dUL, 0xe1351b80UL, 0xe0f771b7UL,
0xe2b1cfeeUL, 0xe373a5d9UL, 0xe63cb35cUL, 0xe7fed96bUL, 0xe5b86732UL,
0xe47a0d05UL, 0xef264a38UL, 0xeee4200fUL, 0xeca29e56UL, 0xed60f461UL,
0xe82fe2e4UL, 0xe9ed88d3UL, 0xebab368aUL, 0xea695cbdUL, 0xfd13b8f0UL,
0xfcd1d2c7UL, 0xfe976c9eUL, 0xff5506a9UL, 0xfa1a102cUL, 0xfbd87a1bUL,
0xf99ec442UL, 0xf85cae75UL, 0xf300e948UL, 0xf2c2837fUL, 0xf0843d26UL,
0xf1465711UL, 0xf4094194UL, 0xf5cb2ba3UL, 0xf78d95faUL, 0xf64fffcdUL,
0xd9785d60UL, 0xd8ba3757UL, 0xdafc890eUL, 0xdb3ee339UL, 0xde71f5bcUL,
0xdfb39f8bUL, 0xddf521d2UL, 0xdc374be5UL, 0xd76b0cd8UL, 0xd6a966efUL,
0xd4efd8b6UL, 0xd52db281UL, 0xd062a404UL, 0xd1a0ce33UL, 0xd3e6706aUL,
0xd2241a5dUL, 0xc55efe10UL, 0xc49c9427UL, 0xc6da2a7eUL, 0xc7184049UL,
0xc25756ccUL, 0xc3953cfbUL, 0xc1d382a2UL, 0xc011e895UL, 0xcb4dafa8UL,
0xca8fc59fUL, 0xc8c97bc6UL, 0xc90b11f1UL, 0xcc440774UL, 0xcd866d43UL,
0xcfc0d31aUL, 0xce02b92dUL, 0x91af9640UL, 0x906dfc77UL, 0x922b422eUL,
0x93e92819UL, 0x96a63e9cUL, 0x976454abUL, 0x9522eaf2UL, 0x94e080c5UL,
0x9fbcc7f8UL, 0x9e7eadcfUL, 0x9c381396UL, 0x9dfa79a1UL, 0x98b56f24UL,
0x99770513UL, 0x9b31bb4aUL, 0x9af3d17dUL, 0x8d893530UL, 0x8c4b5f07UL,
0x8e0de15eUL, 0x8fcf8b69UL, 0x8a809decUL, 0x8b42f7dbUL, 0x89044982UL,
0x88c623b5UL, 0x839a6488UL, 0x82580ebfUL, 0x801eb0e6UL, 0x81dcdad1UL,
0x8493cc54UL, 0x8551a663UL, 0x8717183aUL, 0x86d5720dUL, 0xa9e2d0a0UL,
0xa820ba97UL, 0xaa6604ceUL, 0xaba46ef9UL, 0xaeeb787cUL, 0xaf29124bUL,
0xad6fac12UL, 0xacadc625UL, 0xa7f18118UL, 0xa633eb2fUL, 0xa4755576UL,
0xa5b73f41UL, 0xa0f829c4UL, 0xa13a43f3UL, 0xa37cfdaaUL, 0xa2be979dUL,
0xb5c473d0UL, 0xb40619e7UL, 0xb640a7beUL, 0xb782cd89UL, 0xb2cddb0cUL,
0xb30fb13bUL, 0xb1490f62UL, 0xb08b6555UL, 0xbbd72268UL, 0xba15485fUL,
0xb853f606UL, 0xb9919c31UL, 0xbcde8ab4UL, 0xbd1ce083UL, 0xbf5a5edaUL,
0xbe9834edUL
},
{
0x00000000UL, 0xb8bc6765UL, 0xaa09c88bUL, 0x12b5afeeUL, 0x8f629757UL,
0x37def032UL, 0x256b5fdcUL, 0x9dd738b9UL, 0xc5b428efUL, 0x7d084f8aUL,
0x6fbde064UL, 0xd7018701UL, 0x4ad6bfb8UL, 0xf26ad8ddUL, 0xe0df7733UL,
0x58631056UL, 0x5019579fUL, 0xe8a530faUL, 0xfa109f14UL, 0x42acf871UL,
0xdf7bc0c8UL, 0x67c7a7adUL, 0x75720843UL, 0xcdce6f26UL, 0x95ad7f70UL,
0x2d111815UL, 0x3fa4b7fbUL, 0x8718d09eUL, 0x1acfe827UL, 0xa2738f42UL,
0xb0c620acUL, 0x087a47c9UL, 0xa032af3eUL, 0x188ec85bUL, 0x0a3b67b5UL,
0xb28700d0UL, 0x2f503869UL, 0x97ec5f0cUL, 0x8559f0e2UL, 0x3de59787UL,
0x658687d1UL, 0xdd3ae0b4UL, 0xcf8f4f5aUL, 0x7733283fUL, 0xeae41086UL,
0x525877e3UL, 0x40edd80dUL, 0xf851bf68UL, 0xf02bf8a1UL, 0x48979fc4UL,
0x5a22302aUL, 0xe29e574fUL, 0x7f496ff6UL, 0xc7f50893UL, 0xd540a77dUL,
0x6dfcc018UL, 0x359fd04eUL, 0x8d23b72bUL, 0x9f9618c5UL, 0x272a7fa0UL,
0xbafd4719UL, 0x0241207cUL, 0x10f48f92UL, 0xa848e8f7UL, 0x9b14583dUL,
0x23a83f58UL, 0x311d90b6UL, 0x89a1f7d3UL, 0x1476cf6aUL, 0xaccaa80fUL,
0xbe7f07e1UL, 0x06c36084UL, 0x5ea070d2UL, 0xe61c17b7UL, 0xf4a9b859UL,
0x4c15df3cUL, 0xd1c2e785UL, 0x697e80e0UL, 0x7bcb2f0eUL, 0xc377486bUL,
0xcb0d0fa2UL, 0x73b168c7UL, 0x6104c729UL, 0xd9b8a04cUL, 0x446f98f5UL,
0xfcd3ff90UL, 0xee66507eUL, 0x56da371bUL, 0x0eb9274dUL, 0xb6054028UL,
0xa4b0efc6UL, 0x1c0c88a3UL, 0x81dbb01aUL, 0x3967d77fUL, 0x2bd27891UL,
0x936e1ff4UL, 0x3b26f703UL, 0x839a9066UL, 0x912f3f88UL, 0x299358edUL,
0xb4446054UL, 0x0cf80731UL, 0x1e4da8dfUL, 0xa6f1cfbaUL, 0xfe92dfecUL,
0x462eb889UL, 0x549b1767UL, 0xec277002UL, 0x71f048bbUL, 0xc94c2fdeUL,
0xdbf98030UL, 0x6345e755UL, 0x6b3fa09cUL, 0xd383c7f9UL, 0xc1366817UL,
0x798a0f72UL, 0xe45d37cbUL, 0x5ce150aeUL, 0x4e54ff40UL, 0xf6e89825UL,
0xae8b8873UL, 0x1637ef16UL, 0x048240f8UL, 0xbc3e279dUL, 0x21e91f24UL,
0x99557841UL, 0x8be0d7afUL, 0x335cb0caUL, 0xed59b63bUL, 0x55e5d15eUL,
0x47507eb0UL, 0xffec19d5UL, 0x623b216cUL, 0xda874609UL, 0xc832e9e7UL,
0x708e8e82UL, 0x28ed9ed4UL, 0x9051f9b1UL, 0x82e4565fUL, 0x3a58313aUL,
0xa78f0983UL, 0x1f336ee6UL, 0x0d86c108UL, 0xb53aa66dUL, 0xbd40e1a4UL,
0x05fc86c1UL, 0x1749292fUL, 0xaff54e4aUL, 0x322276f3UL, 0x8a9e1196UL,
0x982bbe78UL, 0x2097d91dUL, 0x78f4c94bUL, 0xc048ae2eUL, 0xd2fd01c0UL,
0x6a4166a5UL, 0xf7965e1cUL, 0x4f2a3979UL, 0x5d9f9697UL, 0xe523f1f2UL,
0x4d6b1905UL, 0xf5d77e60UL, 0xe762d18eUL, 0x5fdeb6ebUL, 0xc2098e52UL,
0x7ab5e937UL, 0x680046d9UL, 0xd0bc21bcUL, 0x88df31eaUL, 0x3063568fUL,
0x22d6f961UL, 0x9a6a9e04UL, 0x07bda6bdUL, 0xbf01c1d8UL, 0xadb46e36UL,
0x15080953UL, 0x1d724e9aUL, 0xa5ce29ffUL, 0xb77b8611UL, 0x0fc7e174UL,
0x9210d9cdUL, 0x2aacbea8UL, 0x38191146UL, 0x80a57623UL, 0xd8c66675UL,
0x607a0110UL, 0x72cfaefeUL, 0xca73c99bUL, 0x57a4f122UL, 0xef189647UL,
0xfdad39a9UL, 0x45115eccUL, 0x764dee06UL, 0xcef18963UL, 0xdc44268dUL,
0x64f841e8UL, 0xf92f7951UL, 0x41931e34UL, 0x5326b1daUL, 0xeb9ad6bfUL,
0xb3f9c6e9UL, 0x0b45a18cUL, 0x19f00e62UL, 0xa14c6907UL, 0x3c9b51beUL,
0x842736dbUL, 0x96929935UL, 0x2e2efe50UL, 0x2654b999UL, 0x9ee8defcUL,
0x8c5d7112UL, 0x34e11677UL, 0xa9362eceUL, 0x118a49abUL, 0x033fe645UL,
0xbb838120UL, 0xe3e09176UL, 0x5b5cf613UL, 0x49e959fdUL, 0xf1553e98UL,
0x6c820621UL, 0xd43e6144UL, 0xc68bceaaUL, 0x7e37a9cfUL, 0xd67f4138UL,
0x6ec3265dUL, 0x7c7689b3UL, 0xc4caeed6UL, 0x591dd66fUL, 0xe1a1b10aUL,
0xf3141ee4UL, 0x4ba87981UL, 0x13cb69d7UL, 0xab770eb2UL, 0xb9c2a15cUL,
0x017ec639UL, 0x9ca9fe80UL, 0x241599e5UL, 0x36a0360bUL, 0x8e1c516eUL,
0x866616a7UL, 0x3eda71c2UL, 0x2c6fde2cUL, 0x94d3b949UL, 0x090481f0UL,
0xb1b8e695UL, 0xa30d497bUL, 0x1bb12e1eUL, 0x43d23e48UL, 0xfb6e592dUL,
0xe9dbf6c3UL, 0x516791a6UL, 0xccb0a91fUL, 0x740cce7aUL, 0x66b96194UL,
0xde0506f1UL
},
{
0x00000000UL, 0x96300777UL, 0x2c610eeeUL, 0xba510999UL, 0x19c46d07UL,
0x8ff46a70UL, 0x35a563e9UL, 0xa395649eUL, 0x3288db0eUL, 0xa4b8dc79UL,
0x1ee9d5e0UL, 0x88d9d297UL, 0x2b4cb609UL, 0xbd7cb17eUL, 0x072db8e7UL,
0x911dbf90UL, 0x6410b71dUL, 0xf220b06aUL, 0x4871b9f3UL, 0xde41be84UL,
0x7dd4da1aUL, 0xebe4dd6dUL, 0x51b5d4f4UL, 0xc785d383UL, 0x56986c13UL,
0xc0a86b64UL, 0x7af962fdUL, 0xecc9658aUL, 0x4f5c0114UL, 0xd96c0663UL,
0x633d0ffaUL, 0xf50d088dUL, 0xc8206e3bUL, 0x5e10694cUL, 0xe44160d5UL,
0x727167a2UL, 0xd1e4033cUL, 0x47d4044bUL, 0xfd850dd2UL, 0x6bb50aa5UL,
0xfaa8b535UL, 0x6c98b242UL, 0xd6c9bbdbUL, 0x40f9bcacUL, 0xe36cd832UL,
0x755cdf45UL, 0xcf0dd6dcUL, 0x593dd1abUL, 0xac30d926UL, 0x3a00de51UL,
0x8051d7c8UL, 0x1661d0bfUL, 0xb5f4b421UL, 0x23c4b356UL, 0x9995bacfUL,
0x0fa5bdb8UL, 0x9eb80228UL, 0x0888055fUL, 0xb2d90cc6UL, 0x24e90bb1UL,
0x877c6f2fUL, 0x114c6858UL, 0xab1d61c1UL, 0x3d2d66b6UL, 0x9041dc76UL,
0x0671db01UL, 0xbc20d298UL, 0x2a10d5efUL, 0x8985b171UL, 0x1fb5b606UL,
0xa5e4bf9fUL, 0x33d4b8e8UL, 0xa2c90778UL, 0x34f9000fUL, 0x8ea80996UL,
0x18980ee1UL, 0xbb0d6a7fUL, 0x2d3d6d08UL, 0x976c6491UL, 0x015c63e6UL,
0xf4516b6bUL, 0x62616c1cUL, 0xd8306585UL, 0x4e0062f2UL, 0xed95066cUL,
0x7ba5011bUL, 0xc1f40882UL, 0x57c40ff5UL, 0xc6d9b065UL, 0x50e9b712UL,
0xeab8be8bUL, 0x7c88b9fcUL, 0xdf1ddd62UL, 0x492dda15UL, 0xf37cd38cUL,
0x654cd4fbUL, 0x5861b24dUL, 0xce51b53aUL, 0x7400bca3UL, 0xe230bbd4UL,
0x41a5df4aUL, 0xd795d83dUL, 0x6dc4d1a4UL, 0xfbf4d6d3UL, 0x6ae96943UL,
0xfcd96e34UL, 0x468867adUL, 0xd0b860daUL, 0x732d0444UL, 0xe51d0333UL,
0x5f4c0aaaUL, 0xc97c0dddUL, 0x3c710550UL, 0xaa410227UL, 0x10100bbeUL,
0x86200cc9UL, 0x25b56857UL, 0xb3856f20UL, 0x09d466b9UL, 0x9fe461ceUL,
0x0ef9de5eUL, 0x98c9d929UL, 0x2298d0b0UL, 0xb4a8d7c7UL, 0x173db359UL,
0x810db42eUL, 0x3b5cbdb7UL, 0xad6cbac0UL, 0x2083b8edUL, 0xb6b3bf9aUL,
0x0ce2b603UL, 0x9ad2b174UL, 0x3947d5eaUL, 0xaf77d29dUL, 0x1526db04UL,
0x8316dc73UL, 0x120b63e3UL, 0x843b6494UL, 0x3e6a6d0dUL, 0xa85a6a7aUL,
0x0bcf0ee4UL, 0x9dff0993UL, 0x27ae000aUL, 0xb19e077dUL, 0x44930ff0UL,
0xd2a30887UL, 0x68f2011eUL, 0xfec20669UL, 0x5d5762f7UL, 0xcb676580UL,
0x71366c19UL, 0xe7066b6eUL, 0x761bd4feUL, 0xe02bd389UL, 0x5a7ada10UL,
0xcc4add67UL, 0x6fdfb9f9UL, 0xf9efbe8eUL, 0x43beb717UL, 0xd58eb060UL,
0xe8a3d6d6UL, 0x7e93d1a1UL, 0xc4c2d838UL, 0x52f2df4fUL, 0xf167bbd1UL,
0x6757bca6UL, 0xdd06b53fUL, 0x4b36b248UL, 0xda2b0dd8UL, 0x4c1b0aafUL,
0xf64a0336UL, 0x607a0441UL, 0xc3ef60dfUL, 0x55df67a8UL, 0xef8e6e31UL,
0x79be6946UL, 0x8cb361cbUL, 0x1a8366bcUL, 0xa0d26f25UL, 0x36e26852UL,
0x95770cccUL, 0x03470bbbUL, 0xb9160222UL, 0x2f260555UL, 0xbe3bbac5UL,
0x280bbdb2UL, 0x925ab42bUL, 0x046ab35cUL, 0xa7ffd7c2UL, 0x31cfd0b5UL,
0x8b9ed92cUL, 0x1daede5bUL, 0xb0c2649bUL, 0x26f263ecUL, 0x9ca36a75UL,
0x0a936d02UL, 0xa906099cUL, 0x3f360eebUL, 0x85670772UL, 0x13570005UL,
0x824abf95UL, 0x147ab8e2UL, 0xae2bb17bUL, 0x381bb60cUL, 0x9b8ed292UL,
0x0dbed5e5UL, 0xb7efdc7cUL, 0x21dfdb0bUL, 0xd4d2d386UL, 0x42e2d4f1UL,
0xf8b3dd68UL, 0x6e83da1fUL, 0xcd16be81UL, 0x5b26b9f6UL, 0xe177b06fUL,
0x7747b718UL, 0xe65a0888UL, 0x706a0fffUL, 0xca3b0666UL, 0x5c0b0111UL,
0xff9e658fUL, 0x69ae62f8UL, 0xd3ff6b61UL, 0x45cf6c16UL, 0x78e20aa0UL,
0xeed20dd7UL, 0x5483044eUL, 0xc2b30339UL, 0x612667a7UL, 0xf71660d0UL,
0x4d476949UL, 0xdb776e3eUL, 0x4a6ad1aeUL, 0xdc5ad6d9UL, 0x660bdf40UL,
0xf03bd837UL, 0x53aebca9UL, 0xc59ebbdeUL, 0x7fcfb247UL, 0xe9ffb530UL,
0x1cf2bdbdUL, 0x8ac2bacaUL, 0x3093b353UL, 0xa6a3b424UL, 0x0536d0baUL,
0x9306d7cdUL, 0x2957de54UL, 0xbf67d923UL, 0x2e7a66b3UL, 0xb84a61c4UL,
0x021b685dUL, 0x942b6f2aUL, 0x37be0bb4UL, 0xa18e0cc3UL, 0x1bdf055aUL,
0x8def022dUL
},
{
0x00000000UL, 0x41311b19UL, 0x82623632UL, 0xc3532d2bUL, 0x04c56c64UL,
0x45f4777dUL, 0x86a75a56UL, 0xc796414fUL, 0x088ad9c8UL, 0x49bbc2d1UL,
0x8ae8effaUL, 0xcbd9f4e3UL, 0x0c4fb5acUL, 0x4d7eaeb5UL, 0x8e2d839eUL,
0xcf1c9887UL, 0x5112c24aUL, 0x1023d953UL, 0xd370f478UL, 0x9241ef61UL,
0x55d7ae2eUL, 0x14e6b537UL, 0xd7b5981cUL, 0x96848305UL, 0x59981b82UL,
0x18a9009bUL, 0xdbfa2db0UL, 0x9acb36a9UL, 0x5d5d77e6UL, 0x1c6c6cffUL,
0xdf3f41d4UL, 0x9e0e5acdUL, 0xa2248495UL, 0xe3159f8cUL, 0x2046b2a7UL,
0x6177a9beUL, 0xa6e1e8f1UL, 0xe7d0f3e8UL, 0x2483dec3UL, 0x65b2c5daUL,
0xaaae5d5dUL, 0xeb9f4644UL, 0x28cc6b6fUL, 0x69fd7076UL, 0xae6b3139UL,
0xef5a2a20UL, 0x2c09070bUL, 0x6d381c12UL, 0xf33646dfUL, 0xb2075dc6UL,
0x715470edUL, 0x30656bf4UL, 0xf7f32abbUL, 0xb6c231a2UL, 0x75911c89UL,
0x34a00790UL, 0xfbbc9f17UL, 0xba8d840eUL, 0x79dea925UL, 0x38efb23cUL,
0xff79f373UL, 0xbe48e86aUL, 0x7d1bc541UL, 0x3c2ade58UL, 0x054f79f0UL,
0x447e62e9UL, 0x872d4fc2UL, 0xc61c54dbUL, 0x018a1594UL, 0x40bb0e8dUL,
0x83e823a6UL, 0xc2d938bfUL, 0x0dc5a038UL, 0x4cf4bb21UL, 0x8fa7960aUL,
0xce968d13UL, 0x0900cc5cUL, 0x4831d745UL, 0x8b62fa6eUL, 0xca53e177UL,
0x545dbbbaUL, 0x156ca0a3UL, 0xd63f8d88UL, 0x970e9691UL, 0x5098d7deUL,
0x11a9ccc7UL, 0xd2fae1ecUL, 0x93cbfaf5UL, 0x5cd76272UL, 0x1de6796bUL,
0xdeb55440UL, 0x9f844f59UL, 0x58120e16UL, 0x1923150fUL, 0xda703824UL,
0x9b41233dUL, 0xa76bfd65UL, 0xe65ae67cUL, 0x2509cb57UL, 0x6438d04eUL,
0xa3ae9101UL, 0xe29f8a18UL, 0x21cca733UL, 0x60fdbc2aUL, 0xafe124adUL,
0xeed03fb4UL, 0x2d83129fUL, 0x6cb20986UL, 0xab2448c9UL, 0xea1553d0UL,
0x29467efbUL, 0x687765e2UL, 0xf6793f2fUL, 0xb7482436UL, 0x741b091dUL,
0x352a1204UL, 0xf2bc534bUL, 0xb38d4852UL, 0x70de6579UL, 0x31ef7e60UL,
0xfef3e6e7UL, 0xbfc2fdfeUL, 0x7c91d0d5UL, 0x3da0cbccUL, 0xfa368a83UL,
0xbb07919aUL, 0x7854bcb1UL, 0x3965a7a8UL, 0x4b98833bUL, 0x0aa99822UL,
0xc9fab509UL, 0x88cbae10UL, 0x4f5def5fUL, 0x0e6cf446UL, 0xcd3fd96dUL,
0x8c0ec274UL, 0x43125af3UL, 0x022341eaUL, 0xc1706cc1UL, 0x804177d8UL,
0x47d73697UL, 0x06e62d8eUL, 0xc5b500a5UL, 0x84841bbcUL, 0x1a8a4171UL,
0x5bbb5a68UL, 0x98e87743UL, 0xd9d96c5aUL, 0x1e4f2d15UL, 0x5f7e360cUL,
0x9c2d1b27UL, 0xdd1c003eUL, 0x120098b9UL, 0x533183a0UL, 0x9062ae8bUL,
0xd153b592UL, 0x16c5f4ddUL, 0x57f4efc4UL, 0x94a7c2efUL, 0xd596d9f6UL,
0xe9bc07aeUL, 0xa88d1cb7UL, 0x6bde319cUL, 0x2aef2a85UL, 0xed796bcaUL,
0xac4870d3UL, 0x6f1b5df8UL, 0x2e2a46e1UL, 0xe136de66UL, 0xa007c57fUL,
0x6354e854UL, 0x2265f34dUL, 0xe5f3b202UL, 0xa4c2a91bUL, 0x67918430UL,
0x26a09f29UL, 0xb8aec5e4UL, 0xf99fdefdUL, 0x3accf3d6UL, 0x7bfde8cfUL,
0xbc6ba980UL, 0xfd5ab299UL, 0x3e099fb2UL, 0x7f3884abUL, 0xb0241c2cUL,
0xf1150735UL, 0x32462a1eUL, 0x73773107UL, 0xb4e17048UL, 0xf5d06b51UL,
0x3683467aUL, 0x77b25d63UL, 0x4ed7facbUL, 0x0fe6e1d2UL, 0xccb5ccf9UL,
0x8d84d7e0UL, 0x4a1296afUL, 0x0b238db6UL, 0xc870a09dUL, 0x8941bb84UL,
0x465d2303UL, 0x076c381aUL, 0xc43f1531UL, 0x850e0e28UL, 0x42984f67UL,
0x03a9547eUL, 0xc0fa7955UL, 0x81cb624cUL, 0x1fc53881UL, 0x5ef42398UL,
0x9da70eb3UL, 0xdc9615aaUL, 0x1b0054e5UL, 0x5a314ffcUL, 0x996262d7UL,
0xd85379ceUL, 0x174fe149UL, 0x567efa50UL, 0x952dd77bUL, 0xd41ccc62UL,
0x138a8d2dUL, 0x52bb9634UL, 0x91e8bb1fUL, 0xd0d9a006UL, 0xecf37e5eUL,
0xadc26547UL, 0x6e91486cUL, 0x2fa05375UL, 0xe836123aUL, 0xa9070923UL,
0x6a542408UL, 0x2b653f11UL, 0xe479a796UL, 0xa548bc8fUL, 0x661b91a4UL,
0x272a8abdUL, 0xe0bccbf2UL, 0xa18dd0ebUL, 0x62defdc0UL, 0x23efe6d9UL,
0xbde1bc14UL, 0xfcd0a70dUL, 0x3f838a26UL, 0x7eb2913fUL, 0xb924d070UL,
0xf815cb69UL, 0x3b46e642UL, 0x7a77fd5bUL, 0xb56b65dcUL, 0xf45a7ec5UL,
0x370953eeUL, 0x763848f7UL, 0xb1ae09b8UL, 0xf09f12a1UL, 0x33cc3f8aUL,
0x72fd2493UL
},
{
0x00000000UL, 0x376ac201UL, 0x6ed48403UL, 0x59be4602UL, 0xdca80907UL,
0xebc2cb06UL, 0xb27c8d04UL, 0x85164f05UL, 0xb851130eUL, 0x8f3bd10fUL,
0xd685970dUL, 0xe1ef550cUL, 0x64f91a09UL, 0x5393d808UL, 0x0a2d9e0aUL,
0x3d475c0bUL, 0x70a3261cUL, 0x47c9e41dUL, 0x1e77a21fUL, 0x291d601eUL,
0xac0b2f1bUL, 0x9b61ed1aUL, 0xc2dfab18UL, 0xf5b56919UL, 0xc8f23512UL,
0xff98f713UL, 0xa626b111UL, 0x914c7310UL, 0x145a3c15UL, 0x2330fe14UL,
0x7a8eb816UL, 0x4de47a17UL, 0xe0464d38UL, 0xd72c8f39UL, 0x8e92c93bUL,
0xb9f80b3aUL, 0x3cee443fUL, 0x0b84863eUL, 0x523ac03cUL, 0x6550023dUL,
0x58175e36UL, 0x6f7d9c37UL, 0x36c3da35UL, 0x01a91834UL, 0x84bf5731UL,
0xb3d59530UL, 0xea6bd332UL, 0xdd011133UL, 0x90e56b24UL, 0xa78fa925UL,
0xfe31ef27UL, 0xc95b2d26UL, 0x4c4d6223UL, 0x7b27a022UL, 0x2299e620UL,
0x15f32421UL, 0x28b4782aUL, 0x1fdeba2bUL, 0x4660fc29UL, 0x710a3e28UL,
0xf41c712dUL, 0xc376b32cUL, 0x9ac8f52eUL, 0xada2372fUL, 0xc08d9a70UL,
0xf7e75871UL, 0xae591e73UL, 0x9933dc72UL, 0x1c259377UL, 0x2b4f5176UL,
0x72f11774UL, 0x459bd575UL, 0x78dc897eUL, 0x4fb64b7fUL, 0x16080d7dUL,
0x2162cf7cUL, 0xa4748079UL, 0x931e4278UL, 0xcaa0047aUL, 0xfdcac67bUL,
0xb02ebc6cUL, 0x87447e6dUL, 0xdefa386fUL, 0xe990fa6eUL, 0x6c86b56bUL,
0x5bec776aUL, 0x02523168UL, 0x3538f369UL, 0x087faf62UL, 0x3f156d63UL,
0x66ab2b61UL, 0x51c1e960UL, 0xd4d7a665UL, 0xe3bd6464UL, 0xba032266UL,
0x8d69e067UL, 0x20cbd748UL, 0x17a11549UL, 0x4e1f534bUL, 0x7975914aUL,
0xfc63de4fUL, 0xcb091c4eUL, 0x92b75a4cUL, 0xa5dd984dUL, 0x989ac446UL,
0xaff00647UL, 0xf64e4045UL, 0xc1248244UL, 0x4432cd41UL, 0x73580f40UL,
0x2ae64942UL, 0x1d8c8b43UL, 0x5068f154UL, 0x67023355UL, 0x3ebc7557UL,
0x09d6b756UL, 0x8cc0f853UL, 0xbbaa3a52UL, 0xe2147c50UL, 0xd57ebe51UL,
0xe839e25aUL, 0xdf53205bUL, 0x86ed6659UL, 0xb187a458UL, 0x3491eb5dUL,
0x03fb295cUL, 0x5a456f5eUL, 0x6d2fad5fUL, 0x801b35e1UL, 0xb771f7e0UL,
0xeecfb1e2UL, 0xd9a573e3UL, 0x5cb33ce6UL, 0x6bd9fee7UL, 0x3267b8e5UL,
0x050d7ae4UL, 0x384a26efUL, 0x0f20e4eeUL, 0x569ea2ecUL, 0x61f460edUL,
0xe4e22fe8UL, 0xd388ede9UL, 0x8a36abebUL, 0xbd5c69eaUL, 0xf0b813fdUL,
0xc7d2d1fcUL, 0x9e6c97feUL, 0xa90655ffUL, 0x2c101afaUL, 0x1b7ad8fbUL,
0x42c49ef9UL, 0x75ae5cf8UL, 0x48e900f3UL, 0x7f83c2f2UL, 0x263d84f0UL,
0x115746f1UL, 0x944109f4UL, 0xa32bcbf5UL, 0xfa958df7UL, 0xcdff4ff6UL,
0x605d78d9UL, 0x5737bad8UL, 0x0e89fcdaUL, 0x39e33edbUL, 0xbcf571deUL,
0x8b9fb3dfUL, 0xd221f5ddUL, 0xe54b37dcUL, 0xd80c6bd7UL, 0xef66a9d6UL,
0xb6d8efd4UL, 0x81b22dd5UL, 0x04a462d0UL, 0x33cea0d1UL, 0x6a70e6d3UL,
0x5d1a24d2UL, 0x10fe5ec5UL, 0x27949cc4UL, 0x7e2adac6UL, 0x494018c7UL,
0xcc5657c2UL, 0xfb3c95c3UL, 0xa282d3c1UL, 0x95e811c0UL, 0xa8af4dcbUL,
0x9fc58fcaUL, 0xc67bc9c8UL, 0xf1110bc9UL, 0x740744ccUL, 0x436d86cdUL,
0x1ad3c0cfUL, 0x2db902ceUL, 0x4096af91UL, 0x77fc6d90UL, 0x2e422b92UL,
0x1928e993UL, 0x9c3ea696UL, 0xab546497UL, 0xf2ea2295UL, 0xc580e094UL,
0xf8c7bc9fUL, 0xcfad7e9eUL, 0x9613389cUL, 0xa179fa9dUL, 0x246fb598UL,
0x13057799UL, 0x4abb319bUL, 0x7dd1f39aUL, 0x3035898dUL, 0x075f4b8cUL,
0x5ee10d8eUL, 0x698bcf8fUL, 0xec9d808aUL, 0xdbf7428bUL, 0x82490489UL,
0xb523c688UL, 0x88649a83UL, 0xbf0e5882UL, 0xe6b01e80UL, 0xd1dadc81UL,
0x54cc9384UL, 0x63a65185UL, 0x3a181787UL, 0x0d72d586UL, 0xa0d0e2a9UL,
0x97ba20a8UL, 0xce0466aaUL, 0xf96ea4abUL, 0x7c78ebaeUL, 0x4b1229afUL,
0x12ac6fadUL, 0x25c6adacUL, 0x1881f1a7UL, 0x2feb33a6UL, 0x765575a4UL,
0x413fb7a5UL, 0xc429f8a0UL, 0xf3433aa1UL, 0xaafd7ca3UL, 0x9d97bea2UL,
0xd073c4b5UL, 0xe71906b4UL, 0xbea740b6UL, 0x89cd82b7UL, 0x0cdbcdb2UL,
0x3bb10fb3UL, 0x620f49b1UL, 0x55658bb0UL, 0x6822d7bbUL, 0x5f4815baUL,
0x06f653b8UL, 0x319c91b9UL, 0xb48adebcUL, 0x83e01cbdUL, 0xda5e5abfUL,
0xed3498beUL
},
{
0x00000000UL, 0x6567bcb8UL, 0x8bc809aaUL, 0xeeafb512UL, 0x5797628fUL,
0x32f0de37UL, 0xdc5f6b25UL, 0xb938d79dUL, 0xef28b4c5UL, 0x8a4f087dUL,
0x64e0bd6fUL, 0x018701d7UL, 0xb8bfd64aUL, 0xddd86af2UL, 0x3377dfe0UL,
0x56106358UL, 0x9f571950UL, 0xfa30a5e8UL, 0x149f10faUL, 0x71f8ac42UL,
0xc8c07bdfUL, 0xada7c767UL, 0x43087275UL, 0x266fcecdUL, 0x707fad95UL,
0x1518112dUL, 0xfbb7a43fUL, 0x9ed01887UL, 0x27e8cf1aUL, 0x428f73a2UL,
0xac20c6b0UL, 0xc9477a08UL, 0x3eaf32a0UL, 0x5bc88e18UL, 0xb5673b0aUL,
0xd00087b2UL, 0x6938502fUL, 0x0c5fec97UL, 0xe2f05985UL, 0x8797e53dUL,
0xd1878665UL, 0xb4e03addUL, 0x5a4f8fcfUL, 0x3f283377UL, 0x8610e4eaUL,
0xe3775852UL, 0x0dd8ed40UL, 0x68bf51f8UL, 0xa1f82bf0UL, 0xc49f9748UL,
0x2a30225aUL, 0x4f579ee2UL, 0xf66f497fUL, 0x9308f5c7UL, 0x7da740d5UL,
0x18c0fc6dUL, 0x4ed09f35UL, 0x2bb7238dUL, 0xc518969fUL, 0xa07f2a27UL,
0x1947fdbaUL, 0x7c204102UL, 0x928ff410UL, 0xf7e848a8UL, 0x3d58149bUL,
0x583fa823UL, 0xb6901d31UL, 0xd3f7a189UL, 0x6acf7614UL, 0x0fa8caacUL,
0xe1077fbeUL, 0x8460c306UL, 0xd270a05eUL, 0xb7171ce6UL, 0x59b8a9f4UL,
0x3cdf154cUL, 0x85e7c2d1UL, 0xe0807e69UL, 0x0e2fcb7bUL, 0x6b4877c3UL,
0xa20f0dcbUL, 0xc768b173UL, 0x29c70461UL, 0x4ca0b8d9UL, 0xf5986f44UL,
0x90ffd3fcUL, 0x7e5066eeUL, 0x1b37da56UL, 0x4d27b90eUL, 0x284005b6UL,
0xc6efb0a4UL, 0xa3880c1cUL, 0x1ab0db81UL, 0x7fd76739UL, 0x9178d22bUL,
0xf41f6e93UL, 0x03f7263bUL, 0x66909a83UL, 0x883f2f91UL, 0xed589329UL,
0x546044b4UL, 0x3107f80cUL, 0xdfa84d1eUL, 0xbacff1a6UL, 0xecdf92feUL,
0x89b82e46UL, 0x67179b54UL, 0x027027ecUL, 0xbb48f071UL, 0xde2f4cc9UL,
0x3080f9dbUL, 0x55e74563UL, 0x9ca03f6bUL, 0xf9c783d3UL, 0x176836c1UL,
0x720f8a79UL, 0xcb375de4UL, 0xae50e15cUL, 0x40ff544eUL, 0x2598e8f6UL,
0x73888baeUL, 0x16ef3716UL, 0xf8408204UL, 0x9d273ebcUL, 0x241fe921UL,
0x41785599UL, 0xafd7e08bUL, 0xcab05c33UL, 0x3bb659edUL, 0x5ed1e555UL,
0xb07e5047UL, 0xd519ecffUL, 0x6c213b62UL, 0x094687daUL, 0xe7e932c8UL,
0x828e8e70UL, 0xd49eed28UL, 0xb1f95190UL, 0x5f56e482UL, 0x3a31583aUL,
0x83098fa7UL, 0xe66e331fUL, 0x08c1860dUL, 0x6da63ab5UL, 0xa4e140bdUL,
0xc186fc05UL, 0x2f294917UL, 0x4a4ef5afUL, 0xf3762232UL, 0x96119e8aUL,
0x78be2b98UL, 0x1dd99720UL, 0x4bc9f478UL, 0x2eae48c0UL, 0xc001fdd2UL,
0xa566416aUL, 0x1c5e96f7UL, 0x79392a4fUL, 0x97969f5dUL, 0xf2f123e5UL,
0x05196b4dUL, 0x607ed7f5UL, 0x8ed162e7UL, 0xebb6de5fUL, 0x528e09c2UL,
0x37e9b57aUL, 0xd9460068UL, 0xbc21bcd0UL, 0xea31df88UL, 0x8f566330UL,
0x61f9d622UL, 0x049e6a9aUL, 0xbda6bd07UL, 0xd8c101bfUL, 0x366eb4adUL,
0x53090815UL, 0x9a4e721dUL, 0xff29cea5UL, 0x11867bb7UL, 0x74e1c70fUL,
0xcdd91092UL, 0xa8beac2aUL, 0x46111938UL, 0x2376a580UL, 0x7566c6d8UL,
0x10017a60UL, 0xfeaecf72UL, 0x9bc973caUL, 0x22f1a457UL, 0x479618efUL,
0xa939adfdUL, 0xcc5e1145UL, 0x06ee4d76UL, 0x6389f1ceUL, 0x8d2644dcUL,
0xe841f864UL, 0x51792ff9UL, 0x341e9341UL, 0xdab12653UL, 0xbfd69aebUL,
0xe9c6f9b3UL, 0x8ca1450bUL, 0x620ef019UL, 0x07694ca1UL, 0xbe519b3cUL,
0xdb362784UL, 0x35999296UL, 0x50fe2e2eUL, 0x99b95426UL, 0xfcdee89eUL,
0x12715d8cUL, 0x7716e134UL, 0xce2e36a9UL, 0xab498a11UL, 0x45e63f03UL,
0x208183bbUL, 0x7691e0e3UL, 0x13f65c5bUL, 0xfd59e949UL, 0x983e55f1UL,
0x2106826cUL, 0x44613ed4UL, 0xaace8bc6UL, 0xcfa9377eUL, 0x38417fd6UL,
0x5d26c36eUL, 0xb389767cUL, 0xd6eecac4UL, 0x6fd61d59UL, 0x0ab1a1e1UL,
0xe41e14f3UL, 0x8179a84bUL, 0xd769cb13UL, 0xb20e77abUL, 0x5ca1c2b9UL,
0x39c67e01UL, 0x80fea99cUL, 0xe5991524UL, 0x0b36a036UL, 0x6e511c8eUL,
0xa7166686UL, 0xc271da3eUL, 0x2cde6f2cUL, 0x49b9d394UL, 0xf0810409UL,
0x95e6b8b1UL, 0x7b490da3UL, 0x1e2eb11bUL, 0x483ed243UL, 0x2d596efbUL,
0xc3f6dbe9UL, 0xa6916751UL, 0x1fa9b0ccUL, 0x7ace0c74UL, 0x9461b966UL,
0xf10605deUL
#endif
}
};

1736
romcnv/src/zlib/deflate.c Normal file

File diff suppressed because it is too large Load Diff

331
romcnv/src/zlib/deflate.h Normal file
View File

@ -0,0 +1,331 @@
/* deflate.h -- internal compression state
* Copyright (C) 1995-2004 Jean-loup Gailly
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* WARNING: this file should *not* be used by applications. It is
part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h.
*/
/* @(#) $Id$ */
#ifndef DEFLATE_H
#define DEFLATE_H
#include "zutil.h"
/* define NO_GZIP when compiling if you want to disable gzip header and
trailer creation by deflate(). NO_GZIP would be used to avoid linking in
the crc code when it is not needed. For shared libraries, gzip encoding
should be left enabled. */
#ifndef NO_GZIP
# define GZIP
#endif
/* ===========================================================================
* Internal compression state.
*/
#define LENGTH_CODES 29
/* number of length codes, not counting the special END_BLOCK code */
#define LITERALS 256
/* number of literal bytes 0..255 */
#define L_CODES (LITERALS+1+LENGTH_CODES)
/* number of Literal or Length codes, including the END_BLOCK code */
#define D_CODES 30
/* number of distance codes */
#define BL_CODES 19
/* number of codes used to transfer the bit lengths */
#define HEAP_SIZE (2*L_CODES+1)
/* maximum heap size */
#define MAX_BITS 15
/* All codes must not exceed MAX_BITS bits */
#define INIT_STATE 42
#define EXTRA_STATE 69
#define NAME_STATE 73
#define COMMENT_STATE 91
#define HCRC_STATE 103
#define BUSY_STATE 113
#define FINISH_STATE 666
/* Stream status */
/* Data structure describing a single value and its code string. */
typedef struct ct_data_s {
union {
ush freq; /* frequency count */
ush code; /* bit string */
} fc;
union {
ush dad; /* father node in Huffman tree */
ush len; /* length of bit string */
} dl;
} FAR ct_data;
#define Freq fc.freq
#define Code fc.code
#define Dad dl.dad
#define Len dl.len
typedef struct static_tree_desc_s static_tree_desc;
typedef struct tree_desc_s {
ct_data *dyn_tree; /* the dynamic tree */
int max_code; /* largest code with non zero frequency */
static_tree_desc *stat_desc; /* the corresponding static tree */
} FAR tree_desc;
typedef ush Pos;
typedef Pos FAR Posf;
typedef unsigned IPos;
/* A Pos is an index in the character window. We use short instead of int to
* save space in the various tables. IPos is used only for parameter passing.
*/
typedef struct internal_state {
z_streamp strm; /* pointer back to this zlib stream */
int status; /* as the name implies */
Bytef *pending_buf; /* output still pending */
ulg pending_buf_size; /* size of pending_buf */
Bytef *pending_out; /* next pending byte to output to the stream */
uInt pending; /* nb of bytes in the pending buffer */
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
gz_headerp gzhead; /* gzip header information to write */
uInt gzindex; /* where in extra, name, or comment */
Byte method; /* STORED (for zip only) or DEFLATED */
int last_flush; /* value of flush param for previous deflate call */
/* used by deflate.c: */
uInt w_size; /* LZ77 window size (32K by default) */
uInt w_bits; /* log2(w_size) (8..16) */
uInt w_mask; /* w_size - 1 */
Bytef *window;
/* Sliding window. Input bytes are read into the second half of the window,
* and move to the first half later to keep a dictionary of at least wSize
* bytes. With this organization, matches are limited to a distance of
* wSize-MAX_MATCH bytes, but this ensures that IO is always
* performed with a length multiple of the block size. Also, it limits
* the window size to 64K, which is quite useful on MSDOS.
* To do: use the user input buffer as sliding window.
*/
ulg window_size;
/* Actual size of window: 2*wSize, except when the user input buffer
* is directly used as sliding window.
*/
Posf *prev;
/* Link to older string with same hash index. To limit the size of this
* array to 64K, this link is maintained only for the last 32K strings.
* An index in this array is thus a window index modulo 32K.
*/
Posf *head; /* Heads of the hash chains or NIL. */
uInt ins_h; /* hash index of string to be inserted */
uInt hash_size; /* number of elements in hash table */
uInt hash_bits; /* log2(hash_size) */
uInt hash_mask; /* hash_size-1 */
uInt hash_shift;
/* Number of bits by which ins_h must be shifted at each input
* step. It must be such that after MIN_MATCH steps, the oldest
* byte no longer takes part in the hash key, that is:
* hash_shift * MIN_MATCH >= hash_bits
*/
long block_start;
/* Window position at the beginning of the current output block. Gets
* negative when the window is moved backwards.
*/
uInt match_length; /* length of best match */
IPos prev_match; /* previous match */
int match_available; /* set if previous match exists */
uInt strstart; /* start of string to insert */
uInt match_start; /* start of matching string */
uInt lookahead; /* number of valid bytes ahead in window */
uInt prev_length;
/* Length of the best match at previous step. Matches not greater than this
* are discarded. This is used in the lazy match evaluation.
*/
uInt max_chain_length;
/* To speed up deflation, hash chains are never searched beyond this
* length. A higher limit improves compression ratio but degrades the
* speed.
*/
uInt max_lazy_match;
/* Attempt to find a better match only when the current match is strictly
* smaller than this value. This mechanism is used only for compression
* levels >= 4.
*/
# define max_insert_length max_lazy_match
/* Insert new strings in the hash table only if the match length is not
* greater than this length. This saves time but degrades compression.
* max_insert_length is used only for compression levels <= 3.
*/
int level; /* compression level (1..9) */
int strategy; /* favor or force Huffman coding*/
uInt good_match;
/* Use a faster search when the previous match is longer than this */
int nice_match; /* Stop searching when current match exceeds this */
/* used by trees.c: */
/* Didn't use ct_data typedef below to supress compiler warning */
struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */
struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */
struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */
struct tree_desc_s l_desc; /* desc. for literal tree */
struct tree_desc_s d_desc; /* desc. for distance tree */
struct tree_desc_s bl_desc; /* desc. for bit length tree */
ush bl_count[MAX_BITS+1];
/* number of codes at each bit length for an optimal tree */
int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */
int heap_len; /* number of elements in the heap */
int heap_max; /* element of largest frequency */
/* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.
* The same heap array is used to build all trees.
*/
uch depth[2*L_CODES+1];
/* Depth of each subtree used as tie breaker for trees of equal frequency
*/
uchf *l_buf; /* buffer for literals or lengths */
uInt lit_bufsize;
/* Size of match buffer for literals/lengths. There are 4 reasons for
* limiting lit_bufsize to 64K:
* - frequencies can be kept in 16 bit counters
* - if compression is not successful for the first block, all input
* data is still in the window so we can still emit a stored block even
* when input comes from standard input. (This can also be done for
* all blocks if lit_bufsize is not greater than 32K.)
* - if compression is not successful for a file smaller than 64K, we can
* even emit a stored file instead of a stored block (saving 5 bytes).
* This is applicable only for zip (not gzip or zlib).
* - creating new Huffman trees less frequently may not provide fast
* adaptation to changes in the input data statistics. (Take for
* example a binary file with poorly compressible code followed by
* a highly compressible string table.) Smaller buffer sizes give
* fast adaptation but have of course the overhead of transmitting
* trees more frequently.
* - I can't count above 4
*/
uInt last_lit; /* running index in l_buf */
ushf *d_buf;
/* Buffer for distances. To simplify the code, d_buf and l_buf have
* the same number of elements. To use different lengths, an extra flag
* array would be necessary.
*/
ulg opt_len; /* bit length of current block with optimal trees */
ulg static_len; /* bit length of current block with static trees */
uInt matches; /* number of string matches in current block */
int last_eob_len; /* bit length of EOB code for last block */
#ifdef DEBUG
ulg compressed_len; /* total bit length of compressed file mod 2^32 */
ulg bits_sent; /* bit length of compressed data sent mod 2^32 */
#endif
ush bi_buf;
/* Output buffer. bits are inserted starting at the bottom (least
* significant bits).
*/
int bi_valid;
/* Number of valid bits in bi_buf. All bits above the last valid bit
* are always zero.
*/
} FAR deflate_state;
/* Output a byte on the stream.
* IN assertion: there is enough room in pending_buf.
*/
#define put_byte(s, c) {s->pending_buf[s->pending++] = (c);}
#define MIN_LOOKAHEAD (MAX_MATCH+MIN_MATCH+1)
/* Minimum amount of lookahead, except at the end of the input file.
* See deflate.c for comments about the MIN_MATCH+1.
*/
#define MAX_DIST(s) ((s)->w_size-MIN_LOOKAHEAD)
/* In order to simplify the code, particularly on 16 bit machines, match
* distances are limited to MAX_DIST instead of WSIZE.
*/
/* in trees.c */
void _tr_init OF((deflate_state *s));
int _tr_tally OF((deflate_state *s, unsigned dist, unsigned lc));
void _tr_flush_block OF((deflate_state *s, charf *buf, ulg stored_len,
int eof));
void _tr_align OF((deflate_state *s));
void _tr_stored_block OF((deflate_state *s, charf *buf, ulg stored_len,
int eof));
#define d_code(dist) \
((dist) < 256 ? _dist_code[dist] : _dist_code[256+((dist)>>7)])
/* Mapping from a distance to a distance code. dist is the distance - 1 and
* must not have side effects. _dist_code[256] and _dist_code[257] are never
* used.
*/
#ifndef DEBUG
/* Inline versions of _tr_tally for speed: */
#if defined(GEN_TREES_H) || !defined(STDC)
extern uch _length_code[];
extern uch _dist_code[];
#else
extern const uch _length_code[];
extern const uch _dist_code[];
#endif
# define _tr_tally_lit(s, c, flush) \
{ uch cc = (c); \
s->d_buf[s->last_lit] = 0; \
s->l_buf[s->last_lit++] = cc; \
s->dyn_ltree[cc].Freq++; \
flush = (s->last_lit == s->lit_bufsize-1); \
}
# define _tr_tally_dist(s, distance, length, flush) \
{ uch len = (length); \
ush dist = (distance); \
s->d_buf[s->last_lit] = dist; \
s->l_buf[s->last_lit++] = len; \
dist--; \
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
s->dyn_dtree[d_code(dist)].Freq++; \
flush = (s->last_lit == s->lit_bufsize-1); \
}
#else
# define _tr_tally_lit(s, c, flush) flush = _tr_tally(s, 0, c)
# define _tr_tally_dist(s, distance, length, flush) \
flush = _tr_tally(s, distance, length)
#endif
#endif /* DEFLATE_H */

565
romcnv/src/zlib/example.c Normal file
View File

@ -0,0 +1,565 @@
/* example.c -- usage example of the zlib compression library
* Copyright (C) 1995-2004 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#include <stdio.h>
#include "zlib.h"
#ifdef STDC
# include <string.h>
# include <stdlib.h>
#endif
#if defined(VMS) || defined(RISCOS)
# define TESTFILE "foo-gz"
#else
# define TESTFILE "foo.gz"
#endif
#define CHECK_ERR(err, msg) { \
if (err != Z_OK) { \
fprintf(stderr, "%s error: %d\n", msg, err); \
exit(1); \
} \
}
const char hello[] = "hello, hello!";
/* "hello world" would be more standard, but the repeated "hello"
* stresses the compression code better, sorry...
*/
const char dictionary[] = "hello";
uLong dictId; /* Adler32 value of the dictionary */
void test_compress OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
void test_gzio OF((const char *fname,
Byte *uncompr, uLong uncomprLen));
void test_deflate OF((Byte *compr, uLong comprLen));
void test_inflate OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
void test_large_deflate OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
void test_large_inflate OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
void test_flush OF((Byte *compr, uLong *comprLen));
void test_sync OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
void test_dict_deflate OF((Byte *compr, uLong comprLen));
void test_dict_inflate OF((Byte *compr, uLong comprLen,
Byte *uncompr, uLong uncomprLen));
int main OF((int argc, char *argv[]));
/* ===========================================================================
* Test compress() and uncompress()
*/
void test_compress(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
int err;
uLong len = (uLong)strlen(hello)+1;
err = compress(compr, &comprLen, (const Bytef*)hello, len);
CHECK_ERR(err, "compress");
strcpy((char*)uncompr, "garbage");
err = uncompress(uncompr, &uncomprLen, compr, comprLen);
CHECK_ERR(err, "uncompress");
if (strcmp((char*)uncompr, hello)) {
fprintf(stderr, "bad uncompress\n");
exit(1);
} else {
printf("uncompress(): %s\n", (char *)uncompr);
}
}
/* ===========================================================================
* Test read/write of .gz files
*/
void test_gzio(fname, uncompr, uncomprLen)
const char *fname; /* compressed file name */
Byte *uncompr;
uLong uncomprLen;
{
#ifdef NO_GZCOMPRESS
fprintf(stderr, "NO_GZCOMPRESS -- gz* functions cannot compress\n");
#else
int err;
int len = (int)strlen(hello)+1;
gzFile file;
z_off_t pos;
file = gzopen(fname, "wb");
if (file == NULL) {
fprintf(stderr, "gzopen error\n");
exit(1);
}
gzputc(file, 'h');
if (gzputs(file, "ello") != 4) {
fprintf(stderr, "gzputs err: %s\n", gzerror(file, &err));
exit(1);
}
if (gzprintf(file, ", %s!", "hello") != 8) {
fprintf(stderr, "gzprintf err: %s\n", gzerror(file, &err));
exit(1);
}
gzseek(file, 1L, SEEK_CUR); /* add one zero byte */
gzclose(file);
file = gzopen(fname, "rb");
if (file == NULL) {
fprintf(stderr, "gzopen error\n");
exit(1);
}
strcpy((char*)uncompr, "garbage");
if (gzread(file, uncompr, (unsigned)uncomprLen) != len) {
fprintf(stderr, "gzread err: %s\n", gzerror(file, &err));
exit(1);
}
if (strcmp((char*)uncompr, hello)) {
fprintf(stderr, "bad gzread: %s\n", (char*)uncompr);
exit(1);
} else {
printf("gzread(): %s\n", (char*)uncompr);
}
pos = gzseek(file, -8L, SEEK_CUR);
if (pos != 6 || gztell(file) != pos) {
fprintf(stderr, "gzseek error, pos=%ld, gztell=%ld\n",
(long)pos, (long)gztell(file));
exit(1);
}
if (gzgetc(file) != ' ') {
fprintf(stderr, "gzgetc error\n");
exit(1);
}
if (gzungetc(' ', file) != ' ') {
fprintf(stderr, "gzungetc error\n");
exit(1);
}
gzgets(file, (char*)uncompr, (int)uncomprLen);
if (strlen((char*)uncompr) != 7) { /* " hello!" */
fprintf(stderr, "gzgets err after gzseek: %s\n", gzerror(file, &err));
exit(1);
}
if (strcmp((char*)uncompr, hello + 6)) {
fprintf(stderr, "bad gzgets after gzseek\n");
exit(1);
} else {
printf("gzgets() after gzseek: %s\n", (char*)uncompr);
}
gzclose(file);
#endif
}
/* ===========================================================================
* Test deflate() with small buffers
*/
void test_deflate(compr, comprLen)
Byte *compr;
uLong comprLen;
{
z_stream c_stream; /* compression stream */
int err;
uLong len = (uLong)strlen(hello)+1;
c_stream.zalloc = (alloc_func)0;
c_stream.zfree = (free_func)0;
c_stream.opaque = (voidpf)0;
err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
CHECK_ERR(err, "deflateInit");
c_stream.next_in = (Bytef*)hello;
c_stream.next_out = compr;
while (c_stream.total_in != len && c_stream.total_out < comprLen) {
c_stream.avail_in = c_stream.avail_out = 1; /* force small buffers */
err = deflate(&c_stream, Z_NO_FLUSH);
CHECK_ERR(err, "deflate");
}
/* Finish the stream, still forcing small buffers: */
for (;;) {
c_stream.avail_out = 1;
err = deflate(&c_stream, Z_FINISH);
if (err == Z_STREAM_END) break;
CHECK_ERR(err, "deflate");
}
err = deflateEnd(&c_stream);
CHECK_ERR(err, "deflateEnd");
}
/* ===========================================================================
* Test inflate() with small buffers
*/
void test_inflate(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
int err;
z_stream d_stream; /* decompression stream */
strcpy((char*)uncompr, "garbage");
d_stream.zalloc = (alloc_func)0;
d_stream.zfree = (free_func)0;
d_stream.opaque = (voidpf)0;
d_stream.next_in = compr;
d_stream.avail_in = 0;
d_stream.next_out = uncompr;
err = inflateInit(&d_stream);
CHECK_ERR(err, "inflateInit");
while (d_stream.total_out < uncomprLen && d_stream.total_in < comprLen) {
d_stream.avail_in = d_stream.avail_out = 1; /* force small buffers */
err = inflate(&d_stream, Z_NO_FLUSH);
if (err == Z_STREAM_END) break;
CHECK_ERR(err, "inflate");
}
err = inflateEnd(&d_stream);
CHECK_ERR(err, "inflateEnd");
if (strcmp((char*)uncompr, hello)) {
fprintf(stderr, "bad inflate\n");
exit(1);
} else {
printf("inflate(): %s\n", (char *)uncompr);
}
}
/* ===========================================================================
* Test deflate() with large buffers and dynamic change of compression level
*/
void test_large_deflate(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
z_stream c_stream; /* compression stream */
int err;
c_stream.zalloc = (alloc_func)0;
c_stream.zfree = (free_func)0;
c_stream.opaque = (voidpf)0;
err = deflateInit(&c_stream, Z_BEST_SPEED);
CHECK_ERR(err, "deflateInit");
c_stream.next_out = compr;
c_stream.avail_out = (uInt)comprLen;
/* At this point, uncompr is still mostly zeroes, so it should compress
* very well:
*/
c_stream.next_in = uncompr;
c_stream.avail_in = (uInt)uncomprLen;
err = deflate(&c_stream, Z_NO_FLUSH);
CHECK_ERR(err, "deflate");
if (c_stream.avail_in != 0) {
fprintf(stderr, "deflate not greedy\n");
exit(1);
}
/* Feed in already compressed data and switch to no compression: */
deflateParams(&c_stream, Z_NO_COMPRESSION, Z_DEFAULT_STRATEGY);
c_stream.next_in = compr;
c_stream.avail_in = (uInt)comprLen/2;
err = deflate(&c_stream, Z_NO_FLUSH);
CHECK_ERR(err, "deflate");
/* Switch back to compressing mode: */
deflateParams(&c_stream, Z_BEST_COMPRESSION, Z_FILTERED);
c_stream.next_in = uncompr;
c_stream.avail_in = (uInt)uncomprLen;
err = deflate(&c_stream, Z_NO_FLUSH);
CHECK_ERR(err, "deflate");
err = deflate(&c_stream, Z_FINISH);
if (err != Z_STREAM_END) {
fprintf(stderr, "deflate should report Z_STREAM_END\n");
exit(1);
}
err = deflateEnd(&c_stream);
CHECK_ERR(err, "deflateEnd");
}
/* ===========================================================================
* Test inflate() with large buffers
*/
void test_large_inflate(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
int err;
z_stream d_stream; /* decompression stream */
strcpy((char*)uncompr, "garbage");
d_stream.zalloc = (alloc_func)0;
d_stream.zfree = (free_func)0;
d_stream.opaque = (voidpf)0;
d_stream.next_in = compr;
d_stream.avail_in = (uInt)comprLen;
err = inflateInit(&d_stream);
CHECK_ERR(err, "inflateInit");
for (;;) {
d_stream.next_out = uncompr; /* discard the output */
d_stream.avail_out = (uInt)uncomprLen;
err = inflate(&d_stream, Z_NO_FLUSH);
if (err == Z_STREAM_END) break;
CHECK_ERR(err, "large inflate");
}
err = inflateEnd(&d_stream);
CHECK_ERR(err, "inflateEnd");
if (d_stream.total_out != 2*uncomprLen + comprLen/2) {
fprintf(stderr, "bad large inflate: %ld\n", d_stream.total_out);
exit(1);
} else {
printf("large_inflate(): OK\n");
}
}
/* ===========================================================================
* Test deflate() with full flush
*/
void test_flush(compr, comprLen)
Byte *compr;
uLong *comprLen;
{
z_stream c_stream; /* compression stream */
int err;
uInt len = (uInt)strlen(hello)+1;
c_stream.zalloc = (alloc_func)0;
c_stream.zfree = (free_func)0;
c_stream.opaque = (voidpf)0;
err = deflateInit(&c_stream, Z_DEFAULT_COMPRESSION);
CHECK_ERR(err, "deflateInit");
c_stream.next_in = (Bytef*)hello;
c_stream.next_out = compr;
c_stream.avail_in = 3;
c_stream.avail_out = (uInt)*comprLen;
err = deflate(&c_stream, Z_FULL_FLUSH);
CHECK_ERR(err, "deflate");
compr[3]++; /* force an error in first compressed block */
c_stream.avail_in = len - 3;
err = deflate(&c_stream, Z_FINISH);
if (err != Z_STREAM_END) {
CHECK_ERR(err, "deflate");
}
err = deflateEnd(&c_stream);
CHECK_ERR(err, "deflateEnd");
*comprLen = c_stream.total_out;
}
/* ===========================================================================
* Test inflateSync()
*/
void test_sync(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
int err;
z_stream d_stream; /* decompression stream */
strcpy((char*)uncompr, "garbage");
d_stream.zalloc = (alloc_func)0;
d_stream.zfree = (free_func)0;
d_stream.opaque = (voidpf)0;
d_stream.next_in = compr;
d_stream.avail_in = 2; /* just read the zlib header */
err = inflateInit(&d_stream);
CHECK_ERR(err, "inflateInit");
d_stream.next_out = uncompr;
d_stream.avail_out = (uInt)uncomprLen;
inflate(&d_stream, Z_NO_FLUSH);
CHECK_ERR(err, "inflate");
d_stream.avail_in = (uInt)comprLen-2; /* read all compressed data */
err = inflateSync(&d_stream); /* but skip the damaged part */
CHECK_ERR(err, "inflateSync");
err = inflate(&d_stream, Z_FINISH);
if (err != Z_DATA_ERROR) {
fprintf(stderr, "inflate should report DATA_ERROR\n");
/* Because of incorrect adler32 */
exit(1);
}
err = inflateEnd(&d_stream);
CHECK_ERR(err, "inflateEnd");
printf("after inflateSync(): hel%s\n", (char *)uncompr);
}
/* ===========================================================================
* Test deflate() with preset dictionary
*/
void test_dict_deflate(compr, comprLen)
Byte *compr;
uLong comprLen;
{
z_stream c_stream; /* compression stream */
int err;
c_stream.zalloc = (alloc_func)0;
c_stream.zfree = (free_func)0;
c_stream.opaque = (voidpf)0;
err = deflateInit(&c_stream, Z_BEST_COMPRESSION);
CHECK_ERR(err, "deflateInit");
err = deflateSetDictionary(&c_stream,
(const Bytef*)dictionary, sizeof(dictionary));
CHECK_ERR(err, "deflateSetDictionary");
dictId = c_stream.adler;
c_stream.next_out = compr;
c_stream.avail_out = (uInt)comprLen;
c_stream.next_in = (Bytef*)hello;
c_stream.avail_in = (uInt)strlen(hello)+1;
err = deflate(&c_stream, Z_FINISH);
if (err != Z_STREAM_END) {
fprintf(stderr, "deflate should report Z_STREAM_END\n");
exit(1);
}
err = deflateEnd(&c_stream);
CHECK_ERR(err, "deflateEnd");
}
/* ===========================================================================
* Test inflate() with a preset dictionary
*/
void test_dict_inflate(compr, comprLen, uncompr, uncomprLen)
Byte *compr, *uncompr;
uLong comprLen, uncomprLen;
{
int err;
z_stream d_stream; /* decompression stream */
strcpy((char*)uncompr, "garbage");
d_stream.zalloc = (alloc_func)0;
d_stream.zfree = (free_func)0;
d_stream.opaque = (voidpf)0;
d_stream.next_in = compr;
d_stream.avail_in = (uInt)comprLen;
err = inflateInit(&d_stream);
CHECK_ERR(err, "inflateInit");
d_stream.next_out = uncompr;
d_stream.avail_out = (uInt)uncomprLen;
for (;;) {
err = inflate(&d_stream, Z_NO_FLUSH);
if (err == Z_STREAM_END) break;
if (err == Z_NEED_DICT) {
if (d_stream.adler != dictId) {
fprintf(stderr, "unexpected dictionary");
exit(1);
}
err = inflateSetDictionary(&d_stream, (const Bytef*)dictionary,
sizeof(dictionary));
}
CHECK_ERR(err, "inflate with dict");
}
err = inflateEnd(&d_stream);
CHECK_ERR(err, "inflateEnd");
if (strcmp((char*)uncompr, hello)) {
fprintf(stderr, "bad inflate with dict\n");
exit(1);
} else {
printf("inflate with dictionary: %s\n", (char *)uncompr);
}
}
/* ===========================================================================
* Usage: example [output.gz [input.gz]]
*/
int main(argc, argv)
int argc;
char *argv[];
{
Byte *compr, *uncompr;
uLong comprLen = 10000*sizeof(int); /* don't overflow on MSDOS */
uLong uncomprLen = comprLen;
static const char* myVersion = ZLIB_VERSION;
if (zlibVersion()[0] != myVersion[0]) {
fprintf(stderr, "incompatible zlib version\n");
exit(1);
} else if (strcmp(zlibVersion(), ZLIB_VERSION) != 0) {
fprintf(stderr, "warning: different zlib version\n");
}
printf("zlib version %s = 0x%04x, compile flags = 0x%lx\n",
ZLIB_VERSION, ZLIB_VERNUM, zlibCompileFlags());
compr = (Byte*)calloc((uInt)comprLen, 1);
uncompr = (Byte*)calloc((uInt)uncomprLen, 1);
/* compr and uncompr are cleared to avoid reading uninitialized
* data and to ensure that uncompr compresses well.
*/
if (compr == Z_NULL || uncompr == Z_NULL) {
printf("out of memory\n");
exit(1);
}
test_compress(compr, comprLen, uncompr, uncomprLen);
test_gzio((argc > 1 ? argv[1] : TESTFILE),
uncompr, uncomprLen);
test_deflate(compr, comprLen);
test_inflate(compr, comprLen, uncompr, uncomprLen);
test_large_deflate(compr, comprLen, uncompr, uncomprLen);
test_large_inflate(compr, comprLen, uncompr, uncomprLen);
test_flush(compr, &comprLen);
test_sync(compr, comprLen, uncompr, uncomprLen);
comprLen = uncomprLen;
test_dict_deflate(compr, comprLen);
test_dict_inflate(compr, comprLen, uncompr, uncomprLen);
free(compr);
free(uncompr);
return 0;
}

1026
romcnv/src/zlib/gzio.c Normal file

File diff suppressed because it is too large Load Diff

623
romcnv/src/zlib/infback.c Normal file
View File

@ -0,0 +1,623 @@
/* infback.c -- inflate using a call-back interface
* Copyright (C) 1995-2005 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/*
This code is largely copied from inflate.c. Normally either infback.o or
inflate.o would be linked into an application--not both. The interface
with inffast.c is retained so that optimized assembler-coded versions of
inflate_fast() can be used with either inflate.c or infback.c.
*/
#include "zutil.h"
#include "inftrees.h"
#include "inflate.h"
#include "inffast.h"
/* function prototypes */
local void fixedtables OF((struct inflate_state FAR *state));
/*
strm provides memory allocation functions in zalloc and zfree, or
Z_NULL to use the library memory allocation functions.
windowBits is in the range 8..15, and window is a user-supplied
window and output buffer that is 2**windowBits bytes.
*/
int ZEXPORT inflateBackInit_(strm, windowBits, window, version, stream_size)
z_streamp strm;
int windowBits;
unsigned char FAR *window;
const char *version;
int stream_size;
{
struct inflate_state FAR *state;
if (version == Z_NULL || version[0] != ZLIB_VERSION[0] ||
stream_size != (int)(sizeof(z_stream)))
return Z_VERSION_ERROR;
if (strm == Z_NULL || window == Z_NULL ||
windowBits < 8 || windowBits > 15)
return Z_STREAM_ERROR;
strm->msg = Z_NULL; /* in case we return an error */
if (strm->zalloc == (alloc_func)0) {
strm->zalloc = zcalloc;
strm->opaque = (voidpf)0;
}
if (strm->zfree == (free_func)0) strm->zfree = zcfree;
state = (struct inflate_state FAR *)ZALLOC(strm, 1,
sizeof(struct inflate_state));
if (state == Z_NULL) return Z_MEM_ERROR;
Tracev((stderr, "inflate: allocated\n"));
strm->state = (struct internal_state FAR *)state;
state->dmax = 32768U;
state->wbits = windowBits;
state->wsize = 1U << windowBits;
state->window = window;
state->write = 0;
state->whave = 0;
return Z_OK;
}
/*
Return state with length and distance decoding tables and index sizes set to
fixed code decoding. Normally this returns fixed tables from inffixed.h.
If BUILDFIXED is defined, then instead this routine builds the tables the
first time it's called, and returns those tables the first time and
thereafter. This reduces the size of the code by about 2K bytes, in
exchange for a little execution time. However, BUILDFIXED should not be
used for threaded applications, since the rewriting of the tables and virgin
may not be thread-safe.
*/
local void fixedtables(state)
struct inflate_state FAR *state;
{
#ifdef BUILDFIXED
static int virgin = 1;
static code *lenfix, *distfix;
static code fixed[544];
/* build fixed huffman tables if first call (may not be thread safe) */
if (virgin) {
unsigned sym, bits;
static code *next;
/* literal/length table */
sym = 0;
while (sym < 144) state->lens[sym++] = 8;
while (sym < 256) state->lens[sym++] = 9;
while (sym < 280) state->lens[sym++] = 7;
while (sym < 288) state->lens[sym++] = 8;
next = fixed;
lenfix = next;
bits = 9;
inflate_table(LENS, state->lens, 288, &(next), &(bits), state->work);
/* distance table */
sym = 0;
while (sym < 32) state->lens[sym++] = 5;
distfix = next;
bits = 5;
inflate_table(DISTS, state->lens, 32, &(next), &(bits), state->work);
/* do this just once */
virgin = 0;
}
#else /* !BUILDFIXED */
# include "inffixed.h"
#endif /* BUILDFIXED */
state->lencode = lenfix;
state->lenbits = 9;
state->distcode = distfix;
state->distbits = 5;
}
/* Macros for inflateBack(): */
/* Load returned state from inflate_fast() */
#define LOAD() \
do { \
put = strm->next_out; \
left = strm->avail_out; \
next = strm->next_in; \
have = strm->avail_in; \
hold = state->hold; \
bits = state->bits; \
} while (0)
/* Set state from registers for inflate_fast() */
#define RESTORE() \
do { \
strm->next_out = put; \
strm->avail_out = left; \
strm->next_in = next; \
strm->avail_in = have; \
state->hold = hold; \
state->bits = bits; \
} while (0)
/* Clear the input bit accumulator */
#define INITBITS() \
do { \
hold = 0; \
bits = 0; \
} while (0)
/* Assure that some input is available. If input is requested, but denied,
then return a Z_BUF_ERROR from inflateBack(). */
#define PULL() \
do { \
if (have == 0) { \
have = in(in_desc, &next); \
if (have == 0) { \
next = Z_NULL; \
ret = Z_BUF_ERROR; \
goto inf_leave; \
} \
} \
} while (0)
/* Get a byte of input into the bit accumulator, or return from inflateBack()
with an error if there is no input available. */
#define PULLBYTE() \
do { \
PULL(); \
have--; \
hold += (unsigned long)(*next++) << bits; \
bits += 8; \
} while (0)
/* Assure that there are at least n bits in the bit accumulator. If there is
not enough available input to do that, then return from inflateBack() with
an error. */
#define NEEDBITS(n) \
do { \
while (bits < (unsigned)(n)) \
PULLBYTE(); \
} while (0)
/* Return the low n bits of the bit accumulator (n < 16) */
#define BITS(n) \
((unsigned)hold & ((1U << (n)) - 1))
/* Remove n bits from the bit accumulator */
#define DROPBITS(n) \
do { \
hold >>= (n); \
bits -= (unsigned)(n); \
} while (0)
/* Remove zero to seven bits as needed to go to a byte boundary */
#define BYTEBITS() \
do { \
hold >>= bits & 7; \
bits -= bits & 7; \
} while (0)
/* Assure that some output space is available, by writing out the window
if it's full. If the write fails, return from inflateBack() with a
Z_BUF_ERROR. */
#define ROOM() \
do { \
if (left == 0) { \
put = state->window; \
left = state->wsize; \
state->whave = left; \
if (out(out_desc, put, left)) { \
ret = Z_BUF_ERROR; \
goto inf_leave; \
} \
} \
} while (0)
/*
strm provides the memory allocation functions and window buffer on input,
and provides information on the unused input on return. For Z_DATA_ERROR
returns, strm will also provide an error message.
in() and out() are the call-back input and output functions. When
inflateBack() needs more input, it calls in(). When inflateBack() has
filled the window with output, or when it completes with data in the
window, it calls out() to write out the data. The application must not
change the provided input until in() is called again or inflateBack()
returns. The application must not change the window/output buffer until
inflateBack() returns.
in() and out() are called with a descriptor parameter provided in the
inflateBack() call. This parameter can be a structure that provides the
information required to do the read or write, as well as accumulated
information on the input and output such as totals and check values.
in() should return zero on failure. out() should return non-zero on
failure. If either in() or out() fails, than inflateBack() returns a
Z_BUF_ERROR. strm->next_in can be checked for Z_NULL to see whether it
was in() or out() that caused in the error. Otherwise, inflateBack()
returns Z_STREAM_END on success, Z_DATA_ERROR for an deflate format
error, or Z_MEM_ERROR if it could not allocate memory for the state.
inflateBack() can also return Z_STREAM_ERROR if the input parameters
are not correct, i.e. strm is Z_NULL or the state was not initialized.
*/
int ZEXPORT inflateBack(strm, in, in_desc, out, out_desc)
z_streamp strm;
in_func in;
void FAR *in_desc;
out_func out;
void FAR *out_desc;
{
struct inflate_state FAR *state;
unsigned char FAR *next; /* next input */
unsigned char FAR *put; /* next output */
unsigned have, left; /* available input and output */
unsigned long hold; /* bit buffer */
unsigned bits; /* bits in bit buffer */
unsigned copy; /* number of stored or match bytes to copy */
unsigned char FAR *from; /* where to copy match bytes from */
code this; /* current decoding table entry */
code last; /* parent table entry */
unsigned len; /* length to copy for repeats, bits to drop */
int ret; /* return code */
static const unsigned short order[19] = /* permutation of code lengths */
{16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15};
/* Check that the strm exists and that the state was initialized */
if (strm == Z_NULL || strm->state == Z_NULL)
return Z_STREAM_ERROR;
state = (struct inflate_state FAR *)strm->state;
/* Reset the state */
strm->msg = Z_NULL;
state->mode = TYPE;
state->last = 0;
state->whave = 0;
next = strm->next_in;
have = next != Z_NULL ? strm->avail_in : 0;
hold = 0;
bits = 0;
put = state->window;
left = state->wsize;
/* Inflate until end of block marked as last */
for (;;)
switch (state->mode) {
case TYPE:
/* determine and dispatch block type */
if (state->last) {
BYTEBITS();
state->mode = DONE;
break;
}
NEEDBITS(3);
state->last = BITS(1);
DROPBITS(1);
switch (BITS(2)) {
case 0: /* stored block */
Tracev((stderr, "inflate: stored block%s\n",
state->last ? " (last)" : ""));
state->mode = STORED;
break;
case 1: /* fixed block */
fixedtables(state);
Tracev((stderr, "inflate: fixed codes block%s\n",
state->last ? " (last)" : ""));
state->mode = LEN; /* decode codes */
break;
case 2: /* dynamic block */
Tracev((stderr, "inflate: dynamic codes block%s\n",
state->last ? " (last)" : ""));
state->mode = TABLE;
break;
case 3:
strm->msg = (char *)"invalid block type";
state->mode = BAD;
}
DROPBITS(2);
break;
case STORED:
/* get and verify stored block length */
BYTEBITS(); /* go to byte boundary */
NEEDBITS(32);
if ((hold & 0xffff) != ((hold >> 16) ^ 0xffff)) {
strm->msg = (char *)"invalid stored block lengths";
state->mode = BAD;
break;
}
state->length = (unsigned)hold & 0xffff;
Tracev((stderr, "inflate: stored length %u\n",
state->length));
INITBITS();
/* copy stored block from input to output */
while (state->length != 0) {
copy = state->length;
PULL();
ROOM();
if (copy > have) copy = have;
if (copy > left) copy = left;
zmemcpy(put, next, copy);
have -= copy;
next += copy;
left -= copy;
put += copy;
state->length -= copy;
}
Tracev((stderr, "inflate: stored end\n"));
state->mode = TYPE;
break;
case TABLE:
/* get dynamic table entries descriptor */
NEEDBITS(14);
state->nlen = BITS(5) + 257;
DROPBITS(5);
state->ndist = BITS(5) + 1;
DROPBITS(5);
state->ncode = BITS(4) + 4;
DROPBITS(4);
#ifndef PKZIP_BUG_WORKAROUND
if (state->nlen > 286 || state->ndist > 30) {
strm->msg = (char *)"too many length or distance symbols";
state->mode = BAD;
break;
}
#endif
Tracev((stderr, "inflate: table sizes ok\n"));
/* get code length code lengths (not a typo) */
state->have = 0;
while (state->have < state->ncode) {
NEEDBITS(3);
state->lens[order[state->have++]] = (unsigned short)BITS(3);
DROPBITS(3);
}
while (state->have < 19)
state->lens[order[state->have++]] = 0;
state->next = state->codes;
state->lencode = (code const FAR *)(state->next);
state->lenbits = 7;
ret = inflate_table(CODES, state->lens, 19, &(state->next),
&(state->lenbits), state->work);
if (ret) {
strm->msg = (char *)"invalid code lengths set";
state->mode = BAD;
break;
}
Tracev((stderr, "inflate: code lengths ok\n"));
/* get length and distance code code lengths */
state->have = 0;
while (state->have < state->nlen + state->ndist) {
for (;;) {
this = state->lencode[BITS(state->lenbits)];
if ((unsigned)(this.bits) <= bits) break;
PULLBYTE();
}
if (this.val < 16) {
NEEDBITS(this.bits);
DROPBITS(this.bits);
state->lens[state->have++] = this.val;
}
else {
if (this.val == 16) {
NEEDBITS(this.bits + 2);
DROPBITS(this.bits);
if (state->have == 0) {
strm->msg = (char *)"invalid bit length repeat";
state->mode = BAD;
break;
}
len = (unsigned)(state->lens[state->have - 1]);
copy = 3 + BITS(2);
DROPBITS(2);
}
else if (this.val == 17) {
NEEDBITS(this.bits + 3);
DROPBITS(this.bits);
len = 0;
copy = 3 + BITS(3);
DROPBITS(3);
}
else {
NEEDBITS(this.bits + 7);
DROPBITS(this.bits);
len = 0;
copy = 11 + BITS(7);
DROPBITS(7);
}
if (state->have + copy > state->nlen + state->ndist) {
strm->msg = (char *)"invalid bit length repeat";
state->mode = BAD;
break;
}
while (copy--)
state->lens[state->have++] = (unsigned short)len;
}
}
/* handle error breaks in while */
if (state->mode == BAD) break;
/* build code tables */
state->next = state->codes;
state->lencode = (code const FAR *)(state->next);
state->lenbits = 9;
ret = inflate_table(LENS, state->lens, state->nlen, &(state->next),
&(state->lenbits), state->work);
if (ret) {
strm->msg = (char *)"invalid literal/lengths set";
state->mode = BAD;
break;
}
state->distcode = (code const FAR *)(state->next);
state->distbits = 6;
ret = inflate_table(DISTS, state->lens + state->nlen, state->ndist,
&(state->next), &(state->distbits), state->work);
if (ret) {
strm->msg = (char *)"invalid distances set";
state->mode = BAD;
break;
}
Tracev((stderr, "inflate: codes ok\n"));
state->mode = LEN;
case LEN:
/* use inflate_fast() if we have enough input and output */
if (have >= 6 && left >= 258) {
RESTORE();
if (state->whave < state->wsize)
state->whave = state->wsize - left;
inflate_fast(strm, state->wsize);
LOAD();
break;
}
/* get a literal, length, or end-of-block code */
for (;;) {
this = state->lencode[BITS(state->lenbits)];
if ((unsigned)(this.bits) <= bits) break;
PULLBYTE();
}
if (this.op && (this.op & 0xf0) == 0) {
last = this;
for (;;) {
this = state->lencode[last.val +
(BITS(last.bits + last.op) >> last.bits)];
if ((unsigned)(last.bits + this.bits) <= bits) break;
PULLBYTE();
}
DROPBITS(last.bits);
}
DROPBITS(this.bits);
state->length = (unsigned)this.val;
/* process literal */
if (this.op == 0) {
Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?
"inflate: literal '%c'\n" :
"inflate: literal 0x%02x\n", this.val));
ROOM();
*put++ = (unsigned char)(state->length);
left--;
state->mode = LEN;
break;
}
/* process end of block */
if (this.op & 32) {
Tracevv((stderr, "inflate: end of block\n"));
state->mode = TYPE;
break;
}
/* invalid code */
if (this.op & 64) {
strm->msg = (char *)"invalid literal/length code";
state->mode = BAD;
break;
}
/* length code -- get extra bits, if any */
state->extra = (unsigned)(this.op) & 15;
if (state->extra != 0) {
NEEDBITS(state->extra);
state->length += BITS(state->extra);
DROPBITS(state->extra);
}
Tracevv((stderr, "inflate: length %u\n", state->length));
/* get distance code */
for (;;) {
this = state->distcode[BITS(state->distbits)];
if ((unsigned)(this.bits) <= bits) break;
PULLBYTE();
}
if ((this.op & 0xf0) == 0) {
last = this;
for (;;) {
this = state->distcode[last.val +
(BITS(last.bits + last.op) >> last.bits)];
if ((unsigned)(last.bits + this.bits) <= bits) break;
PULLBYTE();
}
DROPBITS(last.bits);
}
DROPBITS(this.bits);
if (this.op & 64) {
strm->msg = (char *)"invalid distance code";
state->mode = BAD;
break;
}
state->offset = (unsigned)this.val;
/* get distance extra bits, if any */
state->extra = (unsigned)(this.op) & 15;
if (state->extra != 0) {
NEEDBITS(state->extra);
state->offset += BITS(state->extra);
DROPBITS(state->extra);
}
if (state->offset > state->wsize - (state->whave < state->wsize ?
left : 0)) {
strm->msg = (char *)"invalid distance too far back";
state->mode = BAD;
break;
}
Tracevv((stderr, "inflate: distance %u\n", state->offset));
/* copy match from window to output */
do {
ROOM();
copy = state->wsize - state->offset;
if (copy < left) {
from = put + copy;
copy = left - copy;
}
else {
from = put - state->offset;
copy = left;
}
if (copy > state->length) copy = state->length;
state->length -= copy;
left -= copy;
do {
*put++ = *from++;
} while (--copy);
} while (state->length != 0);
break;
case DONE:
/* inflate stream terminated properly -- write leftover output */
ret = Z_STREAM_END;
if (left < state->wsize) {
if (out(out_desc, state->window, state->wsize - left))
ret = Z_BUF_ERROR;
}
goto inf_leave;
case BAD:
ret = Z_DATA_ERROR;
goto inf_leave;
default: /* can't happen, but makes compilers happy */
ret = Z_STREAM_ERROR;
goto inf_leave;
}
/* Return unused input */
inf_leave:
strm->next_in = next;
strm->avail_in = have;
return ret;
}
int ZEXPORT inflateBackEnd(strm)
z_streamp strm;
{
if (strm == Z_NULL || strm->state == Z_NULL || strm->zfree == (free_func)0)
return Z_STREAM_ERROR;
ZFREE(strm, strm->state);
strm->state = Z_NULL;
Tracev((stderr, "inflate: end\n"));
return Z_OK;
}

318
romcnv/src/zlib/inffast.c Normal file
View File

@ -0,0 +1,318 @@
/* inffast.c -- fast decoding
* Copyright (C) 1995-2004 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
#include "zutil.h"
#include "inftrees.h"
#include "inflate.h"
#include "inffast.h"
#ifndef ASMINF
/* Allow machine dependent optimization for post-increment or pre-increment.
Based on testing to date,
Pre-increment preferred for:
- PowerPC G3 (Adler)
- MIPS R5000 (Randers-Pehrson)
Post-increment preferred for:
- none
No measurable difference:
- Pentium III (Anderson)
- M68060 (Nikl)
*/
#ifdef POSTINC
# define OFF 0
# define PUP(a) *(a)++
#else
# define OFF 1
# define PUP(a) *++(a)
#endif
/*
Decode literal, length, and distance codes and write out the resulting
literal and match bytes until either not enough input or output is
available, an end-of-block is encountered, or a data error is encountered.
When large enough input and output buffers are supplied to inflate(), for
example, a 16K input buffer and a 64K output buffer, more than 95% of the
inflate execution time is spent in this routine.
Entry assumptions:
state->mode == LEN
strm->avail_in >= 6
strm->avail_out >= 258
start >= strm->avail_out
state->bits < 8
On return, state->mode is one of:
LEN -- ran out of enough output space or enough available input
TYPE -- reached end of block code, inflate() to interpret next block
BAD -- error in block data
Notes:
- The maximum input bits used by a length/distance pair is 15 bits for the
length code, 5 bits for the length extra, 15 bits for the distance code,
and 13 bits for the distance extra. This totals 48 bits, or six bytes.
Therefore if strm->avail_in >= 6, then there is enough input to avoid
checking for available input while decoding.
- The maximum bytes that a single length/distance pair can output is 258
bytes, which is the maximum length that can be coded. inflate_fast()
requires strm->avail_out >= 258 for each loop to avoid checking for
output space.
*/
void inflate_fast(strm, start)
z_streamp strm;
unsigned start; /* inflate()'s starting value for strm->avail_out */
{
struct inflate_state FAR *state;
unsigned char FAR *in; /* local strm->next_in */
unsigned char FAR *last; /* while in < last, enough input available */
unsigned char FAR *out; /* local strm->next_out */
unsigned char FAR *beg; /* inflate()'s initial strm->next_out */
unsigned char FAR *end; /* while out < end, enough space available */
#ifdef INFLATE_STRICT
unsigned dmax; /* maximum distance from zlib header */
#endif
unsigned wsize; /* window size or zero if not using window */
unsigned whave; /* valid bytes in the window */
unsigned write; /* window write index */
unsigned char FAR *window; /* allocated sliding window, if wsize != 0 */
unsigned long hold; /* local strm->hold */
unsigned bits; /* local strm->bits */
code const FAR *lcode; /* local strm->lencode */
code const FAR *dcode; /* local strm->distcode */
unsigned lmask; /* mask for first level of length codes */
unsigned dmask; /* mask for first level of distance codes */
code this; /* retrieved table entry */
unsigned op; /* code bits, operation, extra bits, or */
/* window position, window bytes to copy */
unsigned len; /* match length, unused bytes */
unsigned dist; /* match distance */
unsigned char FAR *from; /* where to copy match from */
/* copy state to local variables */
state = (struct inflate_state FAR *)strm->state;
in = strm->next_in - OFF;
last = in + (strm->avail_in - 5);
out = strm->next_out - OFF;
beg = out - (start - strm->avail_out);
end = out + (strm->avail_out - 257);
#ifdef INFLATE_STRICT
dmax = state->dmax;
#endif
wsize = state->wsize;
whave = state->whave;
write = state->write;
window = state->window;
hold = state->hold;
bits = state->bits;
lcode = state->lencode;
dcode = state->distcode;
lmask = (1U << state->lenbits) - 1;
dmask = (1U << state->distbits) - 1;
/* decode literals and length/distances until end-of-block or not enough
input data or output space */
do {
if (bits < 15) {
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
}
this = lcode[hold & lmask];
dolen:
op = (unsigned)(this.bits);
hold >>= op;
bits -= op;
op = (unsigned)(this.op);
if (op == 0) { /* literal */
Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?
"inflate: literal '%c'\n" :
"inflate: literal 0x%02x\n", this.val));
PUP(out) = (unsigned char)(this.val);
}
else if (op & 16) { /* length base */
len = (unsigned)(this.val);
op &= 15; /* number of extra bits */
if (op) {
if (bits < op) {
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
}
len += (unsigned)hold & ((1U << op) - 1);
hold >>= op;
bits -= op;
}
Tracevv((stderr, "inflate: length %u\n", len));
if (bits < 15) {
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
}
this = dcode[hold & dmask];
dodist:
op = (unsigned)(this.bits);
hold >>= op;
bits -= op;
op = (unsigned)(this.op);
if (op & 16) { /* distance base */
dist = (unsigned)(this.val);
op &= 15; /* number of extra bits */
if (bits < op) {
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
if (bits < op) {
hold += (unsigned long)(PUP(in)) << bits;
bits += 8;
}
}
dist += (unsigned)hold & ((1U << op) - 1);
#ifdef INFLATE_STRICT
if (dist > dmax) {
strm->msg = (char *)"invalid distance too far back";
state->mode = BAD;
break;
}
#endif
hold >>= op;
bits -= op;
Tracevv((stderr, "inflate: distance %u\n", dist));
op = (unsigned)(out - beg); /* max distance in output */
if (dist > op) { /* see if copy from window */
op = dist - op; /* distance back in window */
if (op > whave) {
strm->msg = (char *)"invalid distance too far back";
state->mode = BAD;
break;
}
from = window - OFF;
if (write == 0) { /* very common case */
from += wsize - op;
if (op < len) { /* some from window */
len -= op;
do {
PUP(out) = PUP(from);
} while (--op);
from = out - dist; /* rest from output */
}
}
else if (write < op) { /* wrap around window */
from += wsize + write - op;
op -= write;
if (op < len) { /* some from end of window */
len -= op;
do {
PUP(out) = PUP(from);
} while (--op);
from = window - OFF;
if (write < len) { /* some from start of window */
op = write;
len -= op;
do {
PUP(out) = PUP(from);
} while (--op);
from = out - dist; /* rest from output */
}
}
}
else { /* contiguous in window */
from += write - op;
if (op < len) { /* some from window */
len -= op;
do {
PUP(out) = PUP(from);
} while (--op);
from = out - dist; /* rest from output */
}
}
while (len > 2) {
PUP(out) = PUP(from);
PUP(out) = PUP(from);
PUP(out) = PUP(from);
len -= 3;
}
if (len) {
PUP(out) = PUP(from);
if (len > 1)
PUP(out) = PUP(from);
}
}
else {
from = out - dist; /* copy direct from output */
do { /* minimum length is three */
PUP(out) = PUP(from);
PUP(out) = PUP(from);
PUP(out) = PUP(from);
len -= 3;
} while (len > 2);
if (len) {
PUP(out) = PUP(from);
if (len > 1)
PUP(out) = PUP(from);
}
}
}
else if ((op & 64) == 0) { /* 2nd level distance code */
this = dcode[this.val + (hold & ((1U << op) - 1))];
goto dodist;
}
else {
strm->msg = (char *)"invalid distance code";
state->mode = BAD;
break;
}
}
else if ((op & 64) == 0) { /* 2nd level length code */
this = lcode[this.val + (hold & ((1U << op) - 1))];
goto dolen;
}
else if (op & 32) { /* end-of-block */
Tracevv((stderr, "inflate: end of block\n"));
state->mode = TYPE;
break;
}
else {
strm->msg = (char *)"invalid literal/length code";
state->mode = BAD;
break;
}
} while (in < last && out < end);
/* return unused bytes (on entry, bits < 8, so in won't go too far back) */
len = bits >> 3;
in -= len;
bits -= len << 3;
hold &= (1U << bits) - 1;
/* update state and return */
strm->next_in = in + OFF;
strm->next_out = out + OFF;
strm->avail_in = (unsigned)(in < last ? 5 + (last - in) : 5 - (in - last));
strm->avail_out = (unsigned)(out < end ?
257 + (end - out) : 257 - (out - end));
state->hold = hold;
state->bits = bits;
return;
}
/*
inflate_fast() speedups that turned out slower (on a PowerPC G3 750CXe):
- Using bit fields for code structure
- Different op definition to avoid & for extra bits (do & for table bits)
- Three separate decoding do-loops for direct, window, and write == 0
- Special case for distance > 1 copies to do overlapped load and store copy
- Explicit branch predictions (based on measured branch probabilities)
- Deferring match copy and interspersed it with decoding subsequent codes
- Swapping literal/length else
- Swapping window/direct else
- Larger unrolled copy loops (three is about right)
- Moving len -= 3 statement into middle of loop
*/
#endif /* !ASMINF */

11
romcnv/src/zlib/inffast.h Normal file
View File

@ -0,0 +1,11 @@
/* inffast.h -- header to use inffast.c
* Copyright (C) 1995-2003 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* WARNING: this file should *not* be used by applications. It is
part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h.
*/
void inflate_fast OF((z_streamp strm, unsigned start));

View File

@ -0,0 +1,94 @@
/* inffixed.h -- table for decoding fixed codes
* Generated automatically by makefixed().
*/
/* WARNING: this file should *not* be used by applications. It
is part of the implementation of the compression library and
is subject to change. Applications should only use zlib.h.
*/
static const code lenfix[512] = {
{96,7,0},{0,8,80},{0,8,16},{20,8,115},{18,7,31},{0,8,112},{0,8,48},
{0,9,192},{16,7,10},{0,8,96},{0,8,32},{0,9,160},{0,8,0},{0,8,128},
{0,8,64},{0,9,224},{16,7,6},{0,8,88},{0,8,24},{0,9,144},{19,7,59},
{0,8,120},{0,8,56},{0,9,208},{17,7,17},{0,8,104},{0,8,40},{0,9,176},
{0,8,8},{0,8,136},{0,8,72},{0,9,240},{16,7,4},{0,8,84},{0,8,20},
{21,8,227},{19,7,43},{0,8,116},{0,8,52},{0,9,200},{17,7,13},{0,8,100},
{0,8,36},{0,9,168},{0,8,4},{0,8,132},{0,8,68},{0,9,232},{16,7,8},
{0,8,92},{0,8,28},{0,9,152},{20,7,83},{0,8,124},{0,8,60},{0,9,216},
{18,7,23},{0,8,108},{0,8,44},{0,9,184},{0,8,12},{0,8,140},{0,8,76},
{0,9,248},{16,7,3},{0,8,82},{0,8,18},{21,8,163},{19,7,35},{0,8,114},
{0,8,50},{0,9,196},{17,7,11},{0,8,98},{0,8,34},{0,9,164},{0,8,2},
{0,8,130},{0,8,66},{0,9,228},{16,7,7},{0,8,90},{0,8,26},{0,9,148},
{20,7,67},{0,8,122},{0,8,58},{0,9,212},{18,7,19},{0,8,106},{0,8,42},
{0,9,180},{0,8,10},{0,8,138},{0,8,74},{0,9,244},{16,7,5},{0,8,86},
{0,8,22},{64,8,0},{19,7,51},{0,8,118},{0,8,54},{0,9,204},{17,7,15},
{0,8,102},{0,8,38},{0,9,172},{0,8,6},{0,8,134},{0,8,70},{0,9,236},
{16,7,9},{0,8,94},{0,8,30},{0,9,156},{20,7,99},{0,8,126},{0,8,62},
{0,9,220},{18,7,27},{0,8,110},{0,8,46},{0,9,188},{0,8,14},{0,8,142},
{0,8,78},{0,9,252},{96,7,0},{0,8,81},{0,8,17},{21,8,131},{18,7,31},
{0,8,113},{0,8,49},{0,9,194},{16,7,10},{0,8,97},{0,8,33},{0,9,162},
{0,8,1},{0,8,129},{0,8,65},{0,9,226},{16,7,6},{0,8,89},{0,8,25},
{0,9,146},{19,7,59},{0,8,121},{0,8,57},{0,9,210},{17,7,17},{0,8,105},
{0,8,41},{0,9,178},{0,8,9},{0,8,137},{0,8,73},{0,9,242},{16,7,4},
{0,8,85},{0,8,21},{16,8,258},{19,7,43},{0,8,117},{0,8,53},{0,9,202},
{17,7,13},{0,8,101},{0,8,37},{0,9,170},{0,8,5},{0,8,133},{0,8,69},
{0,9,234},{16,7,8},{0,8,93},{0,8,29},{0,9,154},{20,7,83},{0,8,125},
{0,8,61},{0,9,218},{18,7,23},{0,8,109},{0,8,45},{0,9,186},{0,8,13},
{0,8,141},{0,8,77},{0,9,250},{16,7,3},{0,8,83},{0,8,19},{21,8,195},
{19,7,35},{0,8,115},{0,8,51},{0,9,198},{17,7,11},{0,8,99},{0,8,35},
{0,9,166},{0,8,3},{0,8,131},{0,8,67},{0,9,230},{16,7,7},{0,8,91},
{0,8,27},{0,9,150},{20,7,67},{0,8,123},{0,8,59},{0,9,214},{18,7,19},
{0,8,107},{0,8,43},{0,9,182},{0,8,11},{0,8,139},{0,8,75},{0,9,246},
{16,7,5},{0,8,87},{0,8,23},{64,8,0},{19,7,51},{0,8,119},{0,8,55},
{0,9,206},{17,7,15},{0,8,103},{0,8,39},{0,9,174},{0,8,7},{0,8,135},
{0,8,71},{0,9,238},{16,7,9},{0,8,95},{0,8,31},{0,9,158},{20,7,99},
{0,8,127},{0,8,63},{0,9,222},{18,7,27},{0,8,111},{0,8,47},{0,9,190},
{0,8,15},{0,8,143},{0,8,79},{0,9,254},{96,7,0},{0,8,80},{0,8,16},
{20,8,115},{18,7,31},{0,8,112},{0,8,48},{0,9,193},{16,7,10},{0,8,96},
{0,8,32},{0,9,161},{0,8,0},{0,8,128},{0,8,64},{0,9,225},{16,7,6},
{0,8,88},{0,8,24},{0,9,145},{19,7,59},{0,8,120},{0,8,56},{0,9,209},
{17,7,17},{0,8,104},{0,8,40},{0,9,177},{0,8,8},{0,8,136},{0,8,72},
{0,9,241},{16,7,4},{0,8,84},{0,8,20},{21,8,227},{19,7,43},{0,8,116},
{0,8,52},{0,9,201},{17,7,13},{0,8,100},{0,8,36},{0,9,169},{0,8,4},
{0,8,132},{0,8,68},{0,9,233},{16,7,8},{0,8,92},{0,8,28},{0,9,153},
{20,7,83},{0,8,124},{0,8,60},{0,9,217},{18,7,23},{0,8,108},{0,8,44},
{0,9,185},{0,8,12},{0,8,140},{0,8,76},{0,9,249},{16,7,3},{0,8,82},
{0,8,18},{21,8,163},{19,7,35},{0,8,114},{0,8,50},{0,9,197},{17,7,11},
{0,8,98},{0,8,34},{0,9,165},{0,8,2},{0,8,130},{0,8,66},{0,9,229},
{16,7,7},{0,8,90},{0,8,26},{0,9,149},{20,7,67},{0,8,122},{0,8,58},
{0,9,213},{18,7,19},{0,8,106},{0,8,42},{0,9,181},{0,8,10},{0,8,138},
{0,8,74},{0,9,245},{16,7,5},{0,8,86},{0,8,22},{64,8,0},{19,7,51},
{0,8,118},{0,8,54},{0,9,205},{17,7,15},{0,8,102},{0,8,38},{0,9,173},
{0,8,6},{0,8,134},{0,8,70},{0,9,237},{16,7,9},{0,8,94},{0,8,30},
{0,9,157},{20,7,99},{0,8,126},{0,8,62},{0,9,221},{18,7,27},{0,8,110},
{0,8,46},{0,9,189},{0,8,14},{0,8,142},{0,8,78},{0,9,253},{96,7,0},
{0,8,81},{0,8,17},{21,8,131},{18,7,31},{0,8,113},{0,8,49},{0,9,195},
{16,7,10},{0,8,97},{0,8,33},{0,9,163},{0,8,1},{0,8,129},{0,8,65},
{0,9,227},{16,7,6},{0,8,89},{0,8,25},{0,9,147},{19,7,59},{0,8,121},
{0,8,57},{0,9,211},{17,7,17},{0,8,105},{0,8,41},{0,9,179},{0,8,9},
{0,8,137},{0,8,73},{0,9,243},{16,7,4},{0,8,85},{0,8,21},{16,8,258},
{19,7,43},{0,8,117},{0,8,53},{0,9,203},{17,7,13},{0,8,101},{0,8,37},
{0,9,171},{0,8,5},{0,8,133},{0,8,69},{0,9,235},{16,7,8},{0,8,93},
{0,8,29},{0,9,155},{20,7,83},{0,8,125},{0,8,61},{0,9,219},{18,7,23},
{0,8,109},{0,8,45},{0,9,187},{0,8,13},{0,8,141},{0,8,77},{0,9,251},
{16,7,3},{0,8,83},{0,8,19},{21,8,195},{19,7,35},{0,8,115},{0,8,51},
{0,9,199},{17,7,11},{0,8,99},{0,8,35},{0,9,167},{0,8,3},{0,8,131},
{0,8,67},{0,9,231},{16,7,7},{0,8,91},{0,8,27},{0,9,151},{20,7,67},
{0,8,123},{0,8,59},{0,9,215},{18,7,19},{0,8,107},{0,8,43},{0,9,183},
{0,8,11},{0,8,139},{0,8,75},{0,9,247},{16,7,5},{0,8,87},{0,8,23},
{64,8,0},{19,7,51},{0,8,119},{0,8,55},{0,9,207},{17,7,15},{0,8,103},
{0,8,39},{0,9,175},{0,8,7},{0,8,135},{0,8,71},{0,9,239},{16,7,9},
{0,8,95},{0,8,31},{0,9,159},{20,7,99},{0,8,127},{0,8,63},{0,9,223},
{18,7,27},{0,8,111},{0,8,47},{0,9,191},{0,8,15},{0,8,143},{0,8,79},
{0,9,255}
};
static const code distfix[32] = {
{16,5,1},{23,5,257},{19,5,17},{27,5,4097},{17,5,5},{25,5,1025},
{21,5,65},{29,5,16385},{16,5,3},{24,5,513},{20,5,33},{28,5,8193},
{18,5,9},{26,5,2049},{22,5,129},{64,5,0},{16,5,2},{23,5,385},
{19,5,25},{27,5,6145},{17,5,7},{25,5,1537},{21,5,97},{29,5,24577},
{16,5,4},{24,5,769},{20,5,49},{28,5,12289},{18,5,13},{26,5,3073},
{22,5,193},{64,5,0}
};

1368
romcnv/src/zlib/inflate.c Normal file

File diff suppressed because it is too large Load Diff

115
romcnv/src/zlib/inflate.h Normal file
View File

@ -0,0 +1,115 @@
/* inflate.h -- internal inflate state definition
* Copyright (C) 1995-2004 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* WARNING: this file should *not* be used by applications. It is
part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h.
*/
/* define NO_GZIP when compiling if you want to disable gzip header and
trailer decoding by inflate(). NO_GZIP would be used to avoid linking in
the crc code when it is not needed. For shared libraries, gzip decoding
should be left enabled. */
#ifndef NO_GZIP
# define GUNZIP
#endif
/* Possible inflate modes between inflate() calls */
typedef enum {
HEAD, /* i: waiting for magic header */
FLAGS, /* i: waiting for method and flags (gzip) */
TIME, /* i: waiting for modification time (gzip) */
OS, /* i: waiting for extra flags and operating system (gzip) */
EXLEN, /* i: waiting for extra length (gzip) */
EXTRA, /* i: waiting for extra bytes (gzip) */
NAME, /* i: waiting for end of file name (gzip) */
COMMENT, /* i: waiting for end of comment (gzip) */
HCRC, /* i: waiting for header crc (gzip) */
DICTID, /* i: waiting for dictionary check value */
DICT, /* waiting for inflateSetDictionary() call */
TYPE, /* i: waiting for type bits, including last-flag bit */
TYPEDO, /* i: same, but skip check to exit inflate on new block */
STORED, /* i: waiting for stored size (length and complement) */
COPY, /* i/o: waiting for input or output to copy stored block */
TABLE, /* i: waiting for dynamic block table lengths */
LENLENS, /* i: waiting for code length code lengths */
CODELENS, /* i: waiting for length/lit and distance code lengths */
LEN, /* i: waiting for length/lit code */
LENEXT, /* i: waiting for length extra bits */
DIST, /* i: waiting for distance code */
DISTEXT, /* i: waiting for distance extra bits */
MATCH, /* o: waiting for output space to copy string */
LIT, /* o: waiting for output space to write literal */
CHECK, /* i: waiting for 32-bit check value */
LENGTH, /* i: waiting for 32-bit length (gzip) */
DONE, /* finished check, done -- remain here until reset */
BAD, /* got a data error -- remain here until reset */
MEM, /* got an inflate() memory error -- remain here until reset */
SYNC /* looking for synchronization bytes to restart inflate() */
} inflate_mode;
/*
State transitions between above modes -
(most modes can go to the BAD or MEM mode -- not shown for clarity)
Process header:
HEAD -> (gzip) or (zlib)
(gzip) -> FLAGS -> TIME -> OS -> EXLEN -> EXTRA -> NAME
NAME -> COMMENT -> HCRC -> TYPE
(zlib) -> DICTID or TYPE
DICTID -> DICT -> TYPE
Read deflate blocks:
TYPE -> STORED or TABLE or LEN or CHECK
STORED -> COPY -> TYPE
TABLE -> LENLENS -> CODELENS -> LEN
Read deflate codes:
LEN -> LENEXT or LIT or TYPE
LENEXT -> DIST -> DISTEXT -> MATCH -> LEN
LIT -> LEN
Process trailer:
CHECK -> LENGTH -> DONE
*/
/* state maintained between inflate() calls. Approximately 7K bytes. */
struct inflate_state {
inflate_mode mode; /* current inflate mode */
int last; /* true if processing last block */
int wrap; /* bit 0 true for zlib, bit 1 true for gzip */
int havedict; /* true if dictionary provided */
int flags; /* gzip header method and flags (0 if zlib) */
unsigned dmax; /* zlib header max distance (INFLATE_STRICT) */
unsigned long check; /* protected copy of check value */
unsigned long total; /* protected copy of output count */
gz_headerp head; /* where to save gzip header information */
/* sliding window */
unsigned wbits; /* log base 2 of requested window size */
unsigned wsize; /* window size or zero if not using window */
unsigned whave; /* valid bytes in the window */
unsigned write; /* window write index */
unsigned char FAR *window; /* allocated sliding window, if needed */
/* bit accumulator */
unsigned long hold; /* input bit accumulator */
unsigned bits; /* number of bits in "in" */
/* for string and stored block copying */
unsigned length; /* literal or length of data to copy */
unsigned offset; /* distance back to copy string from */
/* for table and code decoding */
unsigned extra; /* extra bits needed */
/* fixed and dynamic code tables */
code const FAR *lencode; /* starting table for length/literal codes */
code const FAR *distcode; /* starting table for distance codes */
unsigned lenbits; /* index bits for lencode */
unsigned distbits; /* index bits for distcode */
/* dynamic table building */
unsigned ncode; /* number of code length code lengths */
unsigned nlen; /* number of length code lengths */
unsigned ndist; /* number of distance code lengths */
unsigned have; /* number of code lengths in lens[] */
code FAR *next; /* next available space in codes[] */
unsigned short lens[320]; /* temporary storage for code lengths */
unsigned short work[288]; /* work area for code table building */
code codes[ENOUGH]; /* space for code tables */
};

329
romcnv/src/zlib/inftrees.c Normal file
View File

@ -0,0 +1,329 @@
/* inftrees.c -- generate Huffman trees for efficient decoding
* Copyright (C) 1995-2005 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
#include "zutil.h"
#include "inftrees.h"
#define MAXBITS 15
const char inflate_copyright[] =
" inflate 1.2.3 Copyright 1995-2005 Mark Adler ";
/*
If you use the zlib library in a product, an acknowledgment is welcome
in the documentation of your product. If for some reason you cannot
include such an acknowledgment, I would appreciate that you keep this
copyright string in the executable of your product.
*/
/*
Build a set of tables to decode the provided canonical Huffman code.
The code lengths are lens[0..codes-1]. The result starts at *table,
whose indices are 0..2^bits-1. work is a writable array of at least
lens shorts, which is used as a work area. type is the type of code
to be generated, CODES, LENS, or DISTS. On return, zero is success,
-1 is an invalid code, and +1 means that ENOUGH isn't enough. table
on return points to the next available entry's address. bits is the
requested root table index bits, and on return it is the actual root
table index bits. It will differ if the request is greater than the
longest code or if it is less than the shortest code.
*/
int inflate_table(type, lens, codes, table, bits, work)
codetype type;
unsigned short FAR *lens;
unsigned codes;
code FAR * FAR *table;
unsigned FAR *bits;
unsigned short FAR *work;
{
unsigned len; /* a code's length in bits */
unsigned sym; /* index of code symbols */
unsigned min, max; /* minimum and maximum code lengths */
unsigned root; /* number of index bits for root table */
unsigned curr; /* number of index bits for current table */
unsigned drop; /* code bits to drop for sub-table */
int left; /* number of prefix codes available */
unsigned used; /* code entries in table used */
unsigned huff; /* Huffman code */
unsigned incr; /* for incrementing code, index */
unsigned fill; /* index for replicating entries */
unsigned low; /* low bits for current root entry */
unsigned mask; /* mask for low root bits */
code this; /* table entry for duplication */
code FAR *next; /* next available space in table */
const unsigned short FAR *base; /* base value table to use */
const unsigned short FAR *extra; /* extra bits table to use */
int end; /* use base and extra for symbol > end */
unsigned short count[MAXBITS+1]; /* number of codes of each length */
unsigned short offs[MAXBITS+1]; /* offsets in table for each length */
static const unsigned short lbase[31] = { /* Length codes 257..285 base */
3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 201, 196};
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
8193, 12289, 16385, 24577, 0, 0};
static const unsigned short dext[32] = { /* Distance codes 0..29 extra */
16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,
23, 23, 24, 24, 25, 25, 26, 26, 27, 27,
28, 28, 29, 29, 64, 64};
/*
Process a set of code lengths to create a canonical Huffman code. The
code lengths are lens[0..codes-1]. Each length corresponds to the
symbols 0..codes-1. The Huffman code is generated by first sorting the
symbols by length from short to long, and retaining the symbol order
for codes with equal lengths. Then the code starts with all zero bits
for the first code of the shortest length, and the codes are integer
increments for the same length, and zeros are appended as the length
increases. For the deflate format, these bits are stored backwards
from their more natural integer increment ordering, and so when the
decoding tables are built in the large loop below, the integer codes
are incremented backwards.
This routine assumes, but does not check, that all of the entries in
lens[] are in the range 0..MAXBITS. The caller must assure this.
1..MAXBITS is interpreted as that code length. zero means that that
symbol does not occur in this code.
The codes are sorted by computing a count of codes for each length,
creating from that a table of starting indices for each length in the
sorted table, and then entering the symbols in order in the sorted
table. The sorted table is work[], with that space being provided by
the caller.
The length counts are used for other purposes as well, i.e. finding
the minimum and maximum length codes, determining if there are any
codes at all, checking for a valid set of lengths, and looking ahead
at length counts to determine sub-table sizes when building the
decoding tables.
*/
/* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */
for (len = 0; len <= MAXBITS; len++)
count[len] = 0;
for (sym = 0; sym < codes; sym++)
count[lens[sym]]++;
/* bound code lengths, force root to be within code lengths */
root = *bits;
for (max = MAXBITS; max >= 1; max--)
if (count[max] != 0) break;
if (root > max) root = max;
if (max == 0) { /* no symbols to code at all */
this.op = (unsigned char)64; /* invalid code marker */
this.bits = (unsigned char)1;
this.val = (unsigned short)0;
*(*table)++ = this; /* make a table to force an error */
*(*table)++ = this;
*bits = 1;
return 0; /* no symbols, but wait for decoding to report error */
}
for (min = 1; min <= MAXBITS; min++)
if (count[min] != 0) break;
if (root < min) root = min;
/* check for an over-subscribed or incomplete set of lengths */
left = 1;
for (len = 1; len <= MAXBITS; len++) {
left <<= 1;
left -= count[len];
if (left < 0) return -1; /* over-subscribed */
}
if (left > 0 && (type == CODES || max != 1))
return -1; /* incomplete set */
/* generate offsets into symbol table for each length for sorting */
offs[1] = 0;
for (len = 1; len < MAXBITS; len++)
offs[len + 1] = offs[len] + count[len];
/* sort symbols by length, by symbol order within each length */
for (sym = 0; sym < codes; sym++)
if (lens[sym] != 0) work[offs[lens[sym]]++] = (unsigned short)sym;
/*
Create and fill in decoding tables. In this loop, the table being
filled is at next and has curr index bits. The code being used is huff
with length len. That code is converted to an index by dropping drop
bits off of the bottom. For codes where len is less than drop + curr,
those top drop + curr - len bits are incremented through all values to
fill the table with replicated entries.
root is the number of index bits for the root table. When len exceeds
root, sub-tables are created pointed to by the root entry with an index
of the low root bits of huff. This is saved in low to check for when a
new sub-table should be started. drop is zero when the root table is
being filled, and drop is root when sub-tables are being filled.
When a new sub-table is needed, it is necessary to look ahead in the
code lengths to determine what size sub-table is needed. The length
counts are used for this, and so count[] is decremented as codes are
entered in the tables.
used keeps track of how many table entries have been allocated from the
provided *table space. It is checked when a LENS table is being made
against the space in *table, ENOUGH, minus the maximum space needed by
the worst case distance code, MAXD. This should never happen, but the
sufficiency of ENOUGH has not been proven exhaustively, hence the check.
This assumes that when type == LENS, bits == 9.
sym increments through all symbols, and the loop terminates when
all codes of length max, i.e. all codes, have been processed. This
routine permits incomplete codes, so another loop after this one fills
in the rest of the decoding tables with invalid code markers.
*/
/* set up for code type */
switch (type) {
case CODES:
base = extra = work; /* dummy value--not used */
end = 19;
break;
case LENS:
base = lbase;
base -= 257;
extra = lext;
extra -= 257;
end = 256;
break;
default: /* DISTS */
base = dbase;
extra = dext;
end = -1;
}
/* initialize state for loop */
huff = 0; /* starting code */
sym = 0; /* starting code symbol */
len = min; /* starting code length */
next = *table; /* current table to fill in */
curr = root; /* current table index bits */
drop = 0; /* current bits to drop from code for index */
low = (unsigned)(-1); /* trigger new sub-table when len > root */
used = 1U << root; /* use root table entries */
mask = used - 1; /* mask for comparing low */
/* check available table space */
if (type == LENS && used >= ENOUGH - MAXD)
return 1;
/* process all codes and make table entries */
for (;;) {
/* create table entry */
this.bits = (unsigned char)(len - drop);
if ((int)(work[sym]) < end) {
this.op = (unsigned char)0;
this.val = work[sym];
}
else if ((int)(work[sym]) > end) {
this.op = (unsigned char)(extra[work[sym]]);
this.val = base[work[sym]];
}
else {
this.op = (unsigned char)(32 + 64); /* end of block */
this.val = 0;
}
/* replicate for those indices with low len bits equal to huff */
incr = 1U << (len - drop);
fill = 1U << curr;
min = fill; /* save offset to next table */
do {
fill -= incr;
next[(huff >> drop) + fill] = this;
} while (fill != 0);
/* backwards increment the len-bit code huff */
incr = 1U << (len - 1);
while (huff & incr)
incr >>= 1;
if (incr != 0) {
huff &= incr - 1;
huff += incr;
}
else
huff = 0;
/* go to next symbol, update count, len */
sym++;
if (--(count[len]) == 0) {
if (len == max) break;
len = lens[work[sym]];
}
/* create new sub-table if needed */
if (len > root && (huff & mask) != low) {
/* if first time, transition to sub-tables */
if (drop == 0)
drop = root;
/* increment past last table */
next += min; /* here min is 1 << curr */
/* determine length of next table */
curr = len - drop;
left = (int)(1 << curr);
while (curr + drop < max) {
left -= count[curr + drop];
if (left <= 0) break;
curr++;
left <<= 1;
}
/* check for enough space */
used += 1U << curr;
if (type == LENS && used >= ENOUGH - MAXD)
return 1;
/* point entry in root table to sub-table */
low = huff & mask;
(*table)[low].op = (unsigned char)curr;
(*table)[low].bits = (unsigned char)root;
(*table)[low].val = (unsigned short)(next - *table);
}
}
/*
Fill in rest of table for incomplete codes. This loop is similar to the
loop above in incrementing huff for table indices. It is assumed that
len is equal to curr + drop, so there is no loop needed to increment
through high index bits. When the current sub-table is filled, the loop
drops back to the root table to fill in any remaining entries there.
*/
this.op = (unsigned char)64; /* invalid code marker */
this.bits = (unsigned char)(len - drop);
this.val = (unsigned short)0;
while (huff != 0) {
/* when done with sub-table, drop back to root table */
if (drop != 0 && (huff & mask) != low) {
drop = 0;
len = root;
next = *table;
this.bits = (unsigned char)len;
}
/* put invalid code marker in table */
next[huff >> drop] = this;
/* backwards increment the len-bit code huff */
incr = 1U << (len - 1);
while (huff & incr)
incr >>= 1;
if (incr != 0) {
huff &= incr - 1;
huff += incr;
}
else
huff = 0;
}
/* set return parameters */
*table += used;
*bits = root;
return 0;
}

View File

@ -0,0 +1,55 @@
/* inftrees.h -- header to use inftrees.c
* Copyright (C) 1995-2005 Mark Adler
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* WARNING: this file should *not* be used by applications. It is
part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h.
*/
/* Structure for decoding tables. Each entry provides either the
information needed to do the operation requested by the code that
indexed that table entry, or it provides a pointer to another
table that indexes more bits of the code. op indicates whether
the entry is a pointer to another table, a literal, a length or
distance, an end-of-block, or an invalid code. For a table
pointer, the low four bits of op is the number of index bits of
that table. For a length or distance, the low four bits of op
is the number of extra bits to get after the code. bits is
the number of bits in this code or part of the code to drop off
of the bit buffer. val is the actual byte to output in the case
of a literal, the base length or distance, or the offset from
the current table to the next table. Each entry is four bytes. */
typedef struct {
unsigned char op; /* operation, extra bits, table bits */
unsigned char bits; /* bits in this part of the code */
unsigned short val; /* offset in table or code value */
} code;
/* op values as set by inflate_table():
00000000 - literal
0000tttt - table link, tttt != 0 is the number of table index bits
0001eeee - length or distance, eeee is the number of extra bits
01100000 - end of block
01000000 - invalid code
*/
/* Maximum size of dynamic tree. The maximum found in a long but non-
exhaustive search was 1444 code structures (852 for length/literals
and 592 for distances, the latter actually the result of an
exhaustive search). The true maximum is not known, but the value
below is more than safe. */
#define ENOUGH 2048
#define MAXD 592
/* Type of code to build for inftable() */
typedef enum {
CODES,
LENS,
DISTS
} codetype;
extern int inflate_table OF((codetype type, unsigned short FAR *lens,
unsigned codes, code FAR * FAR *table,
unsigned FAR *bits, unsigned short FAR *work));

322
romcnv/src/zlib/minigzip.c Normal file
View File

@ -0,0 +1,322 @@
/* minigzip.c -- simulate gzip using the zlib compression library
* Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/*
* minigzip is a minimal implementation of the gzip utility. This is
* only an example of using zlib and isn't meant to replace the
* full-featured gzip. No attempt is made to deal with file systems
* limiting names to 14 or 8+3 characters, etc... Error checking is
* very limited. So use minigzip only for testing; use gzip for the
* real thing. On MSDOS, use only on file names without extension
* or in pipe mode.
*/
/* @(#) $Id$ */
#include <stdio.h>
#include "zlib.h"
#ifdef STDC
# include <string.h>
# include <stdlib.h>
#endif
#ifdef USE_MMAP
# include <sys/types.h>
# include <sys/mman.h>
# include <sys/stat.h>
#endif
#if defined(MSDOS) || defined(OS2) || defined(WIN32) || defined(__CYGWIN__)
# include <fcntl.h>
# include <io.h>
# define SET_BINARY_MODE(file) setmode(fileno(file), O_BINARY)
#else
# define SET_BINARY_MODE(file)
#endif
#ifdef VMS
# define unlink delete
# define GZ_SUFFIX "-gz"
#endif
#ifdef RISCOS
# define unlink remove
# define GZ_SUFFIX "-gz"
# define fileno(file) file->__file
#endif
#if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
# include <unix.h> /* for fileno */
#endif
#ifndef WIN32 /* unlink already in stdio.h for WIN32 */
extern int unlink OF((const char *));
#endif
#ifndef GZ_SUFFIX
# define GZ_SUFFIX ".gz"
#endif
#define SUFFIX_LEN (sizeof(GZ_SUFFIX)-1)
#define BUFLEN 16384
#define MAX_NAME_LEN 1024
#ifdef MAXSEG_64K
# define local static
/* Needed for systems with limitation on stack size. */
#else
# define local
#endif
char *prog;
void error OF((const char *msg));
void gz_compress OF((FILE *in, gzFile out));
#ifdef USE_MMAP
int gz_compress_mmap OF((FILE *in, gzFile out));
#endif
void gz_uncompress OF((gzFile in, FILE *out));
void file_compress OF((char *file, char *mode));
void file_uncompress OF((char *file));
int main OF((int argc, char *argv[]));
/* ===========================================================================
* Display error message and exit
*/
void error(msg)
const char *msg;
{
fprintf(stderr, "%s: %s\n", prog, msg);
exit(1);
}
/* ===========================================================================
* Compress input to output then close both files.
*/
void gz_compress(in, out)
FILE *in;
gzFile out;
{
local char buf[BUFLEN];
int len;
int err;
#ifdef USE_MMAP
/* Try first compressing with mmap. If mmap fails (minigzip used in a
* pipe), use the normal fread loop.
*/
if (gz_compress_mmap(in, out) == Z_OK) return;
#endif
for (;;) {
len = (int)fread(buf, 1, sizeof(buf), in);
if (ferror(in)) {
perror("fread");
exit(1);
}
if (len == 0) break;
if (gzwrite(out, buf, (unsigned)len) != len) error(gzerror(out, &err));
}
fclose(in);
if (gzclose(out) != Z_OK) error("failed gzclose");
}
#ifdef USE_MMAP /* MMAP version, Miguel Albrecht <malbrech@eso.org> */
/* Try compressing the input file at once using mmap. Return Z_OK if
* if success, Z_ERRNO otherwise.
*/
int gz_compress_mmap(in, out)
FILE *in;
gzFile out;
{
int len;
int err;
int ifd = fileno(in);
caddr_t buf; /* mmap'ed buffer for the entire input file */
off_t buf_len; /* length of the input file */
struct stat sb;
/* Determine the size of the file, needed for mmap: */
if (fstat(ifd, &sb) < 0) return Z_ERRNO;
buf_len = sb.st_size;
if (buf_len <= 0) return Z_ERRNO;
/* Now do the actual mmap: */
buf = mmap((caddr_t) 0, buf_len, PROT_READ, MAP_SHARED, ifd, (off_t)0);
if (buf == (caddr_t)(-1)) return Z_ERRNO;
/* Compress the whole file at once: */
len = gzwrite(out, (char *)buf, (unsigned)buf_len);
if (len != (int)buf_len) error(gzerror(out, &err));
munmap(buf, buf_len);
fclose(in);
if (gzclose(out) != Z_OK) error("failed gzclose");
return Z_OK;
}
#endif /* USE_MMAP */
/* ===========================================================================
* Uncompress input to output then close both files.
*/
void gz_uncompress(in, out)
gzFile in;
FILE *out;
{
local char buf[BUFLEN];
int len;
int err;
for (;;) {
len = gzread(in, buf, sizeof(buf));
if (len < 0) error (gzerror(in, &err));
if (len == 0) break;
if ((int)fwrite(buf, 1, (unsigned)len, out) != len) {
error("failed fwrite");
}
}
if (fclose(out)) error("failed fclose");
if (gzclose(in) != Z_OK) error("failed gzclose");
}
/* ===========================================================================
* Compress the given file: create a corresponding .gz file and remove the
* original.
*/
void file_compress(file, mode)
char *file;
char *mode;
{
local char outfile[MAX_NAME_LEN];
FILE *in;
gzFile out;
strcpy(outfile, file);
strcat(outfile, GZ_SUFFIX);
in = fopen(file, "rb");
if (in == NULL) {
perror(file);
exit(1);
}
out = gzopen(outfile, mode);
if (out == NULL) {
fprintf(stderr, "%s: can't gzopen %s\n", prog, outfile);
exit(1);
}
gz_compress(in, out);
unlink(file);
}
/* ===========================================================================
* Uncompress the given file and remove the original.
*/
void file_uncompress(file)
char *file;
{
local char buf[MAX_NAME_LEN];
char *infile, *outfile;
FILE *out;
gzFile in;
uInt len = (uInt)strlen(file);
strcpy(buf, file);
if (len > SUFFIX_LEN && strcmp(file+len-SUFFIX_LEN, GZ_SUFFIX) == 0) {
infile = file;
outfile = buf;
outfile[len-3] = '\0';
} else {
outfile = file;
infile = buf;
strcat(infile, GZ_SUFFIX);
}
in = gzopen(infile, "rb");
if (in == NULL) {
fprintf(stderr, "%s: can't gzopen %s\n", prog, infile);
exit(1);
}
out = fopen(outfile, "wb");
if (out == NULL) {
perror(file);
exit(1);
}
gz_uncompress(in, out);
unlink(infile);
}
/* ===========================================================================
* Usage: minigzip [-d] [-f] [-h] [-r] [-1 to -9] [files...]
* -d : decompress
* -f : compress with Z_FILTERED
* -h : compress with Z_HUFFMAN_ONLY
* -r : compress with Z_RLE
* -1 to -9 : compression level
*/
int main(argc, argv)
int argc;
char *argv[];
{
int uncompr = 0;
gzFile file;
char outmode[20];
strcpy(outmode, "wb6 ");
prog = argv[0];
argc--, argv++;
while (argc > 0) {
if (strcmp(*argv, "-d") == 0)
uncompr = 1;
else if (strcmp(*argv, "-f") == 0)
outmode[3] = 'f';
else if (strcmp(*argv, "-h") == 0)
outmode[3] = 'h';
else if (strcmp(*argv, "-r") == 0)
outmode[3] = 'R';
else if ((*argv)[0] == '-' && (*argv)[1] >= '1' && (*argv)[1] <= '9' &&
(*argv)[2] == 0)
outmode[2] = (*argv)[1];
else
break;
argc--, argv++;
}
if (outmode[3] == ' ')
outmode[3] = 0;
if (argc == 0) {
SET_BINARY_MODE(stdin);
SET_BINARY_MODE(stdout);
if (uncompr) {
file = gzdopen(fileno(stdin), "rb");
if (file == NULL) error("can't gzdopen stdin");
gz_uncompress(file, stdout);
} else {
file = gzdopen(fileno(stdout), outmode);
if (file == NULL) error("can't gzdopen stdout");
gz_compress(stdin, file);
}
} else {
do {
if (uncompr) {
file_uncompress(*argv);
} else {
file_compress(*argv, outmode);
}
} while (argv++, --argc);
}
return 0;
}

125
romcnv/src/zlib/readme Normal file
View File

@ -0,0 +1,125 @@
ZLIB DATA COMPRESSION LIBRARY
zlib 1.2.3 is a general purpose data compression library. All the code is
thread safe. The data format used by the zlib library is described by RFCs
(Request for Comments) 1950 to 1952 in the files
http://www.ietf.org/rfc/rfc1950.txt (zlib format), rfc1951.txt (deflate format)
and rfc1952.txt (gzip format). These documents are also available in other
formats from ftp://ftp.uu.net/graphics/png/documents/zlib/zdoc-index.html
All functions of the compression library are documented in the file zlib.h
(volunteer to write man pages welcome, contact zlib@gzip.org). A usage example
of the library is given in the file example.c which also tests that the library
is working correctly. Another example is given in the file minigzip.c. The
compression library itself is composed of all source files except example.c and
minigzip.c.
To compile all files and run the test program, follow the instructions given at
the top of Makefile. In short "make test; make install" should work for most
machines. For Unix: "./configure; make test; make install". For MSDOS, use one
of the special makefiles such as Makefile.msc. For VMS, use make_vms.com.
Questions about zlib should be sent to <zlib@gzip.org>, or to Gilles Vollant
<info@winimage.com> for the Windows DLL version. The zlib home page is
http://www.zlib.org or http://www.gzip.org/zlib/ Before reporting a problem,
please check this site to verify that you have the latest version of zlib;
otherwise get the latest version and check whether the problem still exists or
not.
PLEASE read the zlib FAQ http://www.gzip.org/zlib/zlib_faq.html before asking
for help.
Mark Nelson <markn@ieee.org> wrote an article about zlib for the Jan. 1997
issue of Dr. Dobb's Journal; a copy of the article is available in
http://dogma.net/markn/articles/zlibtool/zlibtool.htm
The changes made in version 1.2.3 are documented in the file ChangeLog.
Unsupported third party contributions are provided in directory "contrib".
A Java implementation of zlib is available in the Java Development Kit
http://java.sun.com/j2se/1.4.2/docs/api/java/util/zip/package-summary.html
See the zlib home page http://www.zlib.org for details.
A Perl interface to zlib written by Paul Marquess <pmqs@cpan.org> is in the
CPAN (Comprehensive Perl Archive Network) sites
http://www.cpan.org/modules/by-module/Compress/
A Python interface to zlib written by A.M. Kuchling <amk@amk.ca> is
available in Python 1.5 and later versions, see
http://www.python.org/doc/lib/module-zlib.html
A zlib binding for TCL written by Andreas Kupries <a.kupries@westend.com> is
availlable at http://www.oche.de/~akupries/soft/trf/trf_zip.html
An experimental package to read and write files in .zip format, written on top
of zlib by Gilles Vollant <info@winimage.com>, is available in the
contrib/minizip directory of zlib.
Notes for some targets:
- For Windows DLL versions, please see win32/DLL_FAQ.txt
- For 64-bit Irix, deflate.c must be compiled without any optimization. With
-O, one libpng test fails. The test works in 32 bit mode (with the -n32
compiler flag). The compiler bug has been reported to SGI.
- zlib doesn't work with gcc 2.6.3 on a DEC 3000/300LX under OSF/1 2.1 it works
when compiled with cc.
- On Digital Unix 4.0D (formely OSF/1) on AlphaServer, the cc option -std1 is
necessary to get gzprintf working correctly. This is done by configure.
- zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with
other compilers. Use "make test" to check your compiler.
- gzdopen is not supported on RISCOS, BEOS and by some Mac compilers.
- For PalmOs, see http://palmzlib.sourceforge.net/
- When building a shared, i.e. dynamic library on Mac OS X, the library must be
installed before testing (do "make install" before "make test"), since the
library location is specified in the library.
Acknowledgments:
The deflate format used by zlib was defined by Phil Katz. The deflate
and zlib specifications were written by L. Peter Deutsch. Thanks to all the
people who reported problems and suggested various improvements in zlib;
they are too numerous to cite here.
Copyright notice:
(C) 1995-2004 Jean-loup Gailly and Mark Adler
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Jean-loup Gailly Mark Adler
jloup@gzip.org madler@alumni.caltech.edu
If you use the zlib library in a product, we would appreciate *not*
receiving lengthy legal documents to sign. The sources are provided
for free but without warranty of any kind. The library has been
entirely written by Jean-loup Gailly and Mark Adler; it does not
include third-party code.
If you redistribute modified sources, we would appreciate that you include
in the file ChangeLog history information documenting your changes. Please
read the FAQ for more information on the distribution of modified source
versions.

1219
romcnv/src/zlib/trees.c Normal file

File diff suppressed because it is too large Load Diff

128
romcnv/src/zlib/trees.h Normal file
View File

@ -0,0 +1,128 @@
/* header created automatically with -DGEN_TREES_H */
local const ct_data static_ltree[L_CODES+2] = {
{{ 12},{ 8}}, {{140},{ 8}}, {{ 76},{ 8}}, {{204},{ 8}}, {{ 44},{ 8}},
{{172},{ 8}}, {{108},{ 8}}, {{236},{ 8}}, {{ 28},{ 8}}, {{156},{ 8}},
{{ 92},{ 8}}, {{220},{ 8}}, {{ 60},{ 8}}, {{188},{ 8}}, {{124},{ 8}},
{{252},{ 8}}, {{ 2},{ 8}}, {{130},{ 8}}, {{ 66},{ 8}}, {{194},{ 8}},
{{ 34},{ 8}}, {{162},{ 8}}, {{ 98},{ 8}}, {{226},{ 8}}, {{ 18},{ 8}},
{{146},{ 8}}, {{ 82},{ 8}}, {{210},{ 8}}, {{ 50},{ 8}}, {{178},{ 8}},
{{114},{ 8}}, {{242},{ 8}}, {{ 10},{ 8}}, {{138},{ 8}}, {{ 74},{ 8}},
{{202},{ 8}}, {{ 42},{ 8}}, {{170},{ 8}}, {{106},{ 8}}, {{234},{ 8}},
{{ 26},{ 8}}, {{154},{ 8}}, {{ 90},{ 8}}, {{218},{ 8}}, {{ 58},{ 8}},
{{186},{ 8}}, {{122},{ 8}}, {{250},{ 8}}, {{ 6},{ 8}}, {{134},{ 8}},
{{ 70},{ 8}}, {{198},{ 8}}, {{ 38},{ 8}}, {{166},{ 8}}, {{102},{ 8}},
{{230},{ 8}}, {{ 22},{ 8}}, {{150},{ 8}}, {{ 86},{ 8}}, {{214},{ 8}},
{{ 54},{ 8}}, {{182},{ 8}}, {{118},{ 8}}, {{246},{ 8}}, {{ 14},{ 8}},
{{142},{ 8}}, {{ 78},{ 8}}, {{206},{ 8}}, {{ 46},{ 8}}, {{174},{ 8}},
{{110},{ 8}}, {{238},{ 8}}, {{ 30},{ 8}}, {{158},{ 8}}, {{ 94},{ 8}},
{{222},{ 8}}, {{ 62},{ 8}}, {{190},{ 8}}, {{126},{ 8}}, {{254},{ 8}},
{{ 1},{ 8}}, {{129},{ 8}}, {{ 65},{ 8}}, {{193},{ 8}}, {{ 33},{ 8}},
{{161},{ 8}}, {{ 97},{ 8}}, {{225},{ 8}}, {{ 17},{ 8}}, {{145},{ 8}},
{{ 81},{ 8}}, {{209},{ 8}}, {{ 49},{ 8}}, {{177},{ 8}}, {{113},{ 8}},
{{241},{ 8}}, {{ 9},{ 8}}, {{137},{ 8}}, {{ 73},{ 8}}, {{201},{ 8}},
{{ 41},{ 8}}, {{169},{ 8}}, {{105},{ 8}}, {{233},{ 8}}, {{ 25},{ 8}},
{{153},{ 8}}, {{ 89},{ 8}}, {{217},{ 8}}, {{ 57},{ 8}}, {{185},{ 8}},
{{121},{ 8}}, {{249},{ 8}}, {{ 5},{ 8}}, {{133},{ 8}}, {{ 69},{ 8}},
{{197},{ 8}}, {{ 37},{ 8}}, {{165},{ 8}}, {{101},{ 8}}, {{229},{ 8}},
{{ 21},{ 8}}, {{149},{ 8}}, {{ 85},{ 8}}, {{213},{ 8}}, {{ 53},{ 8}},
{{181},{ 8}}, {{117},{ 8}}, {{245},{ 8}}, {{ 13},{ 8}}, {{141},{ 8}},
{{ 77},{ 8}}, {{205},{ 8}}, {{ 45},{ 8}}, {{173},{ 8}}, {{109},{ 8}},
{{237},{ 8}}, {{ 29},{ 8}}, {{157},{ 8}}, {{ 93},{ 8}}, {{221},{ 8}},
{{ 61},{ 8}}, {{189},{ 8}}, {{125},{ 8}}, {{253},{ 8}}, {{ 19},{ 9}},
{{275},{ 9}}, {{147},{ 9}}, {{403},{ 9}}, {{ 83},{ 9}}, {{339},{ 9}},
{{211},{ 9}}, {{467},{ 9}}, {{ 51},{ 9}}, {{307},{ 9}}, {{179},{ 9}},
{{435},{ 9}}, {{115},{ 9}}, {{371},{ 9}}, {{243},{ 9}}, {{499},{ 9}},
{{ 11},{ 9}}, {{267},{ 9}}, {{139},{ 9}}, {{395},{ 9}}, {{ 75},{ 9}},
{{331},{ 9}}, {{203},{ 9}}, {{459},{ 9}}, {{ 43},{ 9}}, {{299},{ 9}},
{{171},{ 9}}, {{427},{ 9}}, {{107},{ 9}}, {{363},{ 9}}, {{235},{ 9}},
{{491},{ 9}}, {{ 27},{ 9}}, {{283},{ 9}}, {{155},{ 9}}, {{411},{ 9}},
{{ 91},{ 9}}, {{347},{ 9}}, {{219},{ 9}}, {{475},{ 9}}, {{ 59},{ 9}},
{{315},{ 9}}, {{187},{ 9}}, {{443},{ 9}}, {{123},{ 9}}, {{379},{ 9}},
{{251},{ 9}}, {{507},{ 9}}, {{ 7},{ 9}}, {{263},{ 9}}, {{135},{ 9}},
{{391},{ 9}}, {{ 71},{ 9}}, {{327},{ 9}}, {{199},{ 9}}, {{455},{ 9}},
{{ 39},{ 9}}, {{295},{ 9}}, {{167},{ 9}}, {{423},{ 9}}, {{103},{ 9}},
{{359},{ 9}}, {{231},{ 9}}, {{487},{ 9}}, {{ 23},{ 9}}, {{279},{ 9}},
{{151},{ 9}}, {{407},{ 9}}, {{ 87},{ 9}}, {{343},{ 9}}, {{215},{ 9}},
{{471},{ 9}}, {{ 55},{ 9}}, {{311},{ 9}}, {{183},{ 9}}, {{439},{ 9}},
{{119},{ 9}}, {{375},{ 9}}, {{247},{ 9}}, {{503},{ 9}}, {{ 15},{ 9}},
{{271},{ 9}}, {{143},{ 9}}, {{399},{ 9}}, {{ 79},{ 9}}, {{335},{ 9}},
{{207},{ 9}}, {{463},{ 9}}, {{ 47},{ 9}}, {{303},{ 9}}, {{175},{ 9}},
{{431},{ 9}}, {{111},{ 9}}, {{367},{ 9}}, {{239},{ 9}}, {{495},{ 9}},
{{ 31},{ 9}}, {{287},{ 9}}, {{159},{ 9}}, {{415},{ 9}}, {{ 95},{ 9}},
{{351},{ 9}}, {{223},{ 9}}, {{479},{ 9}}, {{ 63},{ 9}}, {{319},{ 9}},
{{191},{ 9}}, {{447},{ 9}}, {{127},{ 9}}, {{383},{ 9}}, {{255},{ 9}},
{{511},{ 9}}, {{ 0},{ 7}}, {{ 64},{ 7}}, {{ 32},{ 7}}, {{ 96},{ 7}},
{{ 16},{ 7}}, {{ 80},{ 7}}, {{ 48},{ 7}}, {{112},{ 7}}, {{ 8},{ 7}},
{{ 72},{ 7}}, {{ 40},{ 7}}, {{104},{ 7}}, {{ 24},{ 7}}, {{ 88},{ 7}},
{{ 56},{ 7}}, {{120},{ 7}}, {{ 4},{ 7}}, {{ 68},{ 7}}, {{ 36},{ 7}},
{{100},{ 7}}, {{ 20},{ 7}}, {{ 84},{ 7}}, {{ 52},{ 7}}, {{116},{ 7}},
{{ 3},{ 8}}, {{131},{ 8}}, {{ 67},{ 8}}, {{195},{ 8}}, {{ 35},{ 8}},
{{163},{ 8}}, {{ 99},{ 8}}, {{227},{ 8}}
};
local const ct_data static_dtree[D_CODES] = {
{{ 0},{ 5}}, {{16},{ 5}}, {{ 8},{ 5}}, {{24},{ 5}}, {{ 4},{ 5}},
{{20},{ 5}}, {{12},{ 5}}, {{28},{ 5}}, {{ 2},{ 5}}, {{18},{ 5}},
{{10},{ 5}}, {{26},{ 5}}, {{ 6},{ 5}}, {{22},{ 5}}, {{14},{ 5}},
{{30},{ 5}}, {{ 1},{ 5}}, {{17},{ 5}}, {{ 9},{ 5}}, {{25},{ 5}},
{{ 5},{ 5}}, {{21},{ 5}}, {{13},{ 5}}, {{29},{ 5}}, {{ 3},{ 5}},
{{19},{ 5}}, {{11},{ 5}}, {{27},{ 5}}, {{ 7},{ 5}}, {{23},{ 5}}
};
const uch _dist_code[DIST_CODE_LEN] = {
0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8,
8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10,
10, 10, 10, 10, 10, 10, 10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
11, 11, 11, 11, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 0, 0, 16, 17,
18, 18, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22,
23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27,
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
27, 27, 27, 27, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
28, 28, 28, 28, 28, 28, 28, 28, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29
};
const uch _length_code[MAX_MATCH-MIN_MATCH+1]= {
0, 1, 2, 3, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12,
13, 13, 13, 13, 14, 14, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 16, 16, 16, 16,
17, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19,
19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20,
21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22,
22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23,
23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
26, 26, 26, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 28
};
local const int base_length[LENGTH_CODES] = {
0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16, 20, 24, 28, 32, 40, 48, 56,
64, 80, 96, 112, 128, 160, 192, 224, 0
};
local const int base_dist[D_CODES] = {
0, 1, 2, 3, 4, 6, 8, 12, 16, 24,
32, 48, 64, 96, 128, 192, 256, 384, 512, 768,
1024, 1536, 2048, 3072, 4096, 6144, 8192, 12288, 16384, 24576
};

61
romcnv/src/zlib/uncompr.c Normal file
View File

@ -0,0 +1,61 @@
/* uncompr.c -- decompress a memory buffer
* Copyright (C) 1995-2003 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#define ZLIB_INTERNAL
#include "zlib.h"
/* ===========================================================================
Decompresses the source buffer into the destination buffer. sourceLen is
the byte length of the source buffer. Upon entry, destLen is the total
size of the destination buffer, which must be large enough to hold the
entire uncompressed data. (The size of the uncompressed data must have
been saved previously by the compressor and transmitted to the decompressor
by some mechanism outside the scope of this compression library.)
Upon exit, destLen is the actual size of the compressed buffer.
This function can be used to decompress a whole file at once if the
input file is mmap'ed.
uncompress returns Z_OK if success, Z_MEM_ERROR if there was not
enough memory, Z_BUF_ERROR if there was not enough room in the output
buffer, or Z_DATA_ERROR if the input data was corrupted.
*/
int ZEXPORT uncompress (dest, destLen, source, sourceLen)
Bytef *dest;
uLongf *destLen;
const Bytef *source;
uLong sourceLen;
{
z_stream stream;
int err;
stream.next_in = (Bytef*)source;
stream.avail_in = (uInt)sourceLen;
/* Check for source > 64K on 16-bit machine: */
if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
stream.next_out = dest;
stream.avail_out = (uInt)*destLen;
if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
err = inflateInit(&stream);
if (err != Z_OK) return err;
err = inflate(&stream, Z_FINISH);
if (err != Z_STREAM_END) {
inflateEnd(&stream);
if (err == Z_NEED_DICT || (err == Z_BUF_ERROR && stream.avail_in == 0))
return Z_DATA_ERROR;
return err;
}
*destLen = stream.total_out;
err = inflateEnd(&stream);
return err;
}

332
romcnv/src/zlib/zconf.h Normal file
View File

@ -0,0 +1,332 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#ifndef ZCONF_H
#define ZCONF_H
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
*/
#ifdef Z_PREFIX
# define deflateInit_ z_deflateInit_
# define deflate z_deflate
# define deflateEnd z_deflateEnd
# define inflateInit_ z_inflateInit_
# define inflate z_inflate
# define inflateEnd z_inflateEnd
# define deflateInit2_ z_deflateInit2_
# define deflateSetDictionary z_deflateSetDictionary
# define deflateCopy z_deflateCopy
# define deflateReset z_deflateReset
# define deflateParams z_deflateParams
# define deflateBound z_deflateBound
# define deflatePrime z_deflatePrime
# define inflateInit2_ z_inflateInit2_
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateCopy z_inflateCopy
# define inflateReset z_inflateReset
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
# define compress z_compress
# define compress2 z_compress2
# define compressBound z_compressBound
# define uncompress z_uncompress
# define adler32 z_adler32
# define crc32 z_crc32
# define get_crc_table z_get_crc_table
# define zError z_zError
# define alloc_func z_alloc_func
# define free_func z_free_func
# define in_func z_in_func
# define out_func z_out_func
# define Byte z_Byte
# define uInt z_uInt
# define uLong z_uLong
# define Bytef z_Bytef
# define charf z_charf
# define intf z_intf
# define uIntf z_uIntf
# define uLongf z_uLongf
# define voidpf z_voidpf
# define voidp z_voidp
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS
#endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32
# define WIN32
# endif
#endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT
# define SYS16BIT
# endif
# endif
#endif
/*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int).
*/
#ifdef SYS16BIT
# define MAXSEG_64K
#endif
#ifdef MSDOS
# define UNALIGNED_OK
#endif
#ifdef __STDC_VERSION__
# ifndef STDC
# define STDC
# endif
# if __STDC_VERSION__ >= 199901L
# ifndef STDC99
# define STDC99
# endif
# endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC
#endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC
#endif
#ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */
# endif
#endif
/* Some Mac compilers merge all .h files incorrectly: */
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
# define NO_DUMMY_DECL
#endif
/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8
# else
# define MAX_MEM_LEVEL 9
# endif
#endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by
* gzip.)
*/
#ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */
#endif
/* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus a few kilobytes
for small objects.
*/
/* Type declarations */
#ifndef OF /* function prototypes */
# ifdef STDC
# define OF(args) args
# else
# define OF(args) ()
# endif
#endif
/* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty.
*/
#ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */
# define SMALL_MEDIUM
# ifdef _MSC_VER
# define FAR _far
# else
# define FAR far
# endif
# endif
# if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */
# define SMALL_MEDIUM
# ifdef __BORLANDC__
# define FAR _far
# else
# define FAR far
# endif
# endif
#endif
#if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase.
*/
# ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport)
# else
# define ZEXTERN extern __declspec(dllimport)
# endif
# endif
# endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/
# ifdef ZLIB_WINAPI
# ifdef FAR
# undef FAR
# endif
# include <windows.h>
/* No need for _export, use ZLIB.DEF instead. */
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
# define ZEXPORT WINAPI
# ifdef WIN32
# define ZEXPORTVA WINAPIV
# else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif
#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport)
# else
# define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport)
# endif
# endif
#endif
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
#ifndef ZEXPORT
# define ZEXPORT
#endif
#ifndef ZEXPORTVA
# define ZEXPORTVA
#endif
#ifndef FAR
# define FAR
#endif
#if !defined(__MACTYPES__)
typedef unsigned char Byte; /* 8 bits */
#endif
typedef unsigned int uInt; /* 16 bits or more */
typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR
#else
typedef Byte FAR Bytef;
#endif
typedef char FAR charf;
typedef int FAR intf;
typedef uInt FAR uIntf;
typedef uLong FAR uLongf;
#ifdef STDC
typedef void const *voidpc;
typedef void FAR *voidpf;
typedef void *voidp;
#else
typedef Byte const *voidpc;
typedef Byte FAR *voidpf;
typedef Byte *voidp;
#endif
#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
# include <sys/types.h> /* for off_t */
# include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# define z_off_t off_t
#endif
#ifndef SEEK_SET
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#ifndef z_off_t
# define z_off_t long
#endif
#if defined(__OS400__)
# define NO_vsnprintf
#endif
#if defined(__MVS__)
# define NO_vsnprintf
# ifdef FAR
# undef FAR
# endif
#endif
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
# pragma map(deflateInit_,"DEIN")
# pragma map(deflateInit2_,"DEIN2")
# pragma map(deflateEnd,"DEEND")
# pragma map(deflateBound,"DEBND")
# pragma map(inflateInit_,"ININ")
# pragma map(inflateInit2_,"ININ2")
# pragma map(inflateEnd,"INEND")
# pragma map(inflateSync,"INSY")
# pragma map(inflateSetDictionary,"INSEDI")
# pragma map(compressBound,"CMBND")
# pragma map(inflate_table,"INTABL")
# pragma map(inflate_fast,"INFA")
# pragma map(inflate_copyright,"INCOPY")
#endif
#endif /* ZCONF_H */

332
romcnv/src/zlib/zconf.in.h Normal file
View File

@ -0,0 +1,332 @@
/* zconf.h -- configuration of the zlib compression library
* Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#ifndef ZCONF_H
#define ZCONF_H
/*
* If you *really* need a unique prefix for all types and library functions,
* compile with -DZ_PREFIX. The "standard" zlib should be compiled without it.
*/
#ifdef Z_PREFIX
# define deflateInit_ z_deflateInit_
# define deflate z_deflate
# define deflateEnd z_deflateEnd
# define inflateInit_ z_inflateInit_
# define inflate z_inflate
# define inflateEnd z_inflateEnd
# define deflateInit2_ z_deflateInit2_
# define deflateSetDictionary z_deflateSetDictionary
# define deflateCopy z_deflateCopy
# define deflateReset z_deflateReset
# define deflateParams z_deflateParams
# define deflateBound z_deflateBound
# define deflatePrime z_deflatePrime
# define inflateInit2_ z_inflateInit2_
# define inflateSetDictionary z_inflateSetDictionary
# define inflateSync z_inflateSync
# define inflateSyncPoint z_inflateSyncPoint
# define inflateCopy z_inflateCopy
# define inflateReset z_inflateReset
# define inflateBack z_inflateBack
# define inflateBackEnd z_inflateBackEnd
# define compress z_compress
# define compress2 z_compress2
# define compressBound z_compressBound
# define uncompress z_uncompress
# define adler32 z_adler32
# define crc32 z_crc32
# define get_crc_table z_get_crc_table
# define zError z_zError
# define alloc_func z_alloc_func
# define free_func z_free_func
# define in_func z_in_func
# define out_func z_out_func
# define Byte z_Byte
# define uInt z_uInt
# define uLong z_uLong
# define Bytef z_Bytef
# define charf z_charf
# define intf z_intf
# define uIntf z_uIntf
# define uLongf z_uLongf
# define voidpf z_voidpf
# define voidp z_voidp
#endif
#if defined(__MSDOS__) && !defined(MSDOS)
# define MSDOS
#endif
#if (defined(OS_2) || defined(__OS2__)) && !defined(OS2)
# define OS2
#endif
#if defined(_WINDOWS) && !defined(WINDOWS)
# define WINDOWS
#endif
#if defined(_WIN32) || defined(_WIN32_WCE) || defined(__WIN32__)
# ifndef WIN32
# define WIN32
# endif
#endif
#if (defined(MSDOS) || defined(OS2) || defined(WINDOWS)) && !defined(WIN32)
# if !defined(__GNUC__) && !defined(__FLAT__) && !defined(__386__)
# ifndef SYS16BIT
# define SYS16BIT
# endif
# endif
#endif
/*
* Compile with -DMAXSEG_64K if the alloc function cannot allocate more
* than 64k bytes at a time (needed on systems with 16-bit int).
*/
#ifdef SYS16BIT
# define MAXSEG_64K
#endif
#ifdef MSDOS
# define UNALIGNED_OK
#endif
#ifdef __STDC_VERSION__
# ifndef STDC
# define STDC
# endif
# if __STDC_VERSION__ >= 199901L
# ifndef STDC99
# define STDC99
# endif
# endif
#endif
#if !defined(STDC) && (defined(__STDC__) || defined(__cplusplus))
# define STDC
#endif
#if !defined(STDC) && (defined(__GNUC__) || defined(__BORLANDC__))
# define STDC
#endif
#if !defined(STDC) && (defined(MSDOS) || defined(WINDOWS) || defined(WIN32))
# define STDC
#endif
#if !defined(STDC) && (defined(OS2) || defined(__HOS_AIX__))
# define STDC
#endif
#if defined(__OS400__) && !defined(STDC) /* iSeries (formerly AS/400). */
# define STDC
#endif
#ifndef STDC
# ifndef const /* cannot use !defined(STDC) && !defined(const) on Mac */
# define const /* note: need a more gentle solution here */
# endif
#endif
/* Some Mac compilers merge all .h files incorrectly: */
#if defined(__MWERKS__)||defined(applec)||defined(THINK_C)||defined(__SC__)
# define NO_DUMMY_DECL
#endif
/* Maximum value for memLevel in deflateInit2 */
#ifndef MAX_MEM_LEVEL
# ifdef MAXSEG_64K
# define MAX_MEM_LEVEL 8
# else
# define MAX_MEM_LEVEL 9
# endif
#endif
/* Maximum value for windowBits in deflateInit2 and inflateInit2.
* WARNING: reducing MAX_WBITS makes minigzip unable to extract .gz files
* created by gzip. (Files created by minigzip can still be extracted by
* gzip.)
*/
#ifndef MAX_WBITS
# define MAX_WBITS 15 /* 32K LZ77 window */
#endif
/* The memory requirements for deflate are (in bytes):
(1 << (windowBits+2)) + (1 << (memLevel+9))
that is: 128K for windowBits=15 + 128K for memLevel = 8 (default values)
plus a few kilobytes for small objects. For example, if you want to reduce
the default memory requirements from 256K to 128K, compile with
make CFLAGS="-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7"
Of course this will generally degrade compression (there's no free lunch).
The memory requirements for inflate are (in bytes) 1 << windowBits
that is, 32K for windowBits=15 (default value) plus a few kilobytes
for small objects.
*/
/* Type declarations */
#ifndef OF /* function prototypes */
# ifdef STDC
# define OF(args) args
# else
# define OF(args) ()
# endif
#endif
/* The following definitions for FAR are needed only for MSDOS mixed
* model programming (small or medium model with some far allocations).
* This was tested only with MSC; for other MSDOS compilers you may have
* to define NO_MEMCPY in zutil.h. If you don't need the mixed model,
* just define FAR to be empty.
*/
#ifdef SYS16BIT
# if defined(M_I86SM) || defined(M_I86MM)
/* MSC small or medium model */
# define SMALL_MEDIUM
# ifdef _MSC_VER
# define FAR _far
# else
# define FAR far
# endif
# endif
# if (defined(__SMALL__) || defined(__MEDIUM__))
/* Turbo C small or medium model */
# define SMALL_MEDIUM
# ifdef __BORLANDC__
# define FAR _far
# else
# define FAR far
# endif
# endif
#endif
#if defined(WINDOWS) || defined(WIN32)
/* If building or using zlib as a DLL, define ZLIB_DLL.
* This is not mandatory, but it offers a little performance increase.
*/
# ifdef ZLIB_DLL
# if defined(WIN32) && (!defined(__BORLANDC__) || (__BORLANDC__ >= 0x500))
# ifdef ZLIB_INTERNAL
# define ZEXTERN extern __declspec(dllexport)
# else
# define ZEXTERN extern __declspec(dllimport)
# endif
# endif
# endif /* ZLIB_DLL */
/* If building or using zlib with the WINAPI/WINAPIV calling convention,
* define ZLIB_WINAPI.
* Caution: the standard ZLIB1.DLL is NOT compiled using ZLIB_WINAPI.
*/
# ifdef ZLIB_WINAPI
# ifdef FAR
# undef FAR
# endif
# include <windows.h>
/* No need for _export, use ZLIB.DEF instead. */
/* For complete Windows compatibility, use WINAPI, not __stdcall. */
# define ZEXPORT WINAPI
# ifdef WIN32
# define ZEXPORTVA WINAPIV
# else
# define ZEXPORTVA FAR CDECL
# endif
# endif
#endif
#if defined (__BEOS__)
# ifdef ZLIB_DLL
# ifdef ZLIB_INTERNAL
# define ZEXPORT __declspec(dllexport)
# define ZEXPORTVA __declspec(dllexport)
# else
# define ZEXPORT __declspec(dllimport)
# define ZEXPORTVA __declspec(dllimport)
# endif
# endif
#endif
#ifndef ZEXTERN
# define ZEXTERN extern
#endif
#ifndef ZEXPORT
# define ZEXPORT
#endif
#ifndef ZEXPORTVA
# define ZEXPORTVA
#endif
#ifndef FAR
# define FAR
#endif
#if !defined(__MACTYPES__)
typedef unsigned char Byte; /* 8 bits */
#endif
typedef unsigned int uInt; /* 16 bits or more */
typedef unsigned long uLong; /* 32 bits or more */
#ifdef SMALL_MEDIUM
/* Borland C/C++ and some old MSC versions ignore FAR inside typedef */
# define Bytef Byte FAR
#else
typedef Byte FAR Bytef;
#endif
typedef char FAR charf;
typedef int FAR intf;
typedef uInt FAR uIntf;
typedef uLong FAR uLongf;
#ifdef STDC
typedef void const *voidpc;
typedef void FAR *voidpf;
typedef void *voidp;
#else
typedef Byte const *voidpc;
typedef Byte FAR *voidpf;
typedef Byte *voidp;
#endif
#if 0 /* HAVE_UNISTD_H -- this line is updated by ./configure */
# include <sys/types.h> /* for off_t */
# include <unistd.h> /* for SEEK_* and off_t */
# ifdef VMS
# include <unixio.h> /* for off_t */
# endif
# define z_off_t off_t
#endif
#ifndef SEEK_SET
# define SEEK_SET 0 /* Seek from beginning of file. */
# define SEEK_CUR 1 /* Seek from current position. */
# define SEEK_END 2 /* Set file pointer to EOF plus "offset" */
#endif
#ifndef z_off_t
# define z_off_t long
#endif
#if defined(__OS400__)
# define NO_vsnprintf
#endif
#if defined(__MVS__)
# define NO_vsnprintf
# ifdef FAR
# undef FAR
# endif
#endif
/* MVS linker does not support external names larger than 8 bytes */
#if defined(__MVS__)
# pragma map(deflateInit_,"DEIN")
# pragma map(deflateInit2_,"DEIN2")
# pragma map(deflateEnd,"DEEND")
# pragma map(deflateBound,"DEBND")
# pragma map(inflateInit_,"ININ")
# pragma map(inflateInit2_,"ININ2")
# pragma map(inflateEnd,"INEND")
# pragma map(inflateSync,"INSY")
# pragma map(inflateSetDictionary,"INSEDI")
# pragma map(compressBound,"CMBND")
# pragma map(inflate_table,"INTABL")
# pragma map(inflate_fast,"INFA")
# pragma map(inflate_copyright,"INCOPY")
#endif
#endif /* ZCONF_H */

1357
romcnv/src/zlib/zlib.h Normal file

File diff suppressed because it is too large Load Diff

11
romcnv/src/zlib/zlib.mak Normal file
View File

@ -0,0 +1,11 @@
OBJS += $(OBJ)/zlib/adler32.o \
$(OBJ)/zlib/compress.o \
$(OBJ)/zlib/crc32.o \
$(OBJ)/zlib/uncompr.o \
$(OBJ)/zlib/deflate.o \
$(OBJ)/zlib/trees.o \
$(OBJ)/zlib/zutil.o \
$(OBJ)/zlib/inflate.o \
$(OBJ)/zlib/infback.o \
$(OBJ)/zlib/inftrees.o \
$(OBJ)/zlib/inffast.o

318
romcnv/src/zlib/zutil.c Normal file
View File

@ -0,0 +1,318 @@
/* zutil.c -- target dependent utility functions for the compression library
* Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* @(#) $Id$ */
#include "zutil.h"
#ifndef NO_DUMMY_DECL
struct internal_state {int dummy;}; /* for buggy compilers */
#endif
const char * const z_errmsg[10] = {
"need dictionary", /* Z_NEED_DICT 2 */
"stream end", /* Z_STREAM_END 1 */
"", /* Z_OK 0 */
"file error", /* Z_ERRNO (-1) */
"stream error", /* Z_STREAM_ERROR (-2) */
"data error", /* Z_DATA_ERROR (-3) */
"insufficient memory", /* Z_MEM_ERROR (-4) */
"buffer error", /* Z_BUF_ERROR (-5) */
"incompatible version",/* Z_VERSION_ERROR (-6) */
""};
const char * ZEXPORT zlibVersion()
{
return ZLIB_VERSION;
}
uLong ZEXPORT zlibCompileFlags()
{
uLong flags;
flags = 0;
switch (sizeof(uInt)) {
case 2: break;
case 4: flags += 1; break;
case 8: flags += 2; break;
default: flags += 3;
}
switch (sizeof(uLong)) {
case 2: break;
case 4: flags += 1 << 2; break;
case 8: flags += 2 << 2; break;
default: flags += 3 << 2;
}
switch (sizeof(voidpf)) {
case 2: break;
case 4: flags += 1 << 4; break;
case 8: flags += 2 << 4; break;
default: flags += 3 << 4;
}
switch (sizeof(z_off_t)) {
case 2: break;
case 4: flags += 1 << 6; break;
case 8: flags += 2 << 6; break;
default: flags += 3 << 6;
}
#ifdef DEBUG
flags += 1 << 8;
#endif
#if defined(ASMV) || defined(ASMINF)
flags += 1 << 9;
#endif
#ifdef ZLIB_WINAPI
flags += 1 << 10;
#endif
#ifdef BUILDFIXED
flags += 1 << 12;
#endif
#ifdef DYNAMIC_CRC_TABLE
flags += 1 << 13;
#endif
#ifdef NO_GZCOMPRESS
flags += 1L << 16;
#endif
#ifdef NO_GZIP
flags += 1L << 17;
#endif
#ifdef PKZIP_BUG_WORKAROUND
flags += 1L << 20;
#endif
#ifdef FASTEST
flags += 1L << 21;
#endif
#ifdef STDC
# ifdef NO_vsnprintf
flags += 1L << 25;
# ifdef HAS_vsprintf_void
flags += 1L << 26;
# endif
# else
# ifdef HAS_vsnprintf_void
flags += 1L << 26;
# endif
# endif
#else
flags += 1L << 24;
# ifdef NO_snprintf
flags += 1L << 25;
# ifdef HAS_sprintf_void
flags += 1L << 26;
# endif
# else
# ifdef HAS_snprintf_void
flags += 1L << 26;
# endif
# endif
#endif
return flags;
}
#ifdef DEBUG
# ifndef verbose
# define verbose 0
# endif
int z_verbose = verbose;
void z_error (m)
char *m;
{
fprintf(stderr, "%s\n", m);
exit(1);
}
#endif
/* exported to allow conversion of error code to string for compress() and
* uncompress()
*/
const char * ZEXPORT zError(err)
int err;
{
return ERR_MSG(err);
}
#if defined(_WIN32_WCE)
/* The Microsoft C Run-Time Library for Windows CE doesn't have
* errno. We define it as a global variable to simplify porting.
* Its value is always 0 and should not be used.
*/
int errno = 0;
#endif
#ifndef HAVE_MEMCPY
void zmemcpy(dest, source, len)
Bytef* dest;
const Bytef* source;
uInt len;
{
if (len == 0) return;
do {
*dest++ = *source++; /* ??? to be unrolled */
} while (--len != 0);
}
int zmemcmp(s1, s2, len)
const Bytef* s1;
const Bytef* s2;
uInt len;
{
uInt j;
for (j = 0; j < len; j++) {
if (s1[j] != s2[j]) return 2*(s1[j] > s2[j])-1;
}
return 0;
}
void zmemzero(dest, len)
Bytef* dest;
uInt len;
{
if (len == 0) return;
do {
*dest++ = 0; /* ??? to be unrolled */
} while (--len != 0);
}
#endif
#ifdef SYS16BIT
#ifdef __TURBOC__
/* Turbo C in 16-bit mode */
# define MY_ZCALLOC
/* Turbo C malloc() does not allow dynamic allocation of 64K bytes
* and farmalloc(64K) returns a pointer with an offset of 8, so we
* must fix the pointer. Warning: the pointer must be put back to its
* original form in order to free it, use zcfree().
*/
#define MAX_PTR 10
/* 10*64K = 640K */
local int next_ptr = 0;
typedef struct ptr_table_s {
voidpf org_ptr;
voidpf new_ptr;
} ptr_table;
local ptr_table table[MAX_PTR];
/* This table is used to remember the original form of pointers
* to large buffers (64K). Such pointers are normalized with a zero offset.
* Since MSDOS is not a preemptive multitasking OS, this table is not
* protected from concurrent access. This hack doesn't work anyway on
* a protected system like OS/2. Use Microsoft C instead.
*/
voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
{
voidpf buf = opaque; /* just to make some compilers happy */
ulg bsize = (ulg)items*size;
/* If we allocate less than 65520 bytes, we assume that farmalloc
* will return a usable pointer which doesn't have to be normalized.
*/
if (bsize < 65520L) {
buf = farmalloc(bsize);
if (*(ush*)&buf != 0) return buf;
} else {
buf = farmalloc(bsize + 16L);
}
if (buf == NULL || next_ptr >= MAX_PTR) return NULL;
table[next_ptr].org_ptr = buf;
/* Normalize the pointer to seg:0 */
*((ush*)&buf+1) += ((ush)((uch*)buf-0) + 15) >> 4;
*(ush*)&buf = 0;
table[next_ptr++].new_ptr = buf;
return buf;
}
void zcfree (voidpf opaque, voidpf ptr)
{
int n;
if (*(ush*)&ptr != 0) { /* object < 64K */
farfree(ptr);
return;
}
/* Find the original pointer */
for (n = 0; n < next_ptr; n++) {
if (ptr != table[n].new_ptr) continue;
farfree(table[n].org_ptr);
while (++n < next_ptr) {
table[n-1] = table[n];
}
next_ptr--;
return;
}
ptr = opaque; /* just to make some compilers happy */
Assert(0, "zcfree: ptr not found");
}
#endif /* __TURBOC__ */
#ifdef M_I86
/* Microsoft C in 16-bit mode */
# define MY_ZCALLOC
#if (!defined(_MSC_VER) || (_MSC_VER <= 600))
# define _halloc halloc
# define _hfree hfree
#endif
voidpf zcalloc (voidpf opaque, unsigned items, unsigned size)
{
if (opaque) opaque = 0; /* to make compiler happy */
return _halloc((long)items, size);
}
void zcfree (voidpf opaque, voidpf ptr)
{
if (opaque) opaque = 0; /* to make compiler happy */
_hfree(ptr);
}
#endif /* M_I86 */
#endif /* SYS16BIT */
#ifndef MY_ZCALLOC /* Any system without a special alloc function */
#ifndef STDC
extern voidp malloc OF((uInt size));
extern voidp calloc OF((uInt items, uInt size));
extern void free OF((voidpf ptr));
#endif
voidpf zcalloc (opaque, items, size)
voidpf opaque;
unsigned items;
unsigned size;
{
if (opaque) items += size - size; /* make compiler happy */
return sizeof(uInt) > 2 ? (voidpf)malloc(items * size) :
(voidpf)calloc(items, size);
}
void zcfree (opaque, ptr)
voidpf opaque;
voidpf ptr;
{
free(ptr);
if (opaque) return; /* make compiler happy */
}
#endif /* MY_ZCALLOC */

269
romcnv/src/zlib/zutil.h Normal file
View File

@ -0,0 +1,269 @@
/* zutil.h -- internal interface and configuration of the compression library
* Copyright (C) 1995-2005 Jean-loup Gailly.
* For conditions of distribution and use, see copyright notice in zlib.h
*/
/* WARNING: this file should *not* be used by applications. It is
part of the implementation of the compression library and is
subject to change. Applications should only use zlib.h.
*/
/* @(#) $Id$ */
#ifndef ZUTIL_H
#define ZUTIL_H
#define ZLIB_INTERNAL
#include "zlib.h"
#ifdef STDC
# ifndef _WIN32_WCE
# include <stddef.h>
# endif
# include <string.h>
# include <stdlib.h>
#endif
#ifdef NO_ERRNO_H
# ifdef _WIN32_WCE
/* The Microsoft C Run-Time Library for Windows CE doesn't have
* errno. We define it as a global variable to simplify porting.
* Its value is always 0 and should not be used. We rename it to
* avoid conflict with other libraries that use the same workaround.
*/
# define errno z_errno
# endif
extern int errno;
#else
# ifndef _WIN32_WCE
# include <errno.h>
# endif
#endif
#ifndef local
# define local static
#endif
/* compile with -Dlocal if your debugger can't find static symbols */
typedef unsigned char uch;
typedef uch FAR uchf;
typedef unsigned short ush;
typedef ush FAR ushf;
typedef unsigned long ulg;
extern const char * const z_errmsg[10]; /* indexed by 2-zlib_error */
/* (size given to avoid silly warnings with Visual C++) */
#define ERR_MSG(err) z_errmsg[Z_NEED_DICT-(err)]
#define ERR_RETURN(strm,err) \
return (strm->msg = (char*)ERR_MSG(err), (err))
/* To be used only when the state is known to be valid */
/* common constants */
#ifndef DEF_WBITS
# define DEF_WBITS MAX_WBITS
#endif
/* default windowBits for decompression. MAX_WBITS is for compression only */
#if MAX_MEM_LEVEL >= 8
# define DEF_MEM_LEVEL 8
#else
# define DEF_MEM_LEVEL MAX_MEM_LEVEL
#endif
/* default memLevel */
#define STORED_BLOCK 0
#define STATIC_TREES 1
#define DYN_TREES 2
/* The three kinds of block type */
#define MIN_MATCH 3
#define MAX_MATCH 258
/* The minimum and maximum match lengths */
#define PRESET_DICT 0x20 /* preset dictionary flag in zlib header */
/* target dependencies */
#if defined(MSDOS) || (defined(WINDOWS) && !defined(WIN32))
# define OS_CODE 0x00
# if defined(__TURBOC__) || defined(__BORLANDC__)
# if(__STDC__ == 1) && (defined(__LARGE__) || defined(__COMPACT__))
/* Allow compilation with ANSI keywords only enabled */
void _Cdecl farfree( void *block );
void *_Cdecl farmalloc( unsigned long nbytes );
# else
# include <alloc.h>
# endif
# else /* MSC or DJGPP */
# include <malloc.h>
# endif
#endif
#ifdef AMIGA
# define OS_CODE 0x01
#endif
#if defined(VAXC) || defined(VMS)
# define OS_CODE 0x02
# define F_OPEN(name, mode) \
fopen((name), (mode), "mbc=60", "ctx=stm", "rfm=fix", "mrs=512")
#endif
#if defined(ATARI) || defined(atarist)
# define OS_CODE 0x05
#endif
#ifdef OS2
# define OS_CODE 0x06
# ifdef M_I86
#include <malloc.h>
# endif
#endif
#if defined(MACOS) || defined(TARGET_OS_MAC)
# define OS_CODE 0x07
# if defined(__MWERKS__) && __dest_os != __be_os && __dest_os != __win32_os
# include <unix.h> /* for fdopen */
# else
# ifndef fdopen
# define fdopen(fd,mode) NULL /* No fdopen() */
# endif
# endif
#endif
#ifdef TOPS20
# define OS_CODE 0x0a
#endif
#ifdef WIN32
# ifndef __CYGWIN__ /* Cygwin is Unix, not Win32 */
# define OS_CODE 0x0b
# endif
#endif
#ifdef __50SERIES /* Prime/PRIMOS */
# define OS_CODE 0x0f
#endif
#if defined(_BEOS_) || defined(RISCOS)
# define fdopen(fd,mode) NULL /* No fdopen() */
#endif
#if (defined(_MSC_VER) && (_MSC_VER > 600))
# if defined(_WIN32_WCE)
# define fdopen(fd,mode) NULL /* No fdopen() */
# ifndef _PTRDIFF_T_DEFINED
typedef int ptrdiff_t;
# define _PTRDIFF_T_DEFINED
# endif
# else
# define fdopen(fd,type) _fdopen(fd,type)
# endif
#endif
/* common defaults */
#ifndef OS_CODE
# define OS_CODE 0x03 /* assume Unix */
#endif
#ifndef F_OPEN
# define F_OPEN(name, mode) fopen((name), (mode))
#endif
/* functions */
#if defined(STDC99) || (defined(__TURBOC__) && __TURBOC__ >= 0x550)
# ifndef HAVE_VSNPRINTF
# define HAVE_VSNPRINTF
# endif
#endif
#if defined(__CYGWIN__)
# ifndef HAVE_VSNPRINTF
# define HAVE_VSNPRINTF
# endif
#endif
#ifndef HAVE_VSNPRINTF
# ifdef MSDOS
/* vsnprintf may exist on some MS-DOS compilers (DJGPP?),
but for now we just assume it doesn't. */
# define NO_vsnprintf
# endif
# ifdef __TURBOC__
# define NO_vsnprintf
# endif
# ifdef WIN32
/* In Win32, vsnprintf is available as the "non-ANSI" _vsnprintf. */
# if !defined(vsnprintf) && !defined(NO_vsnprintf)
# define vsnprintf _vsnprintf
# endif
# endif
# ifdef __SASC
# define NO_vsnprintf
# endif
#endif
#ifdef VMS
# define NO_vsnprintf
#endif
#if defined(pyr)
# define NO_MEMCPY
#endif
#if defined(SMALL_MEDIUM) && !defined(_MSC_VER) && !defined(__SC__)
/* Use our own functions for small and medium model with MSC <= 5.0.
* You may have to use the same strategy for Borland C (untested).
* The __SC__ check is for Symantec.
*/
# define NO_MEMCPY
#endif
#if defined(STDC) && !defined(HAVE_MEMCPY) && !defined(NO_MEMCPY)
# define HAVE_MEMCPY
#endif
#ifdef HAVE_MEMCPY
# ifdef SMALL_MEDIUM /* MSDOS small or medium model */
# define zmemcpy _fmemcpy
# define zmemcmp _fmemcmp
# define zmemzero(dest, len) _fmemset(dest, 0, len)
# else
# define zmemcpy memcpy
# define zmemcmp memcmp
# define zmemzero(dest, len) memset(dest, 0, len)
# endif
#else
extern void zmemcpy OF((Bytef* dest, const Bytef* source, uInt len));
extern int zmemcmp OF((const Bytef* s1, const Bytef* s2, uInt len));
extern void zmemzero OF((Bytef* dest, uInt len));
#endif
/* Diagnostic functions */
#ifdef DEBUG
# include <stdio.h>
extern int z_verbose;
extern void z_error OF((char *m));
# define Assert(cond,msg) {if(!(cond)) z_error(msg);}
# define Trace(x) {if (z_verbose>=0) fprintf x ;}
# define Tracev(x) {if (z_verbose>0) fprintf x ;}
# define Tracevv(x) {if (z_verbose>1) fprintf x ;}
# define Tracec(c,x) {if (z_verbose>0 && (c)) fprintf x ;}
# define Tracecv(c,x) {if (z_verbose>1 && (c)) fprintf x ;}
#else
# define Assert(cond,msg)
# define Trace(x)
# define Tracev(x)
# define Tracevv(x)
# define Tracec(c,x)
# define Tracecv(c,x)
#endif
voidpf zcalloc OF((voidpf opaque, unsigned items, unsigned size));
void zcfree OF((voidpf opaque, voidpf ptr));
#define ZALLOC(strm, items, size) \
(*((strm)->zalloc))((strm)->opaque, (items), (size))
#define ZFREE(strm, addr) (*((strm)->zfree))((strm)->opaque, (voidpf)(addr))
#define TRY_FREE(s, p) {if (p) ZFREE(s, p);}
#endif /* ZUTIL_H */

220
romcnv/zipname.cps2 Normal file
View File

@ -0,0 +1,220 @@
ssf2,Super Street Fighter II: The New Challengers (World 930911)
ssf2u,Super Street Fighter II: The New Challengers (USA 930911)
ssf2a,Super Street Fighter II: The New Challengers (Asia 931005)
ssf2ar1,Super Street Fighter II: The New Challengers (Asia 930914)
ssf2j,Super Street Fighter II: The New Challengers (Japan 931005)
ssf2jr1,Super Street Fighter II: The New Challengers (Japan 930911)
ssf2jr2,Super Street Fighter II: The New Challengers (Japan 930910)
ssf2tb,Super Street Fighter II: The Tournament Battle (World 931119)
ssf2tbr1,Super Street Fighter II: The Tournament Battle (World 930911)
ssf2tbj,Super Street Fighter II: The Tournament Battle (Japan 930911)
ddtod,Dungeons & Dragons: Tower of Doom (Euro 940412)
ddtodr1,Dungeons & Dragons: Tower of Doom (Euro 940113)
ddtodu,Dungeons & Dragons: Tower of Doom (USA 940125)
ddtodur1,Dungeons & Dragons: Tower of Doom (USA 940113)
ddtodj,Dungeons & Dragons: Tower of Doom (Japan 940125)
ddtodjr1,Dungeons & Dragons: Tower of Doom (Japan 940113)
ddtoda,Dungeons & Dragons: Tower of Doom (Asia 940113)
ddtodh,Dungeons & Dragons: Tower of Doom (Hispanic 940125)
ecofghtr,Eco Fighters (World 931203)
ecofghtu,Eco Fighters (USA 931203)
uecology,Ultimate Ecology (Japan 931203)
ecofghta,Eco Fighters (Asia 931203)
ssf2t,Super Street Fighter II Turbo (World 940223)
ssf2ta,Super Street Fighter II Turbo (Asia 940223)
ssf2tu,Super Street Fighter II Turbo (USA 940323)
ssf2tur1,Super Street Fighter II Turbo (USA 940223)
ssf2xj,Super Street Fighter II X: Grand Master Challenge (Japan 940223)
xmcota,X-Men: Children of the Atom (Euro 950105)
xmcotau,X-Men: Children of the Atom (USA 950105)
xmcotah,X-Men: Children of the Atom (Hispanic 950331)
xmcotaj,X-Men: Children of the Atom (Japan 941222)
xmcotaj1,X-Men: Children of the Atom (Japan 941219)
xmcotaj2,X-Men: Children of the Atom (Japan 941217)
xmcotajr,X-Men: Children of the Atom (Japan 941208 rent version)
xmcotaa,X-Men: Children of the Atom (Asia 941217)
armwar,Armored Warriors (Euro 941024)
armwarr1,Armored Warriors (Euro 941011)
armwaru,Armored Warriors (USA 941024)
pgear,Powered Gear: Strategic Variant Armor Equipment (Japan 941024)
pgearr1,Powered Gear: Strategic Variant Armor Equipment (Japan 940916)
armwara,Armored Warriors (Asia 940920)
avsp,Alien vs. Predator (Euro 940520)
avspu,Alien vs. Predator (USA 940520)
avspj,Alien vs. Predator (Japan 940520)
avspa,Alien vs. Predator (Asia 940520)
avsph,Alien vs. Predator (Hispanic 940520)
dstlk,Darkstalkers: The Night Warriors (Euro 940705)
dstlku,Darkstalkers: The Night Warriors (USA 940818)
dstlkur1,Darkstalkers: The Night Warriors (USA 940705)
dstlka,Darkstalkers: The Night Warriors (Asia 940705)
vampj,Vampire: The Night Warriors (Japan 940705)
vampja,Vampire: The Night Warriors (Japan 940705 alt)
vampjr1,Vampire: The Night Warriors (Japan 940630)
ringdest,Ring of Destruction: Slammasters II (Euro 940902)
smbomb,Super Muscle Bomber: The International Blowout (Japan 940831)
smbombr1,Super Muscle Bomber: The International Blowout (Japan 940808)
cybots,Cyberbots: Fullmetal Madness (Euro 950424)
cybotsu,Cyberbots: Fullmetal Madness (USA 950424)
cybotsj,Cyberbots: Fullmetal Madness (Japan 950420)
msh,Marvel Super Heroes (Euro 951024)
mshu,Marvel Super Heroes (USA 951024)
mshj,Marvel Super Heroes (Japan 951117)
mshjr1,Marvel Super Heroes (Japan 951024)
msha,Marvel Super Heroes (Asia 951024)
mshh,Marvel Super Heroes (Hispanic 951117)
mshb,Marvel Super Heroes (Brazil 951117)
nwarr,Night Warriors: Darkstalkers' Revenge (Euro 950316)
nwarru,Night Warriors: Darkstalkers' Revenge (USA 950406)
nwarrh,Night Warriors: Darkstalkers' Revenge (Hispanic 950403)
nwarrb,Night Warriors: Darkstalkers' Revenge (Brazil 950403)
vhuntj,Vampire Hunter: Darkstalkers' Revenge (Japan 950316)
vhuntjr1,Vampire Hunter: Darkstalkers' Revenge (Japan 950307)
vhuntjr2,Vampire Hunter: Darkstalkers' Revenge (Japan 950302)
sfa,Street Fighter Alpha: Warriors' Dreams (Euro 950727)
sfar1,Street Fighter Alpha: Warriors' Dreams (Euro 950718)
sfar2,Street Fighter Alpha: Warriors' Dreams (Euro 950627)
sfar3,Street Fighter Alpha: Warriors' Dreams (Euro 950605)
sfau,Street Fighter Alpha: Warriors' Dreams (USA 950627)
sfza,Street Fighter Zero (Asia 950627)
sfzj,Street Fighter Zero (Japan 950727)
sfzjr1,Street Fighter Zero (Japan 950627)
sfzjr2,Street Fighter Zero (Japan 950605)
sfzh,Street Fighter Zero (Hispanic 950627)
sfzb,Street Fighter Zero (Brazil 951109)
sfzbr1,Street Fighter Zero (Brazil 950727)
mmancp2u,Mega Man: The Power Battle (CPS2 - USA 951006 / SAMPLE Version)
rmancp2j,Rockman: The Power Battle (CPS2 - Japan 950922)
19xx,19XX: The War Against Destiny (USA 951207)
19xxa,19XX: The War Against Destiny (Asia 951207)
19xxj,19XX: The War Against Destiny (Japan 951225)
19xxjr1,19XX: The War Against Destiny (Japan 951207)
19xxh,19XX: The War Against Destiny (Hispanic 951218)
19xxb,19XX: The War Against Destiny (Brazil 951218)
ddsom,Dungeons & Dragons: Shadow over Mystara (Euro 960619)
ddsomr1,Dungeons & Dragons: Shadow over Mystara (Euro 960223)
ddsomr2,Dungeons & Dragons: Shadow over Mystara (Euro 960209)
ddsomr3,Dungeons & Dragons: Shadow over Mystara (Euro 960208)
ddsomu,Dungeons & Dragons: Shadow over Mystara (USA 960619)
ddsomur1,Dungeons & Dragons: Shadow over Mystara (USA 960209)
ddsomj,Dungeons & Dragons: Shadow over Mystara (Japan 960619)
ddsomjr1,Dungeons & Dragons: Shadow over Mystara (Japan 960206)
ddsoma,Dungeons & Dragons: Shadow over Mystara (Asia 960619)
ddsomb,Dungeons & Dragons: Shadow over Mystara (Brazil 960223)
megaman2,Mega Man 2: The Power Fighters (USA 960708)
megamn2a,Mega Man 2: The Power Fighters (Asia 960708)
rckman2j,Rockman 2: The Power Fighters (Japan 960708)
qndream,Quiz Nanairo Dreams: Nijiirochou no Kiseki (Japan 960826)
sfa2,Street Fighter Alpha 2 (USA 960306)
sfz2j,Street Fighter Zero 2 (Japan 960227)
sfz2a,Street Fighter Zero 2 (Asia 960227)
sfz2b,Street Fighter Zero 2 (Brazil 960531)
sfz2br1,Street Fighter Zero 2 (Brazil 960304)
sfz2h,Street Fighter Zero 2 (Hispanic 960304)
sfz2n,Street Fighter Zero 2 (Oceania 960229)
sfz2aj,Street Fighter Zero 2 Alpha (Japan 960805)
sfz2ah,Street Fighter Zero 2 Alpha (Hispanic 960813)
sfz2ab,Street Fighter Zero 2 Alpha (Brazil 960813)
sfz2aa,Street Fighter Zero 2 Alpha (Asia 960826)
spf2t,Super Puzzle Fighter II Turbo (USA 960620)
spf2xj,Super Puzzle Fighter II X (Japan 960531)
spf2ta,Super Puzzle Fighter II Turbo (Asia 960529)
xmvsf,X-Men Vs. Street Fighter (Euro 961004)
xmvsfr1,X-Men Vs. Street Fighter (Euro 960910)
xmvsfu,X-Men Vs. Street Fighter (USA 961023)
xmvsfur1,X-Men Vs. Street Fighter (USA 961004)
xmvsfj,X-Men Vs. Street Fighter (Japan 961004)
xmvsfjr1,X-Men Vs. Street Fighter (Japan 960910)
xmvsfjr2,X-Men Vs. Street Fighter (Japan 960909)
xmvsfa,X-Men Vs. Street Fighter (Asia 961023)
xmvsfar1,X-Men Vs. Street Fighter (Asia 960919)
xmvsfh,X-Men Vs. Street Fighter (Hispanic 961004)
xmvsfb,X-Men Vs. Street Fighter (Brazil 961023)
batcir,Battle Circuit (Euro 970319)
batcira,Battle Circuit (Asia 970319)
batcirj,Battle Circuit (Japan 970319)
csclub,Capcom Sports Club (Euro 970722)
cscluba,Capcom Sports Club (Asia 970722)
csclubj,Capcom Sports Club (Japan 970722)
csclubh,Capcom Sports Club (Hispanic 970722)
mshvsf,Marvel Super Heroes Vs. Street Fighter (Euro 970625)
mshvsfu,Marvel Super Heroes Vs. Street Fighter (USA 970827)
mshvsfu1,Marvel Super Heroes Vs. Street Fighter (USA 970625)
mshvsfj,Marvel Super Heroes Vs. Street Fighter (Japan 970707)
mshvsfj1,Marvel Super Heroes Vs. Street Fighter (Japan 970702)
mshvsfj2,Marvel Super Heroes Vs. Street Fighter (Japan 970625)
mshvsfh,Marvel Super Heroes Vs. Street Fighter (Hispanic 970625)
mshvsfa,Marvel Super Heroes Vs. Street Fighter (Asia 970625)
mshvsfa1,Marvel Super Heroes Vs. Street Fighter (Asia 970620)
mshvsfb,Marvel Super Heroes Vs. Street Fighter (Brazil 970827)
mshvsfb1,Marvel Super Heroes Vs. Street Fighter (Brazil 970625)
sgemf,Super Gem Fighter Mini Mix (USA 970904)
pfghtj,Pocket Fighter (Japan 970904)
sgemfa,Super Gem Fighter: Mini Mix (Asia 970904)
sgemfh,Super Gem Fighter: Mini Mix (Hispanic 970904)
vhunt2,Vampire Hunter 2: Darkstalkers Revenge (Japan 970929)
vhunt2r1,Vampire Hunter 2: Darkstalkers Revenge (Japan 970913)
vsav,Vampire Savior: The Lord of Vampire (Euro 970519)
vsavu,Vampire Savior: The Lord of Vampire (USA 970519)
vsavj,Vampire Savior: The Lord of Vampire (Japan 970519)
vsava,Vampire Savior: The Lord of Vampire (Asia 970519)
vsavh,Vampire Savior: The Lord of Vampire (Hispanic 970519)
vsav2,Vampire Savior 2: The Lord of Vampire (Japan 970913)
mvsc,Marvel Vs. Capcom: Clash of Super Heroes (Euro 980112)
mvscu,Marvel Vs. Capcom: Clash of Super Heroes (USA 980123)
mvscj,Marvel Vs. Capcom: Clash of Super Heroes (Japan 980123)
mvscjr1,Marvel Vs. Capcom: Clash of Super Heroes (Japan 980112)
mvsca,Marvel Vs. Capcom: Clash of Super Heroes (Asia 980123)
mvscar1,Marvel Vs. Capcom: Clash of Super Heroes (Asia 980112)
mvsch,Marvel Vs. Capcom: Clash of Super Heroes (Hispanic 980123)
mvscb,Marvel Vs. Capcom: Clash of Super Heroes (Brazil 980123)
sfa3,Street Fighter Alpha 3 (Euro 980904)
sfa3u,Street Fighter Alpha 3 (USA 980904)
sfa3ur1,Street Fighter Alpha 3 (USA 980629)
sfa3b,Street Fighter Alpha 3 (Brazil 980629)
sfz3j,Street Fighter Zero 3 (Japan 980904)
sfz3jr1,Street Fighter Zero 3 (Japan 980727)
sfz3jr2,Street Fighter Zero 3 (Japan 980629)
sfz3a,Street Fighter Zero 3 (Asia 980904)
sfz3ar1,Street Fighter Zero 3 (Asia 980701)
jyangoku,Jyangokushi: Haoh no Saihai (Japan 990527)
hsf2,Hyper Street Fighter II: The Anniversary Edition (Asia 040202)
hsf2j,Hyper Street Fighter II: The Anniversary Edition (Japan 031222)
gigawing,Giga Wing (USA 990222)
gwingj,Giga Wing (Japan 990223)
gwinga,Giga Wing (Asia 990222)
mmatrix,Mars Matrix: Hyper Solid Shooting (USA 000412)
mmatrixj,Mars Matrix: Hyper Solid Shooting (Japan 000412)
mpang,Mighty! Pang (USA 001010)
mpangj,Mighty! Pang (Japan 001011)
pzloop2,Puzz Loop 2 (Euro 010302)
pzloop2j,Puzz Loop 2 (Japan 010205)
choko,Choko (Japan 010820)
dimahoo,Dimahoo (Euro 000121)
dimahoou,Dimahoo (USA 000121)
gmahou,Great Mahou Daisakusen (Japan 000121)
1944,1944: The Loop Master (USA 000620)
1944j,1944: The Loop Master (Japan 000620)
progear,Progear (USA 010117)
progearj,Progear no Arashi (Japan 010117)
progeara,Progear (Asia 010117)
ddtodd,Dungeons & Dragons: Tower of Doom (Euro 940412 Phoenix Edition),GAME_BOOTLEG
xmcotad,X-Men: Children of the Atom (Euro 950105 Phoenix Edition),GAME_BOOTLEG
avspd,Alien vs. Predator (Euro 940520 Phoenix Edition),GAME_BOOTLEG
dstlku1d,Darkstalkers: The Night Warriors (USA 940705 Phoenix Edition),GAME_BOOTLEG
ringdstd,Ring of Destruction: Slammasters II (Euro 940902 Phoenix Edition),GAME_BOOTLEG
nwarrd,Night Warriors: Darkstalkers' Revenge (USA 950406 Phoenix Edition),GAME_BOOTLEG
sfad,Street Fighter Alpha: Warriors' Dreams (Euro 950727 Phoenix Edition),GAME_BOOTLEG
19xxd,19XX: The War Against Destiny (USA 951207 Phoenix Edition),GAME_BOOTLEG
ddsomud,Dungeons & Dragons: Shadow over Mystara (USA 960619 Phoenix Edition),GAME_BOOTLEG
megamn2d,Mega Man 2: The Power Fighters (USA 960708 Phoenix Edition),GAME_BOOTLEG
sfz2aad,Street Fighter Zero 2 Alpha (Asia 960826 Phoenix Edition),GAME_BOOTLEG
spf2xjd,Super Puzzle Fighter II X (Japan 960531 Phoenix Edition),GAME_BOOTLEG
xmvsfu1d,X-Men Vs. Street Fighter (USA 961004 Phoenix Edition),GAME_BOOTLEG
batcird,Battle Circuit (Euro 970319 Phoenix Edition),GAME_BOOTLEG
vsavd,Vampire Savior: The Lord of Vampire (Euro 970519 Phoenix Edition),GAME_BOOTLEG
mvscud,Marvel Vs. Capcom: Clash of Super Heroes (USA 980123 Phoenix Edition),GAME_BOOTLEG
sfa3d,Street Fighter Alpha 3 (USA 980904 Phoenix Edition),GAME_BOOTLEG
hsf2d,Hyper Street Fighter II: The Anniversary Edition (Asia 040202 Phoenix Edition),GAME_BOOTLEG
gwingjd,Giga Wing (Japan 990223 Phoenix Edition),GAME_BOOTLEG
1944d,1944: The Loop Master (USA 000620 Phoenix Edition),GAME_BOOTLEG

255
romcnv/zipname.mvs Normal file
View File

@ -0,0 +1,255 @@
2020bb,2020 Super Baseball (set 1)
2020bba,2020 Super Baseball (set 2)
2020bbh,2020 Super Baseball (set 3)
3countb,3 Count Bout
alpham2,Alpha Mission II
androdun,Andro Dunos
aodk,Aggressors of Dark Kombat
aof,Art of Fighting
aof2,Art of Fighting 2 (set 1)
aof2a,Art of Fighting 2 (set 2)
aof3,Art of Fighting 3 - The Path of the Warrior
aof3k,Art of Fighting 3 - The Path of the Warrior (Korean release)
bakatono,Bakatonosama Mahjong Manyuki
bangbead,Bang Bead
bjourney,Blue's Journey
blazstar,Blazing Star
breakers,Breakers
breakrev,Breakers Revenge
bstars,Baseball Stars Professional
bstars2,Baseball Stars 2
burningf,Burning Fight (set 1)
burningh,Burning Fight (set 2)
crsword,Crossed Swords
ctomaday,Captain Tomaday
cyberlip,Cyber-Lip
doubledr,Double Dragon
eightman,Eight Man
fatfursa,Fatal Fury Special (set 2)
fatfursp,Fatal Fury Special (set 1)
fatfury1,Fatal Fury - King of Fighters
fatfury2,Fatal Fury 2
fatfury3,Fatal Fury 3 - Road to the Final Victory
fbfrenzy,Football Frenzy
fightfev,Fight Fever (set 1)
fightfva,Fight Fever (set 2)
flipshot,Battle Flip Shot
fswords,Fighters Swords (Korean release of Samurai Shodown III)
galaxyfg,Galaxy Fight - Universal Warriors
ganryu,Ganryu
garou,Garou - Mark of the Wolves (set 1)
garouo,Garou - Mark of the Wolves (set 2)
garoup,Garou - Mark of the Wolves (prototype)
ghostlop,Ghostlop (prototype)
goalx3,Goal! Goal! Goal!
gowcaizr,Voltage Fighter - Gowcaizer
gpilots,Ghost Pilots
gururin,Gururin
irrmaze,The Irritating Maze
janshin,Jyanshin Densetsu - Quest of Jongmaster
jockeygp,Jockey Grand Prix
joyjoy,Puzzled
kabukikl,Far East of Eden - Kabuki Klash
karnovr,Karnov's Revenge
kf2k3pcb,The King of Fighters 2003 (Japan / JAMMA PCB)
kizuna,Kizuna Encounter - Super Tag Battle
kof2000,The King of Fighters 2000
kof2000n,The King of Fighters 2000 (not encrypted)
kof2001,The King of Fighters 2001 (set 1)
kof2001h,The King of Fighters 2001 (set 2)
kof2002,The King of Fighters 2002
kof2003,The King of Fighters 2003 (World / US / MVS)
kof94,The King of Fighters '94
kof95,The King of Fighters '95 (set 1)
kof95a,The King of Fighters '95 (set 2)
kof96,The King of Fighters '96 (set 1)
kof96h,The King of Fighters '96 (set 2)
kof97,The King of Fighters '97 (set 1)
kof97a,The King of Fighters '97 (set 2)
kof98,The King of Fighters '98 - The Slugfest
kof98k,The King of Fighters '98 - The Slugfest (Korean board)
kof98n,The King of Fighters '98 - The Slugfest (not encrypted)
kof99,The King of Fighters '99 - Millennium Battle (set 1)
kof99a,The King of Fighters '99 - Millennium Battle (set 2)
kof99e,The King of Fighters '99 - Millennium Battle (earlier)
kof99n,The King of Fighters '99 - Millennium Battle (not encrypted)
kof99p,The King of Fighters '99 - Millennium Battle (prototype)
kotm,King of the Monsters (set 1)
kotmh,King of the Monsters (set 2)
kotm2,King of the Monsters 2 - The Next Thing
lastblad,The Last Blade (set 1)
lastbldh,The Last Blade (set 2)
lastsold,The Last Soldier (Korean release of The Last Blade)
lastbld2,The Last Blade 2
lbowling,League Bowling
legendos,Legend of Success Joe
lresort,Last Resort
magdrop2,Magical Drop II
magdrop3,Magical Drop III
maglord,Magician Lord (set 1)
maglordh,Magician Lord (set 2)
mahretsu,Mahjong Kyoretsuden
marukodq,Chibi Marukochan Deluxe Quiz
matrim,Matrimelee
miexchng,Money Puzzle Exchanger
minasan,Minnasanno Okagesamadesu
mosyougi,Syougi No Tatsujin - Master of Syougi
ms5pcb,Metal Slug 5 (JAMMA PCB)
mslug,Metal Slug - Super Vehicle-001
mslug2,Metal Slug 2 - Super Vehicle-001/II
mslug3,Metal Slug 3
mslug3n,Metal Slug 3 (not encrypted)
mslug4,Metal Slug 4
mslug5,Metal Slug 5
mslugx,Metal Slug X - Super Vehicle-001
mutnat,Mutation Nation
nam1975,NAM-1975
ncombat,Ninja Combat (set 1)
ncombath,Ninja Combat (set 2)
ncommand,Ninja Commando
neobombe,Neo Bomberman
neocup98,Neo-Geo Cup '98 - The Road to the Victory
neodrift,Neo Drift Out - New Technology
neomrdo,Neo Mr. Do!
ninjamas,Ninja Master's - haoh-ninpo-cho
nitd,Nightmare in the Dark
overtop,Over Top
panicbom,Panic Bomber
pbobbl2n,Puzzle Bobble 2 / Bust-A-Move Again
pbobblen,Puzzle Bobble / Bust-A-Move (set 1)
pbobblna,Puzzle Bobble / Bust-A-Move (set 2)
pgoal,Pleasure Goal
pnyaa,Pochi and Nyaa
popbounc,Pop 'n Bounce
preisle2,Prehistoric Isle 2
pspikes2,Power Spikes II
pulstar,Pulstar
puzzldpr,Puzzle De Pon! R!
puzzledp,Puzzle De Pon!
quizdai2,Quiz Meitantei Neo & Geo - Quiz Daisousa Sen part 2
quizdais,Quiz Daisousa Sen - The Last Count Down
quizkof,Quiz King of Fighters
ragnagrd,Ragnagard
rbff1,Real Bout Fatal Fury
rbff2,Real Bout Fatal Fury 2 - The Newcomers (set 1)
rbff2h,Real Bout Fatal Fury 2 - The Newcomers (set 2)
rbff2k,Real Bout Fatal Fury 2 - The Newcomers (Korean release)
rbffspec,Real Bout Fatal Fury Special
ridhero,Riding Hero (set 1)
ridheroh,Riding Hero (set 2)
roboarma,Robo Army (set 2)
roboarmy,Robo Army (set 1)
rotd,Rage of the Dragons
s1945p,Strikers 1945 Plus
samsh5sh,Samurai Shodown V Special (set 2 / censored)
samsh5sn,Samurai Shodown V Special (set 3 / less censored)
samsh5sp,Samurai Shodown V Special (set 1 / uncensored)
samsho,Samurai Shodown
samsho2,Samurai Shodown II
samsho3,Samurai Shodown III (set 1)
samsho3a,Samurai Shodown III (set 2)
samsho4,Samurai Shodown IV - Amakusa's Revenge
samsho5,Samurai Shodown V (set 1)
samsho5h,Samurai Shodown V (set 2)
savagere,Savage Reign
sdodgeb,Super Dodge Ball
sengokh,Sengoku (set 2)
sengoku,Sengoku (set 1)
sengoku2,Sengoku 2 / Sengoku Denshou 2
sengoku3,Sengoku 3
shocktr2,Shock Troopers - 2nd Squad
shocktra,Shock Troopers (set 2)
shocktro,Shock Troopers (set 1)
socbrawl,Soccer Brawl
sonicwi2,Aero Fighters 2
sonicwi3,Aero Fighters 3
spinmast,Spin Master
ssideki,Super Sidekicks
ssideki2,Super Sidekicks 2 - The World Championship
ssideki3,Super Sidekicks 3 - The Next Glory
ssideki4,Ultimate 11 - The SNK Football Championship
stakwin,Stakes Winner
stakwin2,Stakes Winner 2
strhoop,Street Hoop / Street Slam
superspy,The Super Spy
svc,SvC Chaos - SNK vs Capcom
svcpcb,SvC Chaos - SNK vs Capcom (JAMMA PCB),GAME_NOT_WORK
svcpcba,SVC Chaos - SNK vs CAPCOM (JAMMA PCB / set 2)
tophunta,Top Hunter - Roddy & Cathy (set 2)
tophuntr,Top Hunter - Roddy & Cathy (set 1)
tpgolf,Top Player's Golf
trally,Thrash Rally
turfmast,Neo Turf Masters
twinspri,Twinkle Star Sprites
tws96,Tecmo World Soccer '96
viewpoin,Viewpoint
vliner,V-Liner (set 1)
vlinero,V-Liner (set 2)
wakuwak7,Waku Waku 7
wh1,World Heroes (set 1)
wh1h,World Heroes (set 2)
wh1ha,World Heroes (set 3)
wh2,World Heroes 2
wh2j,World Heroes 2 Jet (set 1)
wh2jh,World Heroes 2 Jet (set 2)
whp,World Heroes Perfect
wjammers,Windjammers
zedblade,Zed Blade
zupapa,Zupapa!
kof96ep,The King of Fighters '96 (bootleg),GAME_BOOTLEG
kof97pls,The King of Fighters '97 Plus (bootleg),GAME_BOOTLEG
kof97pla,The King of Fighters '97 Plus 2003 (bootleg),GAME_BOOTLEG
kog,King of Gladiator (KOF'97 bootleg),GAME_NOT_WORK|GAME_BOOTLEG
zintrckb,Zintrick / Oshidashi Zentrix (bootleg),GAME_BOOTLEG
zintrkcd,Zintrick / Oshidashi Zentrix (CD to MVS Conversion),GAME_BOOTLEG
garoubl,Garou - Mark of the Wolves (bootleg),GAME_BOOTLEG
mslug3b6,Metal Slug 6 (Metal Slug 3 bootleg),GAME_BOOTLEG
kf2k1pls,The King of Fighters 2001 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k1pa,The King of Fighters 2001 Plus (set 2 / bootleg),GAME_BOOTLEG
cthd2003,Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 1),GAME_BOOTLEG
cthd2k3a,Crouching Tiger Hidden Dragon 2003 (KOF2001 bootleg / set 2),GAME_BOOTLEG
ct2k3sp,Crouching Tiger Hidden Dragon 2003 Super Plus (KOF2001 bootleg),GAME_BOOTLEG
ct2k3sa,Crouching Tiger Hidden Dragon 2003 Super Plus alternate (KOF2001 bootleg),GAME_BOOTLEG
kof2002b,The King of Fighters 2002 (bootleg),GAME_BOOTLEG
kf2k2pls,The King of Fighters 2002 Plus (set 1 / bootleg),GAME_BOOTLEG
kf2k2pla,The King of Fighters 2002 Plus (set 2 / bootleg),GAME_BOOTLEG
kf2k2plb,The King of Fighters 2002 Plus (set 3 / bootleg),GAME_BOOTLEG
kf2k2plc,The King of Fighters 2002 Super (set 4 / bootleg),GAME_BOOTLEG
kf2k2mp,The King of Fighters 2002 Magic Plus (bootleg),GAME_BOOTLEG
kf2k2mp2,The King of Fighters 2002 Magic Plus II (bootleg),GAME_BOOTLEG
kof10th,The King of Fighters 10th Anniversary (KOF2002 bootleg),GAME_BOOTLEG
kf2k5uni,The King of Fighters 10th Anniversary 2005 Unique (KOF2002 bootleg),GAME_BOOTLEG
kf10thep,The King of Fighters 10th Anniversary Extra Plus (KOF2002 bootleg),GAME_BOOTLEG
kof2k4se,The King of Fighters Special Edition 2004 (KOF2002 bootleg),GAME_BOOTLEG
kf2k4pls,The King of Fighters Special Edition 2004 Plus (KOF2002 bootleg),GAME_BOOTLEG
mslug5b,Metal Slug 5 (bootleg),GAME_BOOTLEG
ms5plus,Metal Slug 5 Plus (bootleg),GAME_BOOTLEG
nitdbl,Nightmare in the Dark (bootleg),GAME_BOOTLEG
svcboot,SvC Chaos - SNK vs Capcom (bootleg),GAME_BOOTLEG
svcplus,SvC Chaos - SNK vs Capcom Plus (set 1 / bootleg),GAME_BOOTLEG
svcplusa,SvC Chaos - SNK vs Capcom Plus (set 2 / bootleg),GAME_BOOTLEG
svcsplus,SvC Chaos - SNK vs Capcom Super Plus (bootleg),GAME_BOOTLEG
samsho5b,Samurai Shodown V / Samurai Spirits Zero (bootleg),GAME_BOOTLEG
kf2k3bl,The King of Fighters 2003 (set 1 / bootleg),GAME_BOOTLEG
kf2k3bla,The King of Fighters 2003 (set 2 / bootleg),GAME_BOOTLEG
kf2k3pl,The King of Fighters 2004 Plus / Hero (KOF2003 bootleg),GAME_BOOTLEG
kf2k3upl,The King of Fighters 2004 Ultra Plus (KOF2003 bootleg),GAME_BOOTLEG
matrimbl,Matrimelee / Shin Gouketsuji Ichizoku Toukon (bootleg),GAME_BOOTLEG
lans2004,Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg),GAME_BOOTLEG
ms4plus,Metal Slug 4 Plus (bootleg),GAME_BOOTLEG
fr2ch,Idol Mahjong - final romance 2 (CD to MVS Conversion),GAME_BOOTLEG
bangbedp,Bang Bead (bootleg?),GAME_BOOTLEG
diggerma,Digger Man (prototype),GAME_BOOTLEG
columnsn,Columns (PD),GAME_BOOTLEG
poknight,Poker Night (PD),GAME_BOOTLEG
neonopon,Neo No Panepon (beta / PD),GAME_BOOTLEG
neopong,Neo Pong (v1.1 / PD),GAME_BOOTLEG
npong10,Neo Pong (v1.0 / PD),GAME_NOT_WORK|GAME_BOOTLEG
frogfest,Frog Feast (PD),GAME_BOOTLEG
ltorb1,Jonas Indiana and the Lost Temple of RA (20050717 / PD),GAME_BOOTLEG
cnbe,Codename - Blut Engel (2006-01-19 / PD),GAME_BOOTLEG
beast,Shadow of the Beast (demo / PD),GAME_BOOTLEG
neodemo,Neo-Demo (PD),GAME_BOOTLEG
ngem2k,NGEM2K (beta 2006-01-18 / PD),GAME_BOOTLEG
neo2500,Neo 2500 Demo (PD),GAME_BOOTLEG
syscheck,Neo System Check (ver 1.0b / PD),GAME_BOOTLEG

View File

@ -0,0 +1,98 @@
#ifndef __KULIBRARY__
#define __KULIBRARY__
#include <pspsdk.h>
#include <pspkernel.h>
#include <pspsysmem_kernel.h>
#include <pspctrl.h>
/**
* Functions to let user mode access certain functions only available in
* kernel mode
*/
/**
* Load a module using ModuleMgrForKernel.
*
* @param path - The path to the module to load.
* @param flags - Unused, always 0 .
* @param option - Pointer to a mod_param_t structure. Can be NULL.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID kuKernelLoadModule(const char *path, int flags, SceKernelLMOption *option);
/**
* Load a module with a specific apitype
*
* @param apìtype - The apitype
* @param path - The path to the module to load.
* @param flags - Unused, always 0 .
* @param option - Pointer to a mod_param_t structure. Can be NULL.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID kuKernelLoadModuleWithApitype2(int apitype, const char *path, int flags, SceKernelLMOption *option);
/**
* Gets the api type
*
* @returns the api type in which the system has booted
*/
int kuKernelInitApitype();
/**
* Gets the filename of the executable to be launched after all modules of the api.
*
* @param initfilename - String where copy the initfilename
* @returns 0 on success
*/
int kuKernelInitFileName(char *initfilename);
/**
*
* Gets the device in which the application was launched.
*
* @returns the device code, one of PSPBootFrom values.
*/
int kuKernelBootFrom();
/**
* Get the key configuration in which the system has booted.
*
* @returns the key configuration code, one of PSPKeyConfig values
*/
int kuKernelInitKeyConfig();
/**
* Get the user level of the current thread
*
* @return The user level, < 0 on error
*/
int kuKernelGetUserLevel(void);
/**
* Set the protection of a block of ddr memory
*
* @param addr - Address to set protection on
* @param size - Size of block
* @param prot - Protection bitmask
*
* @return < 0 on error
*/
int kuKernelSetDdrMemoryProtection(void *addr, int size, int prot);
/**
* Gets the model of the PSP from user mode.
* This function is available since 3.60 M33.
* In previous version, use the kernel function sceKernelGetModel
*
* @return one of PspModel values
*/
int kuKernelGetModel(void);
#endif

64
src/SDK/include/pspinit.h Normal file
View File

@ -0,0 +1,64 @@
#ifndef __PSPINIT_H__
#define __PSPINIT_H__
enum PSPBootFrom
{
PSP_BOOT_FLASH = 0, /* ? */
PSP_BOOT_DISC = 0x20,
PSP_BOOT_MS = 0x40,
};
enum PSPInitApitype
{
PSP_INIT_APITYPE_DISC = 0x120,
PSP_INIT_APITYPE_DISC_UPDATER = 0x121,
PSP_INIT_APITYPE_MS1 = 0x140,
PSP_INIT_APITYPE_MS2 = 0x141,
PSP_INIT_APITYPE_MS3 = 0x142,
PSP_INIT_APITYPE_MS4 = 0x143,
PSP_INIT_APITYPE_MS5 = 0x144,
PSP_INIT_APITYPE_VSH1 = 0x210, /* ExitGame */
PSP_INIT_APITYPE_VSH2 = 0x220, /* ExitVSH */
};
enum PSPKeyConfig
{
PSP_INIT_KEYCONFIG_VSH = 0x100,
PSP_INIT_KEYCONFIG_GAME = 0x200,
PSP_INIT_KEYCONFIG_POPS = 0x300,
};
/**
* Gets the api type
*
* @returns the api type in which the system has booted
*/
int sceKernelInitApitype();
/**
* Gets the filename of the executable to be launched after all modules of the api.
*
* @returns filename of executable or NULL if no executable found.
*/
char *sceKernelInitFileName();
/**
*
* Gets the device in which the application was launched.
*
* @returns the device code, one of PSPBootFrom values.
*/
int sceKernelBootFrom();
/**
* Get the key configuration in which the system has booted.
*
* @returns the key configuration code, one of PSPKeyConfig values
*/
int InitForKernel_7233B5BC();
#define sceKernelInitKeyConfig InitForKernel_7233B5BC
#endif

View File

@ -0,0 +1,142 @@
/*
* File for the kernel exports of LoadExec
*/
#ifndef __LOADEXEC_KERNEL__
#define __LOADEXEC_KERNEL__
#include <psploadexec.h>
#ifdef __cplusplus
extern "C" {
#endif
/** Structure for LoadExecVSH* functions */
struct SceKernelLoadExecVSHParam {
/** Size of the structure in bytes */
SceSize size;
/** Size of the arguments string */
SceSize args;
/** Pointer to the arguments strings */
void * argp;
/** The key, usually "game", "updater" or "vsh" */
const char * key;
/** The size of the vshmain arguments */
u32 vshmain_args_size;
/** vshmain arguments that will be passed to vshmain after the program has exited */
void *vshmain_args;
/** "/kd/pspbtcnf_game.txt" or "/kd/pspbtcnf.txt" if not supplied (max. 256 chars) */
char *configfile;
/** An unknown string (max. 256 chars) probably used in 2nd stage of loadexec */
u32 unk4;
/** unknown flag default value = 0x10000 */
u32 unk5;
};
/**
* Executes a new executable from a buffer.
*
* @param bufsize - Size in bytes of the buffer pointed by buf.
* @param buf - Pointer to a buffer containing the module to execute.
* @param param - Pointer to a ::SceKernelLoadExecParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecBufferPlain(SceSize bufsize, void *buf, struct SceKernelLoadExecParam *param);
/**
* Restart the vsh.
*
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL
*
* @returns < 0 on some errors.
*
* @note - when called in game mode it will have the same effect that sceKernelExitGame
*
*/
int sceKernelExitVSHVSH(struct SceKernelLoadExecVSHParam *param);
/**
* Restart the vsh (to be used by a kernel module)
*
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL
*
* @returns < 0 on some errors.
*
* @note - when called in game mode it will have the same effect that sceKernelExitGame
* @note2: available since firmware 2.00.
*/
int sceKernelExitVSHKernel(struct SceKernelLoadExecVSHParam *param);
/**
* Executes a new executable from a disc.
* It is the function used by the firmware to execute the EBOOT.BIN from a disc.
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecVSHDisc(const char *file, struct SceKernelLoadExecVSHParam *param);
/**
* Executes a new executable from a disc.
* It is the function used by the firmware to execute an updater from a disc.
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecVSHDiscUpdater(const char *file, struct SceKernelLoadExecVSHParam *param);
/**
* Executes a new executable from a memory stick.
* It is the function used by the firmware to execute an updater from a memory stick.
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecVSHMs1(const char *file, struct SceKernelLoadExecVSHParam *param);
/**
* Executes a new executable from a memory stick.
* It is the function used by the firmware to execute games (and homebrew :P) from a memory stick.
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecVSHMs2(const char *file, struct SceKernelLoadExecVSHParam *param);
/**
* Executes a new executable from a memory stick.
* It is the function used by the firmware to execute ... ?
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
*/
int sceKernelLoadExecVSHMs3(const char *file, struct SceKernelLoadExecVSHParam *param);
/***
* Executes a new executable from a memory stick.
* It is the function used by the firmware to execute psx games
*
* @param file - The file to execute.
* @param param - Pointer to a ::SceKernelLoadExecVSHParam structure, or NULL.
*
* @returns < 0 on some errors.
* @note - Available since firmware 3.00
*/
int sceKernelLoadExecVSHMs4(const char *file, struct SceKernelLoadExecVSHParam *param);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -0,0 +1,246 @@
/*
* PSP Software Development Kit - http://www.pspdev.org
* -----------------------------------------------------------------------
* Licensed under the BSD license, see LICENSE in PSPSDK root for details.
*
* pspmodulemgr.h - Prototypes to manage modules.
*
* Copyright (c) 2005 Marcus R. Brown <mrbrown@ocgnet.org>
* Copyright (c) 2005 James Forshaw <tyranid@gmail.com>
* Copyright (c) 2005 John Kelley <ps2dev@kelley.ca>
*
* $Id: pspmodulemgr.h 1148 2005-10-12 19:08:27Z tyranid $
*/
/* Note: Some of the structures, types, and definitions in this file were
extrapolated from symbolic debugging information found in the Japanese
version of Puzzle Bobble. */
#ifndef __MODLOAD_H__
#define __MODLOAD_H__
#include <pspkerneltypes.h>
/** @defgroup ModuleMgr Module Manager Library
* This module contains the imports for the kernel's module management routines.
*/
#ifdef __cplusplus
extern "C" {
#endif
/** @addtogroup ModuleMgr Module Manager Library */
/*@{*/
#define PSP_MEMORY_PARTITION_KERNEL 1
#define PSP_MEMORY_PARTITION_USER 2
typedef struct SceKernelLMOption {
SceSize size;
SceUID mpidtext;
SceUID mpiddata;
unsigned int flags;
char position;
char access;
char creserved[2];
} SceKernelLMOption;
typedef struct SceKernelSMOption {
SceSize size;
SceUID mpidstack;
SceSize stacksize;
int priority;
unsigned int attribute;
} SceKernelSMOption;
/**
* Load a module.
* @note This function restricts where it can load from (such as from flash0)
* unless you call it in kernel mode. It also must be called from a thread.
*
* @param path - The path to the module to load.
* @param flags - Unused, always 0 .
* @param option - Pointer to a mod_param_t structure. Can be NULL.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID sceKernelLoadModule(const char *path, int flags, SceKernelLMOption *option);
/**
* Load a module from MS.
* @note This function restricts what it can load, e.g. it wont load plain executables.
*
* @param path - The path to the module to load.
* @param flags - Unused, set to 0.
* @param option - Pointer to a mod_param_t structure. Can be NULL.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID sceKernelLoadModuleMs(const char *path, int flags, SceKernelLMOption *option);
/**
* Load a module from the given file UID.
*
* @param fid - The module's file UID.
* @param flags - Unused, always 0.
* @param option - Pointer to an optional ::SceKernelLMOption structure.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID sceKernelLoadModuleByID(SceUID fid, int flags, SceKernelLMOption *option);
/**
* Load a module from a buffer using the USB/WLAN API.
*
* Can only be called from kernel mode, or from a thread that has attributes of 0xa0000000.
*
* @param bufsize - Size (in bytes) of the buffer pointed to by buf.
* @param buf - Pointer to a buffer containing the module to load. The buffer must reside at an
* address that is a multiple to 64 bytes.
* @param flags - Unused, always 0.
* @param option - Pointer to an optional ::SceKernelLMOption structure.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID sceKernelLoadModuleBufferUsbWlan(SceSize bufsize, void *buf, int flags, SceKernelLMOption *option);
/**
* Start a loaded module.
*
* @param modid - The ID of the module returned from LoadModule.
* @param argsize - Length of the args.
* @param argp - A pointer to the arguments to the module.
* @param status - Returns the status of the start.
* @param option - Pointer to an optional ::SceKernelSMOption structure.
*
* @return ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelStartModule(SceUID modid, SceSize argsize, void *argp, int *status, SceKernelSMOption *option);
/**
* Stop a running module.
*
* @param modid - The UID of the module to stop.
* @param argsize - The length of the arguments pointed to by argp.
* @param argp - Pointer to arguments to pass to the module's module_stop() routine.
* @param status - Return value of the module's module_stop() routine.
* @param option - Pointer to an optional ::SceKernelSMOption structure.
*
* @returns ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelStopModule(SceUID modid, SceSize argsize, void *argp, int *status, SceKernelSMOption *option);
/**
* Unload a stopped module.
*
* @param modid - The UID of the module to unload.
*
* @returns ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelUnloadModule(SceUID modid);
/**
* Stop and unload the current module.
*
* @param unknown - Unknown (I've seen 1 passed).
* @param argsize - Size (in bytes) of the arguments that will be passed to module_stop().
* @param argp - Pointer to arguments that will be passed to module_stop().
*
* @return ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelSelfStopUnloadModule(int unknown, SceSize argsize, void *argp);
/**
* Stop and unload the current module.
*
* @param argsize - Size (in bytes) of the arguments that will be passed to module_stop().
* @param argp - Poitner to arguments that will be passed to module_stop().
* @param status - Return value from module_stop().
* @param option - Pointer to an optional ::SceKernelSMOption structure.
*
* @returns ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelStopUnloadSelfModule(SceSize argsize, void *argp, int *status, SceKernelSMOption *option);
typedef struct SceKernelModuleInfo {
SceSize size;
char nsegment;
char reserved[3];
int segmentaddr[4];
int segmentsize[4];
unsigned int entry_addr;
unsigned int gp_value;
unsigned int text_addr;
unsigned int text_size;
unsigned int data_size;
unsigned int bss_size;
/* The following is only available in the v1.5 firmware and above,
but as sceKernelQueryModuleInfo is broken in v1.0 is doesn't matter ;) */
unsigned short attribute;
unsigned char version[2];
char name[28];
} SceKernelModuleInfo;
/**
* Query the information about a loaded module from its UID.
* @note This fails on v1.0 firmware (and even it worked has a limited structure)
* so if you want to be compatible with both 1.5 and 1.0 (and you are running in
* kernel mode) then call this function first then ::pspSdkQueryModuleInfoV1
* if it fails, or make separate v1 and v1.5+ builds.
*
* @param modid - The UID of the loaded module.
* @param info - Pointer to a ::SceKernelModuleInfo structure.
*
* @return 0 on success, otherwise one of ::PspKernelErrorCodes.
*/
int sceKernelQueryModuleInfo(SceUID modid, SceKernelModuleInfo *info);
/**
* Get a list of module IDs. NOTE: This is only available on 1.5 firmware
* and above. For V1 use ::pspSdkGetModuleIdList.
*
* @param readbuf - Buffer to store the module list.
* @param readbufsize - Number of elements in the readbuffer.
* @param idcount - Returns the number of module ids
*
* @return >= 0 on success
*/
int sceKernelGetModuleIdList(SceUID *readbuf, int readbufsize, int *idcount);
/**
* Load a module protected by DRM...
*
* @param path - The path to the module to load.
* @param flags - Unused, always 0 .
* @param option - Pointer to a mod_param_t structure. Can be NULL.
*
* @returns The UID of the loaded module on success, otherwise one of ::PspKernelErrorCodes.
*/
SceUID ModuleMgrForUser_FEF27DC1(const char *path, int flags, SceKernelLMOption *option);
#define sceKernelLoadModuleDNAS ModuleMgrForUser_FEF27DC1
/**
* Stop and unload the current module with the specified exit status code
*
* @param exitcode - The exitcode for the module
* @param argsize - Size (in bytes) of the arguments that will be passed to module_stop().
* @param argp - Poitner to arguments that will be passed to module_stop().
* @param status - Return value from module_stop().
* @param option - Pointer to an optional ::SceKernelSMOption structure.
*
* @returns ??? on success, otherwise one of ::PspKernelErrorCodes.
*/
int ModuleMgrForUser_8F2DF740(int exitcode, SceSize argsize, void *argp, int *status, SceKernelSMOption *option);
#define sceKernelStopUnloadSelfModuleWithStatus ModuleMgrForUser_8F2DF740
/*@}*/
#ifdef __cplusplus
}
#endif
#endif

Some files were not shown because too many files have changed in this diff Show More