電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

レトロゲームやそのハードやプログラム等の裏話が好きな人は絶対に読んでもらいたい本

久しぶりに本の紹介をします。

最近はあまり自分にとってインパクトのある本がなかなか無かったのですが、久しぶりに興味深い本を見つけたので紹介します。
特にレトロゲームやそのハードやプログラム等の裏話が好きな人は絶対に読んでもらいたいです。

伝説のアーケードゲームを支えた技術


1971年のコンピュータスペースから1989年のキャメルトライまでのアーケードゲームで使用された技術が開設されています。
ただの読み物と思って買ったのですが、実際は技術書に近い内容でした。
この手の本にありがちな技術や仕様の概要を説明して終わりではなく、実際のハード的な仕様やソフトウェア部分の手法の詳細な解説がされており、かなり踏み込んだ内容になっています。
逆に言えば、ある程度ハードやソフトの知識がない場合はよくわからない内容だと思います。

ファミコンの驚くべき発想力


伝説のアーケードゲームを支えた技術と同じ著者の本です。
ファミコンのハードやソフトウェアの開発技術に関した内容となっています。
こちらはさらにほとんど技術書です。丸ごとファミコンの仕様書にもなりそうです。
現在でもオープンソースの開発環境でファミコンのゲームを作れますが、その際にも役に立つ情報が満載です。

伝説のアーケードゲームを支えた技術

伝説のアーケードゲームを支えた技術

3Dプリンタ ZONESTAR Z6 メインボードのアップグレード

ZONESTAR Z6のメインボードをアップグレードしました。

元々ATMega328Pを使用したZONESTARのZMIBが搭載されているのですが、TM32F103RCT6(ARM Cortex-M3)を使用したZM3E2に交換しました。

AliexpressのZONESTAR Official Storeから購入しました。
ファームウェアはオープンソースのMarlinで他のメーカーの3Dプリンタでも使用できますが、購入時にメッセージを送ると、ZONESTAR Z6にカスタマイズされたファームウェアのバージョンを送ってくれます。

メインボードをアップグレードしても出力した構造物の品質に変化がありませんが、いくつか良くなった点がありました。

まだ1週間ほどしか使用してませんが、すぐに気が付いた良くなった点を挙げます。

ファイルの選択が快適に

ZMIBではまで印刷時のgcodeファイル選択画面でカーソルを移動させるとやたらと待たされたのがZM3E2では早くなりました。
まだラグがあるが、全く違うと言っていいレベルで快適になりました。

冷却ファンの回転速度を調節できるようになった

ZMIBでは冷却ファンの回転が50%以下では止まって、51%以上で動くといった感じで回転速度を細かく調整できないような動きをしていましたが、ZM3E2では%に応じて回転速度も調整できるようになりました。

タッチスクリーンが使用できるようになった

ZM3E2はタッチスクリーンのコネクタがあったので、追加しました。
タッチスクリーン側にもコントローラがあり、本体とはシリアル通信でgcodeをやり取りしているようなので、同じような方式なら別のメーカーのスクリーンも使用できそうなので、今度試してみようと思います。

ホットベッド使用時の不具合解消

これは個体差の問題だと思いますが、ZMIBではホットベッドを高温にした場合、本体が再起動してしまうことがあって、40度以下でしか安定して使用できませんでした。
ZM3E2は100度でも安定して動作するようになりました。

全体的に安定性が向上

ZMIBではホットベッドの問題の他に動作中に再起動したりフリーズすることがあったのですが、ZM3E2ではまだそんなケースは無く、安定して動作するようになったと思います。
CPUがATMega328PからTM32F103RCT6になったことにより、処理に余裕が出たためだと思われます。


普通に使用する場合は、ホットベッドの問題が発生しなければ必ずしも交換する必要はありませんが、ファイルの選択が快適になったことはこの機種を使用していると大きなポイントだと思います。
他にも全体的に安定性が向上しているので、興味がある場合は交換することをお勧めします。

3Dプリンタ買いました4 ZONESTAR Z6

