*******************************************************************************
readme.docʁ@@@@@FSGL vOCut@C
t@CĹ@@@@FSGL0200.TXT
Ώۃc[Ĺ@@@FSGLvOCu
Ώۃc[́@@@@@FSGL
o[W              F2.0A
쐬ҁ@@@@@@@@@FK.T
쐬@@@@@@@@@F1996-02-09
̑̃bZ[W@@@FȂ
*******************************************************************************

PDo[WAbviVer1.31  Ver2.00AVer2.0AC_j
@Ver2.0Ał̕ύX_ɂẮAo-->Ver2.0AƋLqĂ܂B

P|P@@\gэ΍

iPjXvCg\̊g֐̒ǉ(sprite.doc)
@]̃XvCg\֐ł͎włȂ guƗXP[AguTCYA
S_w\p̊֐ǉ܂B
  (a) slDispSpriteHV֐
    cA̕\XP[w肵āAό`XvCg\܂B
    slDispSprite֐Ƃ͈قȂAXP[Ƀ}CiXw肵ꍇALN^
  ͔]ĕ\܂B
  (b) slDispSpriteSZ֐
    cA̕\TCYw肵āAό`XvCg\܂B
    TCYɃ}CiXw肳ꂽꍇɂ́A]ĕ\܂B
  (c) slDispSprite4P֐
  @ʏ̂S_w肵āAό`XvCg\܂B
@@S_̓EBhESɑ΂ItZbgʒuŎw肵AŜ\yʒu
@ʂɎw肵܂BS_͍AEAEȀ(v)Ŏw肵܂B

iQj}X^CPUƃX[uCPU̒ʐM@̕ύX
@X[uCPUAChOԂɂꍇALbVX[̈ʂă}X^
CPŨR}h|C^`FbNĂ̂AFRTCvbgLv`Ď
悤ɕύXāA}X^CPUւ̃ANZXy܂B

iRjslFrameClipSize֐̒ǉ
@XvCg UseClipIvVw肵|S\ɂāANbsO
s̈̑傫wiύXjł悤 slFrameClipSize֐pӂ܂B

iSjό`XvCg̕`̍œK
@ό`XvCgieNX`Ƃ̕\L܂ށj\ۂɁAEChE̓
_邩ׁA_0 EChEɂȂ悤ɃLN^̔]ƒ_̓
ꊷKvɉčs悤ɂ܂B
@̃\tgł̃vNbsOɑΉɂAEChE͂ݏoό`X
vCg̕`Abv}܂B

iTjo[`K̑Ή
@CuɃo[`Kւ̑Ήǉ܂BAΉɂ
AvP[VɂΉKvłBΉ@́ATvvODEMOGUNf
BNg̃vOQƂĂB

iUjbc֐̃o[WAbv@-->Ver2.0A
@ȉ̃o[W̃Cugݍ݂܂B
@  ECDʐMC^tF[X(CDC)           Ver.1.20
@  Et@CVXeCu(GFS)     Ver.2.10
  @EXg[VXeCu(STM)   Ver.2.10
@̃CuACu2ނɕ܂B
@@@LIBCD.A@@--> t@CVXe(GFS) fobÕT|[g@\Ȃ
@@@LIBCD_D.A@--> t@CVXe(GFS) fobÕT|[g@\

P|Q@s̑Ή

iPjŎgpĂCPU DMA]`l̕ύX
  SGL̓ł̓TEh֌W̃f[^]CPU-DMA]gpĂ܂A
CPU DMA]VuN荞݂ƁAXN[]ŎgpĂ
CPU DMA]̃`lԂ邱Ƃ킩ATEh]CPU DMÃ`
lύX܂B
@SGLł́ACPU DMA]̃`l1Ԃ̓VXe\Ƃ܂̂ŁAAvP[
VCPU DMAgpꍇ́AK`l0Ԃgp邩slDMACopy֐A
slDMAXCopy֐gpĂB

iQjslSoundRequest֐̕sΉ
@slSoundRequest֐SHc[GNUc[̃WX^Ҕ@̈ႢA
R}hsĂȂꍇAC܂B

iRjrbg}bv֐̏C
@rbg}bv֐ɂslBitMapNbg0֐slBitMapNbg1֐̃e[uԂƈ
̒lƂĂȂArbg}bvTCYoCgƊԈႦĂ肪A
C܂B

iSjslCharNbg3֐̂QQZ̕s̑Ή
@slCharNbg3֐ŃLN^TCY2~2(CHAR_SIZE_2x2)̏ꍇA\
ۂP܂B

