2025年12月27日土曜日

漢字ROMデータの表示

 T-BASIC7で漢字表示するためには、PUT%(テキスト画面に表示)か PUT@(グラフィック画面に表示)を利用します。
漢字コードの指定は2種類あって、&K(漢字区点番号)か &J(JISコード)で指定。
漢字区点番号は、&Kの後に数字4桁(区番号2桁数字と点番号2桁数字01~94)を指定。
パソピア7の「漢字」キーを押すと「&K」が入力されます。

例えば、テキスト画面に「漢字」を表示する場合、
 「漢」の区番号は20、点番号は33
 「字」の区番号は27、点番号は90
なので、以下のように指定します。
 SCREEN 2
 PUT%(10,10),KANJI(&K2033,&K2790)

BASICで指定できる点番号は01~94で、漢字ROMデータにある0と95のデータは表示できない。そこで、漢字ROMデータから直接データを読んで表示するプログラムを作成。
RAM PACイメージは、ここからダウンロードできます。
XPAC2かエミュレータでRAM PACイメージをマウントした後、
 run"DISPKANJI"
で起動できます。
1画面に32×12=384文字(3000hバイト)毎の漢字データを表示します。
何かキーを押すと、次の384文字が表示されます。
(武田氏のエミュレータでは漢字が緑で表示されますが、実機では白で表示されます)
3行毎に区番号があり、点番号は横方向に+1、縦方向に+32してカウントできます。

XPAC2用に作成した漢字ROMでは、漢字データエリア6000h~7FFFhの領域にSlot 5のツールプログラムが保存されているため、この領域(8~10区)に登録されている漢字は表示できない

T-BASIC7のマニュアルに、区番号は01~07, 16~47, 84~94(外字)でなければならいなと記載があるので、この8~10区データは通常使うことがなさそうですが、Slot 5に登録されている「KANJI」プログラムを実行すると、6000h~7FFFhに漢字データを復元するようにしました。漢字データは別の領域に格納されていて、「KANJI」プログラムを実行すると6000h~7FFFhにデータをコピーします。


このXPAC2用漢字ROMで苦労したのは、このデータエリア6000h~7FFFh(8KB)に格納されているツールプログラムのサイズです。このプラグラムデータは圧縮して4KBのEEPROMに保存されていますが、このサイズに収めるためにプログラムを無理して詰め込んだ結果、読みにくいプログラムになっています。FATエリアも含めて4.4KBほどのデータサイズになりましたが、これでギリギリEEPROMに収まっています。

これらツールの中で、FORMATとKANJIプログラムはマシン語も含まれています。
プログラム実行中にマシン語をBLOADしますので、RUNする前にSlot 5を指定して下さい。
初代パソビアの場合
 out &H1B, 5
 run "FORMAT"
パソピア7の場合
 slot 5
 run "FORMAT"
です。
特に初代パソピアでFORMATプログラムを実行した後は、フォーマットしたSlot番号に変更されていますので、再度フォーマットする場合は out &h1B,5 を実行した後にRUNして下さい。
パソピア7の場合はBASICがSlot番号を保持しているっぽいので、そのままRUNしても問題ありません。

上記の注意事項も含めてマニュアルを改定しました。
ここから「XPAC2_Rev2_第5版_XPAC2用漢字ROM版.pdf」をダウンロードできますので、参考にしてください。

2025年12月25日木曜日

XPAC2用の漢字ROM

ずっとやりたかった XPAC2用の漢字ROM提供
純正の漢字ROMデータは配布できず、武田氏のエミュレータ付属の漢字ROM作成ツールはMSゴシックでROMデータを作成されるため、これも配布できません。

自家製フォント工房さんで、制約なしに利用できるパブリックドメインのフォントを発見。
 半角が東雲ゴシック16、全角がjiskan16の「JFドットjiskan16s」を使わせてもらいました。
無かったフォントはドットで作りました。

今回作成したROMには、後に追加されたJIS非漢字文字の中で、よく使われそうな漢字コードもいくつか追加しました

XPAC2に漢字ROMを書込むには、ここから「kanji.rom」をダウンロードしてSDカードに保存。「CMD」ツールで
 ld 2 kanji.rom