以前の記事にも書きましたが、da Vinci nano wが故障し、サポートに連絡したら保証の範囲か届いてみないとわからない。保障の範囲でない場合は修理を断ったとしても往復送料と診断料で2万円は支払わないといけない、修理する場合は更に1万円以上かかりそうで、購入時の価格を上回ってしまうとのことでした。
保証の範囲内かどう判定されるかわからないので送るのは結構ギャンブルだと思いました。
このサポートの悪さとランニングコストの高さから修理せずに処分し、ZONESTAR Z6を買いました。

正確にはヒートベッドを搭載した Z6FB というモデルです。
国内で販売してる店が見当たらず、AliexpressのZONESTAR Official Storeから購入しました。
セールの時に通常より10%ほど安く、送料込みで16,800円ほどでした。

最大造形サイズは一辺が150mmの立方体ですが、Y軸がベルトのつなぎ目に当たり、14cmしか稼働しませんでした。
XY軸の最大速度は100㎜/秒です。
オープンデザインのRepRapをベースとしているので、スライサーは色々なものを使用することができます。特に本体に付属の物はありませんでした。
メインボードのCPUはATMEGA1284Pで、ファームウェアはオープンソースのMarlinを使用しているようです。

とりあえず、造形結果です。

それぞれ高さは、モアイ7cm、船5cm、XYZキューブ2cmのモデルです。
基本印刷速度は100㎜/秒で印刷しました。
Simplify3Dの設定で外壁部分は60%と設定して60㎜/秒前後ですが、インフィル部分は100㎜/秒で印刷されてます。
正確に時間を測ったわけではありませんが、同じモデルでもEasythreed K2da Vinci nano wの半分以下の時間で造形されました。
船のモデルを見るとこの速度では若干糸引きが目立ちますが、モアイやXYZキューブを見るとda Vinci nano wより滑らかに造形されました。

このように2万円以下の価格ながら3万円近い機種を超える高品質の出力が行える機種ですが、中国製品にありがちというか、安定稼働させるまでいくつか苦労がありました。
まずSimplify3Dで出力しても、CuraでスライスしたモデルをEasythreed K2で出力したときのように積層が目立ち、結構ガタガタでした。これはY軸にシリコングリスを塗ることで解消されました。初めはすぐに黒くなったので、3日くらい毎日ふき取って塗りなおしたところ、今回の画像の様に安定した造形ができました。
次にノズルが過熱されずにエラーが頻繁に発生しました。ヒーターに繋がる端子をいじってたら直ったので、接触が悪いようです。一度直してもたまに発生するので断線してると思います。ショップに連絡したら替えのホットエンドを買えるだけの金額のクーポン(と言っても1,000円ほど)をもらえたので、ついでに2個注文しました。
最後にホットベッドを使用すると数分で再起動してしまいました。しばらく使用すると、完全に加熱されなくなり端子が取れました。接触が悪かったようです。こちらは直接触れる場所ではんだ付けしてあったので、はんだ付けしなおしました。その後ホットベッドを使用しても再起動することは無くなりました。

このように初めはいくつか問題があるので、初めて3Dプリンタに手を出す方にはお勧めできませんが、安定稼働するようになると、高性能の機能が低価格で手に入るので、3Dプリンタに慣れてる方にはお勧めできる機種だと思います。

今までPLAしか扱ったことがありませんが、ホットベッドが使用できるようになったので、ABS等の他の素材にも手を出してみようと思います。

ATMEGA1284Pのメインボードでも特に問題はありませんが、ファイル選択のレスポンスが遅かったりするので、ARM搭載のメインボードを注文してみました。
どこまで変わるかわかりませんが、届いたら色々試してみたいと思います。

Simplify3Dを使用したらEasythreed K2が化けました。

色々作っているとサポート材を除去するのが意外と面倒になりました。
da Vinci nano wでXYZprintを使用して出力したものはすぐに除去できて、除去後もほとんど残らなかったのが、Curaではサポート材を除去するのが大変で、さらにどうしても1階層が残ってるような感じでそれを取るのも大変でした。
XYZprintに慣れたら結構大きな問題だったので、有料だけど評判の良いSimplify3Dを使用してみることにしました。

