game
rust
emulator

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

はじめに

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)を動かせるものを作ってみたいと思う