[PR]テレビ番組表 今夜の番組チェック
NYO$B%C%H$d$m$&$<(J
$B!AFHEDCO9v:X$,B#$k(J PlayStation $B8&5f=x@b!A(J
NNNNNN
NNNNNNNNNNNN
NNNNNNNNNNNNNNNN
NNNNNNNNNNNNNNNNNNN
NNNNNNNNN NNNNNNNNN
NNNNNNNNN NNNNNNNNN
NNNNNNNNN NNNNNNNNN
NNNNNNNNN NNNNNNNNNN
NNNNNNNNN NNNNNNNNNN
NNNNNNNNN NNNNNNNNNN
NNNNNNNNN NNNNNNNNNN
NNNNNNNNN NNNNNNNNN
NNNNNNNNN NNNNNNNN
OONNNNNNNNN NNNNNNN
YYYOOOONNNNNNNNN
YYYYYYYYYYYNNNNNNNNN OOOOOOOOOOOO
YYYYYYYYYYYYYYYNNNNNNNNNYYOOOOOOOOOOOOOOOOOOO
OOOOOOYYYYYYYYY NNNNNNNNNYYYYYYYOOO OOOOOOOOO
OOOOOOOOOOO YYNNNNNNNNNYYYYY OOOOOOOOOOO
OOOOOOOOO OOOYYYYNNNNNNNNN YYYYYYYYYOOOOOO
OOOOOOOOOOOOOOOOOONNNNNNNNN YYYYYYYYYYYYYYY
OOOOOOOOOOOO NNNNNNNNNOYYYYYYYYYYYY
NNNNNNNNNOOOOOOYYY
NNNNOOOO
$B$O$8$a$K(J
$BK\%Z!<%8$OL$Mh$N(J PlayStation
$B%(%_%e%l!<%?3+H/pJsDs6!$rL\E*$H$9$k!#(J
$B$?$@$7!"$3$3$G%3!<%G%#%s%0$N9V5A$r$9$k$D$b$j$O$J$$!#(J
$B$J$<$J$i%3!<%G%#%s%0$N4QE@$+$i%(%_%e%l!<%?FCM-$H8F$Y$k$b$N$O2?$b$J$$$+$i$@!#(J
$BF0E*%3%s%Q%$%k$ODA$7$$$+$b$7$l$J$$$,!"$3$l$O%(%_%e%l!<%?$NK\$7$?J}$,$$$$$s$8$c$J$$$+!#(J
$B2r@O4D6-(J
PlayStation $BK\BN(J
SCPH-7000 (SONY)
$B@)8f%^%7%s(J
$B$$$o$f$k<+:n(JDOS/V
$BDL?.%G%P%$%9(J
PS X-TERMINATOR (Future Console Design)
$BDL?.%G%P%$%9%U%!!<%`%&%'%"(J
caetla 0.34 (K-Communications)
$BDL?.%W%m%0%i%`(J
caetools (K-Communications)
directio (K-Communications)
$B2r@O%W%m%0%i%`:n@.(J
GNU Binary Utilities 2.8.1 mipsel-generic-elf/ecoff
($B$3$Z$k(J)
GNU C/C++ Compiler 2.7.2.3 mipsel-generic-elf/ecoff
($B$3$Z$k(J)
Borland C++Compiler 5.5 (Borland)
$B;29MJ88%(J
$B!V%M%C%H$d$m$&$
http://www.scei.co.jp/Net/guide/user/
PADUA PLAYSTATION RESOURCE
http://psx.rules.org/psxrul2.shtml
$B$?$@$7!"$3$l$i$K$OB?$/$N8m5-$,$"$k$N$G1-F]$_$K$7$J$$$3$H!#(J
$B@55,3+H/%^%K%e%"%k$+$iH4?h$7$?$H;W$o$l$kItJ,$K$9$i8m5-$,$"$k(J
($B@55,%^%K%e%"%k$K$b8m5-$O$"$k(J)$B!#(J
$B3+H/PlayStation
$B$K$O$=$N8=
$BEl
http://www.semicon.toshiba.co.jp/product/micro/index.html
$B%"!<%-%F%/%A%c(J
$B%V%m%C%/?^(J
$B%a%b%j%^%C%W(J
PlayStation
$B$N%a%b%j%^%C%W$r0J2<$K<($9!#(J
$BI=(J. $B%a%b%j%^%C%W(J
$BO@M}%"%I%l%9(J
$BFbMF(J
0x00000000$B!A(J0x001FFFFF
$B%a%$%s%a%b%j(J($BL?Na%-%c%C%7%eM-8z(J)
0x00200000$B!A(J0x003FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x00400000$B!A(J0x005FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x00600000$B!A(J0x007FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x00800000$B!A(J
0x1F000000$B!A(J
PIO
0x1F0?????$B!A(J
0x1F800000$B!A(J0x1F8003FF
$B%9%/%i%C%A%Q%C%I(J
0x1F000400$B!A(J
0x1F801000$B!A(J
I/O$B%]!<%H(J($B$$$o$f$k%a%b%j%^%C%W%I(JI/O)
0x1F80????$B!A(J
0x1FC00000$B!A(J0x1FC7FFFF
OS ROM
0x1F800000$B!A(J
0x80000000$B!A(J0x801FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x80200000$B!A(J0x803FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x80400000$B!A(J0x805FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x80600000$B!A(J0x807FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eM-8z(J)
0x80800000$B!A(J
0x9FC00000$B!A(J0x9FC7FFFF
OS ROM $B%_%i!<(J
0x9FC80000$B!A(J
0xA0000000$B!A(J0xA01FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eL58z(J)
0xA0200000$B!A(J0xA03FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eL58z(J)
0xA0400000$B!A(J0xA05FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eL58z(J)
0xA0600000$B!A(J0xA07FFFFF
$B%a%$%s%a%b%j(J
$B%_%i!<(J($BL?Na%-%c%C%7%eL58z(J)
0xA0800000$B!A(J
0xBFC00000$B!A(J0xBFC7FFFF
OS ROM $B%_%i!<(J
0xBFC80000$B!A(J
0xFFFE0130$B!A(J0xFFFE0133
SwapCache?
0xFFFE0134$B!A(J
PlayStation
$B$N(JI/O$B%]!<%H%^%C%W$r0J2<$K<($9!#(J
$B8e$N@bL@$N$?$a$K!"%l%8%9%?L>$rJ;5-$7$?$,!"(J
$B0lIt$OI.!$7$?$b$N$G$"$k!#(J
$BI=(J. I/O$B%]!<%H%^%C%W(J
$BO@M}%"%I%l%9(J
$B%l%8%9%?L>(J
$BFbMF(J
0x1F801000
?
$B3HD%%a%b%jNN0h;XDj(J?
0x1F801004
?
I/O$B%]!<%H=*C<;XDj(J?
0x1F801008
?
?
0x1F80100C
?
?
0x1F801010
?
?
0x1F801014
?
SPU DMA$B$N%&%'%$%H(J?
0x1F801018
?
OTC DMA$B$N%&%'%$%H(J?
0x1F80101C
?
?
0x1F801020
?
CD DMA$B$N%&%'%$%H(J?
0x1F801040
COMA_DATA
COMA$B%G!<%?(J
0x1F801044
COMA_STAT
COMA$B%9%F!<%?%9(J
0x1F801048
COMA_MODE
COMA$B%b!<%I(J
0x1F80104A
COMA_CTRL
COMA$B%3%s%H%m!<%k(J
0x1F80104E
COMA_BAUD
COMA$B%\!<(J
0x1F801050
SIO_DATA
SIO$B%G!<%?(J
0x1F801054
SIO_STAT
SIO$B%9%F!<%?%9(J
0x1F801058
SIO_MODE
SIO$B%b!<%I(J
0x1F80105A
SIO_CTRL
SIO$B%3%s%H%m!<%k(J
0x1F80105E
SIO_BAUD
SIO$B%\!<(J
0x1F801060
RAM_SIZE
$B
0x1F801070
I_STAT
$B3d$j9~$_%9%F!<%?%9(J
0x1F801074
I_MASK
$B3d$j9~$_%^%9%/(J
0x1F801080
D0_MADR
DMAC$B%A%c%M%k(J0(MDECin)$B%a%b%j%"%I%l%9(J
0x1F801084
D0_BCR
DMAC$B%A%c%M%k(J0(MDECin)$B%V%m%C%/%+%&%s%H(J
0x1F801088
D0_CHCR
DMAC$B%A%c%M%k(J0(MDECin)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F801090
D1_MADR
DMAC$B%A%c%M%k(J1(MDECout)$B%a%b%j%"%I%l%9(J
0x1F801094
D1_BCR
DMAC$B%A%c%M%k(J1(MDECout)$B%V%m%C%/%+%&%s%H(J
0x1F801098
D1_CHCR
DMAC$B%A%c%M%k(J1(MDECout)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010A0
D2_MADR
DMAC$B%A%c%M%k(J2(GPU)$B%a%b%j%"%I%l%9(J
0x1F8010A4
D2_BCR
DMAC$B%A%c%M%k(J2(GPU)$B%V%m%C%/%+%&%s%H(J
0x1F8010A8
D2_CHCR
DMAC$B%A%c%M%k(J2(GPU)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010B0
D3_MADR
DMAC$B%A%c%M%k(J3(CD)$B%a%b%j%"%I%l%9(J
0x1F8010B4
D3_BCR
DMAC$B%A%c%M%k(J3(CD)$B%V%m%C%/%+%&%s%H(J
0x1F8010B8
D3_CHCR
DMAC$B%A%c%M%k(J3(CD)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010C0
D4_MADR
DMAC$B%A%c%M%k(J4(SPU)$B%a%b%j%"%I%l%9(J
0x1F8010C4
D4_BCR
DMAC$B%A%c%M%k(J4(SPU)$B%V%m%C%/%+%&%s%H(J
0x1F8010C8
D4_CHCR
DMAC$B%A%c%M%k(J4(SPU)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010D0
D5_MADR
DMAC$B%A%c%M%k(J5(PIO)$B%a%b%j%"%I%l%9(J
0x1F8010D4
D5_BCR
DMAC$B%A%c%M%k(J5(PIO)$B%V%m%C%/%+%&%s%H(J
0x1F8010D8
D5_CHCR
DMAC$B%A%c%M%k(J5(PIO)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010E0
D6_MADR
DMAC$B%A%c%M%k(J6(OTC)$B%a%b%j%"%I%l%9(J
0x1F8010E4
D6_BCR
DMAC$B%A%c%M%k(J6(OTC)$B%V%m%C%/%+%&%s%H(J
0x1F8010E8
D6_CHCR
DMAC$B%A%c%M%k(J6(OTC)$B%A%c%M%k%3%s%H%m!<%k(J
0x1F8010F0
D_PCR
DMAC$BM%@hEY%3%s%H%m!<%k(J
0x1F8010F4
D_ICR
DMAC$B3d$j9~$_%3%s%H%m!<%k(J
0x1F801100
T0_COUNT
$B%?%$%^(J0($B%7%9%F%`!?%T%/%;%k(J)$B%+%&%s%H(J
0x1F801104
T0_MODE
$B%?%$%^(J0($B%7%9%F%`!?%T%/%;%k(J)$B%b!<%I(J
0x1F801108
T0_COMP
$B%?%$%^(J0($B%7%9%F%`!?%T%/%;%k(J)$B%3%s%Z%"(J
0x1F801110
T1_COUNT
$B%?%$%^(J1($B%7%9%F%`!??eJ?F14|(J)$B%+%&%s%H(J
0x1F801114
T1_MODE
$B%?%$%^(J1($B%7%9%F%`!??eJ?F14|(J)$B%b!<%I(J
0x1F801118
T1_COMP
$B%?%$%^(J1($B%7%9%F%`!??eJ?F14|(J)$B%3%s%Z%"(J
0x1F801120
T2_COUNT
$B%?%$%^(J2($B%7%9%F%`!?(J8$BJ,<~(J)$B%+%&%s%H(J
0x1F801124
T2_MODE
$B%?%$%^(J2($B%7%9%F%`!?(J8$BJ,<~(J)$B%b!<%I(J
0x1F801128
T2_COMP
$B%?%$%^(J2($B%7%9%F%`!?(J8$BJ,<~(J)$B%3%s%Z%"(J
0x1F801800
CD_REG0
CD$B%l%8%9%?(J0
0x1F801801
CD_REG1
CD$B%l%8%9%?(J1
0x1F801802
CD_REG2
CD$B%l%8%9%?(J2
0x1F801803
CD_REG3
CD$B%l%8%9%?(J3
0x1F801810
GPU_DATA
GPU$B%G!<%?!?%3%^%s%I(J
0x1F801814
GPU_CTRL
GPU$B%9%F!<%?%9!?%3%s%H%m!<%k(J
0x1F801820
MDEC_DATA
MDEC$B%G!<%?!?%3%^%s%I(J
0x1F801824
MDEC_CTRL
MDEC$B%9%F!<%?%9!?%3%s%H%m!<%k(J
0x1F801C00
SPU_REG00
SPU$B%l%8%9%?(J0
0x1F801C02
SPU_REG01
SPU$B%l%8%9%?(J1
$BCfN,(J
$BCfN,(J
$BCfN,(J
0x1F801DFC
SPU_REGFE
SPU$B%l%8%9%?(J254
0x1F801DFE
SPU_REGFF
SPU$B%l%8%9%?(J255
0x1F802041
?
$B%G%#%C%W%9%$%C%A(J?
CPU($BCf1{=hM}AuCV(J)
PlayStation
$B$N(JCPU$B$O(JMIPS$B$N(JR3000$B$r%Y!<%9$H$7$?%+%9%?%`(JCPU$B$G$"$k!#(J
$BF0:n<~GH?t$O(J33868800Hz$B$H8@$o$l!"%(%s%G%#%"%s$O%j%H%k$G$"$k!#(J
$B
$B%3!<%II=(J
COP1,COP3,TLB$B7O$OB8:_$7$J$$!#(J
$B%5!<%S%9%3!<%kFb$N(Jatof$B$G(JCOP1$BL?Na$,;H$o$l$F$$$k$,(Jatof$B<+BN$,8F$P$l$?;n$7$,$J$$!#(J
$B$*$=$i$/;n:n5!$G$O%G%P%0=hM}$N$?$a$KB8:_$9$k$,!"7k6I%*%_%C%H$5$l$?$N$@$m$&!#(J
$BI=(J. $B%S%C%H%Q%?%s$NL>>N(J
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
op
rs
rt
rd
sa
funct
$BI=(J. op
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
SPECIAL
BCOND
J
JAL
BEQ
BNE
BLEZ
BGTZ
0x08
ADDI
ADDIU
SLTI
SLTIU
ANDI
ORI
XORI
LUI
0x10
COP0
COP2
0x18
0x20
LB
LH
LWL
LW
LBU
LHU
LWR
0x28
SB
SH
SWL
SW
SWR
0x30
LWC2
0x38
SWC2
$BI=(J. funct(op=SPECIAL)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
SLL
SRL
SRA
SLLV
SRLV
SRAV
0x08
JR
JALR
SYSCALL
BREAK
0x10
MFHI
MTHI
MFLO
MTLO
0x18
MULT
MULTU
DIV
DIVU
0x20
ADD
ADDU
SUB
SUBU
AND
OR
XOR
NOR
0x28
SLT
SLTU
0x30
0x38
$BI=(J. rs(op=BCOND)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
BLTZ
BGEZ
0x08
0x10
BLTZAL
BGEZAL
0x18
$BI=(J. rs(op=COP0)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
MFC0
MTC0
0x08
0x10
CP0
0x18
$BI=(J. funct(op=COP0,rs=CP0)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
0x08
0x10
RFE
0x18
0x20
0x28
0x30
0x38
$BI=(J. rs(op=COP2)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
MFC2
CFC2
MTC2
CTC2
0x08
0x10
CP2
0x18
$BI=(J. funct(op=COP2,rs=CP2)
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
0x00
RTPS
NCLIP
0x08
OP
0x10
DPCS
INTPL
MVMVA
NCDS
CDP
NCDT
0x18
NCCS
CC
NCS
0x20
NCT
0x28
SQR
DCPL
DPCT
AVSZ3
AVSZ4
0x30
RTPT
0x38
GPF
GPL
NCCT
rs+b20 $B$r%3!<%I$H0lBP0l$KBP1~$5$;$k$N$O!"$?$@$N47=,$G$"$k!#(J
I($BL?Na(J)$B%-%c%C%7%e(J
$B%M%C%H$d$m$&$<$N5-=R$K$O=EMWIt$G$"$k$[$I8m$j$,$"$k$N$G!"Cm0U$,I,MW$G$"$k!#(J
$B$^$:%a%b%j6u4V$H%-%c%C%7%e(J($B%P!<%9%HE>Aw(J)$B$NM-8z!?L58z$N4X78$r<($7$?I=$K$*$$$F(J
$B%a%b%j6u4V$r
I$B%-%c%C%7%e$,M-8z$JO@M}%a%b%j6u4V>e$NL?Na%3!<%I$ODL>o$NLs#5G\$NB.EY$G(JCPU$B$KFI$_9~$^$l$^$9!#(J
$B$^$?!"0lC6FI$_9~$^$l$?L?Na%3!<%I$O(JCPU$BFb$N(JI$B%-%c%C%7%e%a%b%j$KJ]B8$5$l$^$9$N$G!"(J
$B:F
$B$H$$$&J8>O$b$*$+$7$$!#(J
$B8eH>$NJ8>O$,$"$k$+$i!"A0H>$O%-%c%C%7%e%_%9$7$?>uBV$G$Ne$K$O$J$i$J$$!#(J
$B%9%/%i%C%A%Q%C%I(J D$B%-%c%C%7%e(J
$BO@M}%"%I%l%9(J0x1F800000$B$K%^%C%T%s%0$5$l$?!"%9%H!<%k$NH/@8$7$J$$(JRAM$B$r(J
PlayStation
$B$N!VJ}8@!W$H$7$F(JD$B%-%c%C%7%e$H8F$s$G$$$k$,!"(J
$B$3$l$O0lHLE*$J0UL#$N(JD$B%-%c%C%7%e$G$O$J$$!#(J
$B0lHLE*$J0UL#$N(JD$B%-%c%C%7%e$O(J PlayStation $B$K$OB8:_$7$J$$!#(J
GTE(Geometry Transformation Engine
$B%0%i%U%#%C%/%G!<%?@8@.%W%m%;%C%5(J)
$B5U?t%F!<%V%k(J
RTPS,RTPT$BL?Na$K$*$$$F!"Ej1FJQ4978?t(J
(int) (h * 65536 / Sz + 0.5)
$B$,5a$a$i$l$k$,!"
(h * iSz + (1 << (N - 1))) >> N
$B$,9T$o$l$k!#(JiSz$B$O(J0x10000$B!A(J0x1FFFF$B$NHO0O$G$"$j!">.?tIt(J16$B%S%C%H$NIbF0>.?t$KAjEv$9$k!#(J
iSz$B$OI,$:$7$b(J
(65536 << N) / Sz
$B$K$O$J$C$F$$$J$$$N$G!"%V%k!<%H%U%)!<%9%"%?%C%/$K$h$kC5:w$,I,MW$K$J$k!#(J
Sz:32768$B!A(J65535(N=16)$B$K$D$$$F7k2L$r<($9!#(J
Sz:0$B!A(J32767$B$K$D$$$F$O!"(JN$B$r8:$i$9$@$1$J$N$G3d0&$9$k!#(J
$B%(%_%e%l!<%HK!(J
$BF0E*%3%s%Q%$%kK!$N0lNc(J
$B%3!<%II=$+$iJ,$+$k$h$&$K(JR3000$B$OC1=c$JL?Na$@$1$G9=@.$5$l$F$*$j!"4{$K%^%$%/%m%3!<%I$G$"$k$H$b8@$($k!#(J
$B=>$C$F!"0l%3!<%I$KBP$7$F0l8D$N%3%s%Q%$%k:Q$_%G!<%?$rM=$aMQ0U$7!"
uchar __SRAV[] = {
0x8B, 0x0D, '\\', '\\', '\\', '\\', /* 00 mov ecx,[GPR[rs]] 02 &GPR[rs] */
0xA1, '\\', '\\', '\\', '\\', /* 06 mov eax,[GPR[rt]] 07 &GPR[rt] */
0xD3, 0xF8, /* 0B sar eax,cl */
0xA3, '\\', '\\', '\\', '\\' /* 0D mov [GPR[rd]],eax 0E &GPR[rd] */
};
uchar __SRLV[] = {
0x8B, 0x0D, '\\', '\\', '\\', '\\', /* 00 mov ecx,[GPR[rs]] 02 &GPR[rs] */
0xA1, '\\', '\\', '\\', '\\', /* 06 mov eax,[GPR[rt]] 07 &GPR[rt] */
0xD3, 0xE8, /* 0B shr eax,cl */
0xA3, '\\', '\\', '\\', '\\' /* 0D mov [GPR[rd]],eax 0E &GPR[rd] */
};
$B$NMM$J%G!<%?$rM=$aMQ0U$7!"
#define _rs_ ((opcode >> 21) & 31)
#define _rt_ ((opcode >> 16) & 31)
#define _rd_ ((opcode >> 11) & 31)
#define CPU_SET_SRAV() \
{ \
*(ulong *) (&__SRAV[0x02]) = (ulong) & GPR[_rs_]; \
*(ulong *) (&__SRAV[0x07]) = (ulong) & GPR[_rt_]; \
*(ulong *) (&__SRAV[0x0E]) = (ulong) & GPR[_rd_]; \
CPU_OPCODE = __SRAV; \
CPU_OPSIZE = sizeof(__SRAV); \
}
#define CPU_SET_SRLV() \
{ \
*(ulong *) (&__SRLV[0x02]) = (ulong) & GPR[_rs_]; \
*(ulong *) (&__SRLV[0x07]) = (ulong) & GPR[_rt_]; \
*(ulong *) (&__SRLV[0x0E]) = (ulong) & GPR[_rd_]; \
CPU_OPCODE = __SRLV; \
CPU_OPSIZE = sizeof(__SRLV); \
}
$B$NMM$KJQ?tItJ,$r=q$-49$($k!#8e$O$3$l$rO"7k%3%T!<$7$F4X?t$r:n@.$7!"=PMh>e$,$C$?4X?t$r$B%3%s%Q%$%k:Q%G!<%?$N:n@.K!$N0lNc(J
$B%"%;%s%V%i$GD>@\5-=R$9$k0J30$K!"0J2<$NMM$K(JC$B$G5-=R$7!"(J
$B%U%!%$%k=PNO!"5U%"%;%s%V%k$9$k$N$b0l$D$N
#define _rs_ 1 /* $BJQ?tItJ,$J$N$GE,Ev(J */
#define _rt_ 2 /* $BJQ?tItJ,$J$N$GE,Ev(J */
#define _rd_ 3 /* $BJQ?tItJ,$J$N$GE,Ev(J */
long GPR[32];
void __SRAV(void)
{
GPR[_rd_] = GPR[_rt_] >> GPR[_rs_];
}
void ____SRAV(void)
{
}
void __SRLV(void)
{
GPR[_rd_] = ((ulong) GPR[_rt_]) >> GPR[_rs_];
}
void ____SRLV(void)
{
}
void SaveToFile(char *lpFileName, void *lpStart, void *lpEnd)
{
FILE *fp;
if (NULL == (fp = fopen(lpFileName, "wb"))) {
return;
}
fwrite(lpStart, (ulong) lpEnd - (ulong) lpStart, 1, fp);
fclose(fp);
}
int main(void)
{
SaveToFile("SRAV.X86", __SRAV, ____SRAV);
SaveToFile("SRLV.X86", __SRLV, ____SRLV);
return(0);
}
INTC($B3d$j9~$_%3%s%H%m!<%i(J)
I_STAT
$B%m!<%I$7$?>l9g(J
$B%S%C%H%Q%?%s(J
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
S
S
P
U
S
S
I
O
S
C
O
M
A
S
T
M
R
2
S
T
M
R
1
S
T
M
R
0
S
D
M
A
C
S
C
D
S
G
P
U
S
V
S
Y
N
C
$B%U%#!<%k%I(J
SVSYNC
VSYNC$B$N3d$j9~$_%9%F!<%?%9(J
0 = VSYNC$B$+$i3d$j9~$_MW5a$,$J$$(J
1 = VSYNC$B$+$i3d$j9~$_MW5a$,$"$C$?(J
SGPU$B!A(JSSPU
SVSYNC$B$HF1MM(J
$B%9%H%"$7$?>l9g(J
$B%S%C%H%Q%?%s(J
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
C
S
P
U
C
S
I
O
C
C
O
M
A
C
T
M
R
2
C
T
M
R
1
C
T
M
R
0
C
D
M
A
C
C
C
D
C
G
P
U
C
V
S
Y
N
C
$B%U%#!<%k%I(J
CVSYNC
VSYNC$B$N3d$j9~$_%/%j%"(J
0$B"*(JSVSYNC$B$r(J0$B$K$9$k(J
CGPU$B!A(JCSPU
CVSYNC$B$HF1MM(J
I_MASK
$B%m!<%I$7$?>l9g(J
$B%9%H%"$7$?CM$,JV$k(J
$B%9%H%"$7$?>l9g(J
$B%S%C%H%Q%?%s(J
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
M
S
P
U
M
S
I
O
M
C
O
M
A
M
T
M
R
2
M
T
M
R
1
M
T
M
R
0
M
D
M
A
C
M
C
D
M
G
P
U
M
V
S
Y
N
C
$B%U%#!<%k%I(J
MVSYNC
VSYNC$B$N3d$j9~$_%^%9%/(J
MVSYNC$B$H(JSVSYNC$B$,$H$b$K(J1$B$G$"$k8B$j!"(JINTC$B$O(JCPU$B$K3d$j9~$_$rMW5a$7B3$1$k!#(J
MGPU$B!A(JMSPU
MVSYNC$B$HF1MM(J
DMAC(DMA$B%3%s%H%m!<%i(J)
$B=`HwCf(J
$B%?%$%^(J
$B%?%$%^$O@_Dj$K$h$j%7%9%F%`%/%m%C%/$G$O$J$/%T%/%;%kI=<($d?eJ?F14|$K$h$j%+%&%s%H%"%C%W$5$;$k$3$H$,$G$-$k!#(J
$BI=(J. $B%+%&%s%H%?%$%_%s%0(J
$B%?%$%W(J
$B2hLLI}(J
[A]
[B]$B%7%9%F%`%/%m%C%/(J/$B?eJ?F14|(J
$B%7%9%F%`%/%m%C%/(J/$B%T%/%;%kI=<((J
$B%7%9%F%`%/%m%C%/(J/$B?bD>F14|(J
$BHs%$%s%?!<%l!<%9(J
$B%$%s%?!<%l!<%9(J
$B6v?t%U%#!<%k%I(J
$B4q?t%U%#!<%k%I(J
NTSC
256
566107.5005
[A]/263
[A]/89683=[B]/341
[B]*263
[B]*263
[B]*262
320
[A]/112038=[B]/426
368
[A]/128081=[B]/487
512
[A]/179366=[B]/682
640
[A]/224339=[B]/853
PAL
256
674399.5367
[A]/314
[A]/106760=[B]/340
[B]*314
[B]*313
[B]*312
320
[A]/133764=[B]/426
368
[A]/152604=[B]/486
512
[A]/213834=[B]/681
640
[A]/267214=[B]/851
$B%a%$%s%a%b%j(J(Main Memory or RAM $B
$B=`HwCf(J
OS ROM(or BIOS $B4pK\A`:n%7%9%F%`5-21AuCV(J)
$B=`HwCf(J
MDEC(Motion Decoder $B%G!<%??-D9%(%s%8%s(J)
$B=`HwCf(J
PIO($B3HD%%Q%i%l%k%]!<%H(J)
$B=`HwCf(J
SIO(or COMB $B3HD%%7%j%"%k%]!<%H(J)
$B=`HwCf(J
GPU($B%0%i%U%#%C%/IA2h=hM}%W%m%;%C%5(J)
GPU_DATA
$B%m!<%I$7$?>l9g(J
$B4pK\E*$K$OFbIt$N%j%6%k%H%l%8%9%?$NCM$,JV$k$,!"(J
StoreImage$B%3%^%s%Il9g$O!"$=$N7k2L$,JV$k!#(J
$B%j%6%k%H%l%8%9%?$K$O!"(J GPU$B@)8f7O%3%^%s%I$N7k2L$d(J
StoreImage$B%3%^%s%I$N:G=i$N7k2L$,3JG<$5$l$k!#(J
$BESCf$N7k2L$O3JG<$5$l$J$$!#(J
$B%9%H%"$7$?>l9g(J
$B%G!<%?$OFbIt$NB?L\E*(JFIFO$B$K3JG<$5$l!"(J
$BI,MW$J?t$N%G!<%?$,Cy$^$k$H!"(J
GPU$BIA2h7O%3%^%s%I$,
GPU_CTRL
$B%m!<%I$7$?>l9g(J
$B%S%C%H%Q%?%s(J
31
30
29
28
27
26
25
24
23
22
21
20
19
18
17
16
15
14
13
12
11
10
09
08
07
06
05
04
03
02
01
00
o
d
e
t
m
o
d
e
i
s
e
m
p
t
y
d
a
t
a
r
d
y
i
s
i
d
l
e
d
m
a
r
d
y
r
e
s
e
r
v
e
d
i
s
s
t
o
p
i
s
i
n
t
e
r
i
s
r
g
b
2
4
i
s
p
a
l
v
r
e
s
h
r
e
s
1
h
r
e
s
2
r
e
s
e
r
v
e
d
u
n
k
n
o
w
n
r
e
s
e
r
v
e
d
p
b
c
p
b
w
d
f
e
d
t
d
t
p
a
b
r
t
y
t
x
$B%U%#!<%k%I(J
ode
$B%S%G%*=PNO$NAv::%U%#!<%k%I$,%U%l!<%`%P%C%U%!>e$N4q?t%i%$%s$+$I$&$+!#(J
$B$h$C$F%$%s%?!<%l!<%9$G$O?tI4?eJ?F14|Kh!"(J
$BHs%$%s%?!<%l!<%9$G$O(J1$B?eJ?F14|Kh(J($B;XDj%V%i%s%/6h4V$O(J0$B$N$^$^(J)$B$KJQ2=$9$k!#(J
tmode
$BE>Aw%b!<%I(J
isempty
FIFO($B%Q%1%C%H%P%C%U%!(J)$B$,6u$+$I$&$+(J
datardy
$B%G!<%?%l%G%#(J
isidle
$B%"%$%I%k>uBV$G$"$k(J
dmardy
DMA$B%l%G%#(J
isstop
$B%S%G%*=PNO$rDd;_$7$F$$$k(J
isinter
$B%$%s%?!<%l!<%9$G=PNO$7$F$$$k(J($B?bD>2rA|EY$rG\L)EY$K$9$k>l9g$OI,?\(J)
isrgb24
rgb24$B%S%C%H%b!<%I$G$"$k(J
ispal
PAL$B%b!<%I$G$"$k(J
vres
$B?bD>2rA|EY(J
hres1
$B?eJ?2rA|EY(J1
hres2
$B?eJ?2rA|EY(J2($B?eJ?2rA|EY(J1$B$OL58z$K$J$k(J)
unknown
$BITL@(J($B%*%s!?%*%UA`:n$O2DG=(J)
pbc
$BM%@hEY%S%C%H%3%s%Z%"$r9T$&(J
pbw
$BM%@hEY%S%C%H$r=q$-9~$`(J
dfe
$B%$%s%?!<%l!<%9$G$"$C$F$b!"(J
$BHs%$%s%?!<%l!<%9$HF1MM!"(J
$BAv::%U%#!<%k%I$K4X78$J$/IA2h$9$k(J
dtd
$B%G%#%6=hM}$r9T$&(J
tp
$B%F%/%9%A%c$N%S%C%H%b!<%I(J
abr
$BH>F)L@N((J
ty
$B%F%/%9%A%c%Z!<%8$N(JY$B:BI8(J
tx
$B%F%/%9%A%c%Z!<%8$N(JX$B:BI8(J
$B%9%H%"$7$?>l9g(J
GPU$B@)8f7O%3%^%s%I$,
SPU($B%5%&%s%I=hM}%W%m%;%C%5(J)
$B%V%m%C%/?^(J
$B%\%$%9(J
$BA4(J24$B%A%c%M%k$NFbB"2;8;$N$3$H!#(J
$B3F%A%c%M%k$OFHN)$K(J
$B!VGH7A%G!<%?(J(ADPCM$B$^$?$O6&DL%N%$%:(J)$B!_%(%s%Y%m!<%W!_%\%$%92;NL(J($B:81&FHN)(J)$B!W(J
$B$N;0
$B%(%s%Y%m!<%W(J
$BGH7A%G!<%?$K$+$1$k%P%$%"%9$N$3$H!#(J
$BI=(J. ADSR$B%l!<%H(J
$B%l!<%H(J
$B
$BJ,Jl(J
$BJ,;R(J($BA}2C(J)
$BJ,;R(J($B8:>/(J)
0$B!A(J47
1
(7 - (RATE & 3)) << (11 - (RATE >>
2))
(-8 + (RATE & 3)) << (11 - (RATE >>
2))
48$B!A(J
1 << ((RATE >> 2) - 11)
7 - (RATE & 3)
-8 + (RATE & 3)
$B%G%#%1%$%l!<%H!"%j%j!<%9%l!<%H$O(J1/4$B$G;XDj$5$l$k$N$G(J4$BG\$7$F9M$($k(J
$BI=(J. ADSR$B%b!<%I(J
$B%b!<%I(J
$BFbMF(J
$B@~7AA}2C(J
$BJ,Jl%5%s%W%j%s%0;~4VKh$K%(%s%Y%m!<%W%l%Y%k$KJ,;R(J($BA}2C(J)$B$r2C;;(J
$B@~7A8:>/(J
$BJ,Jl%5%s%W%j%s%0;~4VKh$K%(%s%Y%m!<%W%l%Y%k$KJ,;R(J($B8:>/(J)$B$r2C;;(J
$B;X?tA}2C(J
$B4pK\E*$K$O@~7AA}2C$HF1$8$@$,(J
$B%(%s%Y%m!<%W%l%Y%k$,(J0x6000$B0J>e$K$J$k$H%l!<%H$,(J8$BA}2C(J
$B;X?t8:>/(J
$BJ,Jl%5%s%W%j%s%0;~4VKh$K%(%s%Y%m!<%W%l%Y%k$K(J
(($BJ,;R(J($B8:>/(J) * $B%l%Y%k(J) >> 15)$B$r2C;;(J
$BI=(J. ADSR$B%9%F!<%?%9(J
$B%9%F!<%?%9(J
$B3+;O>r7o(J
$B=*N;>r7o(J
$BK0OB2<8B(J
$BK0OB>e8B(J
$B=i4|2=(J
$B%-!<%*%s$9$k(J
$B%"%?%C%/%l!<%H$K0MB8$7$?=i4|2=;~4V(J[*] $B$,7P2a$9$k(J
0
0
$B%"%?%C%/(J
$B=i4|2=$,=*N;$9$k(J
$B%(%s%Y%m!<%W%l%Y%k$,(J32767$B0J>e$K$J$k(J
32767
$B%G%#%1%$(J
$B%"%?%C%/$,=*N;$9$k(J
$B%(%s%Y%m!<%W%l%Y%k$,%5%9%F%$%s%l%Y%kL$K~$K$J$k(J
0
$B%5%9%F%$%s(J
$B%G%#%1%$$,=*N;$9$k(J
$B%-!<%*%U$9$k(J
0
32767
$B%j%j!<%9(J
$B%-!<%*%U$9$k(J
$B%(%s%Y%m!<%W%l%Y%k$,(J0$B0J2<$K$J$k(J
-1
$BDd;_(J
$B!&%j%j!<%9$,=*N;$9$k(J
$B!&(JADPCM$B%G%3!<%@$,6/@)Dd;_$9$k(J
$B%-!<%*%s$9$k(J
0
0
[*]$B%"%?%C%/%l!<%H(J0$B!A(J47$B$G$O(J5$B%5%s%W%j%s%0;~4V$G!"(J
$B$=$l0J>e$O=y!9$KC;$/$J$k!#(J
$B$3$l$O(JADPCM$B%G%3!<%I$N%U%#%k%?=hM}$K5/0x$9$k!"(J
$B;D6A$,>C$($k$?$a$N;~4V$G$"$k!#(J
$B%l!<%H$,Bg$-$/$J$k$H!"%"%?%C%/$NJ}$G(J0$B$K$J$k;~4V$,A}$($k$+$i!"(J
$B$=$NJ,C;$/$FNI$$$N$G$"$k!#(J
ADPCM$BGH7A(J
ADPCM$B%G%3!<%@$,05=L%G!<%?$r%G%3!<%I$7$FF@$?%5%s%W%j%s%0GH7A$N$3$H!#(J
$B=EMW$J$N$O(JADPCM$B%G%3!<%@$,(J($B%j%P!<%V%W%m%;%9$b(J)$B>o;~2TF0$7$F$$$k$3$H$@$m$&!#(J
$BDd;_$7$?$h$&$K8+$($F!"$=$l$O%(%s%Y%m!<%W$r6/@)Dd;_$5$;$?7k2L$K$9$.$J$$!#(J
$B$D$^$j!">o$K3d$j9~$_$,H/@8$9$k2DG=@-$,$"$k!#(J
$B$7$+$7$J$,$i!">o;~2TF0$N%(%_%e%l!<%7%g%s$O!"9bIi2Y$N%o%j$K8+JV$j$,>.$5$$!#(J
$B%b%i%H%j%"%`4|4V$r@_$1$k$N$,8=
$BI=(J. $B%k!<%W%U%i%0$N%S%C%HB0@-(J
$B%S%C%H%Q%?%s(J
$BB0@-(J
0x04
$B%+%l%s%H%V%m%C%/$N@hF,$r%k!<%W%"%I%l%9$K@_Dj$9$k!#(J
0x02
$B%(%s%Y%m!<%W$r6/@)Dd;_$7$J$$!#(J
0x01
$B%+%l%s%H%V%m%C%/$r1iAU8e!"%k!<%W%"%I%l%9$K%8%c%s%W$9$k!#(J
0x02$B$,@_Dj$5$l$F$$$J$$$H!"%(%s%Y%m!<%W$r6/@)Dd;_$9$k!#(J
$BAH$_9g$o$;$H$7$F$O!"0J2<$N(J5$BDL$j$H$J$k!#(J
$BI=(J. $B%k!<%W%U%i%0$N0UL#(J
$B%k!<%W%U%i%0(J
$B0UL#(J
0x06,0x04
$B%+%l%s%H%V%m%C%/$N@hF,$r%k!<%W%"%I%l%9$K@_Dj$9$k!#(J
0x03
$B%+%l%s%H%V%m%C%/1iAU8e!"%k!<%W%"%I%l%9$K%8%c%s%W$9$k!#(J
0x07
$B>e#2$D$NAH$_9g$o$;$K$h$j!"%+%l%s%H%V%m%C%/$r1d!9$H1iAU$9$k!#(J
0x01
$B%k!<%W%"%I%l%9$K%8%c%s%W$9$k$,!"%(%s%Y%m!<%W$rDd;_$9$k$N$GL52;$K$J$k!#(J
0x05
$B%+%l%s%H%V%m%C%/$r1d!9$H1iAU$9$k$,!"%(%s%Y%m!<%W$rDd;_$9$k$N$GL52;$K$J$k!#(J
$B%k!<%W%"%I%l%9$,6/@)E*$K@_Dj$5$l$?>l9g$O!"$3$N8B$j$G$O$J$$!#(J
$B6&DL%N%$%:GH7A(J
ADPCM$BGH7A$NBX$o$j$KMQ$$$k%i%s%@%`GH7A$N$3$H!#(J
$B%A%c%M%kKh$K$I$A$i$+$rA*Br$G$-$k$,!"(J
$B%A%c%M%kKh$K0[$J$k%N%$%:GH7A$rF@$k$H$$$C$?$3$H$O=PMh$J$$!#(J
/* $B%l%Y%kJQ2=;~$N7W;;<0(J */
char Addition[64] = {
1, 0, 0, 1, 0, 1, 1, 0,
1, 0, 0, 1, 0, 1, 1, 0,
1, 0, 0, 1, 0, 1, 1, 0,
1, 0, 0, 1, 0, 1, 1, 0,
0, 1, 1, 0, 1, 0, 0, 1,
0, 1, 1, 0, 1, 0, 0, 1,
0, 1, 1, 0, 1, 0, 0, 1,
0, 1, 1, 0, 1, 0, 0, 1
};
NoiseLevel = (short) (NoiseLevel + NoiseLevel + Addition[(NoiseLevel >> 10) & 63]);
/* $B%l%Y%kJQ2=$N<~4|(J */
Freq = 0x8000 >> (NoiseClock >> 2);
/* $B<~4|$,H>8:$9$kIQEY(J */
Half = ((NoiseClock & 3) * 2) / (4 + (NoiseClock & 3));
$B%j%P!<%V(J
/*
* PlayStation Reverberation Algorithm (C)Dr.Hell, 2005
* $B87L)$K$O!":81&$N=hM}$N%?%$%_%s%0$O(J1$B%5%s%W%j%s%0;~4V$:$l$F$*$j!"(J
* $B3F!9$O(J2$B%5%s%W%j%s%0;~4VKh$K
CD($B%3%s%Q%/%H%G%#%9%/FI9~$_AuCV(J)
$BI=(J. CD$B%3%^%s%II=(J - $B0z?t(J
$BHV9f(J
$B%3%^%s%IL>(J
$B?t(J
1
2
3
0x00
Sync
0
0x01
Nop
0
0x02
Setloc
3
AMin
ASec
AFrac
0x03
Play
0/1
Track
0x04
Forward
0
0x05
Backward
0
0x06
ReadN
0
0x07
Standby
0
0x08
Stop
0
0x09
Pause
0
0x0A
Reset
0
0x0B
Mute
0
0x0C
Demute
0
0x0D
Setfilter
2
File
Chan
0x0E
Setmode
1
Mode
0x0F
Getparam
0
0x10
GetlocL
0
0x11
GetlocP
0
0x12
ReadT
1
0x01
0x13
GetTN
0
0x14
GetTD
1
Track
0x15
SeekL
0
0x16
SeekP
0
0x17
Setclock
0x18
Getclock
0x19
Test
1
Num
0x1A
Id
0
0x1B
ReadS
0
0x1C
Init
0
0x1D
0x1E
ReadTOC
0
0x1F
$BI=(J. CD$B%3%^%s%II=(J - $B0l
$BHV9f(J
$B%3%^%s%IL>(J
$B=jMW(J
$B%/%m%C%/(J
$B&R(J%
$B3d$j(J
$B9~$_(J
$B?t(J
1
2
3
4
5
6
7
8
0x00
Sync
0x03
1
Stat
0x01
Nop
30547
23
0x03
1
Stat
0x02
Setloc
31557
7
0x03
1
Stat
0x03
Play
51444
0x03
1
Stat
0x04
Forward
193250
12
0x03
1
Stat
0x05
Backward
125119
0
0x03
1
Stat
0x06
ReadN
75701
7
0x03
1
Stat
0x07
Standby
74753
5
0x03
1
Stat
0x08
Stop
43503
13
0x03
1
Stat
0x09
Pause
27648
24
0x03
1
Stat
0x0A
Reset
80295
12
0x03
1
Stat
0x0B
Mute
36114
41
0x03
1
Stat
0x0C
Demute
32768
10
0x03
1
Stat
0x0D
Setfilter
39105
48
0x03
1
Stat
0x0E
Setmode
41082
52
0x03
1
Stat
0x0F
Getparam
40163
25
0x03
5
Stat
Mode
0x00
File
Chan
0x10
GetlocL
43335
20
0x03
8
$B%;%/%?$N(J13$BHVL\!A(J20$BHVL\$N%G!<%?(J($B$D$^$j(JRead,SeekL$B$,I,MW(J)
0x11
GetlocP
37937
17
0x03
8
Track
Index
Min
Sec
Frac
AMin
ASec
AFrac
0x12
ReadT
98762
13
0x03
1
Stat
0x13
GetTN
40833
0x03
3
Stat
Begin
End
0x14
GetTD
39091
0x03
3
Stat
AMin
ASec
0x15
SeekL
41771
25
0x03
1
Stat
0x16
SeekP
62041
40
0x03
1
Stat
0x17
Setclock
0x18
Getclock
0x19
Test(0x20)
40864
14
0x03
4
Year
Mon
Day
Ver
0x1A
Id
30980
22
0x03
1
Stat
0x1B
ReadS
81925
2
0x03
1
Stat
0x1C
Init
25847
29
0x03
1
Stat
0x1D
0x1E
ReadTOC
73292
10
0x03
1
Stat
0x1F
$BI=(J. CD$B%3%^%s%II=(J -
$BFs
$BHV9f(J
$B%3%^%s%IL>(J
$B=jMW(J
$B%/%m%C%/(J
$B&R(J%
$B3d$j(J
$B9~$_(J
$B?t(J
1
2
3
4
5
6
7
8
0x00
Sync
0x01
Nop
0x02
Setloc
0x03
Play
0x01
8
Stat
Track
Index
A/Min
A/Sec
A/Frac
LvHi
LvLo
0x04
Forward
0x05
Backward
0x06
ReadN
0x01
1
Stat
0x07
Standby
51429486
55
0x02
1
Stat
0x08
Stop
12767194
2
0x02
1
Stat
0x09
Pause
3665794
0
0x02
1
Stat
0x0A
Reset
3656479
6
0x02
1
Stat
0x0B
Mute
0x0C
Demute
0x0D
Setfilter
0x0E
Setmode
0x0F
Getparam
0x10
GetlocL
0x11
GetlocP
0x12
ReadT
57701665
0
0x02
1
Stat
0x13
GetTN
0x14
GetTD
0x15
SeekL
0x02
1
Stat
0x16
SeekP
0x02
1
Stat
0x17
Setclock
0x18
Getclock
0x19
Test(0x20)
0x1A
Id
19658
1
0x02
8
0x02
0x00
0x20
0x00
'S'
'C'
'E'
'I'
0x1B
ReadS
0x01
1
Stat
0x1C
Init
0x1D
0x1E
ReadTOC
31330364
14
0x02
1
Stat
0x1F
$BI=(J. CD$B%3%^%s%II=(J - $BJdB-;v9`(J
$B%3%^%s%IL>(J
$BJdB-;v9`(J
Play
Setmode$B$G(J0x04$B$rN)$F$k$H!"(JAFrac(BCD)$B$N2<0L(J4$B%S%C%H$,(J0$B$N;~$K%l%]!<%H$rJV$9!#>e0L$,4q?t$N;~$O0LCV>pJs$,%H%i%C%/AjBP$K$J$k$,!"$=$N:]%U%i%0$H$7$F(JSec(BCD)$B$N(J0x80$B$,N)$D!#(J
Reset
$B0LCV$b%[!<%`%]%8%7%g%s$KLa$k!#(J
ReadT
$B0z?t$O(J0x01$B0J30>e
GetTD
$B0z?t$r(J0x00$B$K$9$k$HA4%H%i%C%/$N9g7W$K$J$k!#(J
Init
$B>5G'8e$b;C$/;~4V$r$"$1$kI,MW$,$"$k!#(J
$BDL?.%G%P%$%9(J(Comms Device or COMA)
$B=`HwCf(J
$BFH<+2r@O%W%m%0%i%`72(J
$B=`HwCf(J
$B%(%_$e$C$F$7$^$&$^(J
$BN(JXEBRA/ARBEX)$B!W$r8x3+$9$k!#(J
address_is_drhell-lj@infoseek.jp