で書き込むことができます。(数十秒時間がかかります)
これでATMega1284PのフラッシュメモリとEEPROMに、漢字ROMデータが保存されます。
CMDツールの使い方はこちらです。

この「kanji.rom」には、Slot5 の8KB RAM PAC2 に以下プログラムが保存されています。
・CMD:SD カード操作コマンドプロンプト
・FORMAT:XPAC2 メモリのフォーマット
・EDIT: XPAC2 メモリのダンプ、編集
・KANJI:8~10区に漢字データを書き込みます

EDITプログラムは、キー操作を変更しました。
初代パソピアで10キー16進入力はできなくなりましたが、カーソルキーが使えるようになったので、キー操作は自然になったと思います。

パソピア電源起動後は、Slot5のデータエリア6000h~7FFFhに上記のプログラムが保存されているため、このエリア(8~10区)に登録されている漢字は表示できません。
Slot5に登録されている「KANJI」プログラムを実行すると、6000h~7FFFhに漢字データが登録されます。パソピアの電源を切ると、Slot5のデータは元に戻ります

以下、今回の「kanji.rom」に登録されている漢字データです。
漢字コード表のPDFも用意しました。こちらからダウンロードできます。

申し訳ない。。内蔵プログラムを見直している際にバグを見つけました。
Rev.2 ROMでSlot5に登録されている「EDIT」プログラムで、[0]Pasopia内蔵RAMを選択し、次ページに切替えた際に、下行のチェックサムが異なります。(赤丸部分)

前述の「kanji.rom」に登録されている「EDIT」では修正済みですが、漢字不要の人向けに「eep_rev3.rom」も用意しました。「eep_rev3.rom」をダウンロード、「eep.rom」にリネームしてSDカードにコピー。「CMD」ツールで
 ld 2 eep.rom
で書き込むことができます。(数十秒時間がかかります)

漢字データを書き込んだXPAC2のデータをパソピア7で表示してみた。

比較用に、パソピア700本体に登録されている純正漢字ROMデータを表示してみました。

今回のXPAC2用の漢字ROMは、純正漢字ROMとも遜色なく、Slot5のツール類も使えます。
既に完売したXPAC2ですが、購入された皆さんは是非試してみて下さい。

2025年12月21日日曜日

漢字ROM

パソピアシリーズは漢字ROM PAC2を装着すると、漢字表示できる

漢字ROM PAC2は、初代パソピア用(PA7246)とパソピア7用(PA7247)の2種類あるが、中身のROMデータは同一。
初代パソピア用(PA7246)には、T-BASIC Ver1.1用サブルーチンのテープが付属している。

以前紹介したが、XPAC2に漢字ROMデータを書き込むと漢字ROM PAC2として利用できる。

XPAC2が搭載しているマイコンATmega1284Pは、フラッシュメモリ128KB、EEPROM 4KB、SRAM 16KBを持っている。XPAC2の本体ファーム8KBはフラッシュメモリに保存されている。
パソピアの漢字ROM容量は128KBなので、フラッシュメモリでは足りない領域の漢字ROMデータはEEPROM 4KBに圧縮して保存しておき、起動時にSRAM 8KBに展開して利用する

漢字ROMデータの6000h~7FFFhまでがSRAMに保存されており、SRAMのためこの領域のみ読み書きが可能になっていて、スロット番号5のRAM PAC2(8KB)としても利用できる。電源を落としたらデータが消えてしまうが、再起動するとEEPROMから元のデータが解凍される。

漢字ROMデータは1文字32バイトで構成されている。
データの並び順は「パソピアの内部構造」と「テクニカルマニュアル」に記載されているが、両者で食い違っている
どうやら、「パソピアの内部構造」の並びが正しそう。
8bit(1バイト)の行データが、上から左→右→左→右→... の並びで32バイト保存されている。
図にすると、以下の並び順が正しそう。
Bit1~4(A1~A4)が行を示しており、上の行から降順で並んでいる。

もう一点。
テクニカルマニュアル148ページから漢字表が掲載されているが、8~10区のデータが1行下に掲載されている。実機で8区17点~19点を指定して表示すると、マニュアルの1行下の行「ぁぃぅ」が表示された。

