タグ

ブックマーク / blog.bokuweb.me (7)

  • Rustから目覚めるぼくらのゲームボーイ! - undefined

    Conway氏についてですが、公式にアナウンスがでたようです。ご冥福をお祈り申し上げます。 www.math.princeton.edu 2003年に発売された「Linuxから目覚めるぼくらのゲームボーイ!」というC言語でゲームボーイアドバンスで動作する自作ゲームを作成していく書籍があります。 ゲームボーイアドバンスはARM7TDMIというコアを使用しており、Rustで自作ゲームを作ることも可能となっています。 この記事では「Linuxから目覚めるぼくらのゲームボーイ!」のステップをRustで実施するための準備としてライフゲームが動くまでを書いてみます。 動機は今作っているWasmインタープリタをGBAで動かすことができないかの調査です。(たとえLチカレベルでも)AssemblyScriptとかでGBAのゲームかけたら面白くないですか。 成果物 github.com I succeeded

    Rustから目覚めるぼくらのゲームボーイ! - undefined
    mizchi
    mizchi 2020/04/14
  • Rustで書いたWebAssemblyインタプリタ上でGoで書いたゲームボーイエミュレータを動かした - undefined

    概要 最近はWebAssemblyに興味があり、勉強していたんだけど仕様を読み始めても頭に入らないのでインタプリタを作ってみることにした。よくわからないものは作ってみるのが一番よい。 github.com まだ残された課題は多いのだけれども、一つ目標にしていた「Goで書いたゲームボーイエミュレータを動かす」を達成できたのでここに書いておく。 うおーついにRustで書いた自作wasm interpreter上でgoで書いた自作gameboy emulatorが動いたー!けど1FPSくらいしかでない... pic.twitter.com/I5B2XL5E0W— bokuweb (@bokuweb17) 2020年2月24日 こツイートに貼られているのは残念ながら、静止画ではなく、動画でありパフォーマンスが悲しいことになっていることを示している。あまりに遅くてプレイ画面まで到達できない。今後これ

    Rustで書いたWebAssemblyインタプリタ上でGoで書いたゲームボーイエミュレータを動かした - undefined
    mizchi
    mizchi 2020/03/12
  • ゲームボーイエミュレータをGo言語で書いた - undefined

    概要 Goはこれまで量を書いたことがなかったので入門にゲームボーイエミュレータを書いてみることにした。ゲームボーイである理由はたまたまよくできたゲームボーイの資料(http://marc.rawer.de/Gameboy/Docs/GBCPUman.pdf)を見つけてしまったため。 成果物 github.com まだ基的なカートリッジタイプしか実装できていないがそこそこ動き始めたので公開することにした。直近は対応カートリッジを増やしながらWebAssemblyを吐けるようにしたい。 ゲームボーイの基仕様 項目 概要 CPU LR35902 4.19MHz 8bit RAM 8kB VRAM 8KB ROM 256k~32MBit Display 4階調モノクロ、160×144ドット スプライト 8×8 最大40個表示 / 1ライン上に 最大10個表示 背景 256×256ドット ウィン

    ゲームボーイエミュレータをGo言語で書いた - undefined
    mizchi
    mizchi 2019/08/07
  • Denoを読む(1) - undefined

    正月にDenoを読んでたメモです。いろいろ間違ってる可能性が高いのでご注意ください。 Denoとは deno.land Node.jsの作者Ryan Dahl氏による新しいTypeSciprtのランタイム。Node.jsの反省点を生かして作られてる。 おおきく分けてTypeScript、V8、Rustの三層で構成されていてTypeScriptRust間はFlatBuffersでやり取りされ、仲介としてC++で書かれたlibdenoが存在する。 参考資料 scrapbox.io denolib.gitbook.io yosuke-furukawa.hatenablog.com 読んでいく 前提 実装は日に日に変化しているのでひとまず以下のバージョンについてのメモとする github.com Cargo.toml まずはCargo.tomlを眺めてみる。package.jsonみたいなやつで

    Denoを読む(1) - undefined
    mizchi
    mizchi 2019/01/18
  • ファミコンのエミュレータを書いた - undefined

    概要 ファミコンのエミュレータをJSでだらだらと作ってた。そこそこ遊べるようになったので公開しておく。技術的な内容は、またどこかで発表したり、Qiitaなどにまとめたい。(忘れないうちに。需要があるかは怪しいが。) 随分昔に作ってみたいなーと思いFPGAでの実装を開始したんだけど、早々に挫折した覚えがある。今思うとFPGAの場合タイミングの問題が付き纏うのでJSで書くより圧倒的に難易度も高いし、ハードエミュレータを実装するにしても前段階としてソフトウェミュレータを実装するのが定石っぽいので無謀だったっぽい。 ひとまずMapper0という基的なカセット形式のみに対応し、スーパーマリオブラザーズがそこそこ遊べるくらいを目標とした。 成果物 github.com ファミコンのスペック MPU 6502(RP2A03), 8bit WRAM2KB VRAM 2KB 最大発色数 52色 画面解像度

    ファミコンのエミュレータを書いた - undefined
    mizchi
    mizchi 2017/09/20
    すごい、あとでコード読みたい
  • サムライト株式会社に入社しました - undefined

    1月12日、サムライト株式会社に入社した。 サムライトは「Common LispでWebを取り戻す」を謳い、Common Lispを使ったWebアプリケーション開発を行っている数少ないWeb企業だ。 www.wantedly.com Common Lispやるの? 自分はフロントエンドエンジニアとしての採用となる。フロントエンドReact.jsを採用しているが、メンバーのほとんどがCommon Lisperなため、自分がフロントエンドを牽引していけるように、基礎筋力を養いつつ頑張っていきたい。 が、同時にCommon Lispも積極的に学びたいと思っている。ということを話すと、@nitro_idiot が「え?」って顔してたけど、それもそのはずで面談の時に「Common Lisp読む必要あるよ」って言われて「え?」って顔したのは自分だからだ(というより声に出してたかもしれない)。だけど、

    サムライト株式会社に入社しました - undefined
    mizchi
    mizchi 2016/01/24
    clojurescriptらへん掘って欲しい
  • 最強のTwitterクライアント戦争にこっそり参戦してみた - undefined

    周回遅れ気味だけど、こっそりtwitterクライント作りはじめました。今ならElectronの情報もいろいろ流れてるし。飽きたらやめます。 最強のTwitterクライアント戦争情報 r7kamura.hatenablog.com どんなの? 現状。タイムラインの取得だとかお気に入りの取得だとか最低限。 マルチアカウント対応だとかお気に入りをインクリメンタルサーチしたりできるやつをつくりたい。 現状APIから都度取得して表示しているだけだけど、IndexedDBかなんかに突っ込む必要がありそう。 github.com 構成 ちょうどMithril読んだのでMithril.js使ってます。 Electron Mithril.js Material Design Lite 所感 OAuthではまったけど、その他はいい感じ。 qiita.com RS232CラインモニタとかUSBアナライザも作り

    最強のTwitterクライアント戦争にこっそり参戦してみた - undefined
    mizchi
    mizchi 2015/09/02
  • 1