電子趣味の部屋

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

SPFM Light + OPNAモジュールでPC98の86音源を再現

久しぶりにSPFM LightとOPNAモジュール Premium Editionで遊んでたので、録音して見ました。
PC98のエミュレータnp2を使用してます。
元の音が小さく動画編集ソフトで無理やり大きくしたらちょっと音質が劣化しちゃいましたが、修正する気力がないのでそのままアップしました。

SPFM Light (FMの台)はUSB接続の外部音源モジュールでFM音源等を演奏することができます。
RE:birth | 家電のケンちゃん(@kadenken)から購入することができます。

所有してあるモジュールは、
PC98の86音源で使われているYM2608が搭載されたOPNAモジュール(今回のやつ)、
X68000で使われているYM2151が搭載されているOPMモジュール
ですが、OPMモジュールの方はまたいつか紹介するつもりです。

サウンドプログラミング入門――音響合成の基本とC言語による実装 (Software Design plus)

サウンドプログラミング入門――音響合成の基本とC言語による実装 (Software Design plus)

久しぶりにMSX実機でFM音源を聞きたくなったので

久しぶりにMSX実機でFM音源を聞きたくなったので、簡単ですが簡単に録画をしました。


MSX実機 DISK STATION 創刊準備0号 タイトル画面

MSX DISK STATION 創刊1号 タイトル画面

このMSXは、MSXで遊ぶ!HB-F1XVのS端子出力改造+SDCard HxC Floppy Emulatorで紹介したS端子改造を施したHB-F1XVからGV-USB2でキャプチャしました。
このMSXFM音源はYM2413で、ArduinoでFM音源シールド作成 (YM2413)Arduinoのシールド作成したものと同じFM音源です。



80年代マイコン大百科

80年代マイコン大百科

  • 作者:佐々木潤
  • 発売日: 2013/07/17
  • メディア: 単行本(ソフトカバー)

NES風Raspberry Piケース

ebayで面白いものを見つけたので遊んでみました。

NES風のNESRaspberry Piケースです

3Dプリンタで出力したものが出品されてたので買ってみました。
送料合わせて3000円ほどです。

また、NES風USBコントローラもあったので、こちらも買ってみました。
送料込みで250円です。
コントローラはそれなりの作りです。
十字キーに山がないので、よく斜めを押したことになってしまいます。
今回は遊びのためなので、これで良いですが、それなりのメーカーが販売している数千円のものもあるので、普通に使いたい人はそちらを選びましょう。

ケースの形状データはネットを探せばあるようで、複数の人が様々な色で出力してた多数出品されています。
こういうのを見ると3Dプリンタがほしくなります。

Raspberry Pi 3 MODEL B 【RS正規流通品】

Raspberry Pi 3 MODEL B 【RS正規流通品】

Genuino 101 (Arduino 101) の加速度センサを使ってみる

今回は簡単にGenuino 101 (Arduino 101)の加速度センサを使ってみました。

必要なライブラリは CurieIMU です。
このライブラリはボードマネージャからGenuino 101環境のインストールが終わっていれば、ライブラリをインクルードからインクルードできます。

CurieIMU.begin()で加速度センサを有効化します。
CurieIMU.readAccelerometer()で加速度センサの値を取得できます。

加速度センサのX軸の値をLCDに表示するプログラムを書いたので、参考にしてください

// CurieIMU.hをインクルード
#include <CurieIMU.h>
// 汎用LCDのライブラリ
#include <LiquidCrystal.h>

LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

void setup() {
  lcd.begin(16, 2);              // start the library
  lcd.setCursor(0,0);
  lcd.print("Accelerometer"); // print a simple message
  // 加速度センサ開始
  CurieIMU.begin();
}

void loop() {
  char work[32];
  int x = 0, y = 0, z = 0;
  // 加速度センサの値取得
  CurieIMU.readAccelerometer(x, y, z);
  lcd.setCursor(0,1);
  sprintf(work, "X=%6d", x);
  lcd.print(work);
}

Genuino 101

Genuino 101

Genuino 101 (Arduino 101)買いました

ちょっと遅くなりましたが、Genuino 101 (Arduino 101)を買いました。
商標問題で色々あり、アメリカではArduino 101ですが、日本ではGenuino 101という名前になっています。

まだサンプルスケッチのBlink(Lチカ)で動作確認しかしてませんが、スペック的にはいろいろ遊べそうです。

スペックの概要は以下の通りです。

