DOS 3.2のブートローダーとシリンダー境界による潜在的バグ

エミュ上で、FORMATコマンドを使ってDOS K3.3のシステムをハードディスクイメージに転送しても、そのイメージからDOSを起動する途中でハングするので、原因を調べていた。原因はブートセクターにあるブートローダーがIBMBIO .COMをメモリーにロードするとき、セグメント:オフセットアドレスがオーバーフローしてメモリー上にロードされたデータが上書きされたのが原因だった。
本文を読む…

231215 AXエミュ製作 [14]JEGAのエミュレーションを改善

AX版MS-DOS 5.0でグラフィックの表示がおかしい不具合があって調べてみたところ、JEGAの挙動に抜けがあったので修正。

DOSSHELLがテキストモードで正しく表示されるようになった。グラフィックモードは配色が変なんだけど、これはそもそもパレット番号の指定がなんか変なので、元々の仕様である可能性がワンチャンある。いや、そんなまさか。

他にも気になったところを色々直したら、当初の想定より修正点が増えた。

DOSVAX 変更点 (4481PS11→ 4483PS12)

日本語で書き直すのだるいのでGoogle翻訳を使用。

  • AX モードでのエミュレーションを改善するために次の問題を修正しました。
    • EGA レジスタが読み取れませんでした。 オリジナルの EGA のレジスタは読み取れませんが、Super EGA は読み取れます。
    • RMOD2 レジスタのビット 6 (点滅または強度の選択) が機能しませんでした。
    • キーボード BIOS が US モードの場合、一部の JP 固有キーのスキャンコードがキーボード コントローラーによって変更されました。 操作全体はキーボード BIOS によって実行される必要があります。
    • D0000-EFFFFh に FFh を設定すると、EMS メモリまたは UMB として使用されます。
    • ビデオ モードが 52h または 53h (JEGA グラフィック モード) の場合にマウスを正しくサポートするための解像度を追加しました。
  • PS/55 モードでのエミュレーションを改善するための次の変更。
    • 拡張 BIOS データ領域のセグメント アドレスを 640k 未満の最高メモリに設定し、DOSBox MCB のサイズを調整します。
    • DOS J5.0x/V の BASIC インタプリタを実行するための BIOS シグネチャを設定します。
    • NumLock のキーバインドを追加します。 (ただし、実際の IBM 5576-00* キーボードは NumLock を Shift + ScrollLock にバインドします。)
    • DOS K3.x のカラー グラフィックス モードのビデオ モード判別を変更します。
  • DOSBox SVR r4481 から r4483 への変更をマージ。

ダウンロード

GitHub - akmed772/dosvax: A folk of DOSBox that emulates the Japanese AX and PS/55 computers.

231207 Myth's hololive friends arrived [Holo EN]

Image: 231207 Myth's hololive friends arrived [Holo EN]

Mythのぬいぐるみ「hololive friends」が届いた。サイズが少し大きいことは買う前の商品説明で知っていたけど、実際に実物を見てもにじぬいの2倍で存在感がしっかりある。モニターの前に置くにはでかすぎるけど、ショーケース的に棚に並べたり、持ち上げて眺める分には丁度いいかも。

Guraはフードが脱げる特別仕様。Kiaraは頭に大きなアクセサリーが付いているので、重心を安定させるのがやや難しい。Watsonは帽子がアクセサリーではあるが、作りは一番シンプルかもしれない。

PS/55モデル5550-S,T ステージⅠとステージⅡの違いを解明する

私が実際に見たことがあるのはモデル5550-TのステージⅡだけで、両者を比較したことはなく、今や手元に実物があるわけでもないのだが、残っている文献を頼りに情報を整理すれば何かが見えてくるのでは、と思って調べてみた。オーム社が一般書籍として発行していたモデル5550-S,T,Vの技術解説書によれば、モデル5550には、6種類のシステム・ボードがあります。この6つのシステム・ボードの主な相違点は、
本文を読む…

231205 PS/55エミュ製作 [21]フォントROMの吸い出しに対応

ディスプレイ・アダプターのフォントROMを吸い出すユーティリティーと、それを読み込むためのローダーをエミュレーターに追加。

フォントROM吸い出しユーティリティー(getfps5)は、ディスプレイ・アダプターを搭載したPS/55であれば、一応、DOS/Vや漢字を表示できないPC DOSでも動作するように作ってあるが、私がアダプター切り替えの仕組みを理解していないのでちゃんと動作するか分からないし、特にCRTモニターは傷める恐れあり。本物のPS/55を所有していないので動作検証できていない。吸い出し処理の内部で何をやっているかはアセンブリ・ソースを公開しているのでそちらを参照。

他の変更点は、単色モニターモードを追加。エミュレーター側でやることはディスプレイ・アダプター内部のレジスターを1ビット変えるだけなので、それをどう扱うかはソフトウェア次第。PC DOSでは効果がない。JDOSは起動時にこれを読み取ってカラーパレットをグレースケールに設定するが、アプリケーション側でDACのカラーパレットを変更すると色が付く可能性あり。

DOSVAX 変更点 (4481PS10→ 4481PS11)

  • Build 4481PS11 (2023/12/04)
    • PS/55単色モニターモードを追加(machine=svga_ps55mono)。
    • PS/55マシン用のフォント ROM ダンプ ユーティリティ (getfps5) とエミュレータ用のローダーを追加。

ダウンロード

