2016.8.29
前へ
次へ
ホームページトップへ戻る

マイコン独立大作戦
CRTインターフェースボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第5回]


●CG(キャラクタジェネレータ)

このところ見ていただいております、試作版CRTインターフェースボードの画面表示では、そこで説明しましたようにPC8001とMZ80のキャラクタ(文字)を使っています。
ずっと昔に販売しておりました当社のマイコンボードにはオリジナルのキャラクタを使っていたのですが、今回せっかくCRTインターフェースボードを新たに作ることに決めましたので、この機会にキャラクタにも互換性を持たせたほうが、たとえば昔のゲームなどを移植してみるなどという用途を考えたときに、それなりに都合がよいのではないかと思いついたものですから、そのようなCG(キャラクタジェネレータ)ROMを作成しました。

そのように書きますと、さては昔のPC8001とかMZ80を入手して、それをバラしてCGROMをコピーしたのではないか?と思われるかもしれません。
そんなことはいたしません。
手元にはPC8001もMZ80もございませぬ。
ではどうやったのか?といいますと。

インターネットを検索してPC8001とMZ80のキャラクタパターンを入手しまして、それをもとにしてキャラクタデータを作成してROMに落としたのです。
このように書きますといとも簡単なようですが、なかなかにどうして、たっぷりと手間がかかっております。

これがそのキャラクタデータ作成に使った元原稿です。
こちらはMZ80です。


こちらはPC8001です。

どちらもインターネットから入手した画像をもとにして、そこにドットの区切りがわかるようにマス目のパターンを作成してかぶせました。
そしてそれを見ながらキャラジェネデータを作成したのです。

その作成手順をPC8001のパターンの左上から2番目のキャラクタで説明します。
これは文字コード01で、多分特殊文字SHだと思います。
Shift+Hでしょうか。

その部分を拡大しました。

ちょうど8×8マスになっています。
これをもとに8ビット×8(バイト)のデータを作成します。
文字の部分が1で地の部分が0です。
すると下のようになります。

01110000
01000000
01110000
00011010
01111010
00001110
00001010
00001010

これを16進数で表すと、
70,40,70,1A,7A,0E,0A,0A
の8バイトのデータになります。

下はそのようにして作成したCGデータの一部分です。

>/ld cgpcmz2.bin,8000
loading CGPCMZ2.BIN ...1000(4096)bytes loaded,from 8000 to 8FFF
>dm 8000,80ff
8000  00 00 00 00 00 00 00 00-70 40 70 1A 7A 0E 0A 0A  ........p@p.z...
8010  70 40 70 12 74 08 14 22-70 40 70 42 74 08 14 22  p@p.t.."p@pBt.."
8020  70 40 70 40 7E 04 04 04-E0 80 E0 8C F2 12 12 0D  p@p@~...........
8030  20 50 70 52 54 18 14 12-70 48 70 48 74 04 04 07   PpRT...pHpHt...
8040  70 48 70 4F 74 07 01 07-50 50 70 50 5E 04 04 04  pHpOt...PPpP^...
8050  40 40 40 4E 78 C0 80 80-50 50 70 50 51 1B 15 11  @@@Nxタ..PPpPQ...
8060  3C 40 40 44 38 08 08 0F-38 40 40 3E 09 0E 0A 09  <@@D8...8@@>....
8070  70 40 70 10 7C 12 12 0C-70 40 70 10 7E 04 04 0E  p@p.|...p@p.~...
8080  70 48 48 4F 74 07 04 07-70 48 48 4A 76 02 02 07  pHHOt...pHHJv...
8090  70 48 48 4E 71 06 08 0F-70 48 48 4F 71 07 01 0F  pHHNq...pHHOq...
80A0  70 48 48 4A 76 0A 1F 02-48 68 58 49 4A 0C 0A 09  pHHJv...HhXIJ...
80B0  70 40 70 10 79 0D 0B 09-70 40 70 4E 79 0E 09 0E  p@p.y...p@pNy...
80C0  38 40 40 38 09 0D 0B 09-70 40 70 40 71 1B 15 11  8@@8....p@p@q...
80D0  70 40 70 4C 71 1C 12 1C-70 40 70 40 7E 10 10 0E  p@pLq...p@p@~...
80E0  00 08 04 7E 04 08 00 00-00 10 20 7E 20 10 00 00  ...~...... ~ ...
80F0  00 08 1C 2A 08 08 08 00-00 08 08 08 2A 1C 08 00  ...*........*...


一番上の行の後半8バイトにそのデータが見えます。
そのようにして1バイトずつ図を見ながらデータとしてキーボードをたたいて作成したのです。
なかなかに大変な手間がかかっているのであります。

CRTインターフェースボードの製作[第5回]
2016.8.29upload

前へ
次へ
ホームページトップへ戻る