iTjPCMĐf[^WORKRAM-LΉ
@SGLłPCMf[^̓]SCU-DMApē]Ă邽߁APCMf[^WORKRAM-L
ɔzuꍇA]łPCMĐsȂȂsP܂B
@AWORKRAM-LɃf[^zuꍇAȉ̂R_KĂgpB 

  (a) Đf[^͋AhXzuĂ̂ƂĈĂB
     (AhX̉ʂPrbgOɂĎgp܂)
     -> AhXɔzuĉB

  (b) Đf[^XeIŁAWrbg̏ꍇA`l̃f[^
@@AhXzuĂ̂ƂB
     -> TvɂĉB

  (c) Đf[^8192t[ȏ̏ꍇɁAobt@bsOۂ
@@mCYo邱ƂB
     -> 8192(2000H)t[ƂɃf[^PoCgdĒ`ĉB
        A擪1536(600H)t[ItZbgƂ납n܂܂B
        āAdŏ̃f[^6656(1A00H)̃f[^ƂȂ܂B

iUjslPutPolygon֐̒_0̏ꍇ̑Ή
@|S\֐ slPutPolygon֐sۂɁA_A|S 0w
ꍇA[vJE^őƂȂA\Ă܂ۂA_ 0̏ꍇ
̑Ήǉ܂B
@A|S 0̏ꍇ́A֐sȂAvőΉ悤ɂ肢
܂B

iVjslRotAX֐̕s
@slRotAX֐ɌvZ̃~XC܂BhLgɂAAC
܂B


P|R@TvvȌC^ǉ

iPjobNAbvTṽoO(SBKLIB)
@obNAbvCu̎gpTvvOɃvO~X܂B
@ꏊ́ASMPC玞ԏ擾ƂŏCɂ̓RgĂ
܂B

iQjo[`KΉTvvO(DEMOGUN)
@o[`K̃f[^擾@TvvOǉ܂B

iRjMakefilȅC
@oCi`ɕϊ@܂B@COFF`t@CGNUc[
OBJCOPY.EXEgpčsĂ܂B

iSj̒ǉyŏdvz@-->Ver2.0A
@CvO̎sݒ肷邽߂ɁA
@@Ef[^̈[ŏ邱ƁiKj
@@EROMɂ鏉f[^RAMɃRs[邱ƁiʏKvȂj
KvłB̐ݒ͕K[UAvP[VōsĂB
@SGL̃TvvOɂ̏܂BɔA܂ł
TvvOȉ̂悤ȕύXsĂ܂B
@@ECOMMONfBNgSGL̃TvvOŋʂ̏vOǉ
@@@܂B̊֐maingp܂B
@@ETvvO̍쐬ĂmainƂ̊֐ss_mainƂ֐
@@@ɕύX܂B
@@@ʏ֐(main֐)珉Ass_main֐Ăяo܂B
@@EMakefileŐĂ sl.lnkiZNV錾t@CjCOMMONfBNg
@@@Ƀt@CƂĒ񋟂܂B
@TvvOŎ悤ȏsȂƁA񋟂̃Cuɓ
삵Ȃꍇ܂̂ŁAKsĂB

QDo[WAbv񗚗

Q|P@Ver1.3 Ver1.31 ւ̏C_

iPj AhXG[Ή
@slInitSound֐ŃAhXG[sAP܂B

iQj DMA_ScuResult֐̏C
@SBLCuƓl̎dlDMA_ScuResult֐ŃoOAC܂B

Q|Q@Ver1.21 Ver1.3 ւ̏C_

iPj [NGÅŨ[UύX(memory.doc)
  VXep̃[NGÅU[UύXł悤ɂȂ܂Bڍ
́Amemory.docQƂĐݒ肵ĂB

iQj VDP1`I҂`FW[h̑Ή(init.doc)
  @VDP1̕`I҂ăCV[PXis郂[hǉ܂B
AslInitSystem֐̎sɃt[JE^}CiXݒ肵ĂB
̊֐ɂVXeϐ (Sint8)Resolution  MSB 1ɂȂA̎VDP1̕`
Ĩ`FbNǉ܂BÃ[hł̓t[obt@̏p
SʃTCỸXvCg1`悳Ă邽߁Aۂ̉ʂɑ΂1ʕ̗]
ȕ`悪邱ƂɂȂ܂B
  ̑ΉɂP֐ǉ܂B
  EslDynamicFrame֐ : ̃t[`FWVDP1̕`I҂t[
  @@@@@@@@@@@ `FWƂ؂ւ܂B

iRj EBhE@\̊g(sprite.doc)
@XvCgi|Sj\EBhErŐ؂ւ邱Ƃł
ɂȂ܂B
  ܂ł́AslWindow֐s_ŁAÕEBhEɐ؂ւ܂
AslCurWindow֐s邱Ƃŕ\EBhEw肷邱Ƃł܂B
ɔAEBhEɕێ悤ɂȂ̂ŁAEBhE̐ݒ
炷ƂɂȂ܂B
@@(gp)
@@@slCurWindow(winFar);
      slWindow(--- for Far side Window ---);
@@@slCurWindow(winNear);
      slWindow(--- for Near side Window ---);

@@@...

@@@slCurWindow(winFar);
      slPutPolygon(PD_XX);        /* Q[ʂւ̕\ */
@@@slCurWindow(winNear);
      slPutPolygon(PD_xx);        /* }bvւ̕\ */

@@@slCurWindow(...);

@\EBhÉAslSynch֐s winFar ɕ\AEBhE؂ւ
slWindow֐̎sislPutPolygon֐Ȃǂ̕\֐sjAslCurWindow
֐s܂ŁAEBhEɑ΂ĕ\s܂B

yӁz
@slCurWindow֐ɂĐ؂ւp[^͈ȉ̊֐ɂĐݒ肳ꂽ
݂̂łB
@EslWindow֐AslZdspLevel֐AslPerspective֐
@@}gNXAxNgɂĂ͍Đݒ肳܂̂ŁAӂĂ
@B
@@slSprWinNum֐sƃJgEBhEio[iwinFarAwinNearj
@Ԃ܂B

iSj PALł̑Ή
@@PALł̑ΉƂāATVTCỸ[hi256C[hj܂B
@@@@TV_320x256ATV_352x256ATV_640x256ATV_704x256
@@@@TV_320x512ATV_352x512ATV_640x512ATV_704x512

iTj TV[h̕ύX֐̒ǉ(init.doc)
  @TV[hύX slSetTVMode֐ǉ܂B
  @AVXeNbNύX悤ȃ[hւ̐؂ւ̓G[ƂȂ
  ܂B

iUj Oʐ䃌WX^̐ݒ֐̒ǉ(scroll.doc)
  @Oʐ䃌WX^ݒ肷 slExtSignal֐ǉ܂B
  @MPEGȂǂ̊OʂLɂꍇɎgp܂B

iVj Y[\XN[ʐݒ֐̒ǉ(scroll.doc)
  @Y[\ȃXN[ʂ̕\[gXP[Ŏwł֐ǉ
  ܂B
  @slScrScaleNbg0֐AslScrScaleNbg1֐AslScrScaleR֐

iWj OBJECT\̂gp|Sf̕\(sprite.doc)
  @OBJECT\̂ɐݒ肳ꂽʒuA]pAXP[gpă|Sf\
  ܂B̊֐͈ȉ̊֐ŝƓs܂B
  @@void slPutObject(OBJECT *obptr)
      {
          slTranslate(obptr->pos[X], obptr->pos[Y], obptr->pos[Z]);
          slRotZ(obptr->ang[Z]);
          slRotY(obptr->ang[Y]);
          slRotX(obptr->ang[X]);
          if(obptr->pat != NULL) {
              slPutPolygon(obptr->pat);
          }
      }
    Ⴆ΁Aeq\IuWFNgQ\ɂ͈ȉ̂悤Ȋ֐쐬
  邱ƂŎł܂B
      void PutAll(OBJECT *obptr)
      {
          slPushMatrix();
          {
              slPutObject(obptr);
              if(obptr->child != NULL){
                  PutAll(obptr);
              }
          }
          slPopMatrix();
          if(obptr->sibling != NULL) {
              PutAll();
          }
      }

iXj fobO֐̒ǉ(packs.doc)
  @fobOp̃eLXg\Ɋւ֐ǉ܂B
  @@slCurScrn֐    : eLXg\sXN[ʂw肵܂
  @@slLocateNbg֐  : XN[ʂw肵\AhX̎Zo܂
  @@slLocatePage֐ : y[Wio[w肵\AhX̎Zo܂

iPOj |S\SăX[uCPUōsslPutPolygonS֐̒ǉ(sprite.doc)
  @slPutPolygon֐ł́AX[uCPỦғ󋵂āA}X^CPUZ̈ꕔ
  sĂ܂AslPutPolygonS֐łׂ͂ăX[uCPUs܂B
  ́ANGXg܂ŃX[uCPU̓EFCgĂ邽߁AslSynch֐n
  ߂̃NGXg܂ł̃X[uCPȖ҂Ԃy邽߂ɁAÕV[PX
  \p̃f[^쐬AslSynch֐sチCV[PX̎n߂ɂ܂Ƃ߂ă|
  S\̃NGXg𔭍sāAX[ȗ҂ԂyꍇɎgp
  ܂B

iPPj rbg}bvOtBbNXp̊֐i256Fj̒ǉ
@rbg}bvVDP2̃XN[ʂ̂ЂƂOtBbNʂƂĎgp
ŁÃCuł256Fpbg[ĥ݃T|[g܂B
ʏ̏sȂAslInitBitMap֐s邱Ƃŏł܂B
  ֐dlɂẮAbitmap.docQƂĂB

iPQj }gNXZp֐̒ǉ(math.doc)
  }gNXp֐ƂĈȉ̊֐ǉ܂B
  EslIncMatrixPtr֐@
  @}gNXX^bÑ|C^i߂܂BslPushMatrixƈقȂ}gNX
  @Rs[͍s܂B
@EslDecMatrixPtr֐
  @}gNXX^bÑ|C^ЂƂ߂܂BslPopMatrix֐ƓłB
@EslRegistMatrix֐
  @Jg}gNXꎞWX^ɃRs[܂B
@EslRegistTranslate֐
  @ꎞWX^̃}gNXɑ΂āAsړ̂Jg}gNXɃZ
  @bg܂BꎞWX^͕ω܂B́AslPushMatrix֐A
  @slPopMatrix֐𑽗pꍇ̃I[o[wbhy邽߂̂̂łB
@EslUnitAngle֐
	Jg}gNX̉]݂̂܂B
@EslUnitTranslate֐
  @Jg}gNX̕sړ݂̂܂B
@EslGetTranslate֐
  @Jg}gNX畽sړoAw肳ꂽobt@ɃRs[
@  ܂BJg}gNXɕῶ܂B
  EslCopyMatrix֐
  @ĩ}gNXJg}gNXɃRs[܂B
@EslLoadTranslate֐
  @Jg}gNX̕sړw肳ꂽlɕύX܂B]͕ω
  @܂B
  EslCheckOnScreen0֐
@@slCheckOnScreen֐̃|WV(0,0,0)Ŏs֐łB

iPRj 萔}NARo[g}N̒ǉ
@ȉ̒萔ƕϊ}Nǉ܂B
@EM_PI@ @@~
@ERADtoANG @WAAO^ւ̕ϊ
@ESLocate    XN[̕\ʒu̎Zo
@EMSBon      XvCg̃VF[hLrbg

Q|R@Ver1.2Ver1.21 ւ̏C_

iPj slAtan֐̋El̕sΉ
   tx, ty ̐ΒlƂɖ߂ĂpxȂQ̑Ή
܂B

iQj DMA֐(SBLڐA)̕sΉ
  DMA_ScuMemCopy֐̕sP܂B

iRj slSetTrayCheck֐̍폜
  slSetTrayCheck֐sƁȂCD֌W̊֐ɓ삵ȂȂ邽
߁Å֐̒񋟂𒆎~܂B
  ̊֐֑̑΍ƂāACDC_GetHirqReq֐ŃgC̏Ԃ擾āAAv
ŏ悤ɂĂB

iSj TvvODEMO_D̃|SYۉ
  񋟂̃TvvO DEMO_D Ńpbh𑀍삵ĂȂ̂Ƀ|S
ۂATvvOC܂B


Q|S@Ver1.1  Ver1.2 ւ̏C_
iPj XvCg\̃fbhbN
@XvCg\Ƀ}X^botƃX[ubotfbhbNɊׂꍇ
AP܂B

iQj CDCũt@C
@CD-ROMt@CVXeilibcd.ajŁAt@C7 + "." + 3܂ł
gpłȂoOPAt@C8 + "." + 3܂Ŏgpł悤
ɂ܂B


Q|T@Ver1.0  Ver1.1 ւ̏C_
iPj Op֐x
@@Op֐gpf[^e[ũf[^xグ邱ƂɂA8{ׂ
@Op֐̌ʂ𓾂悤ɂ܂B

iQj ytF̃fobKΉ
@ytFgp銄荞ݏɂāAfobJɂvO~
vOɋyڂer܂B

iRj `XvCg\
@`XvCg̕\Ŕ{1.0̂ƂAn[hEGA̐Ŏw肵TCY
c1hbg傫\Ă̂TCYʂɕ\ł悤ɂ܂B

iSj t[`FW̃^C~OύX
@t[`FW̃^C~OŃXvCgf[^̍쐬IĂȂƂAc
̃XvCg\̃t[\ɎzĂ̂Ão[W
1t[ŕ\ȂXvCgƂÃt[ɂ͎z
Ȃ悤ɂ܂B

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ȁ@