************************************************** *********************
ROOT -> docs -> readme_mvs.txt:
************************************************** *********************
----------------------------------------------------------------------
NEOGEO Emulator for PSP 1.0
NJ (http://neocdz.hp.infoseek.co.jp/psp/)
----------------------------------------------------------------------
<Summary>
This is a NEOGEO (MVS/AES) emulator for the PSP. Since the PSP's memory is just too limited, it's hard to run the larger games, but I think that nearly all games will run.
----------------------------------------------------------------------
Directory Setting
All of the directories will be automatically created the first time it's launched.
/PSP/GAME/
|
+- MVSPSP/ (root directory)
| |
| +- EBOOT.PBP NEOGEO Emulator binary
| +- mvspsp.ini software config file (create by emulator)
|
+- cache/ (directory for sprite cache file)
| |
| +- mslug_cache.zip (example: Metal Slug)
|
+- config/ (directory for key config file)
|
+- memcard/ (directory for memorycaard)
|
+- music/ (directory for play list (sound test))
|
+- nvram/ (directory for SRAM)
|
+- snap/ (directory for screen shot)
|
+- state/ (directory for save state)
|
+- roms/ (put BIOS and rom files here. (zip compressed)
| |
| +- neogeo.zip (NEOGEO BIOS)
| +- samsho.zip (example: Samrai Spirits)
| +- ...
-All ROM image files must be compressed in a zip file.
Other than the fact that it can't handle files that cascade into folders, it's basically exactly the same os MAME. Also, ROM sets that are incompatible with MAME are incompatible.
-Please collect the BIOS into a file named neogeo.zip, and place it in the roms folder.
-The zip file name for each game must "exactly match the names of MAME 0.106's rom set names"
-It doesn't matter what the rom file name for each game is, but it "the CRC must match the CRC of MAME 0.106's ROM set"
-Although this is compatible with uni-bios and other hack BIOS, basically their use is not recommended. It's possible that a portion of the games won't run.
----------------------------------------------------------------------
Creating Cache Files
If a "Insufficient Memory" error is displayed when loading a ROM, then you must create a graphic data cache.
Please create it with the included romcnv.exe. For how to use it, please refer to romcnv.exe's readme.txt.
Also, when using cache files, unlike CPS2PSP one must be created for every game.
----------------------------------------------------------------------
Controls
*The BIOS setting screen is displayed by pressing "L Trigger" while in the file browser. "Definitely set this" before launching a game.
-Other than when running a game and the main menu, it's made so that a controls help screen will be displayed by pressing "R Trigger" in any of the menus.
If you don't understand, just go ahead and press "R Trigger".
I think you'll understand when you see it, so I'll omit the details.
-The menu for changing the game settings, etc... is displayed by pressing "START + SELECT" while a game is running.
-In Game Button Controls
It's possible to change the button allocation. I've written the default settings below.
The button placement is the same as the NEOGEO pad button placement.
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
Special Controls
START + SELECT: Open The Menu
L + R + SELECT: Service Switch (Also possible to allocate to a specific button)
----------------------------------------------------------------------
About Changing The BIOS Region/Machine Mode
-Although I've made it so that it can be changed in the game settings menu, that doesn't mean that it works completely fine. In later games, there are some where if you change this setting it'll get caught by protection and stop running.
Also, if you attempt to run a MVS game with an AES BIOS, then there are cases where it will similarly get caught by protections and stop running.
-If you want to change them with certainty, then please use uni-bios v1.0/1.1/1.2/1.3/2.0.
----------------------------------------------------------------------
About Japanese Resource File
-The included de-compressible file, "resource_jp.zip", is used for a portion of the menus to display Japanese.
Only copy this file to the ngepsp folder if you wish to display Japanese.
----------------------------------------------------------------------
About The Track List For Use With The Sound Test
-The format is as follows.
If you use a Japanese resource file, the track names can also be displayed in Japanese.
$title: Enter the game name to be displayed in the title bar.
$pre: Enter a 2 digit bank 16 base number, etc.. to be added before the playback command. For most games, "07" should be fine.
$stop: Enter a code used to stop playback of the track as a 2 digit 16 base number. I think that for most games, entering "03" for the reset code, and "20" for the stop code should work fine.
$start: Declares the beginning of the track list.
$end: Declares the end of the track list.
The track list should be entered between $start and $end. Please don't enter blank lines or comments. The processing is pretty rough so it'll freeze. The format is, after the 2 digit 16 base number, the track name is written in between to half-width space characters.
Example)
$title=Metal Slug
$pre=00
$stop=03
$start
02 Neo Geo Logo
2b The Military System
...
2c Nazca Logo
$end
Incidentally, a large portion of the included track list was made by referencing Mame E2J's Bridge M1 list.
----------------------------------------------------------------------
Miscellaneous
-A memory card file is created for each game. Also, the memory card is in a constantly recognized condition.
-The games below run in MAME, but are unsupported in this emulator.
There are no plans to support them hereafter.
svcpcb SvC Chaos - SNK vs Capcom (JAMMA PCB)
kof97pls The King of Fighters '97 Plus (bootleg)
zintrckb Zintrick (hack / bootleg)
mslug3b6 Metal Slug 6 (Metal Slug 3 bootleg)
cthd2003 Crouching Tiger Hidden Dragon 2003 (The King of Fighters 2001 bootleg)
ct2k3sp Crouching Tiger Hidden Dragon 2003 Super Plus (The King of Fighters 2001 bootleg)
kf2k2pls The King of Fighters 2002 Plus (set 1, bootleg)
kf2k2pla The King of Fighters 2002 Plus (set 2, 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 (The King of Fighters 2002 bootleg)
kf2k5uni The King of Fighters 10th Anniversary 2005 Unique (The King of Fighters 2002 bootleg)
kf10thep The King of Fighters 10th Anniversary Extra Plus (The King of Fighters 2002 bootleg)
kof2k4se The King of Fighters Special Edition 2004 (The King of Fighters 2002 bootleg)
ms5plus Metal Slug 5 Plus (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 (The King of Fighters 2003 bootleg)
kf2k3upl The King of Fighters 2004 Ultra Plus (The King of Fighters 2003 bootleg)
svcboot SvC Chaos - SNK vs Capcom (MVS) (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)
lans2004 Lansquenet 2004 (Shock Troopers - 2nd Squad bootleg)
ms4plus Metal Slug 4 Plus (bootleg)
----------------------------------------------------------------------
What's Changed
ver.1.0
-Merged source with CPS1PSP/CPS2PSP.
-Changed the formatting of the rominfo.
-As the source for 0.2.2 is missing, recreated it using source from around 0.1.3.
I don't think the speed has changed.
************************************************** *********************
ROOT -> src -> emumain.c:
************************************************** *********************
line 5: Emulation Core
line 18: Global variables
line 52: Local variables
line 90: Prototype
line 98: Start Emulation
line 111: Initialize Frameskip
line 133: Frameskip Table
line 143: Update (the) Screen
line 243: Display FPS
line 263: Display Battery Level Warning
line 292: Fatal Error Message
line 309: Display Fatal Error Message
line 360: Save Screenshot
************************************************** *********************
ROOT -> src -> emumain.h:
************************************************** *********************
line 5: Emulation Core
************************************************** *********************
ROOT -> src -> common -> cache.c
************************************************** *********************
line 5: Memory Cache Interface Functions
line 11: Lower Limit
line 12: Upper Limit
line 13: Size of 1 block = 64KB
line 27: Global Structs/Variables
line 59: Local Functions
line 63: Open a data file inside a cache file
line 87: Load a data file inside a cache file
line 94: Close a data file inside a cache file
line 100: Fill cache with data
line 101: Since there is a mixture of three types of data, the region really should be divided and each (type) should be read in with an appropriate size, but I took a shortcut and it's only setup to just read from the front of the data.
line 154: Load data from cache
line 156: If the (rom) size is so large that it can't fit into memory, this is used
line 221: Update the cache data
line 223: Send the specified data to the tail end of cache.
line 224: Unnecessary if you don't manage memory.
line 260: Update the cache data
line 262: Send the specified data to the tail end of cache.
line 263: Also loads the file when necessary
line 264: Unnecessary if you don't manage memory.
line 312: Cache interface functions
line 316: Initialize cache
line 335: Start cache processing
line 381: Check the allocatable size
line 446: Finish cache processing
line 457: Temporarily pause/resume cache
line 480: Swap cache update functions
line 482: For state load
************************************************** *********************
ROOT -> src -> common -> cache.h
************************************************** *********************
line 5: Memory Cache Interface Functions
************************************************** *********************
ROOT -> src -> common -> coin.c
************************************************** *********************
line 5: Coin counter
line 13: Local variables
line 24: Global functions
line 28: Reset the coin counter
line 40: Update the coin counter
line 56: Coin counter lock
************************************************** *********************
ROOT -> src -> common -> coin.h
************************************************** *********************
line 5: Coin counter
************************************************** *********************
ROOT -> src -> common -> loadrom.c
************************************************** *********************
line 5: ROM image file load functions
line 13: Local functions
line 20: Global functions
line 24: Begin looking for files in zip
line 99: Close file
line 115: Load the specified bytes from file
line 126: Load one letter from file
line 138: Open cache file
line 181: Load ROM
************************************************** *********************
ROOT -> src -> common -> loadrom.h
************************************************** *********************
line 5: ROM image file load functions
************************************************** *********************
ROOT -> src -> common -> sndtest.c
************************************************** *********************
line 5: Sound test
line 13: Global variables
line 20: Local structs/variables
line 44: Sound driver (MVS)
line 56: Send sound command
line 67: Initialize sound driver
line 88: Update sound
line 115: Send stop sound command
line 135: Send resume sound command
line 165: Local functions
line 169: Convert 16-base number character string -> number
line 193: Convert 10-base number character string -> number
line 215: Acquire line buffer from value
line 228: Dissolve playlist
line 421: Initialize screen
line 442: Update screen
line 545: Initialize NEOGEO sound emulation
line 588: Global functions
line 592: Sound test main
line 616: Update sound command
************************************************** *********************
ROOT -> src -> common -> sndtest.h
************************************************** *********************
line 5: Sound test
************************************************** *********************
ROOT -> src -> common -> state.c
************************************************** *********************
line 5: State save/load
line 16: Global variables
line 29: Local variables
line 42: Local functions
line 46: Save thumbnail from work area
line 77: Load thumbnail from file into work area
line 108: Clear thumbnail in work area
line 139: State save/load functions
line 143: State save
line 160: Header? (literally "hedda", not "heddaa" as I would expect)
line 165: Thumbnail
line 169: State data
line 213: State load
line 229: Header (skip)
line 233: Thumbnail (skip)
line 237: State data
line 300: Create thumbnail
line 328: Load thumbnail
line 366: Delete thumbnail
************************************************** *********************
ROOT -> src -> common -> state.h
************************************************** *********************
line 5: State save/load
************************************************** *********************
ROOT -> src -> common -> loadrom.c
************************************************** *********************
line 5: ROM image file load variables
Bookmarks