Updated on 08.16.2005


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

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

@{vO̊J͏I܂B
\[XɎꍇ́Aȉ̎ɓӂ܂悤
肢܂iӂȂꍇAĔzz͂jB

1. zz GNU-GPL ɏ]ĂB 
2. Nɕ\xbZ[W菜ȂłB
3. ROM ̃f[^ς@\ER[hǉȂŉB
4. CD-ROM^2 ̃Q[ CD-ROM ȊO̔}(HDD)s
@ R[hǉȂŉB
5. TOC f[^x[X菜ȂłB

  The development of this program is no longer continued.
If you are going to continue development or modify the source code,
please accept the following terms (please do not redistribute
if you do not):

1. Please follow the GNU-GPL for redistributions.
2. Please do not remove the warning message shown at the
   start of the program.
3. Please do not add any feature/code which modifies ROM images.
4. Please do not add any feature/code which enables the CD-ROM^2
   games to run on medias other than CD-ROM (HDD, etc).
5. Please do not remove the TOC database.

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

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

  tXN[[h x3, x4 ʂݒ肷Ƃ́A
"stretched" IvV ON ɂĂB
  Enable "stretched" option when selecting fullscreen mode
of x3 or x4 magnifications.

  x2 ʈȏ̃tXN[[h{n[hEFAANZ[V
̉fiǂ̂Ŏgl͎Ă݂ĂB
  I improved the quality of fullscreen+hardware accelerated
screen modes of x2 or larger magnifications, so if your PC is
capable of using it, please give it a try.

  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.

  ȑÕo[Wō쐬ԃt@CуvCL^t@C
{o[Wł͎g܂B[hȂłB
  State files and record files created on the previous
versions can't be used with the latest version.
Please do not load them.
----


 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/2000/XP
DirectX 5 runtime library (5 or later is required)
Pentium 3 1GHz or the successors (MMX instruction set is required)
256MB of memory
SoundBlaster Live! Series (a sound card is required)
A game pad having 4 buttons or more (required)
A keyboard (required)


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
  This program does not use the registry.
  Please just 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
titles indicate 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[
s~ԂɂȂAj[o[\܂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 will stop the program to run,
and will display the menubar.


  ̑s̓:
  
F1  --- botZbg
F2  --- s^~
F4  --- p[V[h(q)
F5  --- Ԃۑ
F6  --- vCL^Jn^I (QԂ܂)
F7  --- Ԃ𕜋A
F8  --- vCL^Đ^I (QԂ܂)
F12 --- tXN[^EChE[hؑ
SPACE - t@CI_CAO\
Alt --- j[ANeBuɂ

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

  Q[ŕۑԃt@C̓R[hʂ̃Q[
AEĐȂłB


  Other input while running:

F1  --- reset the CPU
F2  --- run/stop
F4  --- partial memory load (see below)
F5  --- save state to file
F6  --- start/end recording game play (up to 2 hours)
F7  --- load state from file
F8  --- start/end playback game play (up to 2 hours)
F12 --- switch fullscreen / windowed mode
SPACE - show file dialog
Alt --- activate menu

  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 will malfunction if you put space at 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 images.
  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://necstasy.emunova.net/



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


 TIPS

@{vO 15/16bpp œ삵܂B
EChE[hł́Aʂ̐F "High Color 16-bit"
ɐݒ肷ƍłɓ삵܂B

  This program works under 15/16bpp color modes.
For windowed modes, set colors to "High Color 16-bit"
for the best performance.

  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 the 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.


@{vO PSG ̎w{߁A

(1) CPU Zbg
(2) ^Cgo[NbN
(3) n[hfBXNɃANZX

ȂǂăvO̎sWƁAb̊
PSG ̉Ȃ܂B

  Due to my poor PSG implementation, doing
the following will deteriorate the PSG sound
quality for several seconds:

(1) reset the CPU
(2) click on the title bar
(3) read/write hard disc drive


 History


2005.08.16 (final bug-fix):

    - Fixed some bugs upon using it
	- Fixed some CPU bugs (found by accident)
    - Updated the TOC database


2005.07.03 (final):

    - Fixed a problem of consuming 100% of CPU time
      while emulation is stopped
    - Fixed a bug in "Partial Memory Load" feature
    - Fixed a bug in timer
    - Fixed some bugs regarding to the record/playback feature
    - Added a menu bar
    - Added audio settings to the menu
    - Added input settings to the menu
    - Added screen settings to the menu
    - Added a device compatible with "Memory Base 128"
    - Added mouse (still buggy)
    - Added multi-tap
    - Optimized the ADPCM decoder
    - PSG playback is now 8x oversampled
    - Updated the TOC database


2005.05.01:
    - Fixed an APU bug which generated indefinite
      instantaneous noise on initialization
    - Fixed a PSG bug (frq)
    - Fixed an IntCtrl bug ($1402W)
    - Fixed some CPU bugs (TIRQ, RTI->SEI)
    - Fixed an AC register bug ($1Ax6)
    - Fixed a bug in CD-DA fadeout
    - Fixed a bug in "Advance 1 frame" feature
    - Implemented the CPU delay during VRAM -> SPRAM DMA
    - Improved the hardware-accelerated fullscreen modes (>=2x)
    - Added x3 and x4 screen modes
    - updated the simple configurator (pc2ecfg.exe)

2005.04.09:
    - Implemented LFO (untested)
    - Added a simple menu (right-click)
    - Revised CD-ROM driver
    - Revised the CD-ROM^2 system emulation
    - Fixed a bug in thread synchronization code
    - Fixed some potential bugs which could cause the program
      fail to start
    - Fixed a bug which caused input problem on some games
    - Fixed a problem that the window was "always on top"
      after returning from fullscreen modes
    - Fixed a bug in VCE
    - Added grayscale color mode
    - Updated the TOC database

2005.02.07:
    - Implemented ADPCM fadeout
    - Improved reliability of CDDA playback
    - Improved "seek track" operation
    - Fixed a bug in ADPCM DMA trigger
    - Fixed a bug in VDC
    - Fixed a bug in "stretched" screen mode
    - Restored the "READ Q SUB-CHANNEL" operation
      with some improvement

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 improvement
    - 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

