220112 PS/55エミュ製作 [17]文書プログラム専用文字セット?

Image: 220112 PS/55エミュ製作 [17]文書プログラム専用文字セット?

2バイト半角文字の問題は縮小や切り抜き処理の追加で一応解決したけども、この文字セットはむしろDOS文書プログラム専用と言うべきか。罫線と制御記号がまだ文字化けしているんだけども、既存のフォントの加工ではどうにもならないな。そもそも実機はもう持っていないし、スクリーンショットなど残っていないのでどんなフォントだったかすら思い出せない。

罫線は拡張表示にすれば一応表示できる。文書プログラム内部でフォントを持っているんだったら、最初から外字を使えば良いのに、なぜ字形の変更ができないフォントROMに組み込んでしまったのか。でも、こういう発見があったのは面白かったのでヨシ。ほんと、叩けば後からも色々出てくる。ディスプレイ・アダプターがこんなに面倒くさい作りだと思わなかった。

Image: DOSVAX

ソースコードはもう更新しているけど、眠いのでバイナリは落ち着いたら上げる。

220111 PS/55エミュ製作 [16]2バイト半角文字

Image: 220111 PS/55エミュ製作 [16]2バイト半角文字

DOS文書プログラムはデータだけあったんだけどマスターディスクを紛失して、動作も上手くいかなかったから諦めていたんだけど、バッチファイルを色々整理していたらなんか動いてしまった。

しかし、画面に豆腐文字がちらほら。上の画面では前後の文字から「グループ(パス)」となっているだろうことは想像が付く。

解析してみると、PS/55のフォントROMには2バイト半角文字が記録されているらしいことが分かった。文字コードはJIS区点番号で言えば9区から10区あたり。実はPC-98も同じようなポイントに2バイト半角文字を持っているのだが、文字パターンの配置や順番は互換性がない。また、PS/55は平仮名も含んでいる。

この文字は通常のDOSでは入力することができない。DOS文書プログラムでは半角入力の状態で濁点や半濁点付き片仮名、記号などを入力した時、1バイト文字に該当する文字がなければ2バイト半角文字が入力される。または半角・全角変換機能で半角に変換した場合も同様。そして、プログラムは必要な文字パターンをフォントROMからフォントRAMの拡張半角文字に上書きするという手順を取っている。これにより、グラフィックモードを使わずテキストモードの拡張半角文字属性によって2バイト半角文字を表示している。

エミュを作る上で問題になるのは、この文字セットはDOS/Vのフォントファイル ($JPNZN24.FNT) には含まれていないことだ。実機からフォントデータを持ってくるか、既存のフォントデータを縮小処理するかという所だが、数少ないPS/55ハードを要求する仕様にはしたくない。ユーザビリティーを考えると後者だろう。

縮小処理自体は単純なビットオペレーションなので大したことないが、2バイト半角文字のコードがJISコードと一致しないので、対応するコードを調べて変換テーブルを作るのがただ面倒くさい。

DOS/V版のDOS文書プログラムはどう処理しているんだろう。自前でフォントセットを持っているんだろうか。

220109 Congrats 200k! / New Year Voice 2022 (Group A) [NijiEN]

Image: 220109 Congrats 200k! / New Year Voice 2022 (Group A) [NijiEN]

【RUNNING TO 200K】In VR Chat!【NIJISANJI EN | Pomu Rainpuff】

慣れた動きでハレハレユカイを踊って見せたかと思えば、U.S.A. (DA PUMP)をぶっ込んできて、この妖精、邦楽をよう知っとる。

New Year Voice 2022 (Group A)

“New Year Voice 2022” Group A – NIJISANJI Official Store

1月1日から15日までの期間限定(再販可能性あり)。5分くらいのシチュエーションボイスと壁紙用コンセプト画像が入って各1000円です。まあ、ファン向け価格ですな。まとめて買ってもディスカウントや追加特典はないので、セット購入は私にとっては中々度胸が要りますね。

Petraのみ、本人から事前アナウンスがあったとおり、台本の日本語訳が付いてきます。英語が分からんJPニキも安心。

全員英語でしゃべりますが、Rosemiは声がはっきりしているし使っている単語も簡単なものが多いので、聞き取りやすかった。”What’s your new year’s resolution?” (あなたの新年の抱負は?) なんか覚えておいて損しないし。自分で使う機会があるか分からないけど。

