Similar documents
< F31332D8B638E FDA8DD E F1292E6A>

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

ロシア語便覧 1

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

Ë,, ÌÓ ÏÓÈ ÂÈ? ÚÓÚ, ÚÓÚ

<4D F736F F D EC08E7B8FF38BB BD90AC E A837A815B B83578C668DDA97702E646F63>

Microsoft Word - C.....u.K...doc



<4D F736F F D BB388E78CA48B B E6338AAA2B92B290AE2B E646F63>

<4D F736F F D2088CF88F589EF8E9197BF F690EC816A2E646F63>

Microsoft Word - 484号.doc

<4D F736F F D BB388E78CA48B B E6328AAA D655F92B290AE82B382E782C E646F63>


ï ñ ö ò ô ó õ ú ù n n ú ù ö ò ô ñ ó õ ï

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

untitled

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

Ò ÑÔÏÓ ÐÎ ÆÉ z uññòõ w g ÌÊÉÇÍ ˆ ˆ Ð Ö Ò z Ò ÑÔÏÓ Ð ÓÑÐÒÒ ÎÔÖÏÖ ÎÖÐÖÑÕ uôöðöõ Î~ËÍÂÌÉÂ ÑÑÒÕÊ ÉÊÍ ÌÆÇÇ Î Ê ÈÂÊÈÇÊÓÑÐÒÒ ÇÂ z uêèéæíçî ÍÇÊÈÍÂ t Ê Ç ÈÍÂ Â


Microsoft Word - 99

ÊÈÌÊ fêôöôï Ö É É ~ Œ ~ Œ ÈÍÉÆÍ s Ê É Â Ê ÉÉÆÍÇÉ Ê Ê É Ê ÈÍv ÈÍ É ÈÍ Â ÇÍ vèé Ê Ê É ÈÉËÈÆ ÊÌÉ Ê~Æ Ê Ê ÈÍfÆ Ê ÊÉÆÉÊ Ê Ê ÈÍ Ê ÈÉËÈÆ

Microsoft Word - p2-11堀川先生_紀要原稿_ final.doc

untitled

<4D F736F F D208B7B8DE890BC5F90E096BE8E9197BF5F2D F4390B32E646F63>

<4D F736F F D2092B28DB882C982C282A282C42E646F63>

Microsoft Word - TR4_Effort.doc

< F31332D817992B48DC A8CCB8E9F81458CA28E942E6A7464>

Microsoft Word - ’V‘é−gŁš.doc

untitled

Microsoft Word - kawanushi 1.doc

"05/05/15“ƒ"P01-16

ロシア人の名前

Microsoft Word - AS017U.b......_...j.doc

Microsoft Word - −C−…−gŁš.doc

Microsoft Word - ’ìfià„GflV‘é“ÄŁ]›¿0909.doc

<4D F736F F D2088CF88F589EF8E9197BF816991E596EC927C A2E646F63>

(WP)

‰IŠv9802 (WP)

untitled

Microsoft Word - p12-21紀要論文_ジョさん_0908.doc

fm

obs_usersguide.book

Microsoft Word Summit E XL Japanese manual 1.5.doc

fm

Microsoft Word _Rev01-jp.doc

untitled

Microsoft Word - 99

ÍÂ~ÊÂ ÊÊ ÇÍ ÌÉÊÊÌÊÇÍÂÈÍ Ê ÊÌÊÊÍÉÉÉÆÉÉÍÆÂsÊÂ ÌÉÊ~ÊsÊÆÇ ÉÉÊsÆÍÆÊÉ~ÇÈÉÇÉÉÊsÉÆÆjÇÆÇÉÉÉÆÉÉÍ ÆÂ ÊÊÍÉÂÇÍÌÉÊsÊÊÇÉÂÊÍÍÉwÊÊÂÌÉ t ÊwÎÔ ÑÊÔÖÏÑ Ö Ñ ÑÒÔÇ ÈÍÍÇÉÊÊÍÂÇ

<4D F736F F D2088CF88F589EF8E9197BF81698CA28E9490E78DCE816A2D312E646F63>


ã

エジプト、アブ・シール南丘陵頂部・石造建造物のロータス柱の建造方法

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>