CPU Intel Curie
動作電圧 3.3 V (5 Vトレラント)
推奨入力電圧 7-12 V
最大入力電圧 7-20 V
デジタル入出力端子 14 本 (内 4 本がPWM出力可能)
アナログ入出力端子 6 本
I/Oピン最大出力電流 4 mA
フラッシュメモリ 196 KB
SRAM 24 KB
動作周波数 32 MHz
特徴 BLE(Bluetooth Low Energy)
6軸の慣性計測装置(3軸の加速度センサと3軸のジャイロセンサ)
サイズ: 68.6 mm × 53.4 mm

このCPUは Intel Curie となっており、x86コアなので、インラインアセンブラアセンブラを使ってちょっとしたチューニングをするのも面白いかもしれません。

またシールドを用意しなくても、標準でBluetoothや加速度センサとジャイロセンサが搭載されているのも遊べるポイントです。

Arduino自体も現在標準機扱いのUNOの後継として位置付けているようなので、これから色々試してみようと思います。

Genuino 101

Genuino 101

Flash Air (W-03)をIPアドレス固定で無線LANのアクセスポイントに接続する方法

Flash Air (W-03)をIPアドレス固定で無線LANのアクセスポイントに接続する方法です。

基本的に以下の設定をします。

[Vendor]
APPMODE=5 (カード電源投入時に無線LAN機能を起動。無線LANモードはSTAモード。)
APPNAME=[ネットワーク上の名前]
APPSSID=[無線LANのAPのSSID]
APPNETWORKKEY=[無線LANのAPのパスワード]

[WLANSD] (この項目は初期状態では無いので追加する)
DHCP_Enabled=NO (DHCPを使用しない)
IP_Address=[IPアドレス]
Subnet_Mask=[サブネットマスク]
Default_Gateway=[ゲートウェイアドレス]
Preferred_DNS_Server=[優先DNSサーバアドレス]
Alternate_DNS_Server=[代替DNSサーバアドレス]
Proxy_Server_Enabled=NO プロキシサーバを使用しない)

詳しいな説明はFlashAir Developers - ドキュメント - APIガイド - CONFIGを参照してください。

設定例

[Vendor]

CIPATH=/DCIM/100__TSB/FA000001.JPG
APPMODE=5
APPNAME=[ネットワーク上の名前]
APPSSID=[無線LANのAPのSSID]
APPNETWORKKEY=[無線LANのAPのパスワード]
VERSION=FA9CAW3AW3.00.00
CID=02544d535730384731cad8617900f801
PRODUCT=FlashAir
VENDOR=TOSHIBA
MASTERCODE=7c5cf8952ecd
LOCK=1

[WLANSD]

DHCP_Enabled=NO
IP_Address=[IPアドレス]
Subnet_Mask=[サブネットマスク]
Default_Gateway=[ゲートウェイアドレス]
Preferred_DNS_Server=[優先DNSサーバアドレス]
Alternate_DNS_Server=[代替DNSサーバアドレス]
Proxy_Server_Enabled=NO

TIの関数電卓で迷ったらTI-Nspire(CASの方)でOK

TIは現行機種でもTI-Nspire(CASの方)TI-84TI-89の各シリーズがありますが、
価格も今ではそんなに差がなく、何か1台購入しようと思ったら、初めての人は迷うと思います。
実際に何回か聞かれたことがあります。
特に学校や会社で指定されていない限りはTI-Nspire(CASの方)で決まりで良いと思います。
TI-Nspire(CASの方)がモノクロ液晶ですが電池できるTI-Nspire CASとカラー液晶で充電式のTI-Nspire CX CASがありますが、こちらは用途別で選んできください。

CPUはTI-84がZ80TI-89MC68000で旧世代のCPUに対してTI-NsipreはARMです。
価格差の割りにはスペックの差が断トツで、他の機種の存在意義はわからなくなる。詳しく調べたわけではありませんが、今まで使っていた人の保守用だと思います。
TI-Nsipreはカタログを見るとキーが多く、画面表示も色々ごちゃごちゃして使いにくそうな印象を受けるかもしれませんが、実際に使ってみると、nspire以外の機種はまずどうやるかわからずに戸惑います。
実際にTI-84 Plus Silver EditionNspire CX CASをほぼ同時期に購入して使い始めましたが、Nspire CX CASはマニュアルを読まなくてもグラフまで表示できましたが、TI-84 Plus Silver Editionでは普通の関数計算機能以外の操作が分からず、マニュアルを読まないとグラフを表示することができませんでした。
TI-89は機能がアイコン表示されわかりやすくはなっていますが、TI-Nspire CX CASの方がさらに分かり易いです。

TI-Nspire以外の機種を否定するわけではありません。
実際に自分も数個所有して使い分けています。
ただ、初めてTI電卓を触る人が1台だけ選ぶとして、TI-Nspire以外を選ぶと色々分かった後に公開すると思うので、1台目はTI-Nspireを選ぶことを勧めます。