home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FreeWare Collection 2
/
FreeSoftwareCollection2pd199x-jp.img
/
rom
/
mem.doc
next >
Wrap
Text File
|
1990-06-14
|
17KB
|
358 lines
TOWNSシステスROM--メモリマップと図形データ
タケ (NAA01070)
システムROMのセグメントセレクタ値は,コードが0100H,データが01
08Hとなっているが,両者の内容は同じものと思われる。違いはコードが読み込
み・実行がともに可能なのに対して,データは読み込みのみ可能である。
サイズは256KBだが,初めの160KBは未使用であり,残りの96KBに
データ等が書き込まれている。さらに,後者にも細かな未使用領域がある
以下に示すのは,システムROMのメモリマップと,そこに含まれに図形データ
についてであるが,あらかじめこれが完璧なものではないことをお断りしておく。
2か所ある「不明」の部分は,未解読の部分である。おそらく,ソフトウェアキ
ーボードの最初の2104バイトは,ソフトウェアキーボードにかかわる図形以外
のデータであり,最後の16KBは何からのコードであろう。筆者の関心はシステ
ムROMの図形データを利用することにあり,またコードを分析する能力もないの
で,この部分は「不明」のままにしておくことにする。
また,図形データ部分でも,データの区切り方に疑問の残るところもある。
その他,出来るかぎり正確を期したつもりだが,間違いもあると思う。お気付き
の点をお知らせいただければ,その都度,訂正してゆくつもりである。
〔メモリマップ〕
00000H+-----------------+
| |
| |
|未使用 (FFH) 160KB|
| |
| |
28000H+-----------------+--------
| | ↑
| | |
|TownsGEAR アイコン 32KB| |
| | |
| | |
30000H+-----------------+--- |
| | ↑ |
|ソフトウェアキーボード 19740| | |
| | | |
34DICH+-----------------+ | |
|未使用 (00H) 228| | |
34E00H+-----------------+ |32KB |
|電卓 2288| | |
356F0H+-----------------+ | |
|未使用 (00H) 10192| | |
37EC0H+-----------------+ | |
|ボタン 320| ↓ |
38000H+-----------------+--- |96KB
| | ↑ |
|オープニング画面 11389| | |
| | | |
3AC7DH+-----------------+ | |
|未使用 (FFH) 899| |16KB |
3B000H+-----------------+ | |
|システムアイコン 3840| | |
3BF00H+-----------------+ | |
|未使用 (FFH) 256| ↓ |
3C000H+-----------------+--- |
| | |
| | |
|不明 16KB| |
| | |
| | ↓
+-----------------+--------
〔フソトウェアキーボード〕
30000H+-----------------+---
|不明 2104| ↑
30838H+-----------------+ |
|外枠の上の線 33| |
30895H+-----------------+ |
| | |
|キーボード 15840| |
| | |
34639H+-----------------+ |
|表示窓 726| |
3490FH+-----------------+ |19740
|漢字変換/単語登録 588| |
34B5BH+-----------------+ |
|全角/半角 114| |
34BCDH+-----------------+ |
|影(縦) 142| |
34C5BH+-----------------+ |
|未使用 (00H) 1| |
34C5CH+-----------------+ |
|影(横) 192| ↓
+-----------------+---
〔ソフトウェアキーボードに関する疑問点〕
ソフトウェアキーボードの外枠の上の線,キーボード,表示枠のデータの区切り
方については若干の疑問が残る。
フソトウェアキーボードの輪郭はおよそ次のようなものである。特に,右側と下
側に2ドットの線によって「厚み」が表現されていることを思い出していただきた
い。
●●●●●●●●●●●●●●●●●●●●●
● ●●
● 表示窓 ●●
● ●●
●●●●●●●●●●●●●●●●●●●●●
● ●●
● ●●
● ●●
● キーボード ●●
● ●●
● ●●
● ●●
●●●●●●●●●●●●●●●●●●●●●
●●●●●●●●●●●●●●●●●●●●●
そして,図形データは次のような順でシステムROMに書き込まれている。
<解釈1> <解釈2>
外枠の
●●●●●●●●●●●●●●●●●●●●● ↑ ←上の線
● ●● | ↑
● ●● | |
● ●● | |
● キーボード(かな) ●● | |
● ●● | |
● ●● | |
● ●● | |
●●●●●●●●●●●●●●●●●●●●● ↓ |
●●●●●●●●●●●●●●●●●●●●● ↑ ↓
● ●● | ↑
● ●● | |
● ●● | |
● キーボード(カナ) ●● | |
● ●● | |
● ●● | |
● ●● | |
●●●●●●●●●●●●●●●●●●●●● ↓ |
●●●●●●●●●●●●●●●●●●●●● ↑ ↓
● ●● | ↑
● ●● | |
● ●● | |
● キーボード(英字) ●● | |
● ●● | |
● ●● | |
● ●● | |
●●●●●●●●●●●●●●●●●●●●● ↓ |
●●●●●●●●●●●●●●●●●●●●● ↑ ↓
● ●● | ↑
● ●● | |
● ●● | |
● キーボード(記号) ●● | |
● ●● | |
● ●● | |
● ●● | |
●●●●●●●●●●●●●●●●●●●●● ↓ |
●●●●●●●●●●●●●●●●●●●●● ↑ ↓
● ●● | ↑
● 表示窓 ●● | |
● ●● | |
●●●●●●●●●●●●●●●●●●●●● | |
● ●● ↓ ↓
常識的に考えれば,<解釈1>のような区切りになるだろう。しかし,そうする
と,下側の「厚み」がなくなってしまう。「厚み」を表現するには,<解釈2>の
ような方法が考えられる。この場合,初めにある1行の線は「外枠の上の線」とな
る。
<解釈2>は一応データを過不足なく利用できるので,メモリマップはこれに基
づいて書かれている。しかし,この区切り方はいかにも不自然である。
〔システムROMに含まれる図形の詳細〕
(1)TownsGEARアイコン
図形の大きさ 32ドット×32ドット
色モード 2色
図形の総数 256個
データの内容とサイズ
図形(各) ((32+7)÷8)×32=128バイト
合計 128×256=32768バイト(32KB)
〔注〕システムROMに含まれるアイコンは,TownsGEARのものと同じ
である。ただし,こちらが2色モードであるのに対して,CD-ROMのア
イコンライブラリのものは16色モードである。また,システムROMのア
イコンには,それぞれ背景が付いている。
+-----------------+
|アイコン(1) 128|
+-----------------+
|アイコン(1)の背景 128|
+-----------------+
|アイコン(2) 128|
+-----------------+
|アイコン(2)の背景 128|
+-----------------+
| |
~~~~~~~~~~~~~~~~~~~
(2)ソフトウェアキーボード:外枠の上の線
図形の大きさ 260ドット×1ドット
色モード 2色
図形の総数 1個
データの内容とサイズ
図形 ((260+7)÷8)×1=33バイト
(3)ソフトウェアキーボード:キーボード
図形の大きさ 260ドット×120ドット
色モード 2色
図形の総数 4個
データの内容とサイズ
図形(各) ((260+7)÷8)×120バイト
=3960バイト
合計 3960×4=15840バイト
〔注〕図形一覧
1 「かな」モード
2 「カナ」モード
3 「英字」モード
4 「記号」モード
(4)ソフトウェアキーボード:表示窓
図形の大きさ 260ドット×22ドット
色モード 2色
図形の総数 1個
データの内容とサイズ
図形 ((260+7)÷8)×22=726バイト
(5)ソフトウェアキーボード:漢字変換/単語登録
図形の大きさ 112ドット×21ドット
色モード 2色
図形の総数 2個
データの内容とサイズ
図形(各) ((260+7)÷8)×22バイト
=294バイト
合計 294×2=588バイト
〔注〕図形一覧
1 登録|抹消|実行
2 漢辞|無変換|変換
(6)ソフトウェアキーボード:全角/半角
図形の大きさ 24ドット×19ドット
色モード 2色
図形の総数 2個
データの内容とサイズ
図形(各) ((24+7)÷8)×19=57バイト
合計 57×2=114バイト
〔注〕図形一覧
1 全角
2 半角
(7)ソフトウェアキーボード:影(縦)
図形の大きさ 6ドット×142ドット
色モード 2色
図形の総数 1個
データの内容とサイズ
図形 ((6+7)÷8)×142=142バイト
(8)ソフトウェアキーボード:影(横)
図形の大きさ 254ドット×6ドット
色モード 2色
図形の総数 1個
データの内容とサイズ
図形 ((254+7)÷8)×6=192バイト
(9)電卓
図形の大きさ 128ドット×143ドット
色モード 2色
図形の総数 1個
データの内容とサイズ
図形 ((128+7)÷8)×143
=2288バイト
(10)ボタン
図形の大きさ 16ドット×16ドット
色モード 2色
図形の総数 8個
データの内容とサイズ
各図形につき
不明 2バイト(0000H=0)
幅 2バイト(0010H=16)
長さ 2バイト(0010H=16)
サイズ? 2バイト(0108H=264)
図形 ((16+7)÷8)×16=32バイト
合計 2+2+2+2+32=40バイト
合計 40×8=320バイト
〔注1〕図形一覧
<形> <記号>
1 □ 無し
2 □ ×
3 ○ 無し
4 ○ ●
5 □ ←
6 □ →
7 □ ↑
8 □ ↓
〔注2〕各図形の7~8バイト目は264(0108H)となっているが,これ
は,データサイズを誤って「2+2+2+2+16×16」と計算した値で
あろう。
(11)オープニング画面
図形の大きさ 263ドット×115ドット
色モード 8色
図形の総数 1個
データの内容とサイズ
幅 2バイト(0107H=263)
長さ 2バイト(0073H=115)
図形 ((263+7)÷8)×3×115
=11385バイト
合計 2+2+113855=113859バイト
〔注〕次のようなデータ構造によって8色モードを実現している。
+-----------------+---
|1行目の青 33| ↑
+-----------------+ |
|1行目の赤 33| |1行目
+-----------------+ |
|1行目の緑 33| ↓
+-----------------+---
|2行目の青 33| ↑
+-----------------+ |
|2行目の赤 33| |2行目
+-----------------+ |
|2行目の緑 33| ↓
+-----------------+---
| |
~~~~~~~~~~~~~~~~~~~
(12)システムアイコン
図形の大きさ 32ドット×32ドット
色モード 2色
図形の総数 30個
データの内容とサイズ
図形(各) ((32+7)÷8)×32=128バイト
合計 128×30バイト3840バイト
〔注〕(1)のTownsGEARアイコンと同様に,それぞれのアイコンには
背景が付いている。ただし「時計」以外の背景は空白(00H)である。
アイコンと背景をペアにして通し番号を付けると次のようになる。
1 フロッピィディスク(1)
2 フロッピィディスク(2)
3 CD
4 CDドライブ
5 内蔵フロッピィディスク・ドライブ(1)
6 内蔵フロッピィディスク・ドライブ(2)
7 外付フロッピィディスク・ドライブ
8 外付ハードディスク・ドライブ
9 時計
10 数字の「0」
11 数字の「1」
12 数字の「2」
13 数字の「3」
14 数字の「4」
15 空白