GitHub - akmed772/dosvax: A folk of DOSBox that emulates the Japanese AX and PS/55 computers.

231202 balance between flat and booba [Niji EN]

Image: 231202 balance between flat and booba [Niji EN]

これの突っ込むべき所はPetraなのは分かっているけど、それよりもFinanaの位置に妙に感心してしまった。


最近、某アプリゲームがリアルイベントの内容としてVtuberとコラボする企画を発表し、一部ファンから批判を受けているというニュースを見たけど、内容を読むと、コラボ相手が何だろうと怒るのは当然だった。

そもそもコラボ企画自体、ゲーム然りアニメ然り、既存のファンよりお互いの新規ファンの獲得を狙ったものが多い。今回の場合はチケットが抽選の有料ファンイベントで、しかも事前に発表があったならともかく、チケットを売り出した後の発表。過去に深い関わりがあったわけでもない相手を招待して、「あなたが買ったチケット代でこの人とコラボ企画します!」と言わんばかりの突然の後出し発表ならば、これは企画者の考えが浅はかだったとしか言いようがない。

231201 Windows XPの壁紙を配布中

毎年恒例になっているWindows Ugly Sweaterの発売(そしてすぐ売り切れる)に合わせて特典コンテンツとして例の草原壁紙がフルHDサイズで公開されている模様。

MicrosoftがWindows XPの壁紙を配布中! その理由はアグリー・クリスマス・セーター? - やじうまの杜 - 窓の杜

Windows 95からのWindowsユーザーであれば、Windowsのデフォルト壁紙で最も印象に残っているのはどれかと聞かれたら、Windows XPの「草原」と応えてしまうのではないでしょうか? 好きか嫌いかは別として。

壁紙ってXP標準でも数種類合って、メーカー製PCだとまた別でカスタマイズされていることが多いから、XPを使ったことはあっても草原を見たことがない人がいて、意外とあんまり意見が合わないかも。単純に印象にある画面というなら、Windows 95から使っている人だったら、普通にWindows 95の起動画面なんじゃないの?

Image: Windows 95 with Internet Explorer

PCの電源を入れるとブラウン管ディスプレイがブーンって鳴って、英語でPOST画面が出て、フロッピーディスクドライブがガガガって音を上げた後に、Windowsの起動画面が出てハードディスクがガリガリ言い始める。そしたら「チェックディスク」の青い画面が出たりしてな😆

そこまで再現されていれば初めて「うぉ~!」って感心すると思う…厄介オタクみてぇなこと言ってんな

あるいは、付属ソフトてんこ盛りなメーカー製PCの初期デスクトップ画面とか今見返してみると面白いかも。

231201 Giant Brosemi and long neck ... [Niji EN]

最近またNintendo SwitchのTOTKにハマってて、1日3~4時間以上がここ2週間くらい続いているんだけど、それで今日寝坊したら(遅刻はしてない)ちょうどSelenの誕生日ライブがやっていたので見てた。

Selenの企画はいつもエンタメ性が高いというか、エンタメを求めているのはみんなそうなんだけど、パーティーのようにもっと広くエンタメを共有しようっていう努力が分かる。まさにNiji Expressのファンミーティングとか、ObsydiaのVRワールド制作がそう。それで、制作の裏話とか聞いていると、いつも1~2ヶ月以上の期間を掛けて作っているというから、やっぱり努力あっての賜物なんだな🤗

231129 自家用電気工作物保安管理規程の新版

先週発売されたばかりの2023年版自家用電気工作物保安管理規程の本を(社費で)買ってきた。

今年の法改正で追加された、一般用電気工作物と自家用電気工作物の中間みたいな扱いの「小規模事業用電気工作物」について追記された。私には縁がないので言葉しか知らなかったが、この本には6ページくらいで情報がまとまっているので、理解しやすかった。

あとは、実施している点検の内容に過不足がないか確認するときに使う。コスト削減などの業務見直しで客先から点検の必要性を聞かれたときに、こういう根拠があれば説明しやすい。まあ、いくら口先で見直しと言ったところで、保安規定(と経産省の言うこと)の遵守は絶対なので、内容はそう変えられるものじゃないのだけど。

JDOSとDOS/VのBIOS識別方法 [PS/55]

Image: JDOSとDOS/VのBIOS識別方法 [PS/55]
JDOS依存のアプリケーションを作るにあたって、安全対策として画面モードではなくDOSの種類を識別する必要があった。日本IBMによるDOS/VのBIOSインターフェース技術解説書によれば、DOS/VとJDOS(上の図ではPS/55 DOS)の識別はINT 15h, AX=4900hが使えると記載されているが、果たしてこれが本当に機能していたのか怪しい。
本文を読む…

231128 PS/55エミュ製作 [20]JDOS上でBASICのグラフィックモードに対応

Image: 231128 PS/55エミュ製作 [20]JDOS上でBASICのグラフィックモードに対応
JDOS用BASICインタープリターのグラフィックモードが正常に動作するようになりました。IBM 5550用KDOSのBASICで動くサンプルプログラムもJDOSのBASICで大部分が動くようになった。原因はエミュレーター側にグラフィック支援機能(元々は5550にオプションの「グラフィックス支援カード・キット」として実装されていたもの)が実装されていないにもかかわらず、DOSのワークエリアにあるディスプレイ構成ブロックで「グラフィック支援機能あり」のフラグが立っていたため。
本文を読む…