Adafruitの8×8ミニLEDマトリックス制御API(Raspberry Pi用)

Adafuitの8×8のLEDマトリックスをRaspberry Piで使う方法のAPI編です。 初期セットアップの仕方は参考記事を参照してください。 この記事はサンプルコードを思いついたときに適宜追加していきます。そのため見るたびに内容が変わっている可能性があることをご承知おきください。 サンプルコード Raspberry PiのIPアドレスをスクロール表示(2017/1/29作成) 前提パッケージ: netifaces 使用API: animate(), horizontal_scroll() Raspberry Piに設定されているIPアドレスをスクロール表示します。フォントデータはJR- … “Adafruitの8×8ミニLEDマトリックス制御API(Raspberry Pi用)” の続きを読む

PSPの壁紙設定

PSPのシステムソフトウェアVer2.00から、メニュー画面に壁紙として任意の画像を設定できるようになってます(最近出荷されているPSPはすでにVer2.80になっているはず)。 「PSP 壁紙」で検索すると、山ほど壁紙提供サイトが出てきますが、せっかくなのでこの画像を自作してみましょう。 簡単に言えば、480*272のサイズの画像ファイルを作って、PSP内のメモリスティック内のディレクトリ「\PSP\PHOTO」の下に保存するだけです。画像をまだ一枚も保存していない場合はPHOTOディレクトリが存在しませんが、新規にPSPディレクトリ直下に作ればOKです。画像フォーマットは、JPEG/GIF … “PSPの壁紙設定” の続きを読む

PNG API

自前で進めている古パソコンの解析作業(古パソコンの部屋参照)を進めるにあたって、文字フォントのビットマップから画像ファイルを機械的に生成するために、ビットマップデータから画像ファイルへの変換プログラムが必要になった。ブラウザで画像が見られることを前提としたため当初はGIFを検討したが、GIFを生成するプログラムは特許問題のため自作できないので、PNGを生成するものを作ることにした。 Java2 SD 1.4から、javax.imageioパッケージが追加され、画像ファイルの入出力を簡単にできるようになりました。今となってはここで公開しているライブラリの価値はあまりないと思いますが、PNGファイ … “PNG API” の続きを読む

MMLプレイヤ

古いパソコンのエミュレータ作成の一環として、各種音源ICのエミュレーションをしたいと思っています。また、昔さんざんいじったMMLを使って今のマシンから簡単に音楽演奏できたら楽しそうだと考えました。そこで、Javaのプログラミングテクニック向上も兼ねて、プレイヤを自作することにしました。 プログラム MMLプレイヤはJavaで作成しています。ソースも公開します。ソースの改造は自由に行っていただいて結構ですが、ファイル先頭のauthorの部分を削除しないようお願いします。なお、まだプログラムはバグが多く潜んでいるはずです。何か問題を発見しましたら、ご連絡ください。またエラー処理もあまりしていないの … “MMLプレイヤ” の続きを読む

JR-100エミュレータ

松下通信工業製の8bitパソコンJR-100をPC上でエミュレートします。エミュレータの実装はCやC++で作成されるものが多いのですが、自分自身のJavaプログラミングの向上と、Javaで実装することによるマルチプラットフォームでの実行を目指しています。 エミュレータといえば実機のROMデータが必須なのですが、私はJR-100の面白さを多くの方にぜひ知ってもらいたいと思い、最初はROMデータ不要版(v1)を開発しました。ある程度できたところでROMデータを使う本格的なエミュレータの作成に着手し(v2)、現在にいたっています。 ダウンロードと実行方法 エミュレータver1 JR-100のROMデ … “JR-100エミュレータ” の続きを読む

Javaで/dev/nullへの書き込みをする方法

Unixでは標準出力への出力をすべて捨てる場合は/dev/nullにリダイレクトします。一方Windowsでは”nul”という名称のファイルにリダイレクトすることで同じことが可能です。したがってif文でプラットフォームに応じて異なるストリームを定義するようなコードを書けば対応できそうですが、せっかくJavaならプラットフォームに依存しないようスマートに書きたいものです。どうすればよいでしょう? Unixでしか通用しない方法

単に/dev/nullファイルに対するOutputStreamを作るだけです。しか … “Javaで/dev/nullへの書き込みをする方法” の続きを読む

PA-7007(パソピア7)とは

東芝が1983年に発売した8bitパソコンである。通称「パソピア7」と呼ばれる。開発元は東芝のOA機器事業部。当時のパソコンでは3重和音の音楽演奏機能を搭載するのが普通でしたが、PA-7007は6重和音が出せるのが特徴である。 ハードウェア仕様 構成部品 CPU LH0080A (Z80A互換) 3.99MHz RAM TMM4164P-3 × 8個(64KB) ROM 2764 × 6個 (48KB) BIOS:16KB, BASIC:32KB VRAM TMS4416-15 × 7個 (56KB) グラフィック用3面×16KB, テキストアトリビュート用8KB キャラクタジェネレータ 27 … “PA-7007(パソピア7)とは” の続きを読む

ぴゅう太とは

 玩具メーカーであるTOMYが昭和57年頃に発売したマイコンである。発売の正確な年代は把握していないが、付属のオペレーションマニュアルは昭和57年発行になっている。おもちゃマイコンと簡単に馬鹿にしてはいけない。CPUはTexas Instrument社の16bit CPUであるTMS9995である。また日本語BASIC「G-BASIC」を搭載していることも特徴である。なおG-BASICの「G」はグラフィックの頭文字で、グラフィックを動かす命令語が強化されていることから名づけられているようです(オペレーションマニュアルの巻末の用語解説より)。BASICのコマンドをほぼそのまま日本語(カタカナ)に … “ぴゅう太とは” の続きを読む

PC-6001とは

PC-6001とは NECが1981年に発売した8bitパソコン、通称「パピコン」である。キートップが独特の形と色をしている。私がPC-6001に初めてであったのは、中学2年のとき、友人が買ったのを見せてもらったときである。それまで使ってきたパソコンは単音の音楽演奏機能(というより周波数が可変なBEEP音)しかなかったため、PC-6001の3重和音は衝撃的であった。それ以来、その友人宅に通って、楽譜から音楽を入力して演奏させては自己満足していた。 ハードウェア仕様 カタログスペック CPU μPD780C-1(Z-80A互換) 4MHz サブCPU μPD8049C223 8MHz キーボード … “PC-6001とは” の続きを読む

MZ-80K2Eとは

 1981年に、MZシリーズコンピュータ10万台突破記念として限定発売されたパソコンである。MZ-80K2(標準価格198000円)の廉価版として売り出された(148000円)。MZシリーズは「クリーンコンピュータ」として有名である。当時のパソコンはBASICインタプリタをROMとして搭載するのが通常だったが、MZシリーズはテープからプログラムをロードするIPL(Initial Program Loader)のみをROMでもち、BASICインタプリタやBASICコンパイラ、PASCALインタプリタなどをテープからメモリにロードして実行する方式になっている。 ハードウェア仕様 カタログスペック … “MZ-80K2Eとは” の続きを読む