このサイトは、只今WEB業界で活躍中のデザイナー、プログラマーの方々の情報を集めたweb統合情報サイトです。

Archives Details

M1(Appleシリコン)Macで、ファミコンソフトプログラミング。 サクッと開発環境準備編

Game

2021.03.21

どもです。

最近、ゲーム作りたい欲も久々に湧いてきまして、いい加減Unityを始めようかと思いましたが、

ファミコンのエミュレータ作りたい事もあって、(前からやると行って未だ着手できていない。。)ファミコンのゲームが良いなと思って初めて見ました。

ファミコンのゲーム作成やエミュレータ作成に関しての情報はネットでも沢山ありますが、M1Macでの作成事例はまだ無さそうな雰囲気もあって、人柱的に靄ってみようかなと。

そもそも出来るのかと調べたら、なんかいけそうですね。

という事で、早速、開発環境作成していきましょう。

 

環境
  • Mac mini (M1, 2020)
  • Mac OS 11.2.3
  • Apple clang version 12.0.0

 

開発ツール インストール

ファミコンのゲーム作成に必要なアセンブラとエミュレータをインストールしていきます。

アセンブラとエミュレータは色々存在しますが、アセンブラには、「nesasm」エミュレータには「fceux」を使用していきます。

nesasm

nesasmは、ファミコン開発用のアセンブラとなります。こちらを使って、ファミコンソフトが実行できるnes形式ファイルの、.nes形式にアセンブルできます。

nesasm github

https://github.com/camsaul/nesasm

こちらのファイルをダウンロードします。

https://github.com/camsaul/nesasm/archive/refs/heads/master.zip

sourceフォルダに移動して、makeコマンドと、sudo make installを実行してインストールします。

 

インストール
$ cd source && make && sudo make install

エラーがなく、無事インストールできたら徐に、nesasmコマンドを実行。

$ nesasm NES Assembler (v3.1)
s/S : show segment usage
-l # : listing file output level (0-3)
-m : force macro expansion in listing
-raw : prevent adding a ROM header
-srec : create a Motorola S-record file
infile : file to be assembled

このように表示すれば成功。ふむ良いですね。

エミュレータ インストール

続いてエミュレータをインストールしていきます。

実行環境となるエミュレータですが、遊ぶだけであればなんでも良いのですが、開発となるとデバッグ機能などが備わっていると非常に便利なので、皆さん使用されている「FCEUX」をインストールしていきます。

FCEUX

公式

http://fceux.com/web/home.html

github

https://github.com/TASVideos/fceux

ダウンロード

http://fceux.com/web/download.html

Homebrew

https://formulae.brew.sh/formula/fceux

こちらは、Homebrewを使ってサクッとインストールしていきます。

Homebrewのページでも確認できるように、しっかり、Apple Siliconはオッケーマーク出てますね。

 

その他、インストールされるパッケージは、以下の様なパッケージとなっております。

  • qt@5 5.15.2
  • sdl2 2.0.14
  • cmake 3.19.7
  • pkg-config 0.29.2

それでは、brewコマンドでインストール。

$ brew install fceux

インストール終了後、パスも通ってますので、fceuxコマンドを叩きますと、

 

はい。きた。

では、「HelloWorld」を表示していきましょう。

ファミコン開発で有名なサイトの「NES研究室」さんからサンプルファイルをダウンロードします。

NES研究室

http://hp.vector.co.jp/authors/VA042397/nes/sample.html

ダウンロードすると、「HELLO, WORLD!」を表示させる実行ファイルsample1.nesがあるので、FCEUXのFileから読み込むと

 

はい。表示したぁ!

「HELLO, WORLD!」実行したらこちらのものですね。あとはひたすら作成していくのみ。

ファミコンの仕様やスペックやアセンブラなどに関しては、以下のサイトなどを参考に。

その他、色々と情報がありますので、詳細は割愛しつつ、何か作っていきたいと思います。

NES研究室

http://hp.vector.co.jp/authors/VA042397/nes/index.html

ギコ猫でもわかるファミコンプログラミング

http://gikofami.fc2web.com/

あと、ファミコン世代じゃないでファミコンのゲームなんてよく知らないわ。って方も、この辺の書籍はオススメです。

 

当時、少ないスペックで、工夫してゲームを作成していた様子がわかります。

今回はとりあえず、サクッと開発環境を用意してみました。

次回から作成していきますー。ではではぁ。

Comment

Related Article

M1(Appleシリコン)Macで、ファミコンソフトプログラミング。 サクッと開発環境準備編

2021.03.21

ゲオのサマーセール 980円以下のゲームソフトが半額!8月16日(日)まで。で購入したもの。

2020.08.13

Mac用 エミュレーター 「OpenEmu」が、V2.2リリース!GameCube対応して更に神アプリ進化!

2020.01.01

この時期になると、やたらレトロゲームをやりたくなるのはなんですかね?ハードオフに向かうの巻その2

2019.12.31

この時期になると、やたらレトロゲームをやりたくなるのはなんですかね?ハードオフに向かうの巻

2019.12.14

ニンテンドークラシックミニ スーパーファミコン到着!開封式

2017.10.05

new NINTENDO 2DS LL を購入してみた。

2017.08.28

スプラトゥーン2をやめたい

2017.08.20

「ニンテンドー switch」を購入した話

2017.05.06

何かと話題のレトロゲーム制作ツール「PICO-8」を触ってみました!

2016.07.10

CATEGORY LIST

LATEST NEWS

iPad Air で、Web開発環境構築(iSH Alpine使用)

mac

2021.04.11

【Qt】Mac開発 ソートダイアログ (拡張するダイアログ)を作成

C++

2021.04.01

M1 (Appleシリコン)Macで Widowsアプリを起動

mac

2021.03.27

M1(Appleシリコン)Macで、ファミコンソフトプログラミング。 サクッと開発環境準備編

Game

2021.03.21

iPad Air 2020を購入しちゃった件。

mac

2021.03.14

眠っているラズベリーパイをネットワークオーディオ化 Volumio2 インストール手順

RaspberryPi

2021.03.12

ラズベリーパイ 5インチDSIタッチスクリーン ディスプレイを使う。

RaspberryPi

2021.01.11

今年読んで良かった書籍は、「Go言語でつくるインタプリタ」でした。

イベント

2020.12.31

【Qt】Macの、Qt Creatorで Dialog GUI作成

C++

2020.12.29

【Qt】Macで、Qt Creatorをbrew installしてサクッと起動する。

C++

2020.12.14

Macで、Qt5 開発 QPushButton、QSliderなどウィジェット作成

C++

2020.12.13

M1搭載 Mac miniをついにポチった件。Appleさんに翻弄される日々の記録。

mac

2020.12.06

RANKING

Follow

SPONSOR

現在、掲載募集中です。



Links

About Us

WEBデザイナーの、WEBデザイナーによる、WEBデザイナーの為のサイト。「みんなで書こう!」と仲間を募ってみたが、結局書くのは自分だけとなってしまいました。日々のメモを綴っていきます。

Entry Profile

Graphical FrontEnd Engineer
- Daisuke Takayama

MAD CITY 北九州市で生まれ育つ。20代はバンド活動に明け暮れ、ふと「webデザイナーになりたい。」と思い、デジタルハリウッド福岡校入学。卒業後、数々の賞を受賞、web業界をざわつかせる。
現在、主に、ゲーム制作中心に港区六本木界隈で活動中。

FOLLOW US