Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ニンテンドウ64

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for murachue murachue
October 28, 2018

 ニンテンドウ64

OSC東京2018秋で日本NetBSDユーザーグループさまの枠をお借りして発表したやつです。

Avatar for murachue

murachue

October 28, 2018
Tweet

Other Decks in Programming

Transcript

  1. ニンテンドウ64 • 1996/6/23発売 • CPU: MIPS VR4300 (93.75MHz, 64bit) •

    GPU: RCP (62.5MHz, 64bit) – 最大解像度 640x480x16 • Memory: 4MiB (CPU観点) – 拡張パックで+4MiB (CPU観点) • Audio: ~48KHz? 2ch 16bit PCM – ADPCMではない! (ウィキペは嘘) • ROM: 最大508MiBくらい – 常識的に64MiBほど • ニンテンドー64 ではない
  2. LinuxをN64に対応させる VR4300 RCP RDRAM Cart Video I/F Audio I/F Controller

    I/F Cart I/F I2C SD USB ROM(RAM) RTC etc… FrameBuffer ALSA evdev I2c host DS1337 (ママ MIPS3(ママ sdmmc host tty (serial-ish) blockdev mfd
  3. なんで9660!? • N64のROMイメージは 先頭4KiB(-64bytes)の 変更がむずかしい • パーティションテーブル が置けない、普通の filesystemも無理 •

    ISO9660なら先頭16KiB 空いてるじゃん! • 簡易ブートローダも詰 め込めて安心 ヘッダ領域 (64by) N64ブートコード Linux簡易ローダー ISO9660の中身 4KiB 16KiB N64エントリポイント
  4. 自作joy2key的なやつ • 3Dスティック→8方向 • B, A, C下 → 3 *

    8 → 24 • アルファベット=26通り • 大文字も入れたい • ついでに記号もほしい • R, Zトリガを修飾とする • →2^2 * 3 * 8 = 96通り!!
  5. こんな感じで a b c d e f g h i

    j k l m n o p q r s t u v w x y z - . (sp) / ^H , B A C下 R+B Y Z > < | ^M R+Z+B A B C D E F G H Z+B …
  6. たとえば • 右下+A → l (エル) • 右+C下 → s

    • 左+R+Z+B → ^M • ⇒ ls コマンドが実行できる!!! • 2日ほどで慣れます (typoしないとは言っていない) i j k l m n o p q r s t u v w x A C下 Y Z > < | ^M R+Z+B
  7. そんなん覚えられん! • そんなあなたに8bit直接入力モード! • (msb) Z R C右 C上 C下

    C左 A B (lsb) • を同時押ししながらSTART • たとえば B+A+START -> 3 = ^C • SIGINTを投げられる!! • たぶん人間には早すぎる R Z