Posted at

Rustでファミコンのスプライトを書き出すツールを書いてみた

More than 1 year has passed since last update.


はじめに

https://qiita.com/bokuweb/items/1575337bef44ae82f4d3

こちらの @bokuweb 氏の記事を見かけて「そういえばエミュレータってどうなっとるんじゃろ?」と気になったので、

「まずはスプライト書き出す簡単なツールだけでも書いてみようかな」

「触り始めたばかりだし、せっかくだからRustでやってみよーっと」

ということでタイトルのとおり


作ったやつ

https://github.com/yamash723/rust-nes-sprites2png

せっかくのRustの勉強なのでいろいろ試したりしてたら最終的にこうなった

スプライト吐き出すだけならもっと短いシンプルなコードでよかったなーと

hello_world.png

サンプルROMから吐き出してみたスプライト


作ってみて

実際に書いてみると「ファミコンのROMってこうなってるのか・・・!」という感慨深いものがある

仕様的な部分は冒頭の @bokuweb 氏の記事や、記事内の参考サイトを見てもらうのがいいのかと

Rustで書いてみた感想としては


  • 慣れるまでは大変だけど慣れたらむしろ楽

  • いろいろと厳密なので、つまらないミスはコンパイラ様が容赦なくツッこんでくれるので精神的に楽

  • ボローチェッカだけはもう少し仲を深める必要がある感じ

  • なんというか書いてて楽しい

といったところ

ちょっと気になるのはテストの場所

今回はとりあえず同一ファイル内にテストコード書いちゃったけど、実際にはどんな感じにするのがいいのやら


今後

せっかくなので次はサンプルROM(HelloWorld)を動かせるものを作ってみたいと思う