================================================================================
  Title: CVGSUtil
  Version: 0.4.4
  Copyright: (C)Dr.Hell, 2001-2002
  Web: http://members.tripod.co.jp/DrHell
================================================================================

My pen name is 'Dr.Hell' in English or 'Ɠcn' in Japanese.  I live in Nippon(true name of Japan).  I cannot write English well.  Please guess.

{͉̕ɂ܂B


Introduction
------------
CVGSUtil is an all-in-one utility for Connectix Virtual Game Station the PlayStation emulator.  And it will be useful for another PlayStation emulators.  It has several functions as follows, and most functions support drag-and-drop.


[Memory Card] section is a graphical memory card image file manager.
--------------------------------------------------------------------

1. Image files supported to read and write

    CVGS files              (*.mem)
    MemCard files           (*.mc)
    ePSXe, PSEmuPro files   (*.mcr)
    bleem! files            (*.mcd)
    MCExplorer files        (*.mci)
    Winpsm files            (*.ps)
    Memory Juggler files    (*.ps1)
    Memoritoru files        (*.psm)
    DataDeck files          (*.ddf)
    Other raw image files

2. Individual-save-data files supported to read and write

    DATEL files             (*.mcx, *.pda, etc..)
    Memoritoru files        (*.mcb)
    Memory Juggler files    (*.pss)

3. Image files supported only to read

    PSM.COM files           (*.psx)
    DataDeck files          (*.gme)
    Gif-headered CVGS files (*.mem) ... modified by ePSXe
    Other header added raw image files

4. Individual-save-data files supported only to read

    Some minor files, hard to explain

CVGSUtil deals with individual-save-data files, so I don't feel to support copying an individual-save-data between image files.  Do you copy files between floppy disks even now?  When you want to delete or save one save-data in an image file, double-click on the icon which you want to.

CVGSUtil can convert not only PSIcons but also PKIcons to bmp files.  Click [Icon] button.


[Setup Controller..] section is a controller manager.
-----------------------------------------------------
There is a local but terrible problem in CVGS.  CVGS's 'Setup Controller..' does not act on Japanese(maybe 2byte character) supported Windows.  CVGSUtil reads and writes the registry directly to setup.

Setup instruction

  1)  Click [Controller1] .. [Demo Ctrl2] button which you want to setup.
  2)  Click [Up] .. [R2] button which you want to change association.
  3)  push a key, push a button of joy device or click Magic button.
  4)  Repeat from 2) to 3).
  5)  Click [Set Registry] button.


[Games.txt] section is an editor of 'games.txt'.
------------------------------------------------
What is 'games.txt'?  It is a list of parameters to optimize the working of CVGS for some games.  It is similar to 'bleem.ini' file of bleem!.  Put it into the folder where "Connectix VGS.exe" exists.


[Action Replay] section is a cheater like PAR for PlayStation emulators.
------------------------------------------------------------------------

1.  Emulators supported

  Connectix Virtual Game Station
  ePSXe
  bleem!
.. and all emulators if you edit the APPLIST.TXT

If you want to search your own codes, try my another program 'cep'.


2.  Cheat codes supported

CVGSUtil(and cep) has two code-engines.
The standard engine supports major codes used in 'caetla', another bios for PAR, as follows.
+------------------------------------------------------------------------------+
|  3aaaaaaa 00dd     : Write simply ( 8 Bit)                                   |
|  8aaaaaaa dddd     : Write simply (16 Bit)                                   |
|  9aaaaaaa dddddddd : Write simply (32 Bit)                                   |
|  Blllaaaa dddddddd : Repeat(with 3, 8 and 9 code)                            |
|  Caaaaaaa 00dd     : Ignore one following code if not equal ( 8 Bit)         |
|  Daaaaaaa dddd     : Ignore one following code if not equal (16 Bit)         |
|  Eaaaaaaa ddddllll : Ignore several following codes if not equal (16 Bit)    |
+------------------------------------------------------------------------------+
PAR Compatible engine supports 30,80,10,11,20,21,50,D0,D1,D2,D3,E0,E1,E2,E3,C0,C2 codes.


3.  Cheat instruction

  1) Select an emulator at [Select Application] list.

