きょうのかんぱぱ

デジモノが大好きなかんぱぱの日記です。

秋月電子の球体液晶ユニットでミクさんを動かしてみた

秋月電子の球体液晶ユニットの実験の続きです。前回はRGBデータを固定で与えることでカラーストライプまで表示できることを確認しました。

やはり何らかの画像を表示してみたいと思い、いろいろ調べたところFPGAで液晶に画像を表示しているこちらの記事を参考にさせていただきました。

MAX10にもSRAMがありますので、MAX10のSRAM上にROMの領域を作成し、画像データをそちらに格納して表示させることにします。画像データはROMの初期化ファイル(.mifファイル)として作成しますが、これはUbuntuにopencvをインストールして作成しました。

液晶モジュールは196×196ピクセルで各色6ビットの深度です。このままのデータだとSRAMに収まらないのでやむなく各色3ビットに落としてデータを作成し、LCDに色データを与えるルーチンを書き換えてミクさんの画像が表示できました。

globe_lcd_miku1.jpg

画像は確認できましたが、各色3ビットなので512色しか表示できないので色がイマイチです。

秋月電子の球体液晶表示ユニットを動かしてみた

秋月電子の新製品で興味あるデバイスが販売されていました。ドーム型スクリーン用カラー液晶プロジェクタ(球体液晶・光学表示ユニット)です。詳細な仕様書もあり、信号さえ作れば表示できそうな雰囲気です。

globe_lcd_1.jpg

このLCDは色信号をパラレルで入力してVSYNCやHSYNCといった信号を常に流し続ける必要があります。これをFPGAで動かしてみようと思いつきました。ちょうどCQ出版社のFPGA電子工作スーパーキットの付録のMAX10がありますのでこれが手頃です。

PDP-11をARTY FPGAボードで動かしてみた(4) UNIX V5を動かす

これまでの作業でARTY FPGAボードはPDP-11になったと思われるのですが、やはりアプリケーションを動かさないとよくわかりません。

PDP-11のソースツリーでは各種UNIXを動かすキットが含まれています。ARTY FPGAボードではUNIX V5が動くようですので、これを動かすことで、PDP-11になっていることを確認してみます。

unix-v5のディスクセットを用意する

PDP-11用のUNIX V5のイメージデータが用意されていますので、これをソースツリーに持ってきます。

$ cd $RETROBASE/tools/oskit/unix-v5_rk
$ wget http://www.retro11.de/data/oc_w11/oskits/unix_v5_rkset.tgz
$ tar -xzf unix_v5_rkset.tgz

PDP-11をARTY FPGAボードで動かしてみた(3) FPGAのコンフィグレーション

Vivadoの開発環境OpenCoresの開発環境が準備できましたので、いよいよFPGAのコンフィグレーションを行います。

bitstreamを作る

FPGAに書き込むためのbitstreamを生成します。実はbitstreamはOpenCoresのページにも用意されているのですが、試しにmakeをしてみたら簡単にbitstreamができたのでこちらを使いました。

PDP-11をARTY FPGAボードで動かしてみた(2) OpenCores開発環境の準備

Vivadoの開発環境がインストールできたところで、次はOpenCoresの開発環境を準備します。

OpenCoresのアカウントを取得する。

OpenCoresのページからアカウントを登録します。このアカウントでOpenCoresのsvnからソースツリーを取得することができます。
http://opencores.org/

必要なパッケージのインストール

開発環境に必要なパッケージをLinux環境にインストールします。

  • build-essential
  • libboost-dev
  • libboost-date-time-dev
  • libboost-thread-dev
  • libboost-regex-dev
  • libusb-1.0-0-dev
  • tcl
  • tcl-dev
  • tcllib
  • tclreadline
  • subversion

PDP-11をARTY FPGAボードで動かしてみた(1) Vivado開発環境の準備

はじめに

OpenCoresFPGAでPDP-11を動かすプロジェクトにしたがって、Xilinx Artix-7が載ったDIGILENTのARTYというFPGA評価ボードでUNIX V5を動かすまでをまとめました。

FPGAについては初心者ですので、間違っているところもあるかもしれません。

