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区

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

CF-30002021年11月05日 23:54


CF-3000
気の迷いで購入したMSX。
キーボードと本体が分かれたセパレートタイプでMSX1にしては珍しくRGB出力付き。
この上位機のCF-3300だとフロッピーもついている。

本体とキーボードとマニュアルがそろっているけど、すべて別々に入手。
最初に資料としてマニュアルを手に入れて、次に他のMSXで流用するためにキーボードを単体で手に入れて、そしたら格安本体を目にしてついつい購入してしまった。

きーぼどと本体がそろった時点で動作チェックしたら問題なく起動してキーボードも全キー入力可能だった。
この機体、キーボード無しだとめちゃくちゃなキー入力が発生するのでカセットとコントローラーでゲーム機として使うこともできない。(未入力状態に知るのに必要なプルアップ抵抗がキーボード側にある)
そのせいでキーボード無しの本体は格安なんだろう。

誰の役に立つかわからないコンデンサリスト
本体
10v 100uF x5 C49 C51 C64 C32 C34
16v 10uF x1 C33
10v 22uF x1 C16
6.3v 330uF x2 C17 C18
16v 330uF x1 C6
16v 100uF x1b C5
6.3v 100uF x1 C4

電源
16v 4700uF x3 C104 C105 C106
25v 4700uF x1 C107
50v 1uF x3 C109 C111 C112
50v 3.3uF x1 C110
25v 470uF C108

グラフィックサブボード
16v 47uF x1  C205
16v 10uF x1  C234
16v 47uF x1  C217
50v 1uF x2  C212 C215
16v 100uF x1  C216
16v 100uF x1  C233
16v 470uF x5  C222 C209 C201 C202 C203
16v 220uF x2  C228 C230

キーボード
6.3v 100uF x1  C302


FA_TIME ver0.072021年09月09日 00:37

FA_TIME、年月日の設定に失敗するパターンがあったので修正
オプション等はver0.06から変更なしなのでこちらを参照のこと



KY-01L2021年08月02日 00:36

15年近くガラケーで使っていたFoma回線をXiに変更した。
99%家族間通話&メールにしか利用していない回線&スマホはMVNOで運用しているので、最近出たプランの「はじめてのスマホプラン」に変更。
Docomoのデータ上はGalaxyNexus利用の回線だけど、特に問題なく契約完了。
GalaxyNexusはDocomo的にはスマホでは無いのか?
(3G->4Gの移行措置なだけだからどうでも良いことなんだろう)

契約時、XperiaAceIIが1円でついてきた、がそっちにはあまり興味がない(おい)ので中古で購入したKY-01LにSIM刺して使ってみる。
KY-01L標準だとランチャーはカスタマイズ不可だし、メールも利用できない端末だけど、USBデバッグが有効にできるみたいなのでちょっといじってみた。
とりあえずガラケーに近い感じで音声通話ができて、SMSとDocomoメールに関しては新着が確認できればOKな感じで。

以下覚書。
KY-01L

「設定」ー「端末情報」ー「USBデバッグ切替」
でUSBデバッグ有効に。これでadbが利く。

MyDocomoでDocomoアカウント利用可とし、DocomoメールをIMAP/SMTPで利用可能にしておく。
kakaku.comのレビューに倣い、スクエアホームランチャーのV2.1.15とK9のV5.741Vをadb installで導入。
(ストアの最新ではないです。)
K9はDocomoメールのみ設定し、プッシュ通知を有効にしておく。
新着だけ確認できれば良いので、IMAPの表示範囲は2日間に設定。

スクエアホームランチャーの時計とカレンダーのヴィジットはそのまま利用。
ただし、時計の秒表示はうっとおしいので消す。
UIからは消せない(設定項目が画面外になりスクロールできない)ので、一度設定をバックアップ

KY-01L

→adb pullでバックアップファイルをPCに落とし、layoutフォルダ下のファイルを以下のように直接編集し、adb pushの後リストア。
{"T":5,"S":12,"O":0,"Ol":0,"X":0,"Xl":0,"h24":true}
             ↓
{"T":5,"S":12,"O":0,"Ol":0,"X":0,"Xl":0,"h24":true,"hs":true}
※hs=hide seconds?
他のパネルはスタイルを10(黒背景)にし、アイコンをアイコンセットの単色のものに変更。
e-inkはスクロール時の視認性がよろしくないので、パネルは1ページ9枚までにして普段は編集ロックしておく。
通話とSMS、メール登録して、あとの3つは適当。
ブラウザは使わないのでトップにはおかない。

メールのパネルはアプリケーションではなくK9の未読件数ヴィジットを設定。これでホームに未読件数が表示される。
ただし、最初にヴィジットを配置する際に表示される、ヴィジットへのアクセス許可を与えるダイアログのOKが押せない。

KY-01L

その為、事前に
adb shell appwidget grantbind --package com.ss.squarehome2 --user 0
でランチャーにヴィジットに対する権限を与えておく。
ヴィジットで表示する未読件数は受信トレイか統合フォルダ。
受信メールにフォルダを作成している場合は統合フォルダにしておくと新着を確認しやすい。
K9のヴィジットは表示が上にずれるようなので、マージン設定でTopを28に設定。これで他のアイコンと位置が合う。

KY-01L
KY-01L
KY-01L

ロック画面に未読件数は表示できないみたい。

これでDocomoメールのプッシュ通知も効くようだし、ホーム開けば未読件数も確認できる。

バッテリーの持ちはガラケーと比べると悪いけど、どうせ家にいる間は充電用のドックに置いておくから一日持てばOK。
Docomoメールに関しては普段使いのスマホ(Pixel4a)のGMAILでも受信可能にしているので、そっちで受けることになれたら無くしても良いかもしれない。

FA_TIMEのSDMapperMegaRAM対応テスト版2021年06月27日 14:37

FA_TIME ver0.06をSDMapperMegaRAM対応にパッチしてみた(つもり)。
現物無しで作ったので動くかどうか未検証。

元情報は以下のSDMapperrMegaRAM用のNextorドライバのソースから

以下、変更点メモ
・SDアクセスモードへの移行
 6000hに40h書き込み(正確にはbit6=1の値書き込み)→6001hに01h書き込み
・通常モードへの移行
 6000hに記録しておいたバンク番号を書き込み→6001hに00h書き込み
・SDカードスロット選択
 5800hに00h/01h書き込み→4800hにFEh/FDh書き込み(bit0=0でSD1選択、bit1=0でSD2選択)
・初期化時のダミークロック
 5000hをリード→4800hにFFh書き込んで(SD未選択状態)から4000hをリード。その後4800hでSDカードスロット選択

これだけで動く、のか?

ダウンロードはこちら