‚æ27›ñ06-…|…X…^†[

HITACHI 液晶プロジェクター CP-AX3505J/CP-AW3005J 取扱説明書 -詳細版- 【技術情報編】

取扱説明書 -詳細版- 液晶プロジェクター CP-AW3019WNJ



WJ-HD SHIFT /0 PULL Digital Disk Recorder WJ-HD 350

Microsoft Word _jap .doc

320_…X…e†Q“õ‹øfiÁ’F

„¤‰ƒ‰IŠv‚æ‡S−ª†{“Å‘IB5-97

…_…C…L…fi…J…o†[fiü“ePDF/−mflF™ƒ

WINS クラブ ニュース


<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>

HITACHI 液晶プロジェクター CP-EX301NJ/CP-EW301NJ 取扱説明書 -詳細版- 【技術情報編】 日本語

Untitled

ロシア語ハラショー

MS-1J/MS-1WJ(形名:MS-1/MS-1W)取扱説明書 - 詳細- 技術情報編

Digital Disk Recorder WJ-HD316A 1 2 SHIFT /0 PULL WJ-HD 316A

p1_5.pmd

日立液晶プロジェクター CP-AW2519NJ 取扱説明書- 詳細版-

<4D F736F F D20835E A83415F967B95B631322E348B65926E8F4390B381698DC58F49816A>

.w..01 (1-14)

Microsoft Word - AV600U_Japanese_V3.0.doc

<4D F736F F D F8DE98BCA8CA797A78FAC8E9988E397C3835A E815B82CC8A E646F63>


Microsoft Word - 印刷原稿富山産業政策集積2.doc

Microsoft Word - GrCadSymp1999.doc

Express5800/140Ma

<45532D C8D5CEC4B0E6CBB5C3F7CAE92E504446>

SystemC言語概論

‚æ4›ñ

あさひ indd

CP-X4021NJ,WX4021NJ_.indd

untitled

fm

< D C8D5D3EFB0E6CBB5C3F7CAE92E706466>

<45532D C8D5D3EFCBB5C3F7CAE92E706466>

untitled

スライド 1

joho07-1.ppt

Microsoft Word - 血管腫プログラムnew.doc

Express5800/140Ma

d-00

š š o š» p š î å ³å š š n š š š» š» š ½Ò š ˆ l ˆ š p î å ³å š î å» ³ ì š š î å š o š š ½ ñ š å š š n n å š» š m ³ n š

C言語によるアルゴリズムとデータ構造

Transcription:

ROMの入手1 - インターネットからの入手 違法にアップロードされたROMをダウンロードする方法 当然ながらダウンロードも違法行為(2010年1月1日より施行)

^ÇÇêÉëë=éáå a~í~=éáå

吸い出し機の仕組み - PRG-ROM, CHR-ROM ファミコンのカートリッジにはゲームプログラム本体(PRG-ROM)と グラフィックデータ(CHR-ROM)が存在する ines Header (16byte) PRG-ROM (32KB) CHR-ROM (8KB)

^ÇÇêÉëë=éáå `çåíêçä=éáå a~í~=éáå

void PPU::pattern_table_debug() { uint16_t base = 0x0000; uint8_t pal[4] = { 0x31, 0x21, 0x11, 0x01 }; int w = 0, h = 0; for(int k = 1; k <= (0x2000 / 16); k++) { for(int y = 0; y < 8; y++) { for(int x = 0; x < 8; x++) { uint8_t c = ((((vm.chr(base + y + 8) >> (7 - x)) & 1) << 1) ((vm.chr(base + y) >> (7 - x)) & 1)) & 3; screen_buff[(nes_screen_height * (y + h)) + (x + w)] = pal[c]; } } w += 8; if((k & 0x1f) == 0) h += 7; base += 16; } } }

jççáñáéç kçêã~ä

マッパー 初期はPRG32KB+CHR8KBの容量だったがゲームの規模が大きくなるにつ れ 容量が足らなくなるため ROM容量を拡張したものが出てくる 初期のPRG 32KB + CHR 8KBのROMをMapper 0(NROM)と言う - ROM Bank-switching PRG0 PRG1 Select=PRG0 Select=PRG0 Controller Bus PRG0 PRG2 CHR Bus Bus PPU

#include <stdio.h> int main(void) { printf( hello,world\n ); return 0; }

äç~ AÅMUM I ñ E F

~ÇÅ @ANM ^ MñNM =EfããÉÇá~íÉ=~ÇÇêÉëëáåÖF äç~ AÅMUM I ñ ^ jbjxmñ`mumhñz =E^ÄëçäìíÉ=fåÇÉñ=uF

ldx #$08 u U decrement: dex stx $0200 cpx #$03 bne decrement stx $0201 u N u MñOMM u P P u MñOMN brk

簡単なハード解析の例 - 回路のトレース どこがGNDに接続されていて この配線ならこのボタンの役割が 適当なのかな...などと考察しながら回路をトレースしていく

UÄáí=a^q^=_rp Rlj `mr j~éééê `çåíêçääéê R^j fll UÄáí=`lkqRli=_rp NSÄáí=^aaRbpp=_rp

0x10000 PRG-ROM 32KB 0x8000 0x6000 0x4020 SRAM Expansion ROM Mirrors (0x0000~0x07ff) 0x2000 0x0000 I/O Registers WRAM 4KB 0x0800 0x0200 0x0100 0x0000 RAM Stack Zero Page 256byte 256byte

// 1 void CPU::run() { uint16_t opcode = vm.read(++pc); switch(opcode) { case 0xa1: op_lda(addr_indirectx()); break; case 0xa5: op_lda(addr_zero()); break; case 0xa9: op_lda(addr_imm()); break; case 0xea: op_nop(); break; // } } // void CPU::op_lda(uint16_t addr) { reg_a = vm.read(addr); updateflag(reg_a); } uint16_t CPU::addr_imm() { return pc++; }

1 10の総和を求める メモリダンプ CPUトレース 機械語サンプル

タイミング調整 - エミュレートしたファミコン(のCPUだけ) タイミング調整をしていないので本来1.48MHz動作のはずが仮想2.13GHz動作に

t (s)

void CPU::run() { uint16_t opcode = vm.read(++pc); } switch(opcode) { // } executed_clock += cpu_cycles[opcode]; const uint8_t cpu_cycles[0x100] = { 7, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 4, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 3, 2, 2, 2, 3, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 6, 6, 2, 8, 3, 3, 5, 5, 4, 2, 2, 2, 5, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 2, 6, 2, 6, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 2, 5, 2, 6, 4, 4, 4, 4, 2, 4, 2, 5, 5, 4, 5, 5, 2, 6, 2, 6, 3, 3, 3, 3, 2, 2, 2, 2, 4, 4, 4, 4, 2, 5, 2, 5, 4, 4, 4, 4, 2, 4, 2, 4, 4, 4, 4, 4, 2, 6, 2, 8, 3, 3, 5, 5, 2, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7, 2, 6, 3, 8, 3, 3, 5, 5, 2, 2, 2, 2, 4, 4, 6, 6, 2, 5, 2, 8, 4, 4, 6, 6, 2, 4, 2, 7, 4, 4, 6, 7 };