「レトロPC」に関する記事

CPUBENCH v.99

Software Design 2015年8月号の「ITむかしばなし」で紹介しました。
CPUBENCH02
1996年の段階でv.98はCPUの速度の変化に追いつかなくなっていました。
前ページで紹介したZOB/Vプロジェクトで使えるように v.99を作成し、ZOB Station BBS(1992~2013)でこじんまりと公開していました。

□プログラム内容
cpubench v.0.98 を発表してから4年の歳月が経過しようとしています。
そのように古いソフトウェアでは、最新のマシンのスピードを測定するのには限界が生じています。

○v0.99とv0.98の違い
・測定タイムが100倍の精度。
・最新のcpuを判別できる。
・メインルーチンを Boralnd C++ から Visual C++ 1.51に変更
測定ルーチンはアセンブラのため変更なし。
・AT互換機のチェック機能を強化。

再びこじんまりと公開します。

CPUBENCH v.990c

16ビットプログラムを実行できる環境でないと、動作は厳しいと思います。

レトロエクスプレス3号に参加しました

2015年7月26日 大田区産業プラザPiOで開催されたレトロエクスプレス3号に参加しました。

ZOB.club の展示ブース 会場の様子

ZOB.club では MZ-2000 フルスペック・バージョンと、初代 PC-9801 を展示しました。

MZ-2000 フルスペック・バージョン

あらゆるオプションを詰め込んだ、完全動作可能な MZ-2000 です。純正内蔵グリーンディスプレイや電磁カセットデッキが正常動作するのはもちろん、ファンクション・キー直上のラベルもすべて揃っています。
さらに以下のオプションを増設しています。

  • グラフィックスメモリ+増設グラフィックRAM
  • 拡張I/Oポート+拡張電源
  • クイックディスク
  • 16ビットボード(i8088 カード)+漢字ROM
  • シャープ純正クイックディスク BASIC

ZOB.club では往年の名ゲーム「地底最大の作戦」を MZ-80K/C より移植し、デモンストレーションを行いました。プレイヤー・キャラクターに相当する文字コードが無いため、そこだけグラフィックを使うという荒業を使用した代物です。
ただ当日は電磁カセットデッキの調子が悪く(電源? 気温? 湿度?)ほとんどのテープを読み込めない状態だったため、デモンストレーションはクイックディスクでのみ行いました。
御開帳された MZ-2000 に群がる皆様
御開帳された MZ-2000 に群がる皆様

初代 PC-9801

完全動作可能な初代 PC-9801 です。RAM を 512KB 増設し、トータルで 640KB の容量があります。
後続の PC-9801 シリーズと比べて、グラフィック画面が1面しかない等の制約があるものの、意外なほど多数のゲームが正常動作します。

  • N88 BASIC ROM(本体に標準で付属)
  • 拡張RAM 256KB ×2
  • 8インチ・フロッピーディスク
  • 3.5インチ・フロッピーディスク
  • NEC 製ディスプレイ

re3_4
各種ゲームのほか、純正 Rogue のデモンストレーションを行いました。

同人誌 Advanced Assembler 386 上ノ巻

x86アーキテクチャーを極めるために  

当時(1993~94年ZOB Station BBS全盛時)はかななり難易度の高い内容でしたが、現在のPCのCPUも同様なアーキテクチャーですので、現在でも内容的に優位性があり読み応えもあると思います。
Advance Assembler 386 の第1回~5回の内容を なんとかまとめました。元記事があるため、当初は簡単に考えていましたが、技術イラストを全面的に書き換えたり、InDesignによりレイアウトを新しく作り直す事になったため、大変な作業量になりました。
どうせならと、完成度アップを目指して、現在までのCPUの流れをイントロダクションにまとめて、新たな内容も付け加えました。
おださとこ氏のイラストもあり、現代風の同人誌として完成したと思います。
技術書典4で是非手に取って読んでみてください。

上ノ巻  目次

はじめに............................1
イントロダクション.......................2
Intel CPU の歩み...................2
X86アーキテクチャの7つの壁.................6
第1回 拡張命令/アドレッシング 80386..........8
  80386への道のりの背景.................8
  i386の7つの壁....................11
  386/486の拡張命令.................12
  32ビットアドレッシングモード..............16
  i386/486専用命令を使ったペイント関数.......16
第2回 エクステンドメモリへのアクセス............24
  8086セグメントの復習.................25
  80286/i386のアドレス生成............25
  ディスクリプタのマッピング................26
  ディスクリプタの内容...................28
  エクテンドメモリのアクセス................31
  MoveExtMemory関数..............32
第3回 プロテクトモードにおける保護機能...........36
  セグメントレジスタの種類による保護機能..........37
  セグメントのサイズによる保護機能.............37
  セグメントのRead/Write設定による保護機能....38
  特権レベルによる保護...................38
  特権レベルによって制限される命令.............44
  DOSエクステンダ PT386..............46
第4回 16ビットコードと32ビットコードの混在.......58
  16ビットコードと32ビットコードについて........59
  16ビットコードと32ビットコードとの混在の必要性....60
  16/32 ビットコードセグメント間でのデータの共有...60
  16/32ビットコードセグメント間での制御移行......61
  コールゲートを利用した制御移行..............62
第5回 VCPI.......................70
  VCPIとは.......................70
  VCPIを使用するためには................71
  ページングについての簡易説明...............71
  VCPIインターフェース.................72
  VCPIファンクションの詳説...............73