武田氏のエミュレータに、漢字ROMを生成するmkfontというツールが用意されているが、マニュアルを忠実に再現しており、8~10区は1行下にずれている。テキストファイルで簡単に修正できるので、使っている方は修正してみて下さい。

パソピア7/700で漢字を表示する場合は、PUT%(テキスト画面表示)かPUT%(グラフィック画面表示)のどちらかを指定するが、&Kの後ろに区・点の順番で漢字コード指定する(どちらも2桁の10進数で記載)。カンマで連続指定することも可能。

ところで、Pasopia700は漢字ROM PACを刺さなくても漢字表示できた...
 知らなかった。

2025年12月7日日曜日

XPAC2最終ロット

2015年に発売したXPAC2ですが、10年目にして最終ロットの出荷です。
ディスコンになっていたMRAMですが、手持ちの在庫も無くなりました。
今まで購入してくれた皆さん、ありがとうございました。

最後の組み立ての様子。これが4台分の部品です。

基板に部品を取り付けている途中。ルーペを使っているが、表面実装は厳しい...

手作業でゆっくり作るので、数日かけて部品を半田付け。

組み上げたXPAC2は、パソピア7で動作チェック。

次はケース作り。小型のNC工作機でFCカセットを削って穴あけ。

削った部分はヤスリで整え、表面はコンパウンドで磨きます。

組み立てて本体完成。

マニュアルを印刷。両面印刷できないプリンターなので、手で裏返して両面印刷

静電防止袋にマニュアルと本体を入れて出荷します。

今回は、XPAC2とRGB Convをそれぞれ数台ずつ出荷します。

今回も家電のケンちゃんでの販売となります。
XPAC2は今回が最後になるので、必要な方は是非ご検討ください。

-----
12/13追記
家電のケンちゃんに出荷したXPAC2とRGB Convは売り切れとなりました。
買っていただいた皆さん、ありがとうございました。 m(_ _)m

2025年11月22日土曜日

大きい文字の表示

ベーマガ1983年1月号に掲載されていた初代パソピア(T)用のゲーム「PASOPIAN GLUTTON」

ゲームそのものはアレなのですが、

気になったのがゲームオーバーの画面
WIDTH 80:OUT 8,64

画面はちらついているものの、大きい文字が表示されています。
パソピア7や700でも出来ました。

パソピア7のテクニカルマニュアルを見ると、ポート番号08Hは表示モード(DISPLAY MODE)で、該当するbit 6は予約(使用しないで下さい)と書いてある

エミュでは画面が流れ、うちの15kHz対応モニタは「OUT OF RANGE」に。

CRTでのみ使えるテクニックでしょうか。
WIDTH 40(初代パソピアの場合はWIDTH 36)にすると元の画面に戻ります。

T-BASICにはSYMBOL命令が無いで、大きい文字を出したいときに便利かもしれません。
モニタの寿命を縮めそうで、あまりお勧めしませんが情報共有ということで、、

2025年3月23日日曜日

パソピア700でT-BASIC1.1

パソピア7同梱テープのB面に、T-BASIC Ver.1.1が収録されている。

パソピア700で動かしてみたら、動いた。。

パソピア7用のT-BASIC1.1は、雑誌などに掲載されていた初代パソピア(T)用のプログラムを動かすのに使っていたが、BASICのみのプログラムなら大体動くが、マシン語が含まれていると大体動かない、といった印象。

BASICプログラムの場合、T-BASIC1.1からT-BASIC7は少しの変換で移植できるので、徐々に使わなくなった。テープのロード時間も長かったし。。

ただT-BASIC7でT-BASICのゲームをすると、速度が速くてゲーム難易度が変化してしまう。
RAM PAC2を使うとロード時間が短いので、T-BASIC1.1オリジナルの速度でゲームするなら、T-BASIC1.1をロードしてから実行する方がよさそう。

パソピア700でT-BASIC1.1にして、イエローデブマリンを動かしてみた。

比較用に、エミュのT-BASIC7で動作したときの速度

「アンタ ハ エライ」、、時代を感じる