結果として、XYZprint並みに除去しやすく、後の残らないサポート材が出力されるようになり、大変満足できました。
またそれより想定外のことがあり、Easythreed K2の機種自体の品質の差だと思ってた造形の仕上がりが大きく改善されました。
まず、Curaの出力を見ると、結構ガタガタだとわかります。

それがSimplify3Dだと下の様になりました。

写真だと拡大されて結構積層が目立つと思いますが、それでも整ってることがわかると思います。これはda Vinci nano wの出力と遜色ないレベルです。

写真では拡大されて見えて粗が目立ちますが、実際は一辺が2cmの立方体なので、肉眼ではほとんどわからなく、非常に滑らかに見えます。

Simplify3Dが149ドルで、Easythreed K2が約12,000円なので、足すとda Vinci nano wと変わりない価格になるので、初めて買う人はda Vinci nano wの方が良いかもしれませんが、Simplify3Dは注文済みのZonestar Z6でも使用するので、複数台使用する場合は損は無いと思いました。

前回の記事にも書きましたが、Curaでもモデルや設定によって大きく変わったり、Curaの方がSimplify3Dより出力結果が良いという人もいるので、機種との相性もあると思います。

形状が違うだけで基本機能がほぼ同じと思われるEasyThreed X1に冷却ファンを追加すると同じ結果が得られると思うので、EasyThreed X1を使用している方にはSimplify3Dをぜひ試してみることをお勧めします。

3Dプリンタ買いました3 Easythreed K2

da Vinci nano wを買ったことを話しましたが、とにかく出力に時間がかかり1日1,2個しか作ることができないのと、シルクPLA等の純正ではないフィラメントを試したくサブ機としてEasythreed K2を買いました。

最大造形サイズは100x100x100mmです。
Amazonや日本のショップでは取り扱いが無く、Aliexpressで購入したのですが、送料込で11,000円台でした。

初めは各所で話題になっているEasyThreed X1で良いかと思いましたが、コントローラが本体と別れているのが邪魔になりそうで、一緒になったのがあれば良いと思ってたらちょうど良いEasythreed K2を見つけました。

ちなみにEasyThreed X1は冷却ファンを追加すると造形が結構変わるようです。
Easythreed K2は同じエクストルーダーを使用してますが、初めから搭載済みでした。これを知らずに本体とは別の店で冷却ファンを注文してしまい、皮肉にも本体と同じ日に届きました。

また、同じ形でコントローラ部分がOLEDではなく、ボタンの物はAmazonにありました

オープンデザインのRepRapをベースとしているので、スライサーは付属のもの以外でも色々なものを使用することができます。
低価格ながらもCPUにARMを搭載したメインボードを使用しています。ファームウェアはオープンソースのMarlinを使用しているようです。

da Vinci nano wと質力結果を比較してみます。
スライサーはda Vinci nano wが純正ソフト、Easythreed K2はCuraを使用しました。

レイヤーピッチ0.2mmの通常品質の設定で高さ5cmのモデルを出力しました。

左がda Vinci nano wで、右がEasythreed K2です。
Easythreed K2は側面の平面では積層が目立ちますが、上部の平面は比較的滑らかできれいです。
価格差もあるのでさすがに品質は違いがありそうです。
しかし、モデルによってはそんなに差は無く、スライサーの設定で化けそうです。

黒:da Vinci nano w, ピンク:Easythreed K2

レイヤーピッチを0.1mmにしたり、その他パラメータをいじると、結構精密に出力されました。

低価格と言っても出力されたものサイズは結構正確で、例えばラズパイのケースを作ったとしても期待した通りのサイズになります。
品質にこだわりたいなら高い方が良いですが、ちょっと試したい場合やとりあえず1台持っておきたいと思ってる場合は、最適な機種だと思います。
もちろん3Dプリンタに慣れたら、もっと良い機種が欲しくなるとは思いますが。

実はda Vinci nano wが故障し、サポートに連絡したら保証の範囲か届いてみないとわからない。保障の範囲でない場合は修理を断ったとしても往復送料と診断料で2万円は支払わないといけない、修理する場合は更に1万円以上かかりそうで、購入時の価格を上回ってしまうとのことでした。
保証の範囲内かどう判定されるかわからないので送るのは結構ギャンブルだと思いました。
このサポートの悪さとランニングコストの高さから修理せずに処分し、別にメインとする他の機種を買うことにしました。
既に注文済みなので、今後届いたらレポートする予定です。
結局光造形のELEGOO Mars 2は結構手間がかかるのですでに使用頻度は少なくなっておりメイン機にはなりませんでした。

