2021年11月28日日曜日

Tinyjoypad を作ろう!02 名作ゲームを手のひらサイズで楽しもう!

 

 前回に引き続いて、楽しい電子工作「TinyJoyPad」を作ってゆきましょう!

 

 本体の電子工作が完了し、AudinoIDEの設定も済み、USBaspとブレッドボードの準備もOK、という段階まできました。

 

 ではいよいよ、ゲームのプログラムを選びます。


 https://www.tinyjoypad.com/

 

のサイトから「Attiny85」のコーナーを覗いてみてください。

 

「パックマン」「インベーダー」「ピンボール」「テトリス」など誰もが知っているアーケードゲームの名作が並んでいます。

 昔はこのサイトからそのままプログラム(スケッチ)がダウンロードできたのですが、現在は表立っては自粛中のようですね。(著作権がらみ?)

 でも、Githubにはちゃんとスケッチがありますので、ご安心ください。

 

https://github.com/search?q=tinyjoypad 

 

 Github内を”Tinyjoypad”で検索すると、いろいろな人が開発した関連プログラム(スケッチ)が並んでいます。 


 さて、Tinyjoypadには兄弟機がいくつかあって、ボタン数を減らした、より小さい「ATTiny Arcade」や、ジョイスティック仕様+EEPROMの上級版「Tiny Handheld」などがあります。

 そのTiny Handheldの開発者さんのところに、すべての機種向けのスケッチが収録されています。

https://github.com/Yevgeniy-Olexandrenko/tiny-handheld

フォルダ内部をいろいろ見ていると、いろんな機種のプリント基板の写真などもあるので、面白いですよ。

 

=========

余談

 Tinyjoypadのサイトを見ると、次の5つのプロジェクトが載っています。実はこれらは互換性が少ない「いとこ・はとこ」みたいな機種に当たります。

 

■ Attiny85 → Attiny85チップを使う「Tinyjoypad」

■ Arduboy → ATmega32u4を使う、より上位機種(互換性なし)

■ Attiny10 → Attiny10という最小クラスのチップを使う簡単なゲーム

■ Arduino → Arduinoを使った関連工作

■ ESP8266  → 中国のメーカーが作ったWifiモジュールなのだけれど、なんとCPU等が載っているので、AVRのようにプログラムして動かせる。それをつかったゲーム機のプロジェクト。


========

 

 ArduinoIDEで書き込みするスケッチは「.ino」という拡張子になっています。

 

 まずは手始めに「Tiny invaders」を書き込んでみましょう。

https://github.com/Lorandil/Tiny-invaders-v4.2 


 Zipファイルを解凍すると、ArduinoIDEで読み込めるのは「Tiny-invaders.ino」というファイルです。

 私の場合は、書き込み設定は以下のようにしてみました。


■ ツール → ボード 「Attiny85」

■ クロック 「16Mhz」

■ LTO 「Enabled」

■ 書き込み装置 「USBasp(Attinycore)」


 先にブートローダを書き込んでから、同じように本体プログラムを書き込みすると良いようです。

 書き込み時にUSBaspのバージョンが古いよ、なんてエラーが出ることもありますが、気にせず進めば書き込み完了までArduinoIDEが知らせてくれます。


 あとはATtiny85のチップをゲーム機のICソケットに載せて電池と電源を入れれば!

 


  じゃじゃーん!びっくりするくらい意外とあっさり動きます。すごい!

  書き込み時や最初の動作時にいろいろトラブるかな?と思っていましたが、ほとんどトラブルらしいこともなく動いたので逆にびっくり!

 

※ 実は最初の書き込みでも動いたのですが、動作が明らかに遅かったので、あれ?と思いました。どうやらクロックが8Mhz動作だったようなので、16Mhzに設定して再書き込みしたら、バッチリでした。


 というわけで、誰でも簡単に楽しめると思うので、ぜひみなさんもトライしてみてください!

 


 


0 件のコメント:

コメントを投稿