Ver2.10@o[WAbviVer2.0A  Ver2.10C_j

(1) SGL̃[NGA̐ݒ@̕ύX
@Oo[W܂łłSGL̃VXeGA̕ύX͉\łAVer.2.1SGL
VXeGACu(LIBSGL.A)珜AIuWFNgt@CƂăN
悤ɕύX܂B
@ftHgł́ALIBfBNgSGLAREA.OƂt@CpӂĂ܂̂ŁA
܂ł̐ݒŖ肪Ȃ悤ł΁ASGLAREA.ON邱Ƃō܂łƓ
œ삵܂BVXeGAJX^}CYꍇɂ́ASAMPLEfBNg
WORKAREAworkarea.cƂt@C܂̂ŁAKv̕ύXs
SGLAREA.ȎɃNĂB

(2) slSynchFunction֐̒ǉ(INIT.TXT)
  slSynch֐ŃuLO荞݂҂ԂɎs֐o^܂B
̊֐ł͂܂蕉ׂ悤ȏ͍sȂ悤ɂĂB

(3) slConvert3Dto2D֐̒ǉ(MATH.TXT)
@Jg}gNXgpāA3D΍Wۉʏɕ\ۂ̉ʍW
lԂ֐ǉ܂B

(4) CD֌W̃o[WAbv
@Ver2.10ł͈ȉ̃o[W̃Cugݍ݂܂B
@  ECDʐMC^tF[X(CDC)           Ver.1.20(Ver2.0AύXȂ)
@  Et@CVXeCu(GFS)     Ver.2.11
  @EXg[VXeCu(STM)   Ver.2.11
@LIBCD.ÁAt@CVXeCũfobÕT|[g@\܂B
LIBCD_D.ÁAt@CVXe(GFS) fobÕT|[g@\SIMMւ̃ANZ
X\łB̕ύXeɂẮAMANGFS.TXTAMANSTM.TXTQlɂĂ
B

(5) GCC̃J̃R}hύX
@̃TvvO烊N̎st@CLDRpCƓl
GCCōs悤ɕύX܂BꂩGNUŃNꍇ́ALD͎gpȂ
ŕKGCCōs悤ɂĂB

(6) XN[Zbgϐ̃oOC
@slCharNBGx(RBG0)֐slPageNBGx(RBG0)֐ł̃p^[l[⏕f[^̐ݒ
̕sC܂B

(7) e֐̒ǉ
@Ver2.0ÃhLgɋLĂ܂Agݍ܂ĂȂ֐ǉ
B


Ver2.0A@o[WAbviVer2.0  Ver2.0AC_j
(1) bc֐̃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@\

(2) ̒ǉ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

Ver2.0@o[WAbviVer1.31  Ver2.0C_j

(1) XvCg\̊g֐̒ǉ(sprite.txt)
@]̃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

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

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

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

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

(6) Ŏ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

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

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

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

(10) PCMĐ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

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

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

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

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

(15) MakefilȅC
@oCi`ɕϊ@܂B@COFF`t@CGNUc[
OBJCOPY.EXEgpčsĂ܂B


Ver1.31  o[WAbviVer1.3 Ver1.31C_)

(1) AhXG[Ή
@slInitSound֐ŃAhXG[sAP܂B

(2) DMA_ScuResult֐̏C
@SBLCuƓl̎dlDMA_ScuResult֐ŃoOAC܂B

Ver1.3  o[WAbviVer1.21 Ver1.3C_)

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

(2) VDP1`I҂`FW[h̑Ή(init.txt)
  @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

(3) EBhE@\̊g(sprite.txt)
@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

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

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

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

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

(8) OBJECT\̂gp|Sf̕\(sprite.txt)
  @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();
          }
      }

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

(10) |S\SăX[uCPUōsslPutPolygonS֐̒ǉ(sprite.txt)
  @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

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

(12) }gNXZp֐̒ǉ(math.txt)
  }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

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

Ver1.21  o[WAbviVer1.2 Ver1.21C_)
(1) slAtan֐̋El̕sΉ
   tx, ty ̐ΒlƂɖ߂ĂpxȂQ̑Ή
܂B

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

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

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

Ver1.2  o[WAbviVer1.1 Ver1.2C_)
(1) XvCg\̃fbhbN
@XvCg\Ƀ}X^botƃX[ubotfbhbNɊׂꍇ
AP܂B

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

Ver1.1  o[WAbviVer1.0 Ver1.1C_)
(1) Op֐x
@@Op֐gpf[^e[ũf[^xグ邱ƂɂA8{ׂ
@Op֐̌ʂ𓾂悤ɂ܂B

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

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

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