3Dプリンタ買いました2 ELEGOO Mars 2

前回3Dプリンタを買ったことを話しましたが、光造形の3Dプリンタも買ってしまいました。
今回はELEGOO Mars 2です。

色々と物色してたところ、つい前から気になっていた光造形のELEGOO Mars 2を買ってしまいました。Amazonで約27,000円でした。
Proと比較すると脱臭機能が無いのですが、初めから無臭に近い水洗いできるレジンしか使うつもりが無かったので、あまり気になりませんでした。

ELEGOO Mars 2の一番の特徴はスクリーンにモノクロLCDを採用したことで、レジンを固めるための露光時間が2秒で済みます。(前のモデルは6秒)
光造形方式は線ではなく面で出力するため、積層方式と違い移動時間ではなく高さで時間が決まります。
da Vinci nano wで12時間ほどかかった高さ5cmほどの造形物も3時間しないうちに終わりました。

ここで参考として出力したものの比較をしました。
高さ3cmほどのモデルです。

左がda Vinci nano wで、右がELEGOO Mars 2です。
このサイズの場合は両方とも出力時間は1.5時間ほどでした。
da Vinci nano wは積層跡やバリが目立ちますが、ELEGOO Mars 2は全く分かりません。
特に注目してもらいところは、出力の精度です。

横幅が3mmしかないドアの部分に注目してもらいたいのですが、ELEGOO Mars 2は窓枠どころかドアノブまで判別できます。

ここまでは絶賛していましたが、やはり欠点があります。
光造形方式は液体を扱う以上、出力後の洗浄や本体の後片付けの際に色々手間がかかります。気軽に持ち出して使用するようにはいきません。
また造形物の強度も弱いです。薄い部分に穴が開いたり、細い場所がすぐに折れたりします。

あと、レジンは絶対に水洗いできるものが良いです。
やってみると洗浄も結構大変なので、水道水で洗える方が絶対に良いと思います。

光造形は光造形なりの苦労もあったので、そのうちメモ代わりに書きたいと思います。

3Dプリンタ買いました da Vinci nano w

そろそろ3Dプリンタが十分に安くなったので、買ってしまいました。
XYZprintingのda Vinci nano w (ダヴィンチ ナノ W)です。

はじめは1万円程の格安機種を考えていたのですが、3Dプリンタは初めてなので確実な方が良いと思い国内でもある程度シェアが大きくネットでもネタが多いXYZprintingの物にしました。
機種は置き場所も考えda Vinci nano wにしました。

試しに出力した結果です。

速く出力させるために高さ元々11cmほどのデータを3cmに縮小しています。
設定は詳細にして解像度も0.1mmで出力して2時間ほどかかりました。
写真で見ると拡大されるので結構粗が目立ちますが、普通に見た感じでは思ったより良く出力されています。

ネットで形状データが結構あるので、Raspberry PI nanoのケースを作ってみました。

またどこかで見たことあるマップを出力してみました。

実験も兼ねて色々出力しながら試してます。出力に時間がかかるため出力したいものが順番待ちしている状態で、購入して2週間ほど経ちますがフル稼働してます。
この機種はフィラメントのリールにNFCチップがあり素材や残りの量を管理しているため、純正品以外のフィラメントは使用できません。600g(200m)で4,000円程します。上の家のデータで1.2m、Raspberry PI nanoのケースで4.5mほどで出力時間を考えてもそう簡単になくなるものではありませんが。

同じ機種を考えてる方はWifiで通信できるWの方を強くお勧めします。
Wifiの設定を済ませたら、出力するデータを無線で送ったり、印刷の状態も確認できるので非常に便利です。

大きいものを出力している間にも他の物を出力したり、純正には無い金属みたいな光沢のシルクフィラメントや中華製の安いフィラメントも試してみたいので、1万円程の格安プリンタをもう1台買おうと計画しています。