年末と言えば大掃除と言うことで、Pomuは一緒に楽しく大掃除をやって年越すというシチュエーションです。短いながらもストーリー立てがしっかりしてる。

220107 待望の『D.C.4 スイートハーモニー』

18歳未満の方の閲覧はご遠慮下さい。D.C.4本編のR18版がD.C.4 Plus Harmony、そのファンディスク全年齢版がD.C.4 Fortunate Departures (DC4 FD)で、DC4 FDのR18版が今度4月に発売されるD.C.4 Sweet Harmonyということでいいんですかね。待ち望んでいたものがやっと出てきました。本編PC版が発売されてもうすぐ3年が経ちますが、延ばしに延ばしてきた感がします。
本文を読む…

220106 RPG『ポケットモンスター シャイパー』(Switch) [1]初めての進化は...

Image: 220106 RPG『ポケットモンスター シャイパー』(Switch) [1]初めての進化は...

ダイアモンド・パールは未プレイです。流行っているので何となく始めてみたけど、未知のポケモンを見つけて捕まえるのは意外に楽しいですね。あと、携帯ゲーム機なのにキャラクターやポケモンをきれいな3Dで見られるのが新鮮。

初進化はコロボーシだったけども…可愛くデフォルメされているとは言え、この見た目は苦手な人は苦手だろうな。なんか背筋がゾクッとする。

Image: ポケットモンスター シャイパー

最初のポケモンはナエトルを選択。最終的には見た目で選んだんだけど、経験上草タイプを選ぶことが多かったので、攻略を立てやすいんですよね。草タイプを選ぶとライバルは炎タイプを選ぶので、水タイプの技が有効。で、ポケモンの後半では移動になみのりをよく使うので、絶対に水タイプのポケモンが1匹必要になる。なみのりの技自体、威力が通常技の中では高いので便利。その水タイプの弱点をカバーするのが草タイプ。まあ最近はタイプや技の種類が増えてきたので、もっと色々攻め方はあると思うけど、他の人の進め方を見て発掘するのも面白い。

220105 昨年振り返り

今日は木曜日?ただでさえ仕事に定休日がないのに正月休みで電車も世間も休日ダイヤが続き、完全に曜日感覚が無いなった。

2021 ゲーム

昨年は何を達成できたんだろう。過去を見返すと、ゲームに関しては年前半でマリオオデッセイとゼルダのブレワイ、ライザのアトリエ1・2をほぼコンプ状態でクリアしているので、私にしては頑張った方ですね。後半は9月にメアリスケルターFを半分くらいまで進めて、それから本当に全く手を付けなくなったな。仕事の繁忙期と資格試験が立て込んだというのもあるけど、まあ一番は、やる気の問題でしょう。

2021 PC

PCに関しては細々としたコラムは幾つか書いたけども、私的に一番達成感があるのはPS/55エミュレーターを一応完成させたことですね。2016年にAXエミュを完成させて、次はPS/55だと意気込んだもののとっかかりを掴めず断念。昨年11月にJEGA関連のバグを修正するためVGAの資料やデバッガーの使い方を習得したら、なんかPS/55エミュ制作が再燃してしまって、当初2週間で終わらせるつもりが詰めに詰めて1ヶ月掛かってしまった。まあしかし、これで自己満足したので当分「古いPC関係」は決別しても良いかな。書くネタがあれば書くかもだけど、今は何も考えていない。

2022 ?

今年の目標..「これをやりたい」というのがとっさに出てこないな。強いて言えば、度々思い出すように言っているが、家に物が多すぎてごちゃごちゃが気になるので何とかしたい。本や雑誌は昨年に自炊したり不要なものを整理したりで減らしてきたので、今残っているものは未読の本やゲームが多い。どんどん消化して、それも無理ならいつか見切りを付けないとな。

Amazon Prime入っているのに全然活用できていないので勿体ない。Youtube Premiumは利用時間で言えば十分元を取っているけども、メリットとしては広告が付かないことぐらいなので実感がわかない。

今は燃え尽き状態なので、そのうちまたやりたいことが出てくるでしょう。昨年できなかったことを何かやりたい。

220101 NJU2021 Watchalong [NijiEN]

Image: 220101 NJU2021 Watchalong [NijiEN]

明けましておめでとうございます。今年もよろしくお願いします。

