yhara.jp

Recent Posts

ファミコンで動くRubyをつくりました

2024-12-24
Tech

このエントリは言語実装 - Qiita Advent Calendar 2024 - Qiitaの10日目の記事です。

最近やってた「ファミコン上で動作するRuby」ですが、シンプルなゲームが実装できるとこまでできたのでいったんv0.1.0としました。

https://github.com/yhara/nesruby

ゲームは先日のRubyWorld Conference 2024の弊社ブースで展示していたものです。JSNESを使ってgithub pagesにもアップロードしておきました。

https://yhara.github.io/nesruby/

仕組み

cc65というCコンパイラがファミコン向けの機械語を生成してくれるので、それを使ってmruby bytecodeのインタプリタを実装したという形です。

実装はmruby/cのソースを大いに参考にさせていただいています。ありがとうございます。最初に「こういうふうに書けたらいいな」というRubyプログラムを書いて、それをmruby(mrbcコマンド)でコンパイルして、出てきた命令を一つずつmruby/cから移植する、という感じで作っていました。

まだメソッド定義ができなかったり、GCがなかったりするので、そのあたりもいつかチャレンジしてみたいですね。

More posts

Posts

(more...)

Articles

(more...)

Category

Ads

About

About the author