電子ガジェットいろいろ

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

ArduinoでFM音源シールド作成3 (YM2413)

久しぶりにFM音源のArdunino用シールドを作ってみました。

今回はYM2413のシールドで、ArduinoでFM音源シールド作成 (YM2413)で作ったシールドを基に、もっとブラッシュアップして、基板を発注して作ってみました。

まだシルク印刷でコンデンサの極性を入れ忘れたり、もっとシンプルな回路で高音質にできないか試行錯誤してる試作段階ですが、なかなかきれいに仕上がりました。

f:id:uosoft:20171105225556j:plain

Y2413シールド

基板を発注したのはスイッチサイエンスのPCBサービスです。

 鉛フリーハンダを選択して10枚で2090円でした。(送料は別で1080円です)

10枚以下でも同じ金額なので、10枚にしてみました。オプション料金なしでレジスト色を選べるのもうれしいです。

注文から到着まで3週間ほどかかりました。

Egaleで設計し、技術ガイド - スイッチサイエンスを参考にしながらガーバーデータを送るだけで特段難しいこともなく発注できました。

写真の通り価格の割には結構品質は高いと思います。

 

もっと完成度が高く成り次第、基板配布や回路図公開等を行うかもしれませんので、興味のある方は、あまり期待をせずにお待ちください

 

【永久保証付き】Arduino Uno

【永久保証付き】Arduino Uno

Genuino Uno

Genuino Uno

MSXで遊ぶ!MegaFlashROM SCC + SD

MegaFlashROM SCC+ SDを買ってみました。

販売ショップ:MSX Cartridge Shop
購入したのはSD1Slotの追加RAM無しバージョンです。

ものすごく便利だと思ったのは、RAMが128KB以上あるとファイルメンテナンスツールのMultiMenteが起動し、ROMやDSKイメージファイルを選択するだけで自動的にフラッシュにROMイメージを書き込んだり、DSKイメージを仮想ディスクに設定したりできます。
128KB以下の機種ではDOSコマンドライン上でコマンドを使って使用します。

ちょっと操作メモ

ROMイメージ

一度FlashにROMイメージを書き込むと毎回Flashの内容が起動されるので、元に戻すときはFlashを削除する

手順

カーソルキー (↑)を押しながら起動
リカバリーモードの画面になるので、F1キーで"F1 : Erase MegaFlashROM"を選択するとFlashが削除される

DSKイメージ

一度仮想ディスクに設定すると毎回仮想ディスクの内容が起動されるので、元に戻すときは仮想ディスクの設定ファイルを削除する

手順

0を押しながら起動
フロッピーディスクエミュレーションを無効にしてNEXTORが起動されるので、NEXT_DSK.DATファイルを削除する
ディスクイメージファイルの拡張⼦に.FDx (x=1~9)を使⽤ると、複数の仮想ディスクを設定でき、ディスクアクセス時に数字キーを押すことにより切り替えができる。
切り替えのタイミングはディスクアクセスが始まる瞬間なので、"ディスク2をセットしてリターンキーを押してください"のようなシチュエーションの場合は、2を押しながらエンターを押す。



MSXで遊ぶ! BASICプログラムのROM化

MSXでBASICプログラムをROM化して遊びたいと思って調べてたところ、手順を書いたページがありました。
MSX Datapack3章 カートリッジソフトの作成法
このページのBASICプログラムのROM化の方法に書いてあるIDの作成をそのままBASIC画面で実行するとメモリの内容が書き変わってしまい、なかなか上手くいきませんでした。
要はBASICのテキスト格納先頭アドレスを8021Hにして、先頭の32バイトを書き換えれば良いことが分かり、一度8000H〜BFFFHで保存してPC上でバイナリエディタで書き換えてれば成功しました。
このやり方の手順を紹介します。


BASICのROM化方法

BASICプログラムを用意する

今回は例として1から10を表示する簡単なプログラムを作成して、"test1.bas"というファイル名で保存しました。

10 FOR I=1 TO 10
20 PRINT I
30 NEXT
save "test1.bas"

BASICのテキスト格納先頭アドレスを変更してバイナリを保存

BASICのテキスト格納先頭アドレスを8021Hに変える。

POKE &HF676,&H21:POKE &HF677,&H80:POKE &H8020,0:NEW

これは必ず1行で実行してください。

保存したBASICプログラムをロード

load "test1.bas"

BSAVE形式で8000H〜BFFFHを保存する
今回は"test1.bin"というファイル名で保存しました。

bsave "test1.bin",&h8000,&hbfff

PC上でバイナリを編集

保存したBSAVE形式のファイルをPC上の適当なバイナリエディタを使用して編集します。
ここで行うことは2点です。
・BSAVE形式のヘッダ部分(先頭から7バイト)を削除する
・ID部分(BSAVE形式のヘッダ部分削除後の先頭から32バイト)を下の値に書き換える

41 42 00 00 00 00 00 00 20 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
アドレスの00,01,80,09以外はすべて00です。

今回は編集後のファイルを"test1.rom"というファイル名で保存しました。

編集前(test1.bin)


編集後(test1.rom)

実際に動かしてみる

作成したROMファイル(test1.rom)をエミュレータ(blueMSX)で動かしてみました。

無事にBASICプログラムが実行されています。

Mega Flash ROMに書き込んで実機で動かそうと思いましたが、リセットを繰り返すばかりで上手く実行できませんでした。これに関して、もう少し調査が必要そうです。


80年代マイコン大百科

80年代マイコン大百科

