Updated on 01.23.2005


͂߂ɂǂ݂B
Please read this file first.

ǂ݂ɂĂ݂܂DDD m(_ _)m
I'm sorry for this file being so hard to read...


Correction of my English would be greatly appreciated.


---- [Important Note] ----

  "pc2ecfg.exe" _uNbNƁA"PC2E.DAT" ̐ݒ
ύX邱Ƃł܂B
  By double-clicking on the "pc2ecfg.exe", you can configure
settings in "PC2E.DAT".


  Vo[W pc2e.exe  pc2ecfg.exe ɁAÂo[W
RtBOt@C(PC2E.DAT)ǂݍ܂Ȃ悤肢܂B
pc2e.exe ̓삪Ȃ邱Ƃ܂B
  Please do not let newer release of pc2e.exe or pc2ecfg.exe
to read older version of configuration file (PC2E.DAT),
as this may cause pc2e.exe to malfunction.


@sʂɂẮAؐӔC𕉂܂B
  The author is not responsible for any damage
resulting from execution of this program.

----


 PREFACE

@PCGW+CD-ROM^2 G~[^łB
C/ASM ŏĂ܂B
Win32  GCC (MinGW)ŃRpCĂ܂B
{vO̓x[^łłB
Ĕzz GNU-GPL ɏ]ĂB

  This program is a PC Engine + CD-ROM^2 system emulator
written in C/ASM, compiled with Win32 (MinGW) build of GCC.
This program is a beta version.
Please follow the GNU-GPL for redistribution.


 (Recommended Environment)

Windows98/Me + DirectX 5 runtime library
Pentium 3 1GHz or the successors (MMX instruction set is required)
256MB of memory
SoundBlaster Live! Series
A game pad having 4 buttons or more


CXg[ (Install)

  A[JCuWJADȏꏊɈړĂB
  Please extract the archive and move to a place you like.


ACXg[ (Uninstall)

  WXg͎gpĂ܂B
CXg[t@Ĉ܂܍폜ĂB
  The registry is not used.
  Please delete the files you have installed.


N (Invoke)

@ŃAst@C̃ACR_uNbN邩A
̓R}hvvg
  To invoke, you can either double click on the exe's icon,
or type one of the following from the command prompt:

pc2e                                    (File Dialog \)
pc2e file.rom                           (HuCard/BIOS N)
pc2e "filename containing spaces .rom"  (HuCard/BIOS N)

̂ꂩ͂܂Bt@C͗łB
wb_[t ROM C[W͓܂B

File names above are examples.
ROM images with header are not accepted.

@CD-ROM^2 ɁAst@C
TOC  CD  TOC ̏ƍsȂ܂B
TOC 񂪈vƁA^Cg\܂B
^Cg̍Ōɂ [!] ́A_ TOC 
ԈႢ̂ȂƂmFłĂ邱Ƃ}[NłB
TOC 񂪈vȂ CD ͋N܂B

  On initialization of CD-ROM^2, the program verifies
CD's TOC data with its internal TOC database.
If they match, game title is shown in the
console window.  The "[!]" mark at the end of game
title indicates that the TOC information is
confirmed to be correct.  The program will refuse
to boot CD-ROM games if the TOC doesn't match.


s̑ (Operations during execution)

@s̓Q[pbh̓͂t܂B
{^Pƃ{^Qh{^Ƃhh{^ŁA
RƂS SELECT  RUN łBsɂdrbL[
I܂B

  While running, only game pad is accepted as input.
button 1 and button 2 are "I" and "II" buttons,
and 3 and 4 are "SELECT" and "RUN".
ESC key on the keyboard exits from the program.


  ̑s̃L[{[h:
  
ʂNbN --- ʃ[hύX(Tp^[j
F1  --- botZbg
F4  --- p[V[h(q)
F5  --- Ԃۑ
F6  --- vCL^Jn^I (PԂ܂)
F7  --- Ԃ𕜋A
F8  --- vCL^Đ^I (PԂ܂)
F12 --- tXN[^EChE[hؑ
6   --- 6 {^pbh^2 {^pbh
space - VɊJt@C̑I

  F5, F6, F7, F8 L[́Abcf[^ǂݏo
gȂłB

  Q[ŕۑԃt@C̓R[hʂ̃Q[
AEĐȂł(悭ȂƂN܂)B


  Other keyboard input while running:

left-click on the screen --- change screen mode (5 patterns)
F1  --- resets the CPU
F4  --- partial memory load (see below)
F5  --- save state to file
F6  --- start/end recording game play (up to 1-hour)
F7  --- load state from file
F8  --- start/end playback game play (up to 1-hour)
F12 --- switch fullscreen / windowed mode
6   --- 6-button pad / 2-button pad
space - select new file to open

  Don't use F5, F6, F7, and F8 keys while the program
is reading data from CD.


p[V[h (Partial Memory Load)

  ɃfobOpłA܂g cheat Ƃ
@\܂BtH[}bǵAsƂ

  This feature is mainly for debug purpose, but
can be used as cheat as well.  The format of
each line is

MEMORYTYPE OFFSET DATA

Lq܂Bŝ͂߂ɃXy[Xƌ듮삵܂B

The program won't read values correctly if you put space
in the first column.


MEMORYTYPE ɂ͎̂Rwł܂B
Three types of MEMORYTYPE can be specified: 

MAINRAM   --- CPU main RAM           (  0000 -   1FFF)
BUFFERRAM --- CD-ROM^2 buffer RAM    ( 00000 -  3FFFF)
ARCADERAM --- Arcade Card buffer RAM (000000 - 1FFFFF)

) Cq`l $13FF  $7F [h܂B
ex) Load $7F at offset $13FF of the main RAM.

MAINRAM 13FF 7F

Q[t@C Game.pce ƂƁAF4 L[
ƂɂA Game.pce_PM.TXT 烍[h悤Ƃ܂B

If the game file name is Game.pce, the program attempts
to load from Game.pce_PM.TXT when F4 key is pressed.


 o[W̒ӓ_ (Notes on the current version)

  ȉ̓͂ȂłB
  Please don't do the following operations:

    - bcf[^ǂݏoĂԂ͏ԕۑ(F5)^A@\(F7)
      gpȂłBbcyĐ̓V[N΂njȂ͂łB
      Don't save(F5)/load(F7) state while the program is reading data
      from CD.  It should be OK while playing CD-DA, except for during
      seek time.

    - bcf[^ǂݏoĂԂ̓R[h(F6)^vCobN(F8)
      @\gpȂłB
      Don't record(F6)/playback(F8) while the program is reading data
      from CD.  

    o[Wł́AR[h(F6)^vCobN(F8)Ԃ͍őPԂłB
    record(F6)/playback(F8) time is limited to 1-hour in the current version.

    o[Wŕۑԕۑt@CуR[ht@ĆA
  o[Wł͎gȂȂĂ\łB
    It is very likely that state files and record files created on the
  current version will not work on the next version.

    CD-ROM hCũANZX^C~O̓s CD-ROM^2 ̃Q[
  R[hĂAvCobNłȂƎv܂B
    Due to CD-ROM drive's access timing, CD-ROM^2 games will not be able
  to playback recorded game play.


҂̂肢

  {G~[^𗘗pꍇ́Aȉ̍ڂɓӂĂ܂B

  1. ̃vO𒘍쌠̂ ROM C[WƂƂ
     zz邱Ƃւ܂B

  2. ̃vO@ɓ肵 ROM C[Wŗp
     邱Ƃւ܂Bŋzo ROM C[W
     ł݂̂̃vO𗘗pĂB

  @ɓ\ ROM C[W̑̓wb_񂪕t
Ă邽߁A{G~[^̓wb_񂪕tĂ
C[Wł͓삵܂B

  {G~[^JnƁAȉ̃bZ[W\܂B
éAL̂PтQƓłB

  Before using this program, please accept the following terms:

  1. This program must not be distributed with any copyrighted ROM images.

  2. This program must not be used with illegally obtained ROM images.
     Use this program only with ROM images dumped by yourself.

  Lڂ́u͂v{^NbNĂB
Ȃ́uv{^NbNĂB
(Ȃ͂̃vOsȂł)

@G~[^@IɗVԂ߂ɁA

G~[gXe[VF http://www.emusta.net/

ł ROM C[Wŋzow͂Ă܂B
G~[^@IɎgȊOɂ exe t@C
zzȂƂ̂҂̖{łB

  Please stop illegal actions regarding to ROM image.
  There is a website that make effort to dump ROM images
themselves:

http://www.emusta.net/  (the page is written in Japanese)

The bottom line is that I don't want to release
the exe file to those who don't use it right.


ӎ (Credits)

  ̏Ɋӂ܂B

bero

  FPCE ̃\[XR[hQlɂĂ܂B
  I referred to the source code of FPCE.

hmmx

  xpce ̃\[XR[hQlɂĂ܂B
  I referred to the source code of xpce.

David Shadoff

  tgsim ̃\[XR[hQlɂĂ܂B
  "TURBO ROM" J[h ADPCM fR[_񋟂Ă܂B
  For the source code of tgsim, offering me the "TURBO ROM" card,
  and ADPCM decoder.

Charles MacDonald

  tgemu ̃\[XR[hQlɂĂ܂B
  pcetech.txt  sgxtech.txt łbɂȂ܂B
  For the source code of tgemu, pcetech.txt, and sgxtech.txt.

David Michel

  Magic Kit 𗘗pĂĂ܂B
  For the Magic Kit.

nyef

  darcnes ̃\[XR[hQlɂĂ܂B
  For the source code of darcnes.

zeograd

  hu-go! ̃\[XR[hQlɂĂ܂B
  For the source code of hu-go!.

Squaresoft74

  Windows XP ł̏ڍׂȃoO񍐂Ă܂B
  TOC f[^x[X񋟂Ă܂B
  For detailed reports of pc2e behaviour under the Windows XP.
  And for providing me the TOC database.

   --> TOC f[^x[X̊ɂ͊肢܂B
   --> Please help complete the TOC database.
   --> http://pce-toc-db.no-ip.com/



  ͂̎ DirectInput Ă܂B
  SPTI ̃R[h񋟂Ă܂B
  For implementing the input interface with DirectInput.
  For providing SPTI code.


 TIPS

  Windows Me ɂăQ[Ƀn[hfBXŇ
ANZXAQ[̐isɎxꍇ́A
X^[gݒ聨Rg[pl^XNڍאݒ聨
^XNXPW[̒~
sȂƉł邩܂B

  If you suffer from severe hard disk access during
game play under Windows Me, the following operation
may solve the problem:

Start --> Settings --> Control Panel --> Scheduled Tasks
--> Advanced --> Stop Using Task Scheduler


@Q[AADPCM ̘AĐsȂƁAPC2E 
CD ɃANZXȂ ADPCM Đ邱ƂɂȂ܂B 
̂ƂAĂ CD-ROM hCuł́AhCu
obt@Ƀf[^ǂ݂AĐJnサ΂炭
̃obt@f[^o͂悤łB
̏ԂxƁACD Xs_EĂ܂
(]~܂Ă܂)ꍇ܂B

@obt@̃f[^ȂȂƁACD f[^ǂނƂ
Ȃ܂ÂƂ CD Xs_EĂƁAĂ
XsAbv邽߂ɁAɎԂĂ܂܂B

@̌ʁAADPCM Đ̂߂̃f[^Ԃɍ킸A
Đr؂Ă܂Ar₦Ă܂肵܂B
΍ƂẮACD-ROM hCúuXs_Eԁv
@܂B PC2E sȂƁAD݂
̖肪oĂƎv܂̂ŁAƂ肠
"CD-ROM Tool" Ȃǂ̃t[̃c[𗘗pĂB
uXs_Eԁv 8 ` 16 xɂĂΉK
Vׂ̂ł͂ȂƎv܂B܂ACD ANZX̉]
ꍇ͓c[ 8 {xɐݒ肷Ɨǂ悤łB
ȂAc[ŕύXݒ̓Rs[^ċN
hCũftHglɃZbg͂łB

  If streaming ADPCM playback doesn't work on your CD-ROM
drive due to "spin-down" of disc during playback,
try a free tool such as "CD-ROM Tool" and change the
"spin-down time" to several minutes (8 or 16 minutes are
recommended).  You can also change your drive speed if
it spins too fast.  The 8x drive speed seems to work
without any problem. These modifications on your drive
should be reset to the default values after restarting
your PC.



 History

2005.01.23:
    - Improved the mixer device handling - mixer volumes are now
      configurable with pc2ecfg.exe
    - Supported pause/resume operation on CDDA playback
    - Fixed some bugs regarding to the 6-button pad
    - Fixed a bug in PSG master volume attenuation
    - Restored the "stretched" screen mode with some improvements
    - Restored the hardware-accelerated fullscreen mode
    - Added an option "Use Hardware Acceleration"
    - Added an option "Sync to 60Hz fullscreen"
    - "READ Q SUB-CHANNEL" operation is temporarily disabled
      for performance
    - Updated the simple configurator (pc2ecfg.exe)
    - Updated the TOC database

2005.01.09:
    - Supported 6-button pad (press '6' key to enable/disable)
    - Supported SPTI for CD-ROM access (code provided by Sugi)
    - Fixed some bugs in CPU
    - Improved CD read operation
    - Minor corrections in VDC
    - Updated the TOC database

2004.12.26:
    - Fixed a bug which often corrupted the backup RAM
    - Fixed a bug in the input code
    - Fixed a bug in the configurator (pc2ecfg.exe)
    - Fixed the VDC read operation
    - "pc2esgfx.exe" is not included on this release
    - Updated the TOC database

2004.12.20:
    - The input functions are now implemented using DirectInput
      (by courtesy of Sugi)
    - Implemented "READ Q SUB-CHANNEL" operation to some extent
    - Revised implementation of VDC
    - Revised windowed screen modes
    - Improved compatibility
    - The "stretched" screen mode is disabled on this release
    - Stopped running the emulator on a different thread
    - Updated the simple configurator (pc2ecfg.exe)
    - Updated the TOC database

2004.09.11:
    - Fixed a bug in 200% stretch code
    - Fixed input detection code (joystick)
    - Fixed behaviour of VDC status flags
    - Fixed timer interrupt code
    - Fixed initial state of VDC
    - Fixed a bug that it did not respond to joystick input
      after drag & drop
    - Added preliminary support for the SuperGrafx (pc2esgfx.exe)

2004.08.28:
    - Changed the "windowed + stretched" screen mode to older version
    - 200% stretch code is now optimized using MMX instructions
    - Updated the TOC database

2004.08.15:
    - Fixed a major bug that it did not respond to any
      keyboard input in fullscreen mode on Windows2000/XP
    - Improved CD play command
    - Improved implementation for joystick input
    - Speeded up things
    - Changed implementation of "stretched" screen modes
      ("stretched" fullscreen mode now attempt to use
       hardware acceleration)
    - Made a simple configuration program (pc2ecfg.exe)
    - Updated the TOC database

2004.07.19:
    - Fixed some minor bugs
    - Some inner loops are optimized with MMX inline assembly
    - Updated the TOC database

2004.07.16:
    - Fixed a serious bug which could lead to indefinite result

2004.07.11:
    - Fixed some VDC timings
    - Added preliminary sprite collision detection (not tested)
    - Added some more code to Arcade Card emulation
    - Added another screen mode
    - Added "partial memory load" feature
    - Updated the TOC Database
    - CPU reset (F1) now resets the APU as well

2004.07.04:
    - Fixed a CD detection bug
    - Fixed a bug that the state/record file name isn't
      updated when a new game is loaded by drag & drop
    - Fixed a bug in BIOS version detection code
    - Fullscreen mode bug maybe fixed
    - Added preliminary Arcade Card emulation
      (the code is taken from hu-go!)
    - Updated the TOC Database

2004.06.27:
    - (Probably) supported hi-resolution screen mode
      (works OK on the "HiRes Slideshow" demo by Chris Covell)
    - Improved PSG sound (some bugs left)
    - Changed BRAM file name from "bram.bin" to "BRAM.DAT"

2004.06.20: (not released)
    - Improved emulation of VDC registers $0C, $0D, and $0E
    - Changed VRAM-SATB DMA timing
    - VRAM-SATB DMA taking extra CPU cycles is disabled on this version
    - Pressing F5/F7 will save/load state of emulation
      (mainly for debug purpose)
    - Pressing F6/F8 will record/playback game play
    - File names containing space(s) can be specified using ""
    - Rewritten the input code

2004.06.13: (not released)
    - CPU cycles per scanline is set back to 455
      (as the number of scanlines per frame seems to be 262)
    - Main function now runs on a different thread
    - Some configurations are now saved/restored

2004.06.06:
    - Fixed a bug that the VDC did not end display on the
      display-end line under a certain condition
    - Fixed VDC timing to 453 CPU cycles per scanline
    - Implemented as the VRAM-SATB DMA takes 1024 CPU cycles
    - Interrupt timing may be better (but far from perfect)
    - Now the initial "overscan" colour is set to white
    - Updated the TOC database for detecting proper CD
    - Changed the CD detection to solely rely on the TOC
      database

2004.05.30:
    - Improved VDC emulation
    - Fixed fullscreen/window switching bug
    - Implemented ADPCM streaming playback
    - Track #2 data file is not supported anymore
    - Added TOC database for detecting proper CD
    - Improved CD repeat play
    - Implemented "overscan" colour

2004.05.17:
    - fixed CD-ROM^2 CD detection bug
    - more precise timer emulation
    - fixed a bug in HuC6280 interrupt code

2004.05.15:
    - Added a message box at the beginning
    - ROM images containing header don't work anymore
    - Preliminary ADPCM support (streaming playback is not supported)
    - Now it tries to find CD-ROM^2 CD in CD-ROM drive(s)
    - Now it shows file dialog when no game is specified
    - Supported drag & drop (windowed mode)
    - F12 toggles fullscreen/window

2004.05.05:
    - 
    - ʃ[hǉ(NCAgGANbN)
    - `oOC
    - CD-ROM^2 P(bctF[_[)
    - ASPI ܂̃oOC (Windows NT/2000/XP)

2004.04.27:
    - TEh([mCYAڂc^`[hA)
    - ʕ`oO
    - VDC oO(X^JE^ƃXvCg)
    - EChENbNƉʃTCYύX(łxȂ)

----
Author : Ki
WebPage: http://www.geocities.jp/team_zero_three/
Email  : stonefield_k@hotmail.com

