タグ

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

  • 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
    upamune
    upamune 2020/04/14
  • ファミコンのエミュレータをRust / WebAssembly で書き直した - undefined

    概要 以前、JSで書いた(ファミコンのエミュレータを書いた - undefined)ファミコンのエミュレータをRustで書き直してみた。 また、技術的な内容はQiitaの方にも書いているので興味のある方は参照してみてください。(まだ Hello, World!までしか書けてませんが。) qiita.com もともとファミコンのエミュレータって新しい言語を習得するのにちょうどいい題材だったりするのでは、って話しからスタートしてて、よくわからないのでJSで書いてみて、ようやくRustで一通りは実装できた感じ。まだバグや未実装(音声周りやマッパー)も多いんですが、ひとまずはお腹いっぱいな感じ。 成果物 github.com あと、いくつかのROMは以下で遊べるようにしてます。音が出るので注意してください。 またAPUの実装にまだバグが残っているのDCMチャンネルが未実装なので音が変だったり出てな

    ファミコンのエミュレータをRust / WebAssembly で書き直した - undefined
    upamune
    upamune 2018/02/08
  • ファミコンのエミュレータを書いた - undefined

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

    ファミコンのエミュレータを書いた - undefined
    upamune
    upamune 2017/09/20
  • 実装して学ぶRxJS - undefined

    実際にいくつかのオペレータを実装してみたらRxの気持ちがわかるかと思い実践してみました。 簡素化するために以下の方針とします。 unsubscribeしない errorハンドリングしない 実装してみたのは以下です。 of map subject filter delay fromPromise combineLatest switchMap Observable 何はともあれ、まずはObservableを実装します。 class Observable { constructor(producer) { this.subscribe = producer } } コードはこれだけで、producerを受け取って、自身のsubscribeに接続します。 producerはobserverを引数にとって、次に、どんなタイミングで、どんな値を流すか決定する関数です。 現時点ではイメージもわかないと

    実装して学ぶRxJS - undefined
    upamune
    upamune 2017/04/14
  • 組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined

    もう終わりそうですけど、4月ですしこれから組み込み業界へ向かうかたへ自分がこのよかったなーって思ったのをいくつかピックアップしてみます。ただ、一言に『組み込み』と言っても幅広くて分野によって求められる知識は結構変わってくると思いますが、ベースは一緒だろうと思います。 ちなみに自分はCPUはRL78、Cortex-M0、Cortex-M3、Rx、SH、Cortex-A9、FPGAは最大でも7000LUT程度のレンジのハードウェア設計をやってきました。今はZynqや大規模FPGA開発に携わりたいと思っています。 以下に挙げていきますが、オススメがあれば是非教えていただきたいです。 ※順番に意味はありません。 CPUの創りかた CPUの創りかた 作者: 渡波郁出版社/メーカー: 毎日コミュニケーションズ発売日: 2003/10/01メディア: 単行(ソフトカバー)購入: 35人 クリック:

    組み込み業界へ向かう人に、自分が買ってよかったと思った技術書達 - undefined
    upamune
    upamune 2016/03/14
  • 国内のオープンなslack teamを検索できるslack list jaを作った - undefined

    国内のオープンなslack teamを検索できるslack list jaを作った Slack-list-ja 経緯 最近、リモートワーカーのためのslack teamが作成されて参加させてもらっている。リモートワークならではの健康面などの知見・意見が交換されていて、非常に有用だと思っている。リモートワークして2ヶ月が経とうとしているんだけど、リモートワーク控えめに言っても最高なのでもっと広まって欲しい。 リモートワーカー Slack Team のご紹介 - 9mのパソコン日記 そんな中、国内にオープンなslack teamがどれだけあるんだろう?と調べ始めたら、海外にはそういったslack teamをリスト化したページSlack Listなるものが存在しており、remote-workers-jpの布教も兼ねて国内版を作ってみることにした。 技術的なとこ せっかく作るんだから何か触ったこと

    国内のオープンなslack teamを検索できるslack list jaを作った - undefined
  • ソートとリサイズが可能なペインコンポーネントreact-sortable-paneを作った - undefined

    今作ってるtwitterクライントでソートとリサイズができるコンポーネントが欲しかったので作った。 作ったもの github.com デモ http://bokuweb.github.io/react-sortable-pane スクリーンショット 使い方 インストール npm i react-sortable-pane サンプル 以下のように使用する。 <SortablePane margin={10}> <Pane width={200} height={500} style={style}> A </Pane> <Pane width={300} height={400} style={style}> B </Pane> </SortablePane> このコンポーネントについて もともとは以下のコンポーネントを作ったときのデモだったんだけど、今回コンポーネント化しといた。 blog

    ソートとリサイズが可能なペインコンポーネントreact-sortable-paneを作った - undefined
  • サムライト株式会社に入社しました - 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
    upamune
    upamune 2016/01/25
  • Mithril.jsでBMSを実装してみた話 - undefined

    概要 以前cocos2d-JSで作ったbmsjsをDOMベースでmithril.jsで実装してみました。 以下で遊べます。降ってくるのは全部div要素です。 デモ http://bokuweb.github.io/bmsjs-ithildin キーは白鍵が左からZ,X,C,Vが、黒鍵が左からS,D,FがターンテーブルにはBがアサインされてます。 ソース github.com なんでわざわざDOMで・・。 当然パフォーマンスを考えればWebGL使えって話しなんですが、以下の理由により試してみました。 すべてをcssでスタイリングしたかった 勉強のため、また、どれだけ動くか試したかった すべてをcssでスタイリングしたかった もともとユーザにテーマを作ってもらいたいと思い、cocos2d-JS版の時もjsonで設定できるようにスタイル部分を切り出そうとしていたんだけど、これがかなり辛かった。す

    Mithril.jsでBMSを実装してみた話 - undefined
    upamune
    upamune 2015/12/14
  • はてブviewer『Pasta』をReact + Reduxで作って公開した - undefined

    概要 自分用に使い勝手の良い、はてブviewerをReact/Reduxで作って公開しました。 ※GoogleFeedAPI停止につき現在利用できません。申し訳ありません。 Pasta - Hatena Bookmark Viewer - ひとまず復旧したようです。 デスクトップ版をもご利用ください。 blog.bokuweb.me スクリーンショット どんなものか 登録したキーワードに関連するニュースを配信する『Zite』というアプリがあるんですが、配信される記事が英語のみなので、こいつの日語版を作ろうと思い着手しまた。当初はReact Nativeでスマホアプリを作り始めたんだけど、先にWEB版を作ってしまったほうが変なところで躓かずにすむんじゃないかと思い、こちらを先に実装することにしました。 ただリリース直前で気づいたんですが、公式にも同様の機能の『関心ワード』なるものが実装され

    はてブviewer『Pasta』をReact + Reduxで作って公開した - undefined
    upamune
    upamune 2015/11/27
    べんり!!
  • 1