レジェンドパソコンゲーム80年代記

レジェンドパソコンゲーム80年代記

  • 作者: 佐々木潤,レトロPCゲーム愛好会,エマ・パブリッシング
  • 出版社/メーカー: 総合科学出版
  • 発売日: 2014/12/18
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログ (1件) を見る
激レア! お宝発掘!! 80年代マイコン読本

激レア! お宝発掘!! 80年代マイコン読本

Unicorn pHATで遊ぶまでのメモ

Unicorn pHATを入手したので、Raspberry Pi Zero W で遊んでみました。
動作させるまでのメモを残します。
GPIOは同じなので、他のRaspberry Pi(ZERO以外でも)でも同じ手順で操作します。

GitHub(ソース)

https://github.com/pimoroni/unicorn-hat
基本的にここのREADME.mdの通りにセットアップすれば、簡単デモを動かすことができるます。

以下、作業ディレクトリを /home/pi と想定。

/boot/config.txtを編集
hdmi_force_hotplug=1
一連のファイルをセットアップ

以下のコマンドを実行

curl -sS https://get.pimoroni.com/unicornhat | bash
デモファイルを動かしてみる。

サンプルのソースファイルが、~/Pimoroni/unicornhat/examples/ にあるので、ここにある demo.py を実行してみる。

cd ~/Pimoroni/unicornhat/examples/
sudo python ./demo.py


Raspberry Pi Zero W Starter Kit

Raspberry Pi Zero W Starter Kit

ちょっと変わったTI-Nspire (CAS無し)を入手しました。TI-84 Plusにもなります

この度、電池稼働できるTIのグラフ電卓が欲しいと思い久しぶりにebayを物色して、TI-Nspire with TouchPad (CAS無し、TI-84 Plusキーパネル付き)を入手しました。送料と合わせて100$ちょっとです。

この機種を知っている人から見ると、ちょっと違和感があると思います。
国内で流通している機種はこんな色です。

全体的に黒(CASの方)、又は左右の縁が白(CAS無しの方)です。
1つ前の世代は青と白で同じカラーリングですが、キー配置が違います。
これはSchool Propertyと書いてあるのですが、教育機関等が購入するモデルらしいです。
カバーやアルファベットキー周りに黄色い箇所があるのが特徴です。

この機種はCAS機能はありませんが、キーパネルを付け替えることにより、TI-84 Plusと互換モードになるのが特徴です。
互換性は高いらしく、アセンブラプログラムも動作したり、速度もそのまま実機と同じように調整されてるみたいです。
今回この機種にしたものも元はTI-84シリーズの何か安いものが欲しいと思い物色しているときに見つけました。

nspireモードではNspire CX CASを入手したときに作ったパズルゲームを実行したところ、違和感なくモノクロに変換され表示されました。

Nspire CX CASも既にあるので、強くお勧めするわけではありませんが、特徴があり遊べる面白い機種だと思います。

Texas Instruments Nspire CX CAS N3CAS/CLM/2L1 Graphing Calculator [輸入品]

Texas Instruments Nspire CX CAS N3CAS/CLM/2L1 Graphing Calculator [輸入品]

Maker Faire Tokyo 2017 でFlashAir W-04を購入

Maker Faire Tokyo 2017に行ってきました。
FlashAirのブースで FlashAirDoujinshi4をもらい、新型のFlashAir W-04の販売も行われていたので、16GBのモデルを購入しました。

去年も頂いた記憶もある作らないで放置していたおまけ基板を今年も頂き、今度こそ作って遊ぼうと思っています。

FlashAir W-04の特徴

第4世代FlashAir W-04より

基本性能が向上

読み出し最大90MB/s、書き出し最大70MB/sの高速転送を実現しました。大容量のRAW形式ファイルを高速に保存する必要がある時、例えば高画質デジタル一眼レフカメラで連写撮影をする場合などに高い効果を発揮します。

ワイヤレスデータ転送機能が向上

新たに設計したCPUを搭載することにより、実測値で従来製品の約2.9倍となる、約31.4Mbpsでのワイヤレスデータ転送を行うことができるようになりました。

Eyefi Connected対応

Eyefi Connectedは、カメラからSDメモリカードを制御することができるカメラ連携機能です。 Eyefi連動機能搭載カメラで使用すると、データ転送中のカメラの電源が切れてしまうのを防ぐことができます。

UHS-Iインターフェイス対応

UHS-Iインターフェイス対応機器で使用すると、高速のパフォーマンスが得られます。UHS Speed Class3に対応し、対応機器で使用した場合は読み書き時に最低30MB/sの転送速度を保証します。フルHDや4K動画撮影も可能です。

安定性の向上

他の無線LANによる干渉に対しても影響を受けにくくなり、人ごみの中でも安定してデータ転送できるようになりました。

Lua関数の追加

I2C機能、日時メモ保存、無線LANのOn/Off機能などが追加され、標準ライブラリの数学関数が使えるようになりました。

共有メモリ容量アップ

共有メモリが512バイトから2Kバイトに容量アップしました。
無線側のデバイスと、ファイルの書き込みをせずに、相互にデータ共有しやすくなります。また、アップロード機能で起こりがちなFATの整合性問題を避けることができます。

WebSocketクライアントに対応(予定)

WebSocketを使うことで、相互に通信するアプリや、常時通信するアプリがより開発しやすくなります。




MSXとメガドライブの記事のまとめ

最近でもMSXメガドライブ改造の話題で来てくれる人が多いので、関連記事へのリンクを書いておきます。