When you select an emulator, 'Process Name' and 'Base Address' are determined.  But in some emulators, you have to search base address by yourself, because it is not constant.  Start emulator and game, select a way to search at [Base Address Search] list and click [Search] buttton (which were moved to [About] section).

  2) Input cheat codes where "Input Codes" is written. (or drag and drop a text file).

  3) Click [On] button to activate codes.


4.  Tips

In case of CVGS, push Alt + Tab keys to come back from FULL SCREEN MODE.

The value next to [On] button means an interval to cheat.  When the value is 50, codes act every 50 milli seconds IN IDEAL.  But it depends on application's priority or so.

CVGSUtil remember only 127 codes.  Even if you input over 128 codes, the overs do not act.

[New]
The selector located left-bottom means the priority of CVGSUtil or Process.
When you click [Check] or [Get] button, it means the priority of Process.
When you click [On] button, it means the priority of CVGSUtil.


Operating Systems Required
--------------------------
Windows 95/98/NT4/2000/XP


Update(0.4.3->0.4.4)
---------------------
[Action Replay]
Some interfaces were changed to ListBox type from SpinEdit type.
A function to change priority of an application was supported.


Update(0.4.2a->0.4.3)
---------------------
Language file "CVGSUTIL.LNG" was supported.
Open "CVGSUTIL.LNG" by text editor like notepad.exe
and translate into your native language.
(Of counrse, CVGSUtil works without this file.)
(I am looking for volunteers for translation.)


Update(0.4.2->0.4.2a)
---------------------
[Action Replay]
The way to find Process Name on NT4 was fixed.


Update(0.4.1a->0.4.2)
---------------------
[Action Replay] section can work on windows NT4 now.
But emulators which work on windows NT4 are only legacy machine emulators and base address will be different, hehehe...


Update(0.4.1->0.4.1a)
--------------------
[Memory Card]
Minor Update.
[Action Replay]
The way to search base address was changed.


Update(0.4.0->0.4.1)
--------------------
[B. A. Search] list was added (to customize the way to search base address).


Update(0.3.9a->0.4.0)
---------------------
[Memory Card]
Icon animation was supported.
[Setup Controller..]
Responce to joy device was supported(so, Joy Pad List was taken away).


Update(0.3.9->0.3.9a)
---------------------
It's a very small change.  Little worth to update.
[Action Replay]
The process list was updated like cep 0.1.6.

[Technical]
*A little bit speed up in [Memory Card]


Update(0.3.8->0.3.9)
---------------------
[Action Replay] 
The way to search base address was changed.(faster than before at least in case of bleem!)
Application List = User Editable Emulator List was supported.(Edit APPLIST.TXT and put it into CVGSUtil's folder)
Code List was supported.(Edit CODELIST.TXT & CODEINDX.TXT and put them into CVGSUtil's folder)

You can input Process Name & Base Address in CODE area.

usage)
"Title of game" | Process Name | Base Address
ex.)
"DEMO GAME" | DEMO.EXE | 05100000


Update(0.3.7c->0.3.8)
---------------------
[Action Replay] 
Another code engine and some small functions were supported.


Thanks
------
501XX san presented a corrected-colored icon, information of base address and some ideas of useful functions.
Thank you very much!






Written in Japanese..

