# eFMTOwns 現状 (Sorry, Written in Japanese Only)
# --- If you can translate to another language, please do and "PULL REQUEST" to my GITHUB.
## May 08, 2020 K.Ohta <whatisthis.sowhat _at_ gmail.com>
## --- 追記 May 21, 2020 K.Ohta
## --- 追記 June 26, 2020 K.Ohta

## 実装状況
- 本体：i386周りはOK?ただし、パワー/リセット関係の実装が不十分？
  - CPUID/MACHINE IDは実装した。
  - DMACはADDRESS BOUNDARYでHR以降の挙動が違うことはまだ実装してない。
  - ~~TownsOS (v2.1)で16bit DMA転送を使うと最初の１バイトが化けることが判明したので、当面使えなくした（I/O 0034h:bit7 = '1')~~**インチキ実装で凌ぐ。改善はToDo扱い**。
  - ウエイト設定及びクロック設定は実装してみてるが、AB.COMが動かない(Townsと認識してくれない)機種がある。
- メモリ:Towns2H程度？可変拡張メモリやウエイト機能(i386も)は機能としては実装済み。
- シリアルROM: **いい加減にしか実装してない**
- VRAM: **512KB部分とFM-R互換機能のみ実装。**
  - 16色複数画面@MS-DOSで非表示がうまく出来てない。
  - ~~レンダリング周りは256色がダメっぽい？~~
- CRTC: ほぼ実装。多分実装した。きっと実装したと思う。**多分実装したんじゃないかな**。
- スプライト:**とりあえず実装してみてはあるが、マトモに動かない**。
- CDROM:
  - CD-DA: ほぼ実装
  - MODE1 READ: ほぼ実装
  - MODE2 READ: 一応実装
  - RAW READ  : 一応実装
  - SUB FIELD (SUB CODE; 04CCH, 04CDh): レジスタは実装したがP-Wフィールド設定は殆ど未実装
  - ~~TownsOS 1.xをCDブートすると、なぜかハングアップ(BIOSが00007DD4hに落ちる)。~~HDDブートだと大丈夫？
  - ~~TownsOS v1.xのCDブート（と言うか、v1.xについてるIO.SYS)で、CD-ROMコマンドA0h (80h+reply) PARAM=08 01 xx xx xx xx xx xxが期待する値を返さずブートが止まる。~~v2.1系は大丈夫っぽい。
  - ~~TownsOS 2.x系のCDからのブートは大丈夫っぽいが、挙動が不審。~~
  - **Towns OS v1.1L20/L30がブートできるようになりました(2020926)**。が、Towns Menuでアイコンクリックができない。
  - **Towns Linux (Slackware+JE4)のインストール中に、インストールファイル(*.tgzなど)が壊れる。**
  - **TownsOS v2.1をCD-ROMからインストールすると、最終段階でconfig.sys等が壊れる＆ブートセクタが不正になる**
  - i486以降のマシンでTownsOS v2.1をインストールすると、最後のカスタマイズでハングアップする。
  - ~~MS-DOS+MSCDEXでも大体は動くが、時折転送に失敗する(解消した?)  。~~
  
- SCSI: 2バイトDMA転送を（**インチキで**)実装したので、殆どのものが動くはず。~~←書き込み時の最初の1バイトが壊れるケースが見つかったので、当面使わない~~
- OPN2(YM2612): だいたい実装できたと思う。
- ADPCM(RF5C68): 一応実装できた。要調整。
  - ~~スタークルーザーのデモでテストしたが、朗読もちゃんとするけどデモ途中でハングアップする。~~(解決した？)
  - スタークルーザーでの**効果音部分や楽器部分はうまく鳴ってるっぽい**。
  - スーパーリアル麻雀 PIV**など**のPCMが途中からしか鳴らない(本当に途中からなのか？)。
- BEEP: 実装したが、音がプチプチ言ってる（何故？）
- 電子ミキサー: 未実装
- サンプリング用A/Dコンバータ: とりあえずの実装はしてあるが、まだ試験etcしてない。
- キーボード: 
  - オートリピート関係が非実装。
  - リセット時の同時押し（"CD"など）を実装する必要がある。
- ジョイパッド: 
  - **2ボタンパッドのみ実装**
  - 6ボタンパッドは実装していない
  - 電波新聞社のアナログスティックも実装したいけど、プロトコルがわからない。
- マウス: 実装はしたが、まだ精度に問題あり。
  - ~~最悪の場合、取り込みタイミングが1frame (≒13mSec)単位なのを変える必要がある。~~
  - **event.cppに手を入れて、0.5frame単位でのエミュレーションにしてみた。**
- UART: 乗っけてはいるけど動作未確認。
- MIDI: UARTだけ乗せてるのになぜかカードが認識されてる(??)

## 動いてるっぽい（確認済み）ソフト
- Towns OS v2.1 (CD-ROMからでもOK)
- MS-DOS v6.2
- MS-DOS v3.1
- ランス２
- Dr.STOP!
- ランス3 (TownsOS v2.1から起動)
- フラクタルエンジン・デモ(TownsOS v2.1から起動／**二周目でハングアップ**）
- スタークルーザー２(**ほぼ問題なく動いてる**が、画面の乱れが多少残ってる）
- ぷよぷよ(CDからのブート可能？CD-DAに問題あり)
- A4-Ayayo\'s\ Live\ Affection- (**文字表示やジョイスティック周りに問題あり**)
- Viper V10 RS
- スーパーリアル麻雀PIV (**音声周りがおかしい。デモ画面は大丈夫だが、プレイして勝つとアニメ画面に行かない**)
- 雷電伝説
- 究極タイガー

## 動かない(ブートしない)ソフト
- 確認中