にじは歌もバラエティも男女混合で組める所が強みですね。WBXみたいにハモりが決まると格好良い。前半はリアルタイムで見れていないけども、ENの同時視聴を見ながら楽しめた。にじヌーンは○○とも風のバラエティ(今で言えば○ルナンデスか)だけど、ああいう番組こそ元日の定番だったのに今年はコロナの影響かどこも大枠でやらなくなりましたね。

大晦日は19時過ぎに帰ってきて、Visual Studioでデバッグしながら、地上波の歌合戦と格闘技を2窓して、裏でNJUとウェザニュを流し見するという自分でもよくわからん組み合わせでした。最後はウェザニュ(ウェザロ)で年越しという所は、ここ数年で定着しつつあるな。いや、ニコニコウェザー時代から見てるから数年どころかもう5年以上経つのか。年取ったな…

Image: ゆくぽんくるぽんカウントダウン2021

ENメンバーのVRCHAT 3Dアバター可愛かった!年越しに時差があるって大変だけども、よくファンサービスした!

211231 PS/55エミュ製作 [15]XMAEM.SYSに対応

Image: 211231 PS/55エミュ製作 [15]XMAEM.SYSに対応
どうしても直しておきたかった部分があって、予定より遅れてしまったけども年内に間に合って良かった。これで清算して新年を気持ちよく迎えられそうです。要点はDOS J4.0のXMAEM.SYSに対応したこと。DOS J4.0で使われているメモリマネージャーはXMA2EMS.SYSというデバイスドライバーなのだが、これはIBMのXMAアダプターという拡張カード専用のものになっている。この修正でDOS J4.0でEMSメモリーが使えるようになったため、連文節変換プログラムも使用可能になりました。
本文を読む…

211227 PS/55エミュ製作 [14]フォント処理の大バグ修正

フォントロードの処理を修正。12x24ドットFONTX2フォントを読み込ませると半角フォントの上下にラインが入るという致命的な問題だった。いかにテストしていないかがバレたな。

あと、拡張半角文字をロードできるようにした。ただし、DOS K3.xに付いてくる$SYSEX24.FNTが必要なのと、DOS K3.xを使用するならこうしてフォントROMにロードする必要がないのと、そもそも拡張半角文字を使用するアプリケーションがあるのかという疑問があり、全く必要性を感じない。

DOSVAX 変更点 (4467PS02→ 4467PS03)

  • 12x24 FONTX2フォントを読み込んだときのアライメントとブランクを修正
  • PS/55拡張半角文字をロードできるようにした (ほとんどのアプリケーションでは不使用。また、DOS K3.xでは不要)
  • PS/55テキストモードで属性に点滅・縦罫線・下線を同時指定すると縦罫線が欠けるバグを修正

ダウンロード

radioc.dat内Filesを参照
https://radioc.web.fc2.com

211225 PS/55エミュ製作 [13]16色グラフィックモード半実装

Image: 211225 PS/55エミュ製作 [13]16色グラフィックモード半実装
16色カラーグラフィックモードを実装。EGAグラフィックモードの応用なので仕組み自体は応用して比較的ラクに作れたのですが、微妙に仕様が違う所でどこをすりあわせる必要があるのか調べるのにかなり苦労しました。256色モードは技術解説書に出ていない新たなレジスタを色々使っているようなので、これ以上調べるのは本当にしんどい。
本文を読む…

211222 PS/55エミュ製作 [12]単色グラフィックモード実装

Image: 211222 PS/55エミュ製作 [12]単色グラフィックモード実装
開発は一旦区切りを付けたつもりだったけど、ここまでできるならグラフィックモードも作れるのでは?と思って取りかかってみた。単色グラフィックモードはメモリ上にそのまま1プレーンのみ出てくるので、バンク切替やプレーン書き込みなどのややこしい操作は必要なく、CGAやHerculesなど1ビット1ピクセルのモノクログラフィックモードの描画処理を少し変えただけで実装できた。カラーグラフィックは面倒そうだ
本文を読む…

211219 サガプラ、アサプロ、まーま新作

18歳未満の方の閲覧はご遠慮下さい。先月の時点ではまだほとんど情報が無かったけど、春頃発売の新作がいろいろ出てきましたね。昨日には5月発売予定のサガプラの新作もサイト公開。混雑のせいか接続が安定してないせいか分からないが、ちょっと繋がりにくい。時期的に5月発売というのがあまりピンとこないというか、珍しい。内容的にはサガプラらしいという点で、まあ期待から外れていないですね。
本文を読む…