{\LɂꍇLanguage.exeNA{I܂B

CVGSUtil  PlayStation G~[^ł Connectix Virtual Game Station ̂߂ɊJ[eBeBłA PlayStation G~[^ɂg֗ȋ@\LĂ܂B̋@\hbOhbvT|[gĂ܂B

Memory Card ^u̓[J[hC[W}l[WłB
--------------------------------------------------------
PS[J[hC[ẂAA̎ނ݂悤Ɍ܂APɊgqقȂꍇwǂłBCVGSUtil͊gqɂt@CȂǂƂs͂Ă܂BƂ̂ȂgqPS[J[hC[WłAxhbvČĂB\ǂ߂܂B
C[Wt@Ĉ݂Ȃ炸Aʂ̃Z[uf[^t@C̓ǂݏɑΉĂ邽߁AC[WԂŃZ[uf[^Rs[Ƃ͂Ƃ܂Btbs[fBXNԂŃRs[Ȃ̂ƓlłB
C[W 1 Z[uf[^A܂̓t@Cɕۑꍇɂ́Ãf[^̃ACR_uNbNAbZ[Wɏ]ĉB
܂ACVGSUtil ɂ̓ACR BMP `ŕۑ@\܂BvXeACRłȂ|PXeACRɂΉĂ܂Bv0.4.3PKMagic`FbN悤ɂ̂ŁAF邱Ƃ͂ȂȂƎv܂AMCX0, MCX1, CRD0ȊÕtH[}bgꂽꍇɑΉłȂł傤BXVtH[}bgƂ͎v܂񂪁B

gqقȂ邾Ƃ͎̂኱ꕾ邱Ƃ͏mĂ܂B
CRCƂƈႢ܂ˁBƂ͂AōoĂ邩ƂƁA
Iȃf[^ȊO̕łAǂ̂悤ɈقȂ낤Ǝpɂ͂Ȃ܂B
ɂȂƂɐl͐ė~̂łB


Setup Controller.. ^u̓Rg[}l[WłB
-----------------------------------------------------
CVGS ̓{ Windows L(炭 2 oCg Windows łN)ő̖́ACVGS t Setup Controller @\ȂƂł傤BȂL[ݒ񎩑̂̓WXgɕۑĂA𒼐ڏĂ邱ƂŔCӂ̃L[ݒ肪\łB

@

1) ύXRg[̃{^iRg[1  f2 {^j܂B
2) ֘AtύX{^܂B
3) {^]AVɊ֘AtL[WCpbh̃{^܂B
4) 2)3)JԂ܂B
5) ύXʂWXgɏނ ݒ蔽f {^܂B


Games.txt ^u games.txt GfB^łB
-----------------------------------------
games.txt Ƃ Q[ CVGS ̓@œK邽߂̐ݒlꂽeLXg`̃t@CłACVGS ƓtH_ɒuƂŋ@\܂Bbleem!  bleem!.ini t@CƓl̂̂ƍlėǂł傤B[XɏoĂQ[AConnectix mFłȂ̂[UőΏ邽߂ɑgݍ܂ꂽ̂Ƒz܂Aɂ݂͌JłBo[W 1.4.1 őgݍ܂ꂽ@\łB


Action Replay ^u PlayStation G~[^p̃vANVvCłB
-----------------------------------------------------------------------------
ΉG~[^͈ꉞACVGS, ePSXe, bleem! ƂĂ܂AvZXƃx[XAhXCӂɐݒł܂̂ŁA㋉҂Ȃ΁ASĂ Windows AvP[Vɑ΂ĉp\łBΉR[h͉pQƂĉB

@

1) [AvP[VI]XgG~[^I܂B

ʂƂ"vZX""x[XAhX"ݒ肳܂Ax[XAhXɈˑG~[^̏ꍇ͓ROɌĂKv܂BG~[^NAQ[NAQ[̎ނ[x[XAhX]XgIāA[]{^܂(Xy[X̊֌W[]ZNVɈړ܂)B

0.3.9́A
"Q[̃^Cg" | GAME.EXE | 04000000
ƂɃR[h͕ Process NameABase Adress ͂邱Ƃo܂B

2) "Input Codes"ƏꂽɃR[h͂܂(eLXgt@C̃hbv\ł)B
3) [On]{^܂B

*** G~[^N^C~O?
  Connexctix VGSePSXeȂǁAx[XAhXɈȃG~[^̏ꍇ 3)ȑOȂΉNĂ\܂B
x[XAhXϓ^Cv́AOɌs˂΂ȂȂ߁AKRI1.5)ȑOɋN邱ƂɂȂ܂B

m

CVGS IɑSʃ[h甲邽߂ɂ Alt L[ Tab L[𓯎ɉ܂B

[n]{^ׂ̗̐l̓pb`𓖂ĂC^[oŁAPʂ͐番̈błB܂ŗ_̒lłAvZX̗D揇ʂȂǂɈˑāAȂϓ邱Ƃ܂B

[V@\]
ɂZN^͗D揇ʂ\Ă܂B
[mF]A[ݒ]{^ꍇ́AvZXŎw肵vZX̗D揇ʂӖA
[n]{^ꍇ́ACVGSUtil̗D揇ʂӖ܂B
CVGSUtil̗D揇ʂƂƂ́Aꂾݒɋ߂^C~OŃpb`𓖂Ă邱Ƃł悤ɂȂ킯łA̕G~[^̓삪xȂꍇ܂B

CVGSPSG~[^ƂĂ͍Ōyʂ̕ނłAłd悤ȒXybÑ}V̏ꍇACVGS̗D揇ʂグ邱ƂŁA኱łAFPSłꍇ܂B

R[h͍ő127܂łL܂B128ȍ~͖܂B


XVe(0.4.3->0.4.4)
-----------------------
[ANVvC]
̃C^[tF[X𐔒l͕AXgɕύXB
CVGSUtilłȂAw肵vZX̗D揇ʂύXł悤ɂB
(LɔAx[XAhX͊̕S[]ZNVɈړB
gppx̏ANɍŏɖڂɓ镔Ȃ̂ŖȂ낤B)
cepƓlLanguage.exeɃR[hCfbNX쐬@\B
ƂA\[X͐擪t߂2sႤ̓ꕨłB


XVe(0.4.2a->0.4.3)
-----------------------
t@C"CVGSUTIL.LNG"T|[g܂B
PȂeLXgt@CȂ̂ŁADȂ悤ɕҏWĉB
Language.exe͊ȈՃZN^ŁAPLanguagetH_ȉ̃t@C
Rs["CVGSUTIL.LNG"ɉĂ邾łB


XVe(0.4.2->0.4.2a)
-----------------------
[Action Replay]
NT4ł̃vZX̎擾@PB
ǂ悤Ȃ̓vZXIDőցB
BASEARCH.TXTYAMENTł̒`ǉBWin2000/XPɑΉł邾낤B


XVe(0.4.1a->0.4.2)
-----------------------
[Action Replay]ZNVNT4ł\ɂB


XVe(0.4.1->0.4.1a)
-----------------------
[Memory Card]
[WO[̃C[W̒ǉłAPɃ_CAOɊgqǉłBOq̂悤ɁAPS̃[J[hC[W99%߂̓wb_{C[WAtb^ȂƂ`łAɑ啔̓wb_̂Ȃ`ŁAIɂ͓̂̂ł邱Ƃ炢͉ĂǂƎv܂B

ƌʃt@CƂMCSakura`(IMemory Juggler`)ł̕ۑǉĂ݂܂B\z郁[WO[[Uւ̑΍łAlIDATEL݊`ȊO͂ƂĂX}[gƂ͌Ȃ`ł̂ŁA߂炢܂BPCŃC[WɕҏWĂ]΍ςނƂł܂B

[Action Replay]
x[XAhX̌ɂă}XNǉ܂B
ɂPlayStationɂē{USQ[̋ʖA̒`Ō\ɂȂʁA]BASEARCH.TXTƂ͌݊ȂȂĂ܂܂B



XVe(0.4.0->0.4.1)
-----------------------
Xł...
OXgɂāA؂'|'...AXL[ԍ=$7C ɂĂ܂AႦ'|'Ƃ$8D,$7CȂ킯łāA܂ł͋؂ƌFĂ܂Bo[W'|'̑Oɉ݂邩̔ǉ܂(̕xȂ͂łÅłȂxł傤)B
łɃR[hXgɈꕔp^Cgǉ܂BPAR1.94q؂̂ŌÂ̂͌䊨فBƂ͎ۂɎgp邱ƂړIɂ̂ł͂܂Bʘ_Ƃĉp̃lCeBuXs[J̑͑ւ̓K\͂ႭA۔Xɂ܂Aւ̊ɘałB

^C}[荞݊֌W̎dlύX܂B
]̓^C}[CxgƁA[^C}[~߁AI_Ń^C}[Ďn邱ƂŃ^C}[Cxg܂Ȃ悤ɂĂłǁAO[oϐ݂āACxgɑ΂鉞IĂ̂`FbNɕύX܂B

x[XAhX̌@JX^}CYł悤ɂ܂BPlayStaionG~[^ւ̑Ή\ɂʁA]̗lɎIɌ@ςăgRgƂƂ͏oȂȂĂ܂B[About]ZNVɈӖsȓ͏ꏊĂ܂Aɂ̓x[XAhX@̃p[^i[܂BOt@CҏW΃JX^}CY\Ȃ̂Ŕ\ɂĂǂłǁAƂȂCȂAƂ[Action Replay]ZNV͔zu]TȂ̂ŁAɊԎ؂肳Ă܂B

[Setup Controller]
̓͂̔AlƂ̔rɂsĂ̂ł(ς炸j[gl͏肭oł܂)AOł͂̏l̎擾ANɂ̂ݍsĂ߁A̎Rg[ɕςȓd|Ă肵āAςȏl擾Ă܂ꍇɂ́ACVGSUtilċNȂƂ܂łBقǕׂ̊|鏈łȂ̂ŁA֘AÂύX{^ɏl擾悤ɕύX܂Bv͍ċNȂĂǂȂ܂B


XVe(0.3.9a->0.4.0)
-----------------------
[Memory Card]
ACRAj[VɑΉ܂B܂AACRo@\Ă悤ɁAf[^ƂĂ͈ȑO玝ĂłǁA^C}[荞݂𑝂₷̂ŝŁA܂Ŏ~߂Ă܂B


CVGSUtil 0.4.0ł3̃^C}[荞݂݂܂B
ڂ́A]炠Action Replay@\̂߂̊荞
ڂ́AACRAj[V̂߂̊荞
Oڂ́AjoyfoCX̏Ԍô߂̊荞
łB
ACRAj[V̂߂̊荞݂́AACR\̉̃{bNX`FbNƃIɂȂA`FbNOƃItɂȂ܂B
joyfoCX̂߂̊荞݂́A֘AtύX{^ƃIɂȂA֘AtIƃItɂȂ܂B
̃^C}[荞݂ȈԂɂ̂́A܂]܂Ԃł͂ȂƂƂĂĉB

[Setup Controller..]
҂v܂BJoyfoCXɔł悤ɂȂ܂BɂƂȂJoy PadXgp~܂B
(API̎dlƂẮÃj[gloł͂ȂłǁA肭Ȃ̂ŁAŇolj[glƌȂĂ܂BNɂ͎j[gԂɂĉB
ς炸DirectX͖gpłB)

[S]
[gfBNgł̓Xgǂݍ߂ȂAnȃoOC܂B


XVe(0.3.9->0.3.9a)
-----------------------
{ɂƂXVł̂ŖɃAbvf[gKv͂܂B
[Action Replay]
cep 0.1.6ƓlɃvZXXg̍XV܂B

[ZpIȘb]
*[Memory Card]ƂȂ͂ł(̊͂łȂł傤)B
()
 v0.3.9             v0.3.9a
 A := A mod 8;   => A := A and 7;
 A := A * $2000; => A := A shl 13;
O҂̗pĂ̂́AO҂͔ėpłAeiXyłB
0.3.8-9Ő[ȃoO̘b͕Ȃ̂ŁA҂ɕύX܂B

*ImۂC̃X^Ĉ܂܎Ă̂ł(XMac[UȂ̂C̕)ÃX^CDelphiƃoO鋰ꂪ邱Ƃŋ߂ɂȂĕ̂ŏC܂BƂ͌v0.3.9ɂămۂĂȂԂł̏ɐiނƂ͂Ȃ̂ŎۂɃoO邱Ƃ͂܂(܂ifɂ邾ʂł)B
()
// In C
if (B != NULL) free(B); // CƃG[ɂȂ܂B
// In Delphi
if B <> nil then Free(B); // ɊJĂAmۏoĂȂꍇ̓G[ɂȂ܂B

*ʂȃ[`̍폜
*cepłĂłAiKł̓CxgɊ֘Atꂽ֐̒ɓWJĂ̂Aėp֐ƂĒoƂĂœIɂ͌\Ă܂Bx͒ቺłǂ(Delphi2̓CCWJ̓T|[gĂȂ...Ǝv)B


XVe(0.3.8 -> 0.3.9)
-------------------------
[Action Replay]
cepŒǉ@\𔽉fȂ̂ŁAŐVcepgĂlACheatȂl̓Abvf[gKv͂ȂƎv܂B


ӎ
----
501XXɏCACRAx[XAhX̏ȂтɗLvȋ@\̃ACfBA𒸂܂B
䋦́AӒv܂B


Ɛӓ
------
{\tgEFA͓{ɂʗpt[EFÅTOɑ̂łB
{\tgEFAgpƂɂ萶@Ȃ镾Qɑ΂Ă⏞v܂̂ŁA̎|ꂽ̂݌gpB
lɂĔzz͎Rƒv܂AEςȂ悤肢v܂B
pړIɓ]ڂꍇ͎(Ɠcn)ɑ΂鋖KvƂ܂B̓Iɂ͓]ڐ̏pړIv邱ƂɂȂƎv܂B


A
------
DrHell@lycos.jp
