------------------------------------------------------------------------
 CD_TOOLS
------------------------------------------------------------------------

- ADDSBI.EXE

[What?] sbit@Csubt@Cɓ
[How?] gqȊOt@Csbit@Csubt@CpӂAsbit@Csubt@Chbv

- CCD2CUE.EXE

[What?] ccdt@Ccuet@Cɕϊ
[How?] ccdt@Chbv

- CCDDAP.EXE

[What?] ccd`CD-DÄt
[How?] ccdt@Chbv

- CCDDAR.EXE

[What?] ccd`CD-DÄ𒊏o
[How?] ccdt@Chbv

- CCDPACK.EXE

[What?] ccd`pbNEApbN
[How?] ccdt@Cpcct@Chbv

f[^ZN^vZŋ߂镔ȗA
ZN^k₷悤ɕό`A
ɂ܂Ƃ߂lzma.exeɈkĂ炤B𓀂͋t菇ŁB

CCDPACK.EXEړƂlzma.exeꏏɈړ邱ƁB

- CCDRIP.EXE

[What?] ccd`ŃbsO
[How?] Drive Letter͂Whole{^NbN

ASPI̓T|[gĂȂ̂ŁA9xn̐l͈XEBRA@\gp̂ƁB
Compare̓͂A2Aňv܂ł̌JԂ񐔂ŁA
0̏ꍇ͔r̂̂sȂB
񐔂ɓBĂvȂꍇAMessagẽ`FbNȂ΃XLbvB
`FbN΁AēxJԂsxIłB
Sub-channel̃`FbNꍇArΏۂɃTu`l܂ނA
Tu`l̃G[ϐƁA2AŊԈlɂȂ邱Ƃ̂
Cx߂ɂȂȂƎvB
Part{^NbNꍇAStartStop܂ł̎w͈͂bsOB

- CUE2CCD.EXE

[What?] cue`ccd`ɕϊ
[How?] cuet@Chbv

MCN,ISRĆAƒfŁALBA=1045ZN^ɔzu

- IMGCRC.EXE

[What?] imgt@C()̃nbVl(CRC32)vZ
[How?] imgt@C()hbv
[l] CD-DÄ̍ŏƍŌ̖𖳎邽߁Ȁꍇ
ItZbgɈˑȂB

- IMGMOV.EXE

[What?] imgt@C()CD-DÄړ
[How?] ړ(Tv)͂Aimgt@C()hbv
[l] ItZbg␳
[hC4ZN^E[hAEg4ZN^I[o[[h
ovrt@C΁A𔽉f

- IMGPS1.EXE

[What?] CD-DÄPS1imgt@Cړ߂
[How?] CD-DÄPS1imgt@Chbv

{PS1CD-ROM͑SăItZbg+32ō쐬ĂƎB
ȂȂAItZbg[ƁACD-DA̐擪ɁAf[^gbN̎c[Ǝv
[̃f[^AN⃁[J[Ɋ֌WȂA32TvcĂ܂炾B
hCũItZbgvŁACD-DÂPS1CD-ROM͍łyƌ悤B
AItZbg+32ƂƂ́AAccurateRipCorrection OffsetŁA-2,-3,...
ƂȂ悤ȃhCu͌vs\łB

- IMGWAV.EXE

[What?] imgt@Cwavt@C𑊌ݕϊ(RIFFwb_̒ǉƍ폜)
[How?] imgt@Cwavt@Chbv

- RECCD.EXE

[What?] imgt@Csubt@Cccdt@Cč\z
[How?] imgt@Csubt@Chbv

[hC̈撆CD-TEXT́ARsubt@CɊ܂܂Ȃ̂
͌ccdt@CRsyKvB

- RESUB.EXE

[What?] ccdt@Csubt@Cč\z
[How?] ccdt@Chbv

MCN,ISRĆAƒfŁALBA=1045ZN^ɔzu

- RUNPCC.EXE

[What?] pcct@Cꎞt@Cɉ𓀂AAvɓn
[How?] pcct@Chbv

RUNPCC.EXEړƂlzma.exeꏏɈړ邱ƁB

- VOTEBY9.EXE

[What?] 9̃t@CrbgPʂő1̃t@Cɂ
[How?] gq'.1''.9'9̃t@CpӂÂ̂ЂƂhbv

v̓G[āArǂݍ݃[hł̓C[WoɂȂ̂ɑ΂A
łm炵̂𓾂邽߂̂́B
GfBbg̐lŁAt@Č3,5,7ɂςB

------------------------------------------------------------------------
 PCC(Packed CloneCD)tH[}bg ver 1.01
------------------------------------------------------------------------

ACgȂ
#pragma pack 1

(1) pcc_file[] ɂ

BYTE    pcc_file[FILESIZE] = {
    BYTE    magic[4]        = "PCCD"
    WORD    minor_version   = 1
    WORD    major_version   = 1
    BYTE    encoded_file[FILESIZE - 8]
}

v́A擪8oCg΁Alzma.exeŉ𓀂ł

(2) encoded_file[] 𓀂 decoded_file[] ɂ

BYTE    docoded_file[] = {
    BYTE    ccd_file[] = {
        do {
            BYTE    block_type
            if (block_type == 0xFF) break
            DWORD   block_size
            BYTE    block_data[block_size]
        } while()
    }
    BYTE    sub_file[] = {
        do {
            BYTE    block_type
            if (block_type == 0xFF) break
            DWORD   block_size
            BYTE    block_data[block_size]
        } while()
    }
    BYTE    img_file[] = {
        do {
            BYTE    block_type
            if (block_type == 0xFF) break
            DWORD   block_size
            BYTE    block_data[block_size]
        } while()
    }
}

(3) block_data[] ɂ

BYTE    block_data[block_size] = {
    BYTE    sect_data[block_size / SECTSIZE][SECTSIZE]
}

(4) block_type  SECTSIZE ɂ

block_type  SECTSIZE    
0x10        ----        ZN^PʂłȂf[^ SECTSIZE = block_size
0x11        ----        ZN^PʂłȂf[^ SECTSIZE = block_size subt@CQ`l
0x21        2353        yf[^Mid,SideLeft,Right\
0x22        4           擪4oCgƓlŖꂽ̂̐擪4oCg
0x23        2048        MODE1̃[U[f[^
0x24        2336        MODE1̃wb_ȊOS
0x25        2336        MODE2̃wb_ȊOS
0x26        2052        [h2̃Tuwb_ƃvOf[^
0x27        2328        [h2̃Tuwb_ƃfBAf[^
0x28        2048        [h2̃vOf[^
0x29        2340        s[hɂȊOS
0xFF        ----        I[ubNӖ

(5) block_type : 0x21 f[^ɂ

BYTE    sect_data[count][2353] = {
    do {
        BYTE    flag
        if (flag & 0x80) {
            BYTE    lobyte_diff_left[588]
            BYTE    lobyte_diff_right[588]
            BYTE    hibyte_diff_left[588]
            BYTE    hibyte_diff_right[588]
            pred_mode_left  = (flag >> 0) & 7
            pred_mode_right = (flag >> 3) & 7
        } else {
            BYTE    lobyte_diff_mid[588]
            BYTE    lobyte_diff_side[588]
            BYTE    hibyte_diff_mid[588]
            BYTE    hibyte_diff_side[588]
            pred_mode_mid   = (flag >> 0) & 7
            pred_mode_side  = (flag >> 3) & 7
        }
    } while(--count)
}

(6) pred_mode ɂ

pred_mode   pred
1           1 * v1
2           2 * v1 - 1 * v2
3           3 * v1 - 3 * v2 + 1 * v3
4           4 * v1 - 6 * v2 + 4 * v3 - 1 * v4

------------------------------------------------------------------------
 CD̃ItZbgƂ
------------------------------------------------------------------------

CD̃ItZbgɂĂ͉RĂ̂ŁAxĂB

܂CIRC̉H}Ă炢B番̂A
CD̃f[^́A{24oCg̘ÂA1oCgɂ΂炵A
ÂL^ꂽ͂̏ꏊ̑O2600oCg͈̔͂ɕUL^B
L^ꂽ͂̏ꏊ瓮Ȃf[^́A24oCgAőł1oCgȂA
ȂItZbgɂ悤ƂA啔̂łB

fR[hIɂ͑O2600/0̕zAGR[hIɂ͑O0/2600̕z
Iɂ͑O1300/1300̕zD܂킯A
ǂꂪǂƎv낤B

́u()KiȂ̂ŁAǂ̕złǂvłB

猴Ս쐬͍Dɂ邵ȂA
oCD́Aǂz͕Ȃ̂ŁA
hCuDɂ邵ȂB
͂ASony/Philips߂Ƃ悤ȂB

݃ItZbgƂłĺAp̏CIRCGR[_̗pzƁA
hCu̗̍p镪zƂ̍ӖB
EAC̃`{o܂ł́A݂Ƃ30قȂlłB
EAC̍҂ɂ悤Ƃ̂AGR[_łƂ̓oo
~XoĂA҂͂ɂ킯ł͂ȂƔ؂炵B
܂GR[_ȊOȂ΁AӖ͂ȂA
BꂱĂPLEXTORAǂ߂ĂB

̗lɁACD̃ItZbgƂ͑ΓIȂ̂łA[ɂƂ
琳mコ̂ł͂ȂB
ItZbg[ɊSȃRs[咣̂́ACDɂʗpȂƂŁA
݂ɂẮȀ@łB

CD-DÁACtȂƁAG[ԂɁA\ōf[^ԂƂ̂ŁA
̂̔rE}A܂PureReadIȂ́Eǂ݂
mc_̂Ȃ痝ł邪A
ItZbgŐm̂̓iZXłB
(APS1PC-Enginê悤ɁAItZbgĂ܂̂͏B
PS1̃ItZbg+32ŌŒ肾APC-EnginẽItZbg̓oGeBLł낢B
ȂItZbg邩ƂƁA1gbN͌xbZ[WȂ̂A
ɂ͖ȂAT[rX_ȌQ[ȊÔ͓gĂ邩B
Q[ɖ֌WȂ̂ɁA킴킴ȂˁB
C[X1+2-800炢ōĂāAPIONEER̃hCu(+667)łǂ߂ȂB
܂1989N̒iKŁAɂ󋵂Ȃ̂ŁAPLEXTOR̂́A
uItZbgɊւẮv߂疳Ӗłƌ悤B)

ėpf[^̏ꍇAL^łeʂāA
Ӗȃ}[J[p^Iɔzu邩AՍ쐬̕zA
̂悤Ȃ̂ȂCD-DAł́AꂪȂ̂łB
TCĝقƂǂAΈʒu̗L𗝗RƂĂ邪A
CD-DAɂTuQ`lA̎͐ΈʒuȂ̂ŁA
RɂȂĂȂB
ӖƂ܂ł͌ȂAC͖O܂Ń}[J[̎łB

ŌɈꌾB
ItZbg[M҂ɂ́Aȉ̊ȒPȎ_ĂB
uՍ쐬ItZbg[ōsꂽƁAANؖHv

------------------------------------------------------------------------
 XEBRACD-ROMC[Wt@C쐬@\ɂ
------------------------------------------------------------------------

`CloneCDƓ́B

ǉō쐬t@C͈ȉ̂悤ɂȂĂB
suat@C ... TOC֘AƐ̃Tu`lf[^
subt@C ... ʒuCTu`lf[^ 
suct@C ... subt@CPQ`lC
sudt@C ... suct@CRSTUVW`lNA
suet@C ... G[Ot@C
ovrt@C ... [hC2ZN^A[hAEg2ZN^̓ǂݍ݂gC

 - f[^gbNł́AC`lɋL^ꂽʒu񂪗D悳̂ŁA
̃Tu`lf[^́Avʒu炸ĂB
C`l̃f[^́ACIRCɂA1ZN^̃f[^3ZN^͈̔͂ɕUĂA
2ZN^܂œǂ܂ȂƁAf[^łȂB
ŁATu`ĺAƂȂ߁A
C`lɑ΂đ2ZN^s邱ƂɂȂB

 "C[Wۑ"{^1ׂ̃GfBbgɂ

ɂ͔r[h̃tO816iœ͂

ëӖ

11FFFFFF
||||||||
||++++++-- 1-6 r̍ő僊s[g 16777215
||
|+-------- 7 Tu`lr邩ǂ 0:rȂ
|
+--------- 8 ő僊s[g񐔂ɂȂƂIbZ[W\邩ǂ 0:\Ȃ=ɒ߂Ď

 "C[Wۑ"{^2ׂ̃GfBbgɂ

ɂ́AItZbg␳̕␳l10iœ͂

IMGMOV.EXEƂēƗĂ̂ŁAI~bgĂǂA
TCY͋͂Ȃ̂ŁAcĂB
imgt@Ĉ悤ɁAkŖȗŕsȃC[Wł΁A
ItZbg␳ȂǁAォǂƂłȂ̂
߂KvɔꂽƂɁAKpΗǂ̂łB
Oq̂悤ɃItZbg[ɓʂȈӖȂǂȂB

 CTu`l̃t@Cɂ

suet@C̃TCY0ɂȂƂl͑ȂƎvB
S̗ʂ炷΃R}p[ZgAEFMϒł́A
ꂾG[fʂ肷Ƃ̂邾낤B

悭CD-DAŃG[@\ȂƂl̂A
suet@CŎxŃG[fʂ肷ƁA
ƂĂ̂ł͂ȂȂ̂ŁACD-DAɂAȂ
G[@\邱Ƃ邾낤B
ėpf[^tŐgčoG[֌W̗ʂɔׂΏ
CD-DAłf[^24oCgɑ΂AG[֌W8oCgpӂĂB
CD-DÁ̖A\Ńf[^AG[młȂꍇ邱ƂȂ̂A
PS1CD-ROM̃vXl΁A
2񓯂C[W쐬łCD-DAȂƂ݂ėǂ낤B

suet@CāARSTUVW`l̃f[^PȂmCYƊmFł
sudt@Csubt@CɃl[Â͎Ăėǂ낤B
ďosub(sud)t@ĆAwǂ̃hCu
ɓt@CɂȂ͂B

Ȃ݂ɏC@A
P`l͑S0x00S0xFF̂ǂ炩Ȃ̂ŁA
0xFFߔȂ0xFFAłȂ0x00Ŗ߂ĂB
Q`lɂCRC邩A
CRCvȂꍇǍ̌̂ǂ炩vCRCԈĂƍlA
łȂ΃f[^ԈĂƍlA߂̐ȃf[^琄sB
CĂCRCvȂꍇ **** L^Ă̂ŁA
ڈɂƗǂ낤B܂CRC̏̌Ɖ̌ƂɊԈĂ邾
ǃf[^͊ԈĂ炸ACRCvȂꍇB
m΁ACAłȂ
**** ȂȂ܂ōĒo낤B

------------------------------------------------------------------------
 \tgEFAƂĂCloneCDɂ
------------------------------------------------------------------------

CD̃C[W̃tH[}bgƂāACloneCD`͑IɍłDĂ
ƕM҂͍lĂ邪A\tgEFAƂĂCloneCD́AӂKvƂ
lĂB
yCD̃Rs[ɂĂ Audio CD [hgȂ̂l낤B
AbZ[WOƕ悤ɁAGame CD [hȊÓA
Tu`lۂɂ͓ǂłȂB
Protected PC Game Ƃ̂Aǂʂȑ[uuĂ̂A
CD-ROM@̂ŕȂA
āASĂCD Game CD [hŒoׂƍlB
