FreeDOS(98)進捗どうですか

自分用の大雑把な作業記録です(というか、他の人に意味があるのだろうかこれ…) ソース https://github.com/lpproj/fdkernel ディスクイメージや関連ツール http://bauxite.sakura.ne.jp/software/dos/freedos.htm ※他の人のツイートやリプを含むツイートは入れてないです、まあ一応… 続きを読む
4
前へ 1 ・・ 17 18 次へ
sava @lpproj

@lpproj そういやHimemX、拡張メモリの転送にいわゆるunrealモードを使ってたりするっぽいのですが大丈夫なんですかね…(np21、Anex86、T98Nextあたりでは動いてそうな感じですが…)

2016-09-13 22:07:42
sava @lpproj

んー確かAnex86で16M(というか14.6M)超メモリ使えるようにする改造みたいのがどっかにあった気がするのですがどこだったかしら…

2016-09-13 22:13:13
sava @lpproj

誰もきいてない近況(98)その55:emm386(98)が残念な件、要するにハードウェア的にA20ディセーブルしようとすると起きるような感じでしょうか…(めんどいのでhimemx側でV86モードの時はA20触んないようにするか…) pic.twitter.com/MJtxPMwHNs

2016-09-16 18:20:26
拡大
拡大
sava @lpproj

(このへんほんとはemm386側にXMSドライバの代替ルーチンが必要なんですけどね…)

2016-09-16 18:22:59
sava @lpproj

ちなみに: ・jemm386を移植すればいいんだよなー→うわーちょっとわからない… →emm386最終版(2.26)からやってみるか→ビルドは通るようにしたけど動くようには… →とりあえず1.15を動くようにしよう… てな感じでスキル&メンタルの目標フォールバックがひどい件…

2016-09-16 18:27:48
sava @lpproj

ちなみにPC-98でまともなメモリマネージャが必要な場合はvem486かlemm使って、どうぞ。どちらもフリーでじゅうぶん安定かつ強力ですよ…lemmとか最狂(いうまでもなく誉め言葉)やし…SMP機なら実際に複数CPU動かす機能があったはず…

2016-09-16 18:34:41
sava @lpproj

あとUMBまじめにサポートするならDMAのトラップとかしないとダメなのかー。あー386プロテクトモードの知識をもすこし真面目に仕込まないといけないのかーぅぁー

2016-09-16 18:46:51
sava @lpproj

そういや98のDMA拡張アドレスに自動インクリメント機能とかあったはずですが、既存のメモリマネージャはどのへんまでエミュレーションしてるんですかね…

2016-09-16 18:48:42
sava @lpproj

誰もきいてない近況(98)その56:emm386側にint 1Fh ah=90hのプロテクトメモリ転送エミュレーションを実装。とりあえず落ちなくなりました… (しかしUMB自動スキャン実装されてないことに今まで気づかなかった。領域の明示が必要だったとは…) pic.twitter.com/pX4UIbNxGH

2016-09-21 18:26:28
拡大
拡大
sava @lpproj

誰もきいてない近況(98)その57:とれるだけUMBを取ってみるテスト。ここまで無造作に確保できるのは逆にエミュレータならではですね… pic.twitter.com/zegKtDa9rr

2016-09-27 23:38:51
拡大
拡大
拡大
sava @lpproj

誰もきいてない近況(98)その58:EMM386 2.26がなぜ動かなかったのか判明。64Kページフレームが確保できないときもEMS機能が(制限付きで)有効になるのがまずかったようです… pic.twitter.com/xp5KCrKu3t

2016-10-04 22:48:58
拡大
拡大
拡大
sava @lpproj

@lpproj ちなみにDMAエミュレーション機能はまったく移植されていないため、UMBやEMSページへのFD読み込み(≒DMAアクセス)が入るとメモリ壊れちゃ~う…ので現時点で常用できる状態とは… pic.twitter.com/nkchU4k6AM

2016-10-04 22:56:32
拡大
sava @lpproj

そういえばサウンドBIOSのアレ(CEE0:0000のあたり)、テクニカルデータブックのサウンドBIOSのとこにちゃんと記述がありました…

2016-10-06 16:13:59
sava @lpproj

誰もきいてない近況(98)その59:ROMチェックを簡略化(4Kバイト区間の先頭16バイトだけ確認)して、サウンドROMがない場合はデフォルトでC000をEMSフレーム化できるようにしてみた… pic.twitter.com/eZDdMw4oF3

2016-10-06 17:03:33
拡大
拡大
拡大
sava @lpproj

すこし前に「EMM386(98)入れてFD使うと終了後にUMB壊れちゃーう」的なことを言った気がしましたが、きょう、原因が判明しました。 「間違えてグラフィックRAM領域もUMBにしていた」 お、おう…

2016-10-22 15:10:07
sava @lpproj

(ちなみにFreeDOS、あとたぶんMS-DOSもですが、UMBやHMA領域にディスクアクセスするときはいったん基本メモリ内のバッファを経由します…)

2016-10-22 15:15:27
sava @lpproj

きょうの16ビット: #define MK_FP(s,o) (void far *)(((ulong)(s)<<16)|(ushort)(o)) の場合、sが定数0だとセグメント展開部分が完全に消え、ただのnear→farポインタ変換になることがある…これも最適化の罠…

2016-10-22 16:25:02
sava @lpproj

@lpproj なお、オフセット側もキャストすれば期待通り動作しますた… (void far *)(((ulong)(s)<<16)|(ulong)(ushort)(o))

2016-10-22 16:27:16
sava @lpproj

@lpproj …で、きょう手元の実機でEMM386(98)の動作テストを軽くやってみたんですが、MS-DOS6.2だとUMBへのロード(devicehighやloadhigh)を行うとハングアップ…あれ?MS-DOSだとバッファリングしてない…?ぐぬぬ…

2016-10-23 16:42:54
sava @lpproj

@lpproj (このへんはDOSカーネルじゃなくてディスクドライバの管轄なので、ベンダによって動作が異なる可能性が…IBM PC版だとどうだったか念のため確認しておこう、という覚書…)

2016-10-23 16:54:07
sava @lpproj

@lpproj んで、DMA関係のエミュレーション殺したEMM386を作成し、MS-DOS6.2/VにつっこんでみたからやはりUMBへのロードで固まった。あーIBM PC版MS-DOSでもこのへんの救済措置がないことが確定…

2016-10-26 14:38:18
sava @lpproj

誰もきいてない近況(98)その60:ようやくEMM386(98)でMS-DOSでもUMB使えるようになった、と思う… pic.twitter.com/wr0v9xodDe

2016-11-02 18:46:51
拡大
拡大
sava @lpproj

@lpproj …しかし帰宅後、実機(9821Xc)で確認するとUMBロード失敗ケースが頻発、というか正常にロードされることが少ない。うーん、もうすこし修正が必要ですね…

2016-11-02 23:05:06
sava @lpproj

実機でEMM386(98)がアレな件、すこし原因がつかめた気がする、が…これ結局(フロッピー)ディスク周りのDMAしか救済されないことに気づき、どうしかもんかと思っております…

2016-11-03 20:42:24
前へ 1 ・・ 17 18 次へ