PDA

View Full Version : NJ Arcade Emulators Source Translations



b8a
October 27th, 2006, 08:41
Now that NJ has officially ended production of his arcade emulators and released the sources, I went through the October 20th source package and translated all of the documents and comments. Although all of the various readme's are included here, they have already been translated in bits 'n pieces in other posts, so I don't imagine that this will have much value to anyone who isn't planning on delving into the inner workings of the program. Even then, it's most likely to be of only questionable value. But, just for posterity, here it is. My appologies for the multiple posts, but the information is too large for the single post limit...

************************************************** ***********
Note: any section that appears directly between two rows of astriks like this denotes the path to the file containing the original Japanese that was translated into the lines that follow. ROOT, fairly predictably, refers to the root folder of the unzipped download.
************************************************** ***********
---------------------------------------------------------------------------------


************************************************** *********************
ROOT -> source.txt:
************************************************** *********************
----------------------------------------------------------------------
Arcade Emulators For The PSP Source Code (20061015)
NJ (http://neocdz.hp.infoseek.co.jp/psp/)
----------------------------------------------------------------------

This is the source code for CPS1PSP/CPS2PSP/MVSPSP.


- 20061015 -
*Merged CPS2PSP's source code with the source code for CPS1PSP and MVSPSP.
I think that it would be hard to understand what's going on if I combined them too much, so I figured that it would be best to just leave them at this state.
*Following the changes in the formatting of the rominfo files, romcnv has also been updated.
*Since MVSPSP's timer is actually being processed as an int, it doesn't follow a proper clock. This is because when a double/float is used, the FM audio timer calculation causes the operational speed in crsword to drop significantly (for some reason it looks like the interrupts in this game only are extremely high).
*There was just so little reason for it, so I removed AdHoc.

----------------------------------------------------------------------

Below is a simple explanation of the source for CPS2PSP.
Basically, the other emulators are the same.

----------------------------------------------------------------------
Code used as reference

The basic processing flow (the CPU clock count and memory map, refresh timing, etc...) was created by referencing MAME.

For the sprite drawing order, I referenced a portion of FBA.

However, even porting the above emulators as-is to the PSP, they wouldn't operate at a respectable speed, so the emulators themselves have are entirely new, and take great advantage of the capabilities of the PSP's hardware. Overall, the layout is lacking in "general-purpose-ness", so I don't think that it'll be of much help if you are considering porting it to another machine.

----------------------------------------------------------------------
About the layout of the cache files

If I made them too complex, then time would be wasted on processing them and the speed would drop, so in reality, I'm not really doing much with them.

romcnv.exe, after reading (the rom) into memory, removes unnecessary data (such as duplicates and empty space), separates the sprite data into easily processed 64KB segments, and after creating the data display flags and processing flags, saves it all to gameName_cache.zip.
A detailed explanation is included with the released source, so I'll leave it at that.

CPS2PSP itself manages the cache data in a list layout, and used items move to the end of the list. Since the least used data is then inevitably at the top of the list, when it becomes necessary to load new data, this top data (the oldest) is deleted, and after the new data is loaded into this emptied space, it is then moved to the tail end of the list. The processing is just a repetition of this.

The reason why the sprite data is divided is that, you can't seek within a zip file, and after having played around with it a bit, I found that the 64KB size resulted in the best performance. If it weren't zip compressed, I think that the speed would drop drastically due to the slow speed of reading it off of the memory stick.

Also, it would probably be difficult to use cache processing as in Neo4All that directly manipulate the MMU. I don't even know if it would be possible with the PSP, but hypothetically, even if it could be done, I don't think that the performance would be that great on account of the slow memory stick transfer speed.

----------------------------------------------------------------------
About C68K and CZ80

I've greatly rewritten both in a form that would be easy for me to deal with, and they have no compatibility with the original source. If you try to reuse them, beware. I've fixed a bug in a portion of CZ80 (there's a bug in allocation and SBC16).

----------------------------------------------------------------------
If you could please use the link bellow in the occasion that you fix any bugs or make any improvements, that would help me out a lot. I'm sorry, but please refrain from using it for requests.

http://neocdz.hp.infoseek.co.jp/cgi-bin/upload/upload.cgi


************************************************** *********************
ROOT -> docs -> readme_cps1.txt:
************************************************** *********************
----------------------------------------------------------------------

CAPCOM CPS1 Emulator for PSP 1.01

NJ (http://neocdz.hp.infoseek.co.jp/psp/)
----------------------------------------------------------------------

<Summary>

This is an CAPCOM CPS1(Capcom Play System) emulator for the PSP.

----------------------------------------------------------------------
About Compatible ROM Sets

Since this is based on MAME 0.106, the zip file names must exactly match those required of ROM sets for MAME 0.106.

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.

All of the games that are displayed in white in the file browser will run.
If it won't run, then the ROM set is different from the required one. Please make them match MAME 0.106's ROM set by using ClrMame Pro, RomCenter, or some other such tool.

If you absolutely want to run other emulators' or older MAME ROM sets, the you can edit rominfo.dat in notepad, etc..., however, I don't recommend it. If you don't understand the contents of rominfo.dat when looking at then please don't change it.

----------------------------------------------------------------------
Directory Setting

All of the directories will be automatically created the first time it's launched.

/PSP/GAME/
|
+- CPS1PSP/ (root directory)
| |
| +- EBOOT.PBP CPS1 Emulator binary
| +- cps1psp.ini software config file (create by emulator)
|
+- config/ (directory for key config file)
|
+- nvram/ (directory for SRAM)
|
+- snap/ (directory for screen shot)
|
+- state/ (directory for state data)
|
+- roms/ (put BIOS and rom files here. (zip compressed)
| |
| +- 1941.zip (example: 1941)
| +- sf2.zip (example: Street Fighter II (parent))
| +- sf2j.zip (example: Street Fighter II (clone: Japanese version))
| +- ...

----------------------------------------------------------------------
Controls

-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 defaults below.

In the conditions below, the button placement will automatically flip/rotate to match the screen, so you don't really need to make a conscious change for them.
-When 2 Player and the Cabinet item in the DIP switch is set to Cocktail
-When the Flip Screen item in the DIP switch is On
-When Rotate Screen is Yes for vertically scrolling games

Common
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 Game
Button 1 - Square
Button 2 - Triangle

3 Button Game
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross

Quiz Game (Directional Buttons Aren't Used)
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross
Button 4 - Circle
Switch Player - L trigger

Street Fighter II Style Games (Including 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
(Since there's nothing you can do about the loop lever on the PSP, the L/R triggers are used)
Button 1 - Square
Dial(rotate left) - L trigger
Dial(rotate right) - R trigger

Special Controls
START + SELECT: Open The Menu
L + R + SELECT: Service Switch (Also possible to allocate to a specific button)
L + R + START: 1P & 2P START (Used in the service menu)

----------------------------------------------------------------------
About "Raster Effects"

-There's a "Raster Effects' item in the game setting menu.
With this item you can specify whether the Line Scroll effect used in games like Street Fighter II, etc... is On/Off.
Since the burden of this item on emulation is extremely high (since sprites have to be drawn line-by-line, the draw passes increase several times above normal), it's normally "Off". If the misalignment of BG bothers you, the speed will drop quite a bit but, please change this to "On".

Also, it's made so that the BG is misaligned when "Off", it isn't a bug.
There is no methoud for displaying them normally other than when Raster Effects is "On".

With this inactive, Street Fighter II's screen falls apart and it turns into a rather atrocious state, but there's no real change in Street Fighter Zero, so it's better inactive.

----------------------------------------------------------------------
About "Auto Frameskip"

When inactive, naturally the overall speed of the game drop but, if you want to play a stable game, it's better left inactive.

*since 1.0, the default value is Off.

----------------------------------------------------------------------
About "Video Sync"

Improved operation in 1.0.
With it active the sound is slightly sacrificed but, screen flickering should improve. You should be better off turning it on for games such as King of Dragons where the character flickers every frame.
Basically, for games with heavy processing please make it inactive.

The recommended settings for Video Sync Yes are as follows.

Raster Effects Off
60fps Speed Limit Off
Sample Rate 11025Hz (It would probably struggle over 22050Hz)

----------------------------------------------------------------------
About the handling of bootleg version games

They were tentatively supported until about beta 3, however, they have all been deleted in 1.0. Basically, other than situations where the official game doesn't run due to encryption or other issues, the emulators that I create don't support bootleg versions.
(The reason is simply that I hate bootleg versions.)
I will release the source code in a few days, so if there's a necessity, please add them yourself using MAME, etc.. as reference.

----------------------------------------------------------------------
What's Changed

1.01

-Fixed a bug with Pang!3 where the state save was not being executed properly
-Merged the source code with CPS2PSP/MVSPSP
-Changed the extension of rominfo.dat and other resource files to .cps1

----------------------------------------------------------------------
1.0

-Changed the C68K core to be the same as CPS2PSP
-Changed the Z80 core to CZ80
-Fixed a number of CZ80 bugs
-Changed the basic processing to be on par with CPS2PSP
-Deleted all bootleg versions
-As a result of the rewrite of the draw processing, it looks like the speed has increased somewhat
-Fixed layer palette separation processing
-Added state Save/Load feature
-Improved the processing with VSYNC on
-Researched the dip switch values and changed them to values that should make them operate properly
-Changed Demo Sound and Allow Continue dip switch initial values to Yes
-Fixed a bug where the autofire feature wouldn't operate with Rotate Screen set to Yes
-Changed the screen shot image format to PNG
-Added Kernel Mode version
-Numerous other changes


************************************************** *********************
ROOT -> docs -> readme_cps2.txt:
************************************************** *********************
----------------------------------------------------------------------

CAPCOM CPS1 Emulator for PSP 1.02

NJ (http://neocdz.hp.infoseek.co.jp/psp/)
----------------------------------------------------------------------

<Summary>

This is a CAPCOM CPS2(Capcom Play System II) emulator for the PSP.

----------------------------------------------------------------------
About Compatible ROM Sets

Since this is based on MAME 0.107, the zip file names must exactly match those required of ROM sets for MAME 0.107.

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.

All of the games that are displayed in white in the file browser will run.
If it won't run, then the ROM set is different from the required one. Please make them match MAME 0.106's ROM set by using ClrMame Pro, RomCenter, or some other such tool.

If you absolutely want to run other emulators' or older MAME ROM sets, the you can edit rominfo.dat in notepad, etc..., however, I don't recommend it. If you don't understand the contents of rominfo.dat when looking at then please don't change it.

Games that are displayed in grey in the file browser are encrypted ROMs that haven't been decrypted (there is no XOR table for them), so these will not run. They will not run even if you rename them since the file doesn't exist.
Put plainly, we need to wait until they are compatible with MAME.
Since there are still officially sold CPS2 encrypted games that are waiting to be decrypted, when these become compatible with MAME I plan to add compatibility for them.

----------------------------------------------------------------------
Directory Setting

All of the directories will be automatically created the first time it's launched.

/PSP/GAME/
|
+- CPS2PSP/ (root directory)
| |
| +- EBOOT.PBP CPS2 Emulator binary
| +- cps2psp.ini software config file (create by emulator)
|
+- cache/ (directory for sprite cache file)
|
+- config/ (directory for key config file)
|
+- nvram/ (directory for SRAM)
|
+- snap/ (directory for screen shot)
|
+- state/ (directory for state data)
|
+- roms/ (put BIOS and rom files here. (zip compressed)
| |
| +- 19xx.zip (example: 19xx)
| +- ssf2.zip (example: Super Street Fighter II (parent))
| +- ssf2j.zip (example: Super Street Fighter II (clone: Japanese version))
| +- ...

----------------------------------------------------------------------
Creating Cache Files

You need to create a graphic data cache for every game. Please create them with the included romcnv.exe. For how to use it, please refer to romcnv.exe's readme.txt.

However, unlike NEOGEO irregardless of the language version the graphic ROM contents are all the same, so it's OK to just create the parent set.
Of course, it also doesn't matter if you create one for each game.

Only ssf2t and it's various different language versions are an exception, so please be forewarned. This game added new characters and BG data to ssf2. Accordingly, while ROM set parent set is ssf2, if you don't create cache for ssf2t, a cache file without the added data will be created.
When creating the cache, place ssf2.zip and ssf2t.zip in the same folder and specify ssf2t.zip when you create it.

----------------------------------------------------------------------
Controls

-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 defaults below.

In the conditions below, the button placement will automatically flip/rotate to match the screen, so you don't really need to make a conscious change for them.
-When the Flip Screen item in the service menu is active
-When Rotate Screen is Yes for vertically scrolling games

Common
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 Game
Button 1 - Square
Button 2 - Triangle

3 Button Game
Button 1 - Square
Button 2 - Triangle
Button 3 - Cross

6 Button Game
Button 1 - Square
Button 2 - Triangle
Button 3 - L trigger
Button 4 - Cross
Button 5 - Circle
Button 6 - R trigger

Quiz Nanairo Dreams Specific (Directional Buttons Aren't Used)
Button 1 - Square
Button 2 - Cross
Button 3 - Triangle
Button 4 - Circle
Switch Player - L trigger

Special Controls
START + SELECT: Open The Menu
L + R + SELECT: Service Switch (Also possible to allocate to a specific button)
L + R + START: 1P & 2P START (Used in the service menu)

----------------------------------------------------------------------
About "Raster Effects"

-There's a "Raster Effects' item in the game setting menu.
With this item you can specify whether the Line Scroll effect used in games like Street Fighter II, etc... is On/Off.
Since the burden of this item on emulation is extremely high (since sprites have to be drawn line-by-line, the draw passes increase several times above normal), it's normally "Off". If the misalignment of BG bothers you, the speed will drop quite a bit but, please change this to "On".

Also, it's made so that the BG is misaligned when "Off", it isn't a bug.
There is no methoud for displaying them normally other than when Raster Effects is "On".

----------------------------------------------------------------------
About "Auto Frameskip"

When inactive, naturally the overall speed of the game drop but, if you want to play a stable game, it's better left inactive.

*since 1.0, the default value is Off.

----------------------------------------------------------------------
About Sound

If you inactivate sound, then Q-Sound PCM data won't be loaded.
As a result, the amount of memory usable by cache increases and the cache read cycles decrease. There is not enough memory for the later fighting games so the cache is frequently read and lots of lags occur.
If you want to decrease lags by as much as possible, please inactivate sound.

----------------------------------------------------------------------
About eLoader 0.99 TIFF Loader

It won't run without changing eLoader's settings in loader 099.cfg.
If you launch it as-is then it will crash while trying to load the cache file.
*Looking at the crash details, it looks as though a coprocessor exception occurs, but as it's only loading files from a zip file, I don't believe that it would be using the coprocessor.

Normally, loader099.cfg is at ms0:/PSP/eloader/loader099.cfg
Please open it in notepad, etc... and add the following.

[CPS2PSP_3CC97646]
#************************************************* ************************#
#* CAPCOM CPS2 Emulator for PSP 1.0 (Kernel mode version) *#
#*-----------------------------------------------------------------------*#
#* LOADER: 0.98 (TIFF loader) *#
#* TIFF: 2.0 - YES : Only the small size games can be played. *#
#* GTA: 2.0 - YES *#
#* GTA: 2.01 - YES *#
#* GTA: 2.5 - YES *#
#* GTA: 2.6 - YES *#
#************************************************* ************************#
ebootname=CPS2PSP 1.0
limitedMemoryManager=Y

[CPS2PSP_3CC97526]
#************************************************* ************************#
#* CAPCOM CPS2 Emulator for PSP 1.0 *#
#*-----------------------------------------------------------------------*#
#* LOADER: 0.98 (TIFF loader) *#
#* TIFF: 2.0 - YES : Only the small size games can be played. *#
#* GTA: 2.0 - YES *#
#* GTA: 2.01 - YES *#
#* GTA: 2.5 - YES *#
#* GTA: 2.6 - YES *#
#************************************************* ************************#
ebootname=CPS2PSP 1.0
limitedMemoryManager=Y

As allocatable memory decreases by about 5MB, games with large content aren't playable due to insufficient memory, but since it's protected from freezing, when using the TIFF loader, please make sure to add the above settings to loader099.cfg.

On the other hand, just as it's been up until now, the GTA loader has slightly less memory available than FW1.5 but it should run with no problems. With the settings above the memory will only decrease and is unnecessary.

b8a
October 27th, 2006, 08:43
************************************************** *********************
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

b8a
October 27th, 2006, 08:45
************************************************** *********************
ROOT -> src -> cps1 -> cps1.c
************************************************** *********************
line 5: CPS1 Emulation Core
line 13: Local Functions
line 17: Initialize CPS1 Emulation
line 29: Reset CPS1 Emulation
line 48: End CPS1 Emulation
line 71: Execute CPS1 Emulation
line 104: Global Functions
line 108: CPS1 Emulation Main


************************************************** *********************
ROOT -> src -> cps1 -> cps1.h
************************************************** *********************
line 5: CPS1 Emulation Core


************************************************** *********************
ROOT -> src -> cps1 -> dipsw.c
************************************************** *********************
line 5: CPS1 DIP Switch Settings
line 39: Common (bit)
line 67: Common (Coin type 1)
line 147: Common (Coin type 2)
line 227: Common (Cabinet)
line 260: Common (Difficulty)


************************************************** *********************
ROOT -> src -> cps1 -> dipsw.h
************************************************** *********************
line 5: CPS1 DIP Switch Settings


************************************************** *********************
ROOT -> src -> cps1 -> driver.c
************************************************** *********************
line 5: CPS1 Driver
line 13: Global Structs
line 221: Local Variables
line 231: Local Functions
line 235: Switch Z80 ROM Bank
line 249: Callback Functions
line 253: M68000 Interrupt
line 269: Memory Handler
line 273: Coin Control
line 309: Read DIP Switch
line 329: Read Input Port
line 354: Dial Input for Lost World
line 552: Decrypt Pang!3 (Japan) ROM Encryption
line 579: Driver Interface
line 632: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> driver.h
************************************************** *********************
line 5: CPS1 Driver


************************************************** *********************
ROOT -> src -> cps1 -> eeprom.c
************************************************** *********************
line 321: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> eeprom.h
************************************************** *********************
line 5: EEPROM Interface Functions


************************************************** *********************
ROOT -> src -> cps1 -> inptport.c
************************************************** *********************
line 5: CPS1 Input Port Emulation
line 13: Global Variables
line 28: Local Variables
line 52: Local Functions
line 56: Update Auto Fire Flag
line 97: CPS1 Port 0 (START/COIN)
line 196: CPS1 Port 1 (Controller 1/2)
line 359: CPS1 Port 2 (Controller 3/Additional Buttons)
line 411: CPS1 Port 3 (Controller 4)
line 441: forgottn Analog Input Port
line 482: Adjust Input Buttons According to Screen Direction
line 554: Input Port Interface Functions
line 558: Initialize Input Port
line 636: Shutdown Input Port
line 645: Reset Input Port
line 659: Set Auto Fire Flag
line 678: Update Input Port
line 732: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> inptport.h
************************************************** *********************
line 5: CPS1 Input Port Emulation
line 60: Fixed 2P 2 Shooter (No Need To Check)
line 61: 2P 1 Shooter
line 62: 2P 2 Shooter
line 63: 3P 1 Shooter
line 64: 3P 2 Shooter
line 65: 3P 3 Shooter
line 66: 4P 1 Shooter
line 67: 4P 2 Shooter
line 68: 4P 4 Shooter


************************************************** *********************
ROOT -> src -> cps1 -> memintrf.c
************************************************** *********************
line 5: CPS1 Memory Interface Functions
line 39: Global Structs/Variables
line 65: Local Structs/Variables
line 83: Prototype
line 97: Display Error Message
line 101: Display Memory Allocation Error Message
line 115: Display ROM File Error Message
line 129: Load ROM
line 299: Analyze ROM Information In Database
line 517: Memory Interface Functions
line 521: Initialize Memory Interface
line 651: Shutdown Memory Interface
line 666: M68000 Memory Read/Write Functions
line 670: M68000 Memory Read (byte)
line 755: M68000 Read Memory (word)
line 834: M68000 Write Memory (byte)
line 902: M68000 Write Memory (word)
line 967: Z80 Memory Read/Write Functions
line 971: Z80 Read Memory (byte - YM2151 + OKIM6295)
line 995: Z80 Write Memory (byte - YM2151 + OKIM6295)
line1019: Z80 Read Memory (byte - QSOUND)
line1048: Z80 Write Memory (byte - QSOUND)
line1079: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> memintrf.h
************************************************** *********************
line 5: CPS1 Memory Interface Functions


************************************************** *********************
ROOT -> src -> cps1 -> sprite.c
************************************************** *********************
line 5: CPS1 Sprite Manager
line 15: Constants/Macros, etc
line 31: Local Variables/Structs
line 49: 1 dot above and below is left open in order to prevent interference with other frames.
line 50: (When textures are enlarged, a circumference of 1 dot is also affected)
line 51: Also, since 272 is somewhat of an odd number, textures often get blurred.
line 76: The palette has numbers 0 through 255, with each having 16 colors.
line 77: If the palette is updated, it's also necessary to re-record the textures.
line 84: OBJECT: Characters, etc
line 87: palette: Use Numbers 0-31
line 112: SCROLL1: Scroll Screen 1 (Text, etc)
line 115: palette: Use Numbers 32-63
line 140: SCROLL2: Scroll Screen 2
line 143: palette: Use Numbers 64-95
line 168: SCROLL3: Scroll Screen 3
line 171: palette: Use Numbers 96-127
line 196: SCROLLH: Scroll Screen (High Priority)
line 199: palette: Use Numbers 32-127
line 233: OBJECT Sprite Management
line 237: Resets OBJECT Texture
line 258: Acquire Sprite Number From OBJECT texture
line 279: Register Sprite With OBJECT Texture
line 314: Delete Spite From OBJECT Texture After A Specified Amount Of Time Has Passed
line 359: Delete Sprite Who's Palette Has Changed From OBJECT Texture
line 411: SCROLL1 Sprite Management
line 415: Resets SCROLL1 Texture
line 436: Acquire Sprite Number From SCROLL1 Texture
line 457: Register Sprite With SCROLL1 Texture
line 492: Delete Spite From SCROLL1 Texture After A Specified Amount Of Time Has Passed
line 537: Delete Sprite Who's Palette Has Changed From SCROLL1 Texture
line 626: SCROLL2 Sprite Management
line 630: Resets SCROLL2 Texture
line 651: Acquire Sprite Number From SCROLL2 Texture
line 672: Register Sprite With SCROLL2 Texture
line 707: Delete Spite From SCROLL2 Texture After A Specified Amount Of Time Has Passed
line 752: Delete Sprite Who's Palette Has Changed From SCROLL2 Texture
line 841: SCROLL3 Sprite Management
line 845: Rests SCROLL3 Texture
line 866: Acquire Sprite Number From SCROLL3 Texture
line 887: Register Sprite With SCROLL3 Texture
line 922: Delete Spite From SCROLL3 Texture After A Specified Amount Of Time Has Passed
line 967: Delete Sprite Who's Palette Has Changed From SCROLL3 Texture
line1056: SCROLLH Sprite Management
line1060: Resets SCROLLH Texture
line1082: Acquire Sprite Number From SCROLLH Texture
line1103: Register Sprite With SCROLLH Texture
line1138: Delete Spite From SCROLLH Texture After A Specified Amount Of Time Has Passed
line1183: Delete The Specified Transparency Pen's Texture From SCROLLH Cache
line1228: Sprite Draw Screen Interface Functions
line1232: Immediately Clear All Sprites
line1247: Clear High Layer
line1257: Erect Palette Change Flag
line1272: Reset Sprite Processes
line1287: Separated so that there is a total of 1232 pixel
line1335: Begin Sprite Draw
line1370: Finish Sprite Draw
line1458: Update OBJECT Texture
line1482: Record OBJECT to Draw List
line1551: Finish OBJECT Draw
line1622: Update SCROLL1 Texture
line1646: Record SCROLL1 To Draw List
line1704: Finish SCROLL1 Draw
line1775: Update SCROLL1 (High Layer) Texture
line1799: Record SCROLL1 (High Layer) To Draw List
line1870: Finish SCROLL1 (High Layer) Draw
line1941: Update SCROLL2 Texture
line1965: Record SCROLL2 To Draw List
line2031: Finish SCROLL2 Draw
line2104: Update SCROLL2 (High Layer) Texture
line2128: Record SCROLL2 (High Layer) To Draw List
line2206: Finish SCROLL2 (High Layer) Draw
line2277: Update SCROLL3 Texture
line2301: Record SCROLL3 To Draw List
line2385: Finish SCROLL3 Draw
line2456: Update SCROLL3 (High Layer) Texture
line2480: Record SCROLL3 (High Layer) To Draw List
line2576: Finish SCROLL3 (High Layer) Draw


************************************************** *********************
ROOT -> src -> cps1 -> sprite.h
************************************************** *********************
line 5: CPS1 Sprite Manager


************************************************** *********************
ROOT -> src -> cps1 -> timer.c
************************************************** *********************
line 5: CPS1 Timer Manager
line 16: Macro
line 20: Acquire Amount Of Time Consumed By CPU (Unit: Micro Second)
line 28: Local Structs
line 74: Local Variables
line 89: Local Functions
line 93: Run CPU
line 109: Release CPU Spin (Trigger)
line 119: Acquire Current Time Below A Second (Unit: Micro Second)
line 134: Draw Interrupt
line 144: Sound Interrupt
line 155: Global Functions
line 159: Reset Timer
line 197: Suspend CPU
line 210: Reset CPU
line 223: Acquire State Of CPU Suspension
line 233: Turn Timer On/Off
line 246: Set Timer
line 259: When CPU is being executed, destroy remaining cycles
line 271: When CPU2, stop CPU1 and align excess cycles consumed by CPU1
line 287: Set Timer
line 298: Acquire Current Emulation Time (Unit: Seconds)
line 308: Acquire Current Frame
line 318: Update CPU
line 378: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> vidhrdw.c
************************************************** *********************
line 5: CPS1 Video Emulation
line 13: Global Variables
line 22: Local Variables
line 93: Load CPS Port
line 100: CPS1 Memory Handler
line 147: CPS1 Video Draw Processing
line 151: Create Color Table
line 200: Sprite Decode
line 435: Acquire CPS1 Base Offset
line 447: Initialize CPS1 Video
line 462: Finish CPS1 Video
line 475: Reset CPS1 Video
line 513: Palette
line 559: object Table Check
line 581: object Draw
line 641: Draw
line 653: Check In-use Sprites
line 667: Acquire Sprite Offset
line 677: Draw
line 767: Scan In-use Sprites
line 893: Acquire Sprite Offset
line 903: Draw
line1195: Check In-use Sprites
line1513: Acquire Sprite Offset
line1523: Draw
line1617: Check In-use Sprites
line1806: Screen Update Processing
line1810: Draw Layer
line1834: Update Screen
line1917: Update object RAM
line1929: State Save/Load


************************************************** *********************
ROOT -> src -> cps1 -> vidhrdw.h
************************************************** *********************
line 5: CPS1 Video Emulation

b8a
October 27th, 2006, 08:46
************************************************** *********************
ROOT -> src -> cps2 -> cps2.c
************************************************** *********************
line 5: CPS2 Emulation Core
line 13: Local Functions
line 17: Initialize CPS2 Emulation
line 29: Reset CPS2 Emulation
line 48: End CPS Emulation
line 71: Execute CPS Emulation
line 107: Global Functions
line 111: CPS2 Emulation Main


************************************************** *********************
ROOT -> src -> cps2 -> cps2.h
************************************************** *********************
line 5: CPS2 Emulation Core


************************************************** *********************
ROOT -> src -> cps2 -> driver.c
************************************************** *********************
line 5: CPS2 Driver
line 13: Global Structs
line 145: Local Variables
line 156: Local Functions
line 160: Switch Z80 ROM Bank
line 174: Callback Functions
line 178: M68000 Interrupt
line 211: Memory Handler
line 215: Read Input Port
line 399: Driver Interface
line 444: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> driver.h
************************************************** *********************
line 5: CPS2 Driver


************************************************** *********************
ROOT -> src -> cps2 -> eeprom.c
************************************************** *********************
line 321: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> eeprom.h
************************************************** *********************
line 5: EEPROM Interface Functions


************************************************** *********************
ROOT -> src -> cps2 -> inptport.c
************************************************** *********************
line 5: CPS2 Input Port Emulation
line 13: Global Variables
line 28: Local Variables
line 53: 2P 2 Shooter Fixed (No need to check)
line 55: 2P 1 Shooter
line 56: 2P 2 Shooter
line 58: 3P 1 Shooter
line 59: 3P 2 Shooter
line 60: 3P 3 Shooter
line 62: 4P 1 Shooter
line 63: 4P 2 Shooter
line 64: 4P 4 Shooter
line 69: 2P 2 Shooter Fixed (No need to check)
line 71: 2P 1 Shooter
line 72: 2P 2 Shooter
line 74: 3P 1 Shooter
line 75: 3P 2 Shooter
line 76: 3P 3 Shooter
line 78: 4P 1 Shooter
line 79: 4P 2 Shooter
line 80: 4P 4 Shooter
line 85: Local Functions
line 89: Check For EEPROM Coin Settings
line 112: Update Auto Fire Flag
line 153: CPS2 Port 0 (controller 1 / 2)
line 261: CPS2 Port 1 (Controller 3 / 4 / Additional Buttons)
line 361: CPS2 Port 2 (START / COIN)
line 725: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> inptport.h
************************************************** *********************
line 5: CPS2 Input Port Emulation
line 62: 2P 2 Shooter Fixed (No need to check)
line 63: 2P 1 Shooter
line 64: 2P 2 Shooter
line 65: 3P 1 Shooter
line 66: 3P 2 Shooter
line 67: 3P 3 Shooter
line 68: 4P 1 Shooter
line 69: 4P 2 Shooter
line 70: 4P 4 Shooter


************************************************** *********************
ROOT -> src -> cps2 -> memintrf.c
************************************************** *********************
line 5: CPS2 Main Memory Interface Functions
line 39: Global Variables
line 70: Local Structs/Variables
line 91: Display Error Message
line 95: Display Memory Allocation Error Message
line 109: Display File Open Error Message
line 123: Display ROM File Error Message
line 137: Load ROM
line 363: Analyze ROM Information In Database
line 593: Memory Interface Functions
line 597: Initialize Memory Interface
line 716: Shutdown Memory Interface
line 736: M68000 Memory Read/Write Functions
line 740: M68000 Memory Read (byte)
line 810: M68000 Read Memory (word)
line 874: M68000 Write Memory (byte)
line 948: M68000 Write Memory (word)
line1017: Z80 Memory Read/Write Functions
line1021: Z80 Read Memory (byte)
line1050: Z80 Write Memory (byte)
line1080: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> memintrf.h
************************************************** *********************
line 5: CPS2 Main Memory Interface Functions


************************************************** *********************
ROOT -> src -> cps2 -> sprite.c
************************************************** *********************
line 5: CPS2 Sprite Manager
line 13: Constants/Macros Etc
line 27: Local Variables/Structs
line 44: 1 dot above and below is left open in order to prevent interference with other frames.
line 45: (When textures are enlarged, a circumference of 1 dot is also affected)
line 46: Also, since 272 is somewhat of an odd number, textures often get blurred.
line 67: The palette has numbers 0 through 255, with each having 16 colors. If the palette is updated, it's also necessary to re-record the textures.
line 76: OBJECT: Characters, etc
line 79: palette: Use Numbers 0-31
line 103: SCROLL1: Scroll Screen 1 (Text, etc)
line 106: palette: Use Numbers 32-63
line 130: SCROLL2: Scroll Screen 2
line 133: palette: Use Numbers 64-95
line 157: SCROLL3: Scroll Screen 3
line 160: palette: Use Numbers 96-127
line 184: OBJECT Sprite Management
line 188: Resets OBJECT Texture
line 209: Acquire Sprite Number From OBJECT texture
line 231: Register Sprite With OBJECT Texture
line 266: Delete Spite From OBJECT Texture After A Specified Amount Of Time Has Passed
line 311: Delete Sprite Who's Palette Has Changed From OBJECT Texture
line 363: SCROLL1 Sprite Management
line 367: Resets SCROLL1 Texture
line 388: Acquire Sprite Number From SCROLL1 Texture
line 413: Register Sprite With SCROLL1 Texture
line 448: Delete Spite From SCROLL1 Texture After A Specified Amount Of Time Has Passed
line 493: Delete Sprite Who's Palette Has Changed From SCROLL1 Texture
line 545: SCROLL2 Sprite Management
line 549: Resets SCROLL2 Texture
line 570: Acquire Sprite Number From SCROLL2 Texture
line 595: Register Sprite With SCROLL2 Texture
line 630: Delete Spite From SCROLL2 Texture After A Specified Amount Of Time Has Passed
line 675: Delete Sprite Who's Palette Has Changed From SCROLL2 Texture
line 727: SCROLL3 Sprite Management
line 731: Resets SCROLL3 Texture
line 752: Acquire Sprite Number From SCROLL3 Texture
line 777: Register Sprite With SCROLL3 Texture
line 812: Delete Spite From SCROLL3 Texture After A Specified Amount Of Time Has Passed
line 857: Delete Sprite Who's Palette Has Changed From SCROLL3 Texture
line 909: Sprite Draw Screen Interface Functions
line 913: Immediately Clear All Sprites
line 927: Erect Palette Change Flag
line 942: Reset Sprite Processes
line 956: Separated so that there is a total of 1232 pixel
line 986: Begin Sprite Draw
line1009: Begin Updating Portion Of The Screen
line1032: Finish Sprite Draw
line1058: Update OBJECT Texture And Cache
line1083: Record OBJECT To Draw List
line1154: Finish OBJECT Draw
line1227: Update SCROLL1 Texture
line1255: Record SCROLL1 To Draw List
line1315: Finish SCROLL1 Draw
line1388: Update SCROLL2 Texture
line1416: Record SCROLL2 To Draw List
line1484: Finish SCROLL2 Draw
line1560: Update SCROLL3 Texture
line1588: Record SCROLL3 To Draw List
line1674: Finish SCROLL3 Draw
line1747: Update Memory Cache
line1762: Begin Drawing objects With Mask Processing
line1809: Finish Drawing objects With Mask Processing
line1852: Draw objects with Mask Processing
line1990: Draw The Mask For objects With Mask Processing


************************************************** *********************
ROOT -> src -> cps2 -> sprite.c
************************************************** *********************
line 5: CPS2 Sprite Manager
line 12: Flags For Mask Processing


************************************************** *********************
ROOT -> src -> cps2 -> timer.c
************************************************** *********************
line 5: Timer Management
line 16: Macro
line 20: Acquire Time Consumed By CPU (Unit: Micro Second)
line 28: Local Structs
line 74: Local Variables
line 89: Local Functions
line 93: Execute CPU
line 109: Release CPU Spin (Trigger)
line 119: Acquire Current Time Under a Second (Unit: Micro Second)
line 134: Interrupt Drawing
line 152: Interrupt Sound
line 163: Global Variables
line 167: Reset Timer
line 193: Suspend CPU
line 206: Turn Timer On/Off
line 219: Set Timer
line 232: When CPU is running, destroy remaining cycles
line 244: When CPU2, stop CPU1 and align excess cycles consumed by CPU1
line 260: Set Timer
line 271: Acquire Current Emulation Time (Unit: Seconds)
line 281: Acquire Current Frame
line 291: Update CPU
line 357: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> timer.h
************************************************** *********************
line 5: Timer Management


************************************************** *********************
ROOT -> src -> cps2 -> vidhrdw.c
************************************************** *********************
line 5: CPS2 Video Emulation
line 13: Global Variables
line 26: Local Variables
line 119: Load CPS Port
line 131: Update CPS2 SCROLL2
line 140: CPS2 Memory Handler
line 180: CPS2 Video Draw Processing
line 184: Create Color Table
line 228: Acquire CPS1 Base Offset
line 240: Update CPS1 Video Related Value
line 270: Initialize CPS2 Video
line 315: End CPS2 Video
line 324: Reset CPS2 Video
line 363: Palette
line 391: Palette (Reflects 1 frame lag for xmcota objects only)
line 445: object Table Check
line 474: Draw object
line 521: Normal Draw
line 550: Draw Mask Processing
line 605: Check In-use Sprites
line 636: Acquire Sprite Offset
line 681: Draw
line 693: Check In-use Sprites
line 710: Acquire Sprite Offset
line 720: No Raster Operation
line 759: Normal Draw
line 771: Check In-use Sprites
line 781: With (line scroll) Raster Operation
line 839: Draw Line Scroll
line 860: Check In-use Sprites
line 881: Check In-use Sprites
line 899: Other SCROLL2 Processing
line 903: Draw When Raster Effects Are Off
line 921: Draw When Raster Effects Are Off (For Fighting Games)
line 941: If the same up until some point in use, separate into 2 parts and draw
line 961: If they're all the same, or if there's a change in each line
line 972: Acquire Sprite Offset
line1034: Draw
line1046: Check In-Use Sprites
line1059: Draw Update Processing
line1063: Draw Layer
line1092: Check Mask Processing (msh)
line1127: Check Mask Processing (sfa3)
line1153: Check Mask Processing (gigawing / opening demo)
line1162: Search For object (Characters: Betting...)
line1178: Search For Mask (Medalion)
line1195: Swap Priority
line1208: Check Mask Processing (Shared)
line1270: Update Screen
line1407: Update object RAM
line1418: State Save/Load


************************************************** *********************
ROOT -> src -> cps2 -> vidhrdw.h
************************************************** *********************
line 5: CPS2 Video Emulation


************************************************** *********************
ROOT -> src -> cpu -> M68000 -> c68kmacro.h
************************************************** *********************
line 204: Macros For c68k_op


************************************************** *********************
ROOT -> src -> cpu -> M68000 -> m68000.c
************************************************** *********************
line 5: M68000 CPU Interface Functions
line 136: State Save/Load


************************************************** *********************
ROOT -> src -> cpu -> z80 -> cz80.c
************************************************** *********************
line 139: Swap With A Due To Processing Circumstance
line 140: Swap With F Due To Processing Circumstance

b8a
October 27th, 2006, 08:47
************************************************** *********************
ROOT -> src -> mvs -> biosmenu.c
************************************************** *********************
line 5: MVS BIOS Select Menu
line 13: Global Variables
line 98: Local Variables
line 110: Check For Presence Of BIOS
line 167: Global Functions
line 171: BIOS Select Menu


************************************************** *********************
ROOT -> src -> mvs -> biosmenu.h
************************************************** *********************
line 5: MVS BIOS Select Menu


************************************************** *********************
ROOT -> src -> mvs -> dipsw.c
************************************************** *********************
line 5: MVS DIP Switch Settings
line 17: Standard
line 34: Mah Jhong


************************************************** *********************
ROOT -> src -> mvs -> dipsw.h
************************************************** *********************
line 5: MVS DIP Switch Settings


************************************************** *********************
ROOT -> src -> mvs -> driver.c
************************************************** *********************
line 5: MVS Driver
line 27: Global Variables
line 39: Local Variables
line 195: uni-bios v2.0 and later request scanline allocation
line 822: Sound IRQ Handler
line 832: Protection
line 869: $200000 Memory Handler (No Protection)
line1333: Isn't actually protected, but process as though it is protected
line1363: State Save/Load


************************************************** *********************
ROOT -> src -> mvs -> driver.c
************************************************** *********************
line 5: MVS Driver


************************************************** *********************
ROOT -> src -> mvs -> inptport.c
************************************************** *********************
line 5: MVS Input Port Emulation
line 13: Global Variables
line 28: Local Variables
line 66: Check The Type Of The Input Port
line 110: Initialize Input Port
line 130: Shutdown Input Port
line 139: Reset Input Port
line 159: Update Autofire Flag
line 192: Reflect Hot Key Flag
line 226: NEOGEO Controller1
line 266: NEOGEO Controller2
line 316: NEOGEO Start Button
line 349: NEOGEO Coin/Service Switch
line 368: Wait for coin insertion
line 373: Coin insertion wait processing
line 400: NEOGEO Test Switch
line 417: irrmaze Analog Input Port
line 501: popnbounc Analog Input Port
line 574: Update Input Port
line 645: State Save/Load


************************************************** *********************
ROOT -> src -> mvs -> inptport.h
************************************************** *********************
line 5: MVS Input Port Emulation


************************************************** *********************
ROOT -> src -> mvs -> memintrf.c
************************************************** *********************
line 5: MVS Memory Interface Functions
line 49: Global Variables
line 78: Local Structs/Variables
line 111: Prototype
line 119: Display Error Message
line 123: Display Memory Allocation Error Message
line 137: Display File Open Error Message
line 151: Display ROM File Error Message
line 274: Load ROM
line 723: Analyze ROM Information In Database
line 762: Continue
line 994: Memory Interface Functions
line 998: Initialize Memory Interface
line1111: Setting For Brezzasoft - Memory Is Allocated, So Process In Advance
line1147: FIX Bank Type Setting
line1261: Shutdown Memory Interface
line1288: M68000 Memory Read/Write Functions
line1292: M68000 Memory Read (byte)
line1329: M68000 Read Memory (word)
line1363: M68000 Write Memory (byte)
line1399: M68000 Write Memory (word)
line1432: Z80 Memory Read/Write Functions
line1436: Z80 Read Memory (byte)
line1448: Z80 Write Memory (byte)
line1461: State Save/Load


************************************************** *********************
ROOT -> src -> mvs -> memintrf.h
************************************************** *********************
line 5: MVS Memory Interface Functions


************************************************** *********************
ROOT -> src -> mvs -> mvs.c
************************************************** *********************
line 5: MVS Emulation Core
line 13: Global Variables
line 21: Local Functions
line 25: Initialize MVS Emulation
line 58: Reset MVS Emulation
line 77: End MVS Emulation
line 116: Execute MVS Emulation
line 164: Global Functions
line 168: MVS Emulation Main


************************************************** *********************
ROOT -> src -> mvs -> mvs.h
************************************************** *********************
line 5: MVS Emulation Core


************************************************** *********************
ROOT -> src -> mvs -> sprite.c
************************************************** *********************
line 5: MVS Sprite Manager
line 13: Constants/Macros, etc
line 23: Local Variables/Structs
line 40: 1 dot above and below is left open in order to prevent interference with other frames.
line 41: (When textures are enlarged, a circumference of 1 dot is also affected)
line 42: Also, since 272 is somewhat of an odd number, textures often get blurred.
line 58: 1 dot above and below is left open in order to prevent interference with other frames.
line 59: (When textures are enlarged, a circumference of 1 dot is also affected)
line 60: Also, since 272 is somewhat of an odd number, textures often get blurred.
line 67: FIX: Size/Position 8 Pixel Fixed Sprite
line 70: palette: Use Numbers 0~15
line 93: SPR: Possible Size Of Sprite
line 94: Possible To Shrink, Enlarge, Reflect Each Line
line 95: Has Feature For Chain Sprite As A Special Feature And Auto Animation
line 98: palette: Uses Numbers 0~255
line 129: Manage FIS Sprite
line 133: Reset FIX Texture
line 155: Acquire Sprite Number From FIX Texture
line 176: Register Sprite With FIX Texture
line 211: Delete Sprite From FIX Texture After A Specified Amount Of Time Has Passed
line 256: Delete Sprite Who's Palette Has Changed From FIX Texture
line 308: Manage SPR Sprite
line 312: Reset SPR Texture
line 334: Acquire Sprite Number From SPR Texture
line 359: Register Sprite With SPR Texture
line 394: Delete Sprite From SPR Texture After A Specified Amount Of Time Has Passed
line 505: Delete Sprite Who's Palette Has Changed From SPR Texture
line 557: Sprite Draw Interface Functions
line 561: Immediately Clear All Sprites
line 574: Erect FIX Sprite Clear Flag
line 585: Erect SPR Sprite Clear Flag
line 596: Erect Palette Change Flag
line 609: Reset Sprite Processing
line 637: Begin Sprite Draw
line 664: Begin Updating A Portion Of The Screen
line 681: Finish Sprite Draw
line 691: Register Fix With Draw List
line 748: End FIX Draw
line 801: Register SPR With Draw List
line 887: End SPR Draw


************************************************** *********************
ROOT -> src -> mvs -> sprite.h
************************************************** *********************
line 5: MVS Sprite Manager


************************************************** *********************
ROOT -> src -> mvs -> timer.c
************************************************** *********************
line 5: Timer Management
line 7: *In order to increase the speed, I've dropped the precision and process everything with ints.
line 8: With floats/doubles, Crossed Sword's speed drops drastically.
line 9: (Due to the extremely high frequency of YM2610's allocation)
line 20: Macro
line 24: Acquire the amount of time consumed by the CPU (Unit: Micro Second)
line 32: Local Structs
line 75: Local Variables
line 91: Local Functions
line 95: Execute CPU
line 111: Release CPU Spin (Trigger)
line 121: Acquire Current Time Under A Second (Unit: Micro Seconds)
line 136: Global Functions
line 140: Reset Timer
line 164: Suspend CPU
line 177: Turn Timer On/Off
line 190: Set Timer
line 203: If CPU is running, destroy remaining cycles
line 215: If CPU2, stop CPU1 and align excess cycles consumed by CPU1
line 231: Set Timer
line 242: Acquire Current Emulation Time (Unit: Seconds)
line 252: Acquire Current Scanline
line 265: Acquire Current Frame
line 275: Update CPU
line 336: Update CPU (For Raster Driver)
line 401: Update Sub CPU Only (Used In Sound Test)
line 461: State Save/Load


************************************************** *********************
ROOT -> src -> mvs -> timer.h
************************************************** *********************
line 5: Timer Management


************************************************** *********************
ROOT -> src -> mvs -> vidhrdw.c
************************************************** *********************
line 5: MVS Video Emulation
line 13: Global Variables
line 38: Local Variables
line 55: Draw FIX Sprite
line 135: Draw SPR Sprite
line 272: MVS Video Draw Processing
line 276: Initialize Video Emulation
line 322: End Video Emulation
line 331: Reset Video Emulation
line 362: Screen Update Processing
line 366: Update Screen
line 379: Update Screen (Raster Driver)
line 404: State Save/Load


************************************************** *********************
ROOT -> src -> mvs -> zoom.c
************************************************** *********************
line 5: MVS SPR Zoom Table

b8a
October 27th, 2006, 08:47
************************************************** *********************
ROOT -> src -> psp -> config.c
************************************************** *********************
line 5: Application Settings File Management
line 61: Local Structs/Variables
line 130: Local Functions
line 134: Load CFG_BOOL Value
line 147: Load CFG_INT Value
line 161: Load CFG_PAD Value
line 179: Save CFG_BOOL Value
line 192: Save CFG_INT Value
line 209: Save CFG_PAD Value
line 227: Load Settings From .ini File
line 335: Save Settings To .ini File
line 383: Global Functions
line 387: Load Application Settings
line 425: Save Application Settings
line 439: Load Game Settings
line 488: Save Game Settings


************************************************** *********************
ROOT -> src -> psp -> config.h
************************************************** *********************
line 5: Application Settings File Management


************************************************** *********************
ROOT -> src -> psp -> filer.c
************************************************** *********************
line 5: PSP File Browser
line 19: Global Variables
line 26: Local Structs/Variables
line 53: Local Variables
line 61: Local Functions
line 65: Read zip File Name Database From zipname.dat
line 140: Free zip File Name Database
line 151: Acquire Game Title From zip File Name
line 181: Check For Existence Of Directory
line 214: Check Launch Directory
line 235: Acquire Directory
line 303: Since there are some tens of items to sort, I think a double sort would be faster.
line 361: Fix The Path String To Fit Within The Display Area
line 403: Global Functions
line 407: Check For Existence Of File
line 424: Delete Files Of The Specified Pattern
line 462: Search State Files
line 498: Display Application Exit Screen
line 514: Execute File Browser


************************************************** *********************
ROOT -> src -> psp -> filer.h
************************************************** *********************
line 5: PSP File Browser


************************************************** *********************
ROOT -> src -> psp -> help.c
************************************************** *********************
line 5: PSP Help Display Functions
line 25: Local Structs
line 164: Display Help


************************************************** *********************
ROOT -> src -> psp -> help.h
************************************************** *********************
line 5: PSP Help Display Functions


************************************************** *********************
ROOT -> src -> psp -> menu.c
************************************************** *********************
line 5: PSP Menu
line 19: Reset Emulation
line 37: Relaunch Emulation
line 54: Return To File Browser
line 66: End Emulation
line 82: Game Settings Menu
line 295: Button Settings Menu
line 604: Dip Switch Settings Menu
line 808: State Save/Load
line1241: Main Menu


************************************************** *********************
ROOT -> src -> psp -> menu.h
************************************************** *********************
line 5: PSP Menu


************************************************** *********************
ROOT -> src -> psp -> mesbox.c
************************************************** *********************
line 141: Display Message Box


************************************************** *********************
ROOT -> src -> psp -> psp.c
************************************************** *********************
line 5: PSP Main
line 22: Global Variables
line 30: Local Functions
line 68: Create Callback Thread
line 88: Set Callback Thread


************************************************** *********************
ROOT -> src -> psp -> sound.c
************************************************** *********************
line 5: PSP Sound Thread
line 14: Local Variables
line 28: Global Variables
line 35: Local Functions
line 39: Update Sound Thread
line 73: Global Functions
line 77: Initialize Sound
line 91: End Sound
line 101: Switch Sound On/Off
line 119: Set Sound Volume
line 130: Begin Sound Thread
line 174: Stop Sound Thread
line 197: Change Sound Thread Priority


************************************************** *********************
ROOT -> src -> psp -> sound.h
************************************************** *********************
line 5: PSP Sound Thread


************************************************** *********************
ROOT -> src -> psp -> ticker.c
************************************************** *********************
line 5: Time Measuring Counter Functions
line 13: Global Variables
line 20: Global Functions
line 24: Acquire RTC's Resolution
line 36: Acquire Current Counter


************************************************** *********************
ROOT -> src -> psp -> ticker.h
************************************************** *********************
line 5: Time Measuring Counter Functions


************************************************** *********************
ROOT -> src -> psp -> usrintrf.c
************************************************** *********************
line 5: PSP User Interface Draw Functions
line 14: Constants/Macros
line 45: Global Structs
line 63: Acquire Font Code
line 67: Acquire Font Code (User Interface)
line 129: Acquire Character Width
line 133: Acquire Character Width (User Interface)
line 175: Internal Font Draw Functions
line 246: Draw Font For User Interface
line 250: Draw Character (For User Interface)
line 316: Draw String
line 326: Draw String / Centering Processing
line 339: Draw Icon
line 343: Draw Icon (Small)
line 360: Draw Icon (Big)
line 377: Draw Shapes
line 381: Draw Horizontal Line
line 403: Draw Horizontal Line / With Alpha Blend
line 433: Draw Vertical Line
line 458: Draw Vertical Line / With Alpha Blend
line 490: Draw Rectangle
line 502: Fill Rectangle
line 526: Fill Rectangle / With Alpha Blend
line 565: Draw User Interface Parts
line 569: Draw Rectangle Shadow (Dialog Boxes, etc)
line 730: Draw Shadow For The Top Bar
line 750: Draw Dialog Box
line 782: Draw Scrollbar
line 830: Draw Font For Game Screen (Only 16bit color)
line 834: Create Texture
line 888: Draw String
line 947: Draw String With Format
line 964: Popup Message
line 975: Reset Popup Message
line 988: Register Popup Message
line1005: Display Popup Message
line1049: Display String With Difficulty Formatting
line1069: Initialize Message
line1087: Delete Message
line1098: Set Text Color
line1110: Display Message


************************************************** *********************
ROOT -> src -> psp -> usrintrf.h
************************************************** *********************
line 5: PSP User Interface Draw Functions
line 68: Tables etc
line 89: User Interface Color Data
line 92: Alpha Blend Processing Table
line 95: Small Font For Game Screen
line 98: Shadow Data For Dialogs etc
line 103: Manage Fonts
line 106: Proportional Font
line 113: Icon (Small)
line 116: Icon (Big)
line 121: Acquire Font Draw Width (For User Interface)
line 128: Draw Icon (For User Interface)
line 136: Draw Font (For User Interface)
line 144: Draw Shape (For User Interface)
line 164: Draw Font (For Game Screen)
line 173: Popup Message
line 185: String With Formatting


************************************************** *********************
ROOT -> src -> psp -> video.c
************************************************** *********************
line 5: PSP Video Control Functions (16 bit Color Only)
line 13: Global Variables/Structs
line 28: Local Functions
line 32: Clear VRAM
line 50: Global Functions
line 54: Wait For VSYNC
line 64: Clip Screen
line 77: Initialize Video Processing
line 133: End Video Processing
line 145: Acquire VRAM Address
line 155: Clear Draw/Display Frame
line 166: Flood Fill Specified Frame
line 182: Flood Fill Specified Rectangular Area
line 198: Copy Rectangular Area
line 263: Copy A Horizontally Reflected Rectangular Area
line 328: Copy A 270 Degree Rotated Rectangular Area
line 364: Copy A Rectangular Area With Transparent Processing


************************************************** *********************
ROOT -> src -> psp -> video.h
************************************************** *********************
line 5: PSP Video Control Functions (16 bit Color Only)


************************************************** *********************
ROOT -> src -> psp -> config -> cps.c
************************************************** *********************
line 5: Application Settings File Management (For Both CPS1/CPS2)
line 12: Version
line 32: Structs
line 612: config Structs Settings
line 702: DIP Switch Settings (CPS1 Only)


************************************************** *********************
ROOT -> src -> psp -> config -> mvs.c
************************************************** *********************
line 5: Application Settings File Management (NEOGEO)
line 12: Version
line 23: Structs
line 283: config Structs Settings


************************************************** *********************
ROOT -> src -> psp -> font -> jpnfont.c
************************************************** *********************
line 14: Functions For Japanese Fonts


************************************************** *********************
ROOT -> src -> sound -> 2610intf.c
************************************************** *********************
line 159: Due to circumstances, uses int, not float


************************************************** *********************
ROOT -> src -> sound -> okim6295.c
************************************************** *********************
line 340: State Save/Load


************************************************** *********************
ROOT -> src -> sound -> qsound.c
************************************************** *********************
line 5: CAPCOM QSound Emulator (CPS1/CPS2)
line 22: Local Variables/Structs
line 63: Local Functions
line 67: Generate Soundstream (Normal)
line 120: Generate Soundstream (Resampling Processing)
line 182: Qsound Interface Functions
line 186: Initialize QSound Interface
line 253: End QSound Interface
line 262: Reset QSound Interface
line 273: Set QSound Sample Rate
line 301: Memory Handler
line 305: Sound Status Read
line 316: Data Rate (high)
line 326: Data Rate (low)
line 336: Sound Command Write
line 415: Stream Update Callback Functions
line 484: State Save/Load


************************************************** *********************
ROOT -> src -> sound -> qsound.h
************************************************** *********************
line 5: CAPCOM QSound Emulator (CPS1/CPS2)


************************************************** *********************
ROOT -> src -> sound -> sndintrf.c
************************************************** *********************
line 5: Sound Interface
line 13: Sound Interface Functions
line 17: Initialize Sound Emulation
line 37: End Sound Emulation
line 58: Reset Sound Emulation
line 79: Mute Sound


************************************************** *********************
ROOT -> src -> sound -> sndintrf.h
************************************************** *********************
line 5: Sound Interface


************************************************** *********************
ROOT -> src -> sound -> ym2610.c
************************************************** *********************
line 12: Exclusively uses MAME's fm.c for YM-2610 1 chip

b8a
October 27th, 2006, 08:48
************************************************** *********************
ROOT -> romcnv -> makefile.cps2
************************************************** *********************
line 2: Program Settings
line 14: Executable File Extension
line 20: Directory For Object File
line 26: Target File Name
line 32: Compiler Definitions
line 48: Linker Flag
line 54: Object File/Directory Settings
line 68: Library Settings
line 90: Compile Rule Settings


************************************************** *********************
ROOT -> romcnv -> makefile.mvs
************************************************** *********************
line 2: Program Settings
line 5: Comment out this line for big endian machines
line 16: Executable File Extension
line 22: Directory For Object File
line 28: Target File Name
line 34: Compiler Definitions
line 54: Linker Flag
line 60: Object File/Directory Settings
line 75: Library Settings
line 96: Compile Rule Settings


************************************************** *********************
ROOT -> romcnv -> readme_cps2.txt
************************************************** *********************
Sprite ROM Conversion Tool ver.6 (For CPS2PSP)

It's pretty half-arsed, but this is a conversion tool.
---------------------------------------------------------------------------
When converting multiple files at once

1.Please double click romcnv_all.bat to launch it.

2.A dialog prompting you to select a folder will be displayed, so please select your ROM folder.

3.If there's a game that needs to be converted, the conversion process will start. If a file can not be located, it'll be skipped, so please wait until it's all finished.

4.A file with the name of (game name)_cache.zip will be created inside the cache folder, so please copy this to the /PSP/GAMES/cps2psp/cache directory.
Please also copy the original ROM file to /PSP/GAMES/cps2psp/roms.

5.If you launch the game, it'll probably run.
---------------------------------------------------------------------------
When converting individually

1.Please double click romcnv.exe to launch it.

2.A dialog prompting you to select a file will be displayed, so please select the the zip file of the game that you'd like to convert.

3.If it's a game that requires conversion, then the conversion process will begin.
Also, if it's a clone set, then the parent ROM set must also be in the same folder.

4.A file with the name of (game name)_cache.zip will be created inside the cache folder, so please copy this to the /PSP/GAMES/cps2psp/cache directory.
Please also copy the original ROM file to /PSP/GAMES/cps2psp/roms.

5.If you launch the game, it'll probably run.
---------------------------------------------------------------------------
If the above don't go as expected

1.Please drag and drop the zip file of the game you'd like to convert on romcnv.exe.

3.If it's a game that requires conversion, then the conversion process will begin.
Also, if it's a clone set, then the parent ROM set must also be in the same folder.

4.A file with the name of (game name)_cache.zip will be created inside the cache folder, so please copy this to the /PSP/GAMES/cps2psp/cache directory.
Please also copy the original ROM file to /PSP/GAMES/cps2psp/roms.

5.If you launch the game, it'll probably run.


************************************************** *********************
ROOT -> romcnv -> readme_mvs.txt
************************************************** *********************
Sprite ROM Conversion Tool ver.5 (For MVSPSP)

It's pretty half-arsed, but this is a conversion tool.

---------------------------------------------------------------------------
Usage

1.Please double click romcnv.exe to launch it.

2.A dialog prompting you to select a file will be displayed, so please select the the zip file of the game that you'd like to convert.

3.If it's a game that requires conversion, then the conversion process will begin.
Also, if it's a clone set, then the parent ROM set must also be in the same folder.

4.A file with the name of (game name)_cache.zip will be created inside the cache folder, so please copy this to the /PSP/GAMES/cps2psp/cache directory.
Please also copy the original ROM file to /PSP/GAMES/cps2psp/roms.

5.If you launch the game, it'll probably run.

---------------------------------------------------------------------------
If the above don't go as expected

1.Please drag and drop the zip file of the game you'd like to convert on romcnv.exe.

3.If it's a game that requires conversion, then the conversion process will begin.
Also, if it's a clone set, then the parent ROM set must also be in the same folder.

4.A file with the name of (game name)_cache.zip will be created inside the cache folder, so please copy this to the /PSP/GAMES/cps2psp/cache directory.
Please also copy the original ROM file to /PSP/GAMES/cps2psp/roms.

5.If you launch the game, it'll probably run.

---------------------------------------------------------------------------
Update History

- For MVSPSP ver.5 -
Updated to reflect the change of rominfo's formatting


************************************************** *********************
ROOT -> romcnv -> source.txt
************************************************** *********************
This uses Microsoft Visual C++ 6.0. It should probably compile with versions other than 6.0 by fixing the makefile. It would probably also require source rewrites for GCC.
(I'm sorry, but I don't use GCC for anything other than PSP application creation.)

I hadn't planned on releasing the source, so there isn't even a single comment.
I don't think a GUI is necessary so I haven't made one.
This uses GNU MAKE

It's written in a pretty tenuous manner, I don't think you'll be able to figure out what's going on, but I have no intention to spend all my time on this, so forgive me.

zip32j.dll is used for the zip compression.
Please do something about this when porting outside of Windows.

MikeDX
October 27th, 2006, 11:04
This is going to be very handy for me with my wifi mod for MVSPSP (and possibly cps1/2)

I could really do with getting in touch with NJ. There's something about an upload link on his site.. can you translate that for me please?

b8a
October 28th, 2006, 09:05
Mike: Thanks for working on the multiplayer! I don't even know anyone else with a PSP, so I would almost certainly never get to use it, but (as with many homebrew related things) it would deffinitely be cool to know that it was possible should the situation ever arise.

I don't know if you were following the front page CPS1/2 posts (http://www.dcemu.co.uk/vbulletin/showthread.php?t=35782), but NJ did give multiplayer a shot and I documented the reports from his webpage in those postings. I don't know how much use they would be to you, but in the end NJ did hit what he determined to be a brick wall with wireless multiplayer, so I thought I'd mention them in case you hadn't yet read them. To (possibly) keep you from going through the same process just to end up reaching the same conclusion.

As for the upload link that you refered to, I think this is what you were talking about, right?

************************************************** *********************
ROOT -> source.txt:
************************************************** *********************If you could please use the link bellow in the occasion that you fix any bugs or make any improvements, that would help me out a lot. I'm sorry, but please refrain from using it for requests.

http://neocdz.hp.infoseek.co.jp/cgi-bin/upload/upload.cgiIn which case, that was in the very first block of information in the very first post.

I contacted NJ a few months ago to ask him for the source code for the cache converter, and even though he denied the request (at that time), he did send me a very thorough explanation of the essential code, and he has been very cordial every time I've talked to him, so if you need to contact him I'd be glad to help. It's pretty obvious that he's had enough of the emulators situation (for the time being, anyway), so you might want to hold off contacting him until you've reached a point where you absolutely have to, but, ultimately just let me know if you need me to pass on any messages and I'd be glad to help.

kando
November 6th, 2006, 22:59
wow that must have taken some hard work, b8a....thanks a bunch ^_^

i find this very interesting....


About the handling of bootleg version games

They were tentatively supported until about beta 3, however, they have all been deleted in 1.0. Basically, other than situations where the official game doesn't run due to encryption or other issues, the emulators that I create don't support bootleg versions.
(The reason is simply that I hate bootleg versions.)
I will release the source code in a few days, so if there's a necessity, please add them yourself using MAME, etc.. as reference.

where can i find beta 3? hehehe.....