HALNOTEのカートリッジについて2021年11月08日 00:06

HALNOTEのカートリッジについて調べる機会があったのでまとめてみました。

HALNOTE
こちらが基板。
画像上部の2つのROMは元々ソケットについていたので引っこ抜いてROMライタでダンプしたところ
画像左上の2MbitROM(LH5321L7)が漢ROM(第一水準+第二水準)
画像右上の2MbitROM(LH532122)がABヘッダ有のプログラム(ROMイメージの00000h~3FFFFh)
となっていました。

HALNOTEのマッパー

Page (8kB)  Switching address  Initial segment

4000h~5FFFh 4FFFh(※1) 0

6000h~7FFFh 6FFFh(※2) 0

8000h~9FFFh 8FFFh 0

A000h~BFFFh AFFFh 0

※1 4FFFhのbit7を立てると0000h~3FFFhにSRAM16KBが出現
※2 6FFFhのbit7を立てると、以下のバンクが有効


Page (2kB)  Switching address Initial segment

7000h~77FFh  77FFh 0

7800h~7FFFh  7FFFh 0

切り替わる先はROMイメージの後半(80000h~FFFFFh)の512kB(MSX-JEの辞書?)

このHALNOTE形式のマッパーはHBI-J1の拡張スロット0にあるメガROMで採用されており、上記のバンクレジスタはHBI-J1でもすべて有効


HALNOTEの漢ROM
第一、第二水準対応
MSX起動時の/RESET=Lで漢ROM無効
HALNOTEのROMの初期化処理内で、他の漢ROMの存在を検知し、第一水準、第二水準それぞれのROMの存在を検知できなかった場合にHALNOTEの第一水準、第二水準の漢ROMをそれぞれ有効にする。

即ち、内蔵漢ROMを持たない機種でのみ、HALNOTE側の漢ROMが有効になる。

通常の漢ROMカートリッジは常に漢ROM有効なので動きが違う。
msx.orgでnon-standard Kanji-ROMとなっているのはこの動作が原因と思われる)


漢ROM有効化ルーチンは7B5Fh に存在(Bank 06h、DUMPファイルだとDB5Fh)

(れふてぃさん調べ)


漢ROMイネーブラーのレジスタは以下
レジスタアドレス:C000h
bit0=第一水準、bit1=第二水準、0:無効、1:有効

テストプログラム作ってC000hに値を書き込んだ所、第一、第二水準それぞれ有効無効にできることが確認できた。
-> HALNOTE漢ROMテストプログラム

マッパー互換のあるHBI-J1にはC000hの漢ROMのイネーブラーは存在しない


以下第一水準、第二水準混じったテキストをA to CさんのZeroTypeで表示した所。

ST内蔵第一水準、ST内蔵第二水準

漢ROMテスト_ST内蔵1_ST内蔵2


ST内蔵第一水準、HALNOTE第二水準

漢ROMテスト_ST内蔵1_HALNOTE2


HALNOTE第一水準、ST内蔵第二水準

漢ROMテスト_HALNOTE1_ST内蔵2


HALNOTE第一水準、HALNOTE第二水準

漢ROMテスト_HALNOTE1_HALNOTE2


HALNOTEの12pxフォント
Bank 17h~1Fh(絶対アドレス 2E000h~3FFFFh)
Bank 7Ah~7Fh(絶対アドレス F4000h~FFFFFh)
に12pxフォントが存在。
A to CさんのViewFont資料と比較した所、データの割り当ては以下の通りの模様。

2E000H~2E6BFH 12x12半角の20H~7FH
2E6C0H~31CBFH 12x12全角の1~8区
31CC0H~3213FH 12x12半角のA0H~DFH
32140H~327FFH 空白(Zero Fillされている)
33800H~3FFFFH 12x12全角の16~47区
F4000H~F447FH 12x8半角の20H~7FH
F4480H~F687FH 12x8全角の1~8区
F6880H~F6B7FH 12x8半角のA0H~DFH
F6B80H~F6FFFH 空白(Zero Fillされている)
F7000H~FFFFFH 12x8全角の16~47区

上記資料を纏めるにあたり、れふてぃさん、にがさん、裕之さんに貴重なアドバイスいただきました。
ありがとうございました。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
答えは「MSX」です。

コメント:

トラックバック

このエントリのトラックバックURL: http://miyako.asablo.jp/blog/2021/11/06/9437950/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。