2025年3月15日土曜日

パソピア700用USB Keyboard Adaptor 【USBKey700】Rev.0.2

お待たせしました。近々、家電のケンちゃん(https://www.kadenken.com/)から
パソピア700用USB Keyboard Adaptor 【USBKey700】 Rev 0.2を発売します。
基本的な機能は、以前紹介したRev.0.1と同じです

【装着】
・USBKey700本体とmicro USB Type-Bコネクタを接続します。
・パソピア700の電源をオフにします
・USBKey700のキーボードコネクタ(Din13ピン)をパソピア700に差し込みます。
・USBポートにキーボードを装着してから、パソピア700の電源をオンして下さい。
 ※キーボードコネクタは、奥までしっかり差し込んでください。
  コネクタを抜くときは線を引っ張らず、コネクタ部分を摘まんで抜いてください。
 ※しばらくコネクタを使っていない機体の場合、接触不良がおきる場合もあります。
  その場合はコネクタを何度か抜き差ししたり、接点復活材をお試しください。

【USBキーボード】
・日本語109キーボードを用意してください。
・利用できないキーボードもあります。ご了承願います。

【キー配置】
・パソピア700オリジナル配置

・日本語109キーボードへの割り当て (※印はSHIFTキーも同時に入力されます)

【特殊キー】New!
※特殊キーはタイミングによってプログラム読み込みに失敗する場合があります。SCREEN 0での実行を推奨します。もし途中で固まった場合、Pause(STOP)キーもしくはWin+Pause(STOP)キーで通常キー入力モードに戻ります。もし本体がハングした場合は、本体リセットをお願いします

・[F9]キー: FD Format ... 2Dフロッピーディスクをフォーマットします (解説)
・[F10]キー: FD Copy ... 2Dフロッピーディスクをコピーします (解説)
 →実機でのフォーマットとコピーの動画です
※フロッピー操作をする場合は、パソピア700起動時「How many disk drives(0-4)?」で、正しいドライブ数を選択してください。

・[F12]キー: XPAC2 Command Prompt ... 入力コマンドは「CMD」と同じです
 →BASICの「CMD」と、常駐する「COM」の比較動画です。

【ファームアップデート】
・Rev.0.1をお持ちの方は、ファームアップデートでRev.0.2になります。
・ファームアップデートする場合は、必ずパソピア700からコネクタを抜いてください。
 ※そのままPC接続すると、パソピア700に電流が流れて壊れる恐れがあります。
・USBキーボードと接続しているmicro USB Type-Bコネクタも抜きます。

・プラス精密ドライバーでネジ2本を外し、蓋を開けます。
・USB Type-Aとmicro USB Type-Bのケーブルを用意し、
 基板上のBOOTSELと記載されている白いボタンを押しながら、PCと基板を接続します

・しばらくするとPCがUSBドライブとして認識します。
ここからRev.0.2のuf2ファイルをダウンロードします。ZIP形式なので解凍して下さい。
・Explorerを開き、PRI-RP2という名前のUSBドライブに、uf2ファイルをコピーします。
・コピーが成功すると、自動でUSBドライブのマウントが解除されます。
・もしRev.0.1に戻す場合は、こちらRev.0.1のuf2ファイルを利用してください。

【注意・免責事項】
本機を使用して生じたトラブル、被害、またはそれに掛かる損害などについて責任負わないものとさせて頂きます。
USBキーボードはお客様でご用意下さい。全てのUSBキーボードで動作保証するものではありません。
改良のため、予告無く仕様変更をすることがあります。
プラスチックケースは手作業で削っていますので、傷が付いていますがご了承下さい。
ご理解のほどお願い致します。

新しい情報などがあれば、https://pasopia700.blogspot.com/search/label/USBKey700サイトから公開していきます。

パソピア700を持っている人は少ないと思いますが、持っている方は是非お試しください。
特に上下キーが分離した点やバックスペースが使えるようになったのは便利だと思います。

-----
同時に家電のケンちゃん(https://www.kadenken.com/)で、以下追加販売します。



どちらも少量ですが、近いうちに通販ページに登録されると思いますので、よろしくお願いします。