Intel BIOSに潜む謎の8x19フォント

2025-08-18

この記事では、IntelマザーボードのBIOSに見られる非標準の8x19フォントの起源を探る著者の道のりを詳しく説明しています。Intel AN430TXボードのBIOS POSTスクリーンショットから始まり、著者は初期のIntelボード(AN430TXやAL440LXなど)が標準の8x16フォントとは異なるカスタムの8x19フォントを使用していたことを発見します。謎を解き明かすため、著者はBIOSイメージのデコードを試み、巧妙な方法で成功します。これにより、初期のBIOSバージョンにおけるフォントの存在が明らかになり、スペース節約のために文字列モジュールと巧みに統合されていることがわかります。さらに調査を進めると、このフォントが異なる時代、異なるBIOSメーカー(AMIとPhoenix)、そして後のEFIシェルでも使用されていたことが判明します。著者は、BIOSメーカーではなくIntelがフォントのソースであると推測し、ディスプレイ技術の発展における役割を分析しています。

続きを読む
ハードウェア

Google AI検索:嘘の方が真実より説得力がある?

2025-05-31

著者は古いIBM PS/2サーバーモデルをGoogle AI検索で探そうとしたが、AIが繰り返しでたらめな矛盾した回答を返し、「PS/2 モデル280」という存在しないモデルとその仕様をでっち上げた。AIが正しい答えを出すこともあるが、間違った答えの方が詳細で現実的に見えるため、説得力が高い。これは、AI検索結果に大きな誤りが含まれる可能性があることを示している。たとえ答えが説得力があっても、現実と一致しない可能性があるため、ユーザーは注意すべきである。

続きを読む
テクノロジー

80387 FPU状態保存の進化:ドキュメントエラー物語

2025-02-07

x87浮動小数点演算ユニット(FPU)の動作と状態保存メカニズム(FSTENV/FLDENVおよびFSAVE/FRSTOR命令)を調査中に、著者は、32ビット保護モードにおけるFPU状態に関する初期のIntelドキュメントとそれ以降の改訂版との間に矛盾を発見しました。初期の80387ドキュメントでは、32ビット保護モードのFPU状態から浮動小数点オペコードが省略されていましたが、更新されたドキュメントではそれが含まれていました。これにより、複数のサードパーティのリファレンスブックが長年にわたって時代遅れの情報を流布することになりました。この物語は、技術ドキュメントの進化と、技術文献におけるエラーが長期にわたって存在し続ける可能性を示しています。

続きを読む
ハードウェア ドキュメントエラー

C言語のファイル入出力における50年越しのバグ:レガシーミステリーを解き明かす

2024-12-26

DOSエミュレータの改良中に、開発者はファイル入出力において、一見些細なバグを発見しました。`echo`コマンドでファイルにテキストを追加したところ、予期せぬ結果になったのです。デバッグの結果、Cランタイムライブラリが読み書きの切り替えを処理する方法に欠陥があることが判明しました。この欠陥は、1970年代、さらにはそれ以前のUNIXシステムにまで遡ります。この記事では、初期のK&R Cから現代のC規格まで、歴史的文脈を深く掘り下げ、さまざまなUNIXバージョンとCコンパイラ間の実装の違いを探ります。根本原因は、初期のCライブラリがアップデートモードを処理する際の制限にあると特定され、異なるオペレーティングシステムとコンパイラがこれらの制限をどのように扱ったかという違いが明らかになります。著者は、現在でもポータブルなCコードでは、ファイルの読み書きを切り替える際に、明示的な`fseek`呼び出しが必要であると結論付けています。

続きを読む

DOS APPENDコマンド:古き良き時代と現代の架け橋

2024-12-20

DOS 2.11のソースコードを再構築する際に、著者は課題に直面しました。古いMASM 1.25アセンブラはディレクトリをサポートしておらず、ツリー構造を使用した現代的なファイル構成と衝突しました。単一のディレクトリを避けるために、著者は巧みにDOS APPENDコマンドを使用しました。APPENDはTSR(Terminate and Stay Resident)プログラムであり、ファイルオープンなどのシステムコールをインターセプトし、現在のディレクトリにファイルがない場合、事前に定義されたパスリストを検索します。これにより、MASM 1.25は階層構造内でファイルを見つけることができ、非互換性が解決され、特定のシナリオにおけるAPPENDの驚くべき有用性が強調されました。

続きを読む
開発