PC-98 ハードウェア制御情報へのリンク

# 参考サイト

- [radioc.dat - NEC PC98のメモリマップと割り込み](http://radioc.web.fc2.com/column/pc98bas/pc98memmap.htm)
- [WebTechnology - UNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編](https://www.webtech.co.jp/company/doc/undocumented_mem/)
- [PC-98のプログラム作成に関するエトセトラ - EGCのエミュと実機の違い](https://seesaawiki.jp/asem9821/d/EGC%A4%CE%A5%A8%A5%DF%A5%E5%A4%C8%BC%C2%B5%A1%A4%CE%B0%E3%A4%A4)
- [FJK - OLD PC98](http://www1.coralnet.or.jp/fjk/old-pc98/old-pc98.htm)
- [風雅システム 技術的読み物　Offentlich die Kunst　“PC-9801series 高速描画技巧”](http://copin.sakura.ne.jp/fuga/tech/faster1/index.html)
- [98廢人養成所・九八廢人塾 - PC-98用語解説・その１](http://www.pc-9821.org/ohanasi/98yogo1.htm)
- [NEC PC-98 基本情報 書庫目録 - PC-98標準の表示機構 (ハードウェア関連) ](http://radioc.web.fc2.com/column/pc98bas/pc98disphw2.htm)
- [名古屋大学大学院教育発達科学研究科紀要. 心理発達科学 - 下木戸 隆司 - 心理学実験におけるMS-DOS(2) : ビットマップ・ファイル表示ライブラリBMPLOADerの作成](https://nagoya.repo.nii.ac.jp/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=1726&item_no=1&page_id=28&block_id=27)
    - PCを用いて心理学実験を実現する際に、MS-DOSが簡単に精密なハード制御を実現できる点を書いている論文の一部。MS-DOS (PC98,PC/AT)でBMP画像をでVRAMに転送して表示する仕組みの解説とC言語のソースコードが書かれている。
- [Ｃ言語的文法解説之書 - 東京医科歯科大学医学部保健衛生学科 システム情報学実習(II) - 本間 達](http://www.tmd.ac.jp/med/mtec/wakamatsu/staff/C_lang.pdf)
    - 研究や開発におけるデータの測定やその結果を演算処理してグラフに描画し、可視化するまでの方法を最低限修得できるよう配慮されたテキストで、C言語でVRAMにグラフを描画するまでのソースコードが書かれている。

# 参考書
- [『PC-9801プログラマーズBible : 98を98%使う本』 東京理科大学EIC 編 - NDL ONLINE](https://ndlonline.ndl.go.jp/#!/detail/R300000001-I000002312849-00)
  - ([国立国会図書館館内限定公開](https://dl.ndl.go.jp/pid/13663276))
- [『MASM ver.6.0 ハンディマニュアル』 成田佳応 著 - PC-98のプログラム作成に関するエトセトラ](https://seesaawiki.jp/asem9821/d/MASM%20ver.6.0%20%A5%CF%A5%F3%A5%C7%A5%A3%A5%DE%A5%CB%A5%E5%A5%A2%A5%EB)
  - ([国立国会図書館館内限定公開](https://dl.ndl.go.jp/pid/13636526))
- [『マクロアセンブラプログラミング入門 : 8086・80286・80386・80486・MS-DOS・OS/2の標準テキスト』
改訂新版](https://ndlsearch.ndl.go.jp/books/R100000002-I000002195461)
  - ([国立国会図書館館内限定公開](https://dl.ndl.go.jp/pid/13641246))
- [『はじめて読む8086―16ビット・コンピュータをやさしく語る』 蒲地輝尚 著 - カーリル](https://calil.jp/book/4871482456)
  - ([国立国会図書館館内限定公開](https://dl.ndl.go.jp/pid/13412187/))
- 『80x86/x87ハンドブック』
  - ([国立国会図書館館内限定公開](https://dl.ndl.go.jp/pid/13634704))
- [『8087マシン語プログラム集 : PC-9801による高速科学計算 上巻』](https://dl.ndl.go.jp/pid/12630807)
  - 国立国会図書館 個人向けデジタル化資料送信サービス済み
- [『8087マシン語プログラム集 : PC-9801による高速科学計算 下巻』](https://dl.ndl.go.jp/pid/12630812/)
   - 国立国会図書館 個人向けデジタル化資料送信サービス済み
- [『UNDOCUMENTED 9801/9821. vol.1 (BIOS・割り込み編)』](https://ndlsearch.ndl.go.jp/books/R100000002-I000002357697)
  - （国立国会図書館 デジタル化作業中 2024/08/12時点）
- [『UNDOCUMENTED 9801/9821 Vol.2 - メモリ・I/Oポート編』](http://www.webtech.co.jp/company/doc/undocumented_mem/)
  - オンライン公開 [参考元](https://seesaawiki.jp/asem9821/d/PC98%B4%D8%CF%A2%BD%EA%BB%FD%BD%F1%C0%D2%B0%EC%CD%F7)
- [『マシン語ゲームグラフィックス : PC-9801シリーズ』](https://ndlsearch.ndl.go.jp/books/R100000002-I000002103042)
  - （国立国会図書館 デジタル化作業中 2024/08/12時点）
- [『PC-9801スーパーテクニック』](https://ndlsearch.ndl.go.jp/books/R100000002-I000002218410)
  - （国立国会図書館 デジタル化作業中 2024/08/12時点）
- [『トランジスタ技術ＳＰＥＣＩＡＬ　Ｎｏ．３ ＰＣ９８０１と拡張インタ－フェ－スのすべて : １６ビット・パソコンを使いこなすためのハ－ド＆ソフト』](https://ndlsearch.ndl.go.jp/books/R100000001-I14121100209798)

# ソフト

- [FreeDOS(98)](http://bauxite.sakura.ne.jp/software/dos/freedos.htm)
- [FreeBSD/pc98 プロジェクト](https://www.freebsd.org/ja/platforms/pc98.html)
- [エル・エス・アイ ジャパン(株) 
 LSI C-86 v3.30c 試食版](https://www.vector.co.jp/soft/maker/lsi/se001169.html)
- [京都コンピュータ学院　情報科学研究所 教育用 フルスクリーンテキストエディタ SE3](https://www.vector.co.jp/vpack/browse/person/an000749.html)
- [MASM](https://ja.wikipedia.org/wiki/Microsoft_Macro_Assembler)
- [JWasm](https://ja.osdn.net/projects/sfnet_jwasm/)
- [LHA](https://www.vector.co.jp/soft/dos/util/se002413.html)
    - macOS版は```brew install lha```

# PC9800シリーズの部品

- μPD7220 グラフィックスコントローラーチップ ([pdf](http://www.vintagecomputer.net/fjkraan/comp/qx10/doc/nec7220.pdf))
    - 直線、円弧、文字グラフィックをビットマップディスプレイに描画する機能を持つインターフェースコントローラーである。日本電気による設計・開発・製造 - [Wikipedia μPD7220](https://ja.wikipedia.org/wiki/%CE%9CPD7220)より

- YAMAHA YM2203 ([pdf](https://datasheetspdf.com/datasheet/YM2203.html))
    - YM2203(FM Operator type - N、OPN）は1984年に日本楽器製造（現・ヤマハ）が開発したFM音源チップである。 - [Wikipedia YM2203](https://ja.wikipedia.org/wiki/YM2203)より
    - [radioc.dat - Column NEC PC-98 基本情報 書庫目録 - NEC PC-9801-26K サウンドボード](http://radioc.web.fc2.com/column/pc98bas/pc980126k.htm)
    - [Oh! FM音源NT京都2014 - 西村備山](http://licheng.sakura.ne.jp/fm_shield/oh_fmongen_ntk2014.pdf)

# その他

## エミュ

- [Neko Project II](https://www.yui.ne.jp/np2/) (Win x86, Win x64, Mac OS X Intel 10.5+)
    - ```PC-9801VX21をベースとして、PC-9801シリーズの主要な機能をソフトウェア再現するエミュレータです。```
        - [適当インストールガイド [導入編]](http://www.retropc.net/yui/np2inst/install.html)
    - [Mac OS X版で使うSDL2のファイル](https://www.libsdl.org/download-2.0.php)
        - To Install: Copy the SDL2.framework to /Library/Frameworks （ReadMe.txtより）

    - メニューのSASI1で開かれるフォルダー（読み取り専用） ```/var/folders/dp/27jfht7j0_l44nkjyt0s8cd00000gn/T/AppTranslocation/08B4E977-97DD-4E1A-A7D8-C62CAD4BBA5C/d```
- [Neko Project 21/WでWindowsを動かす - 前置き](https://sites.google.com/site/np21win/about)
    - ```PC-9821シリーズエミュレータ Neko Project 21派生版の「Neko Project 21/W(np21w, ねこープロジェクト21/W)」を配布しています。```
        - [簡単な使い方](https://sites.google.com/site/np21win/freedos-98)
- [Neko Project II (NP2) 改変](https://domisan.sakura.ne.jp/article/np2kai/np2kai.html)
    - ```irori氏・eagle0wl氏の、Raspberry Pi・RetroPie向けNP2 を0.86化して改善（悪）したものです。```
    - F11キーでメニューを表示
- [DOSBox-X](https://dosbox-x.com/)
    - [DOSBox‐X’s-Feature-Highlights](https://dosbox-x.com/wiki/DOSBox%E2%80%90X%E2%80%99s-Feature-Highlights)
        - ```With DOSBox-X you can now run PC-98 and its games. Set machine=pc98 in the config file to start DOSBox-X in NEC PC-98 mode.```

## ツール

- [ND web版](https://euee.web.fc2.com/tool/html/ndh.html)
    - VMware VirtualPC PC-98エミュレータ その他べたイメージ(フロッピーを含む) FATパーティション ファイル操作ツール 
- [PC-98 フロッピーIPL作成ツール](https://qiita.com/Stosstruppe/items/5a8eecd827a416b53f8c)
- [NASM](https://www.nasm.us/)
    - Intel構文
- [YASM](https://yasm.tortall.net/)
    - NASM構文とGAS基本構文(とTASM基本構文) ※Yasm’s support for GAS syntax is moderately good, although immature: not all directives are supported, and only 32-bit x86 and AMD64 architectures are supported. There is also no support for the GAS preprocessor. Despite these limitations, Yasm’s GAS syntax support is good enough to handle essentially all x86 and AMD64 GCC compiler output.([Yasm User Manual - 1.5. Supported Parsers (Syntaxes)](https://www.tortall.net/projects/yasm/manual/html/manual.html#running-parser))
- [gcc-ia16](https://t-takeda.hatenablog.com/entry/2020/10/27/230646)
    - 16ビットな実行ファイルを作成するgcc。GNU Assembler (gas)の記述形式はAT&T形式で。

## メモ

- DOS C言語 (LSI C-86 Ver. 3.30c試食版のヘッダーファイルより)
    - union REGS 構造体・・・dos.h マシンのレジスタ構造体。
    - inp()関数 / outp()関数・・・machine.h マシンの装置のポートに入出力をする関数。