Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
ファミコンエミュレータを作った / Yeeh! PHP NES emulator's here!!
HASEGAWA Tomoki
October 31, 2018
Technology
1
270
ファミコンエミュレータを作った / Yeeh! PHP NES emulator's here!!
PHP勉強会@東京 #131 の発表資料です。
HASEGAWA Tomoki
October 31, 2018
Tweet
Share
More Decks by HASEGAWA Tomoki
See All by HASEGAWA Tomoki
PHPから見たハードウェア制御 / Hardware control from PHP
tomzoh
0
250
PHPで作るオンラインカンファレンス向け録画システム / Building talk pre-recording system with PHP
tomzoh
1
2.3k
オンラインカンファレンスのお仕事 共有会 映像配信・動画作成編 iOSDC Japan 2020 / iOSDC Japan 2020 Pre-recording online conference case study
tomzoh
0
140
カンファレンス事前録画システムを作りたいあなたに役立つハマりポイント回避術 / How to avoid the pitfall of conference pre-recording system
tomzoh
4
240
「CPUとは何か」をPHPで考える / What is a CPU?
tomzoh
0
970
PHPでファミコンエミュレータを作る / Create an NES emulator with PHP
tomzoh
1
290
CPUとは何か / What's a CPU
tomzoh
2
620
マリオが土管に入った時に起こっていたほんとうのこと / What's happen after Mario goes into a pipe.
tomzoh
0
1.1k
ランキング実装に失敗するとこうなるという例 / Broken ranking
tomzoh
1
440
Other Decks in Technology
See All in Technology
SI企業が「アジャイル推し」になったら 幸せになれますか?/Can SI company be happy if it becomes “Agile stan” ?
chinmo
1
1.2k
ソフトウェアライセンス 2022 / Software License 2022
cybozuinsideout
PRO
1
1.1k
Lessons Learned from Scaling Infrastructure as Code
joatmon08
0
800
JJUG2022_spring_Keycloak (Red Hat Single Sign-on)
tinoue
0
200
さいきんのRaspberry Pi。 / osc22do-rpi
akkiesoft
6
5.2k
Modern Android dependency injection
hugovisser
1
130
Accelerated Computing for NLP on AWS
shokout
1
210
Swift Regex Builder
kumamotone
1
100
The application of formal methods in Kafka reliability engineering
line_developers
PRO
1
190
GeoLocationAnchor and MKTileOverlay
toyship
0
110
UIKitのアップデート #WWDC22
akatsuki174
4
330
音のような言葉 〜ちゃちゃっとチャットで楽しむちょっとしたコツ〜 / words like sounds
satoryu
1
1.4k
Featured
See All Featured
What's new in Ruby 2.0
geeforr
336
30k
GraphQLとの向き合い方2022年版
quramy
16
8.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
Code Review Best Practice
trishagee
43
9.2k
Optimizing for Happiness
mojombo
365
63k
StorybookのUI Testing Handbookを読んだ
zakiyama
5
2.3k
Web Components: a chance to create the future
zenorocha
303
40k
What the flash - Photography Introduction
edds
62
10k
Building a Scalable Design System with Sketch
lauravandoore
448
30k
Designing the Hi-DPI Web
ddemaree
272
32k
Embracing the Ebb and Flow
colly
73
3.4k
Navigating Team Friction
lara
175
11k
Transcript
୩ஐر ϑΝϛίϯΤϛϡϨʔλΛ࡞ͬͨ
୩ஐر !UPN[PI
୩ஐر !UPN[PI ΤϛϡϨʔλͷΛॻ͖·ͨ͠
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
None
None
8FC%FWFMPQNFOUXJUI 8&"3&)*3*/( IUUQXXXEHDJSDVTDPN 0NPUFTBOEP 5PLZP
ࠓͷςʔϚ
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF/JOUFOEP'BNJDPN$POTPMF4FU'-QOH
ϑΝϛίϯΤϛϡϨʔλΛ࡞ͬͨ
ΤϛϡϨʔλ
QIQUFSNJOBMOFTFNVMBUPS
None
%FNP
IUUQTXXXIBTFHBXBUPNPLJDPNCMPHQIQUFSNJOBMOFTFNVMBUPS
͡Ίʹँࣙ
None
IUUQTCVJMEFSTDPOJPUPLZPTFTTJPOBBCDFECG
ײಈͱিಈ
ࣸܦ
ײँ
ͯ͞ຊ
͖ͬ͞ͷࣗݾհ
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
ϥΠϑϫʔΫ ςοΫΧϯϑΝϨϯεӡӦࢀՃ 8FCJ04ΞϓϦ։ൃ Ϗʔϧ $16 ϨτϩήʔϜػ ిࢠ࡞
αοΧʔ؍ઓ ϨϯλϧΧʔτϨʔε ʜ σδλϧαʔΧεגࣜձࣾ ෭ஂ$50 !UPN[PI
࣌ؒͰͤΔͱࢥ͏
ࠓ͕࣌ؒ
ΤϛϡϨʔλͷ໘ന͍ͱ͜Ζ ͘͝Ұ෦͝հ
ΤϛϡϨʔλͷ໘ന͍ͱ͜Ζ ͘͝Ұ෦͝հ Γͷ෦ʢ࠾͞ΕΕʣͲ͔͜ͷ 1)1ΧϯϑΝϨϯεPS࣍ճҎ߱ʹʜ
ϑΝϛίϯͷجૅࣝ
$16 ϑΝϛίϯͷϋʔυΣΞߏ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ ίϯτϩʔϥ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 ίϯτϩʔϥ
83". ,# $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ίϯτϩʔϥ
83". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ίϯτϩʔϥ
83". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ը໘දࣔ ίϯτϩʔϥ
83". ,# 73". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ ը໘දࣔ
ίϯτϩʔϥ
Χηοτ 83". ,# 73". ,# 116 $16 ϑΝϛίϯͷϋʔυΣΞߏ "16 αϯυ
ը໘දࣔ ίϯτϩʔϥ
ࠓ$16ͷ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w "16 %."#$%໋ྩ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w "16 %."#$%໋ྩ "QQMF** 1$Τϯδϯʜ
CJU$16
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU YYGG
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG YYGGGG ,#
ϝϞϦΞΫηε wʙ''''ͷΞυϨεΛࢦఆ wόΠτͷΛಡΈॻ͖ wରϝϞϦʢ30.3".ʣʹݶΒͳ͍
ϝϞϦϚοϓ
ϝϞϦϚοϓ YYGGGGͷ όΠτʹ Կ͕͋Δ͔
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
Χηοτ
None
ըظతͩͬͨ
ઐ༻ήʔϜػͰͳ͘ ൚༻ήʔϜػ
None
༷ʑͳϝʔΧ͔Β ҆ՁʹήʔϜ͕ڙڅ
None
None
ϓϩάϥϜ30.
ϓϩάϥϜ30. $16όε
ϓϩάϥϜ30. $16όε ΩϟϥΫλ30.
ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30. $16όε ΩϟϥΫλ30. 116όε
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ ''''
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ
ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϓϩάϥϜ30.ͷ ΞυϨεϏοτͰ
දݱͰ͖Δ C JUT
$16ͱ wϓϩάϥϜ࣮ߦڥ wϝϞϦʢ30.3".ʣ͔Β໋ྩΛಡΈࠐΜͰ࣮ߦ͢Δ w໋ྩόΠτ wύϥϝλΛ໋࣋ͭྩ͋Δ wϨδελʢมʣΛ࣋ͭ
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD 02 20 10 FB A0 FE A2 05 BD D7 07 C9 0A B0 0C CA 10 F6 AD FF 07 C9 A5 D0 02 A0 D6 20 CC 90 8D 11 40 8D 70 07 A9 A5 8D FF 07 8D A7 07 A9 0F 8D 15 $8000 $8010 $8020 $8030 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ 78 D8 A9 10 8D 00 20 A2 FF
9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS 78 D8 A9 10 8D 00 20 A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
"-%"JNN
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ 78 D8 A9 10 8D 00 20 A2
FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ 78 D8 A9 10 8D 00 20 A2
FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελʹΛೖ͢Δ
%45"BCT
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS "ϨδελʹΛೖ͢Δ
31"&ͷϓϩάϥϜ $78 $D8 $A9 $10 $8D $00 $20 $A2 $ff
$9A $8000 $8001 $8002 $8004 $8007 $8009 SEI CLD LDA #imm STA abs LDX #imm TXS "ϨδελʹΛೖ͢Δ "ϨδελͷΛʹ֨ೲ͢Δ
ΤϛϡϨʔλͷ$16໋ྩ࣮
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ ˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞
"-%"JNN w"Ϩδελʹ໋ྩͷ࣍ͷΛೖ͢Δ case 'LDA': $this->registers->a = $this->fetch($this->registers->pc); $this->registers->p->negative = !!($this->registers->a
& 0x80); $this->registers->p->zero = !$this->registers->a; break; ˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞
˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞ %45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ
˞ίʔυΛҰ෦มߋͯ͠؆ུԽ͍ͯ͠·͢ɻਖ਼͍͠ίʔυQIQUFSNJOBMOFTFNVMBUPSͷ$QVQIQΛ͝ཡ͍ͩ͘͞ %45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ case 'STA': $this->write( $this->fetch($this->registers->pc, "Word"), $this->registers->a);
break;
Ͳ͏ࢥ͍·͔͢ʁ͍͠ʁ
ΉͬͪΌ۪ͳίʔυ
$16ͷ໋ྩ࠷খ୯Ґ
$16ͷ໋ྩ࠷খ୯Ґ
$16ͷ໋ྩ࠷খ୯Ґ ͜͏͢Δ͔͠ͳ͍
໘ന͍Ͱ͢Ͷʂ
ͪͳΈʹʜ
QIQUFSNJOBMHBNFCPZFNVMBUPS
ήʔϜϘʔΠ
ήʔϜϘʔΠ #Z5SBOTGSPN+1&(WFSTJPOBOESFNPWFXIJUFCBDLHSPVOE0SJHJOBMCZ&WBO"NPT.FEJB(BNF#PZ'-KQH 1VCMJD%PNBJO IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE
ήʔϜϘʔΠ w;ϕʔεͷΧελϜ$16ʢγϟʔϓʣ
ήʔϜϘʔΠ w;ϕʔεͷΧελϜ$16ʢγϟʔϓʣ wΞυϨεόεCJUσʔλόεCJU ʢϑΝϛίϯͱಉ͡ʣ
/** * Opcode #0x01. * LD BC, nn * @param
Core $core */ public static function opcode1(Core $core) { $core->registerC = $core->memoryRead($core->programCounter); $core->registerB = $core->memoryRead(($core->programCounter + 1) & 0xFFFF); $core->programCounter = ($core->programCounter + 2) & 0xFFFF; }
/** * Opcode #0x01. * LD BC, nn * @param
Core $core */ public static function opcode1(Core $core) { $core->registerC = $core->memoryRead($core->programCounter); $core->registerB = $core->memoryRead(($core->programCounter + 1) & 0xFFFF); $core->programCounter = ($core->programCounter + 2) & 0xFFFF; } #$Ϩδελʹ໋ྩͷ࣍ͷΛ֨ೲ͢Δ
/** * Opcode #0x02. * LD (BC), A * @param
Core $core */ public static function opcode2(Core $core) { $core->memoryWrite( ($core->registerB << 8) + $core->registerC, $core->registerA); }
/** * Opcode #0x02. * LD (BC), A * @param
Core $core */ public static function opcode2(Core $core) { $core->memoryWrite( ($core->registerB << 8) + $core->registerC, $core->registerA); } #$ϨδελͷΞυϨεʹ"ϨδελͷΛ֨ೲ͢Δ
ಉ͡ʂ
$16ͷΤϛϡϨʔγϣϯ ͲΜͳ$16Ͱಉ͡ײ͡ʹͳΔ
·ͱΊ
·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF w໘ന͍ͷͰΈΜͳಡΜͰΈͯʂͦͯ͠ॻ͍ͯΈͯʂ ࣸܦ͓͢͢Ίɻ ·ͱΊ
wΤϛϡϨʔλͷίʔυܾ͍ͯ͠͠ͷͰͳ͍ w$16Ҏ֎ฉ͖͔ͨͬͨΒ5XJUUFSʹQIQTUVEZΛ͚ͯ ʮͬͱฉ͖͍ͨʂʯͬͯπΠʔτ͓͍͍ͯͯͩ͘͠͞ʂ wϋʔυΣΞͷ༷Λιʔείʔυͱͯ͠දݱ )BSEXBSFTQFDJpDBUJPOBT$PEF w໘ന͍ͷͰΈΜͳಡΜͰΈͯʂͦͯ͠ॻ͍ͯΈͯʂ ࣸܦ͓͢͢Ίɻ ·ͱΊ
͓ΘΓ !UPN[PI
ࠂ
None
1)1FS,BJHJ 'SJ 4VO .BSEBZT εϙϯαʔืूதʂ IUUQTQIQFSLBJHJKQ
None
1)1ΧϯϑΝϨϯεઋ τʔΫืूத ʢຊʣ ·Ͱ ઋͰͱѲखʂ
༨ஊ
༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ͬͪ͜Λු͔ͤΔͱ ىಈ͠ͳͦ͏ ༨ஊ
খֶੜൿٕ ΧηοτࣼΊࠩ͠ ͬͪ͜Λු͔ͤΔͱ ىಈ͠ͳͦ͏ ͬͪ͜Λු͔ͤΔͱΩϟϥ͕ յΕͨΓͯ͠໘ന͍ͷ͔ʁ ༨ஊ
31"& wϕʔεͷΧελϜ$16ʢϦίʔʣ w 116 %."#$%໋ྩ
CJU$16
IUUQTKBXJLJQFEJBPSHXJLJϑΝϛϦʔίϯϐϡʔλNFEJB'JMF31"&KQH σʔλόεCJU ΞυϨεόεCJU YYGG YYGGGG ,#
༨ஊ
༨ஊ
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1(
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ YYGGGG
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ ΞυϨεόεʷ ΞυϨ εόε ʷ YYGGGG
༨ஊ IUUQTKBXJLJQFEJBPSHXJLJ.$NFEJB'JMF.$1@+1( σʔλ όεʷ σʔλόεʷ ΞυϨεόεʷ ΞυϨ εόε ʷ YYGGGG
YYGGGGGF .#
IUUQEPXOMPBEJOUFMDPNEFTJHOQFOUJVNEBUBTIUTQEG $$දࣔܧঝ IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE ༨ஊ
IUUQEPXOMPBEJOUFMDPNEFTJHOQFOUJVNEBUBTIUTQEG $$දࣔܧঝ IUUQTDPNNPOTXJLJNFEJBPSHXJOEFYQIQ DVSJE D0ʙD63 A3ʙA31 ༨ஊ
30.ٵ͍ग़͠ ༨ஊ
༨ஊ
༨ஊ
༨ஊ
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD
όοςϦʔόοΫΞοϓ3".,# ϓϩάϥϜ30.,# ϓϩάϥϜ30.,# $ '''' ϫʔΫ3".,# *0ϙʔτ 116
*0ϙʔτ "16 FUD ಡΈॻ͖͢Δ͜ͱͰपลσόΠεͱ ௨৴ *0 ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪ όΠΤϯσΟΞϯ
%45"BCT w"ϨδελͷΛ໋ྩͷ࣍ͷͰࢦఆͨ͠ ΞυϨεʹ֨ೲ͢Δ 78 D8 A9 10 8D 00 20
A2 FF 9A AD 02 20 10 FB AD $8000 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F w"ϨδελͷΛʹ֨ೲ͢Δ ͕ͷܗͰ ֨ೲ͞Ε͍ͯΔ ϦτϧΤϯσΟΞϯ ΨϦόʔཱྀߦه फڭઓ૪ όΠΤϯσΟΞϯ ฏ͕๚Εͨ
͓ΘΓ !UPN[PI