2026年4月4日土曜日

PiOのSPEED

工学社のPiO
パソピア系のプログラムも比較的多く掲載されていたので、良く買っていた。

今週 AKIBA PC Hotline!でPiOの記事が掲載されていたが、記事の写真に1986年4月号掲載のPASOPIA7 SPEEDがあった。カードゲームのSPEEDだが、当時打ち込んで遊んでいた。

PiOといえばソノシートですが、あまりパソピアのゲームは対応しておらず、紙面を見ながら打ち込みしてました。

久々に起動してみると、シンプルなオープニング。

「B」「N」「M」「<」キーで差し出すカードを指定

勝っていくと徐々にスピードが速くなり、途中から速すぎて人間では到底勝てない...
3回負けるとGAME OVER。

後半、鬼のような速度でカードを出してくる様子を動画でどうぞ

さすがマシン語...

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で動作したときの速度

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