今回使用するDIGILENTのARTYは秋月電子で取り扱っています。
http://akizukidenshi.com/catalog/g/gM-10034/

使用するLinux環境ですが、ubuntu 14.04 LTSをiMacのVMware Fusionにインストールしているので、この上で作業を行いました。

Vivado開発環境の準備

Xilinx社のFPGA開発環境であるVivadoのインストーラーは以下にあります。
Vivado Design Suite - HLx Editions - 2016.1 Full Product Installation
http://japan.xilinx.com/support/download.html

各種のインストーラがありますが、今回は以下のLinux版を使用します。

Vivado HLx 2016.1: WebPACK および Editions - Linux 用自己解凍型ウェブ インストーラー
(BIN - 80.67 MB)

これをubuntuのFirefoxでダウンロードしました。正常に終了するとDownloadsフォルダに保存されます。

$ cd ~/Downloads
$ ls
合計 88524
Xilinx_Vivado_SDK_2016.1_0409_1_Lin64.bin
$

PDP-11をARTY FPGAボードで動かしてみた

OpenCoresというサイトにFPGAでPDP-11を動かすプロジェクトがあったので、Xilinx Artix-7が載ったDIGILENTのARTYというFPGA評価ボードでPDP-11を動かしてみました。

arty_fpga_board.jpg

開発環境の設定でかなり試行錯誤しましたが、なんとかUNIX V5まで動かすことができました。

pdp11_v5unix.png

動かすための手順については以下にまとめました。

中波短波ラジオICR-SW700の液漏れを修理してみた

HARDOFFのジャンクコーナーでSONYの短波ラジオICR-SW700をみつけました。中身を確認させていただいたところそこそこ綺麗でしたが、電池ボックスに液漏れの跡がありマイナス側の電池のバネは腐食していました。でもなんとかなるかなと買って帰りました。お値段は980円です。

icr_sw700_01.jpg

手持ちのICF-2001D用の4.5VのACアダプタを接続したところ問題なく動きました。でも、やはりラジオは電池で手軽に使いたいものです。

6802ワンボードコンピュータELIS68を動かしてみた(5)GAME動作編

GAMEが動き始めたELIS68ですが、残念ながら手持ちのエンサクロペディア Volume2にはGAMEの全4回の連載のうち2回分しか掲載されておらず、続巻のエンサイクロペディア Volume3は持っていません。こういうときは国立国会図書館が頼りです。

国立国会図書館サーチを使うと蔵書の検索を行うことができます。GAMEの連載は以下の4つのようです。

  • ASCII 2(7)(13) 1978-07 新言語"GAME"
  • ASCII 2(8)(14) 1978-08 GAME インタプリタの研究
  • ASCII 2(9)(15) 1978-09 行編集機能とディスコンパイラー
  • ASCII 2(10)(16) 1978-10 6800用セルフアセンブラ

おまけに、68系のGAMEコンパイラの記事も見つけました。

  • ASCII 5(5)47 1981-05 H68/TR GAME68コンパイラ

さらに、ELIS68の連載5回目のQ&Aの記事も見つかりました。

  • ASCII 3(12)(30) ELIS68 Q&A 編集部

これまで何度か国会図書館は利用していますので、早速出かけて該当の記事を複写していただきました。

elis68_game5.jpg

6802ワンボードコンピュータELIS68を動かしてみた(4)GAME移植編

ELIS68は6800用のあらゆるソフトを走らせるために作られたスーパーマシンです。MIKBUG 2.0だけ動かして終了というわけではありません。ELIS68のマニュアルにはGAME(ここではGAMEIII)というインタプリター言語を動かすための手順が載っています。

GAMEは大西 博氏が開発し、月刊アスキーの1978年7月号から10月号まで連載されていました。たまたま手元にあるエンサイクロペディアアスキーVolume2にも掲載されていました。

elis68_game0.jpg

GAMEは文法的にはVTL(Very tiny language)に近く、機能的にはTiny BASICにASCII文字や16進数の処理やメモリアクセスの機能が加わったインタープリター言語です。CPUが非力でメモリ空間が小さい昔の8ビットマイコンにおいては、このような小さい言語が活躍していました。GAME言語でゲームを書くようなこともしていました。