FreeDOS(98)進捗どうですか

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

@lpproj ちなみにNON-DESTRUCTIVE INPUT NO WAIT、リターン時ステータスワードの下位にも入力文字コード返してる(98版DOS6.2)。まあDOS的には無意味だと思う…

2015-04-26 17:02:10
sava @lpproj

誰もきいてない近況(98)その4:念のためfreedosの行入力部分のソース(chario.c中のread_line関数)確認したら特殊キーの検出法完全にIBM系…MS-DOS的に言ったら(IO.SYSじゃなくて)MSDOS.SYSの仕事だと思ってたから油断した…

2015-04-29 21:49:00
sava @lpproj

あとどうでもいいネタ。98用MS-DOSのファンクションキーの内容を格納してる場所は全DOSで一緒だと思われ(DOS3.3,5.0A,6.2で一致。エプソンのは未確認)。UNDOC98に載ってないのは単に役に立たない情報だからかと思われます…

2015-04-29 21:56:29
sava @lpproj

@lpproj (…とは言えキー指定値0の場合しか調べてないのでctrl同時押しやvfキーの場合も一応調べるべきかも…) gist.githubusercontent.com/lpproj/21ddac7…

2015-04-29 22:28:44
sava @lpproj

@lpproj 念のためWin98SEの起動ディスクで確認したらアドレス違ってた。しかも低位に来てる!これは予想外…しかしこれでFreeDOS(98)で内部アドレス合わせなくてよくなったと逆に喜んでる奴がここにひとり… pic.twitter.com/PbrqApf5oO

2015-04-30 20:18:15
拡大
sava @lpproj

誰もきいてない近況(98)その5:とりあえず行入力部分を修正し、ファンクションキーに対応。しかし98のDOSだとBackSpaceと←のキーコードが同じなのでINSまわりの処理が事実上死んでいる…

2015-04-30 20:22:40
sava @lpproj

そういえばfreedos(98)にMS-DOS純正himem.sys突っ込むと常駐量が妙にでかくなるのは何なんだろうか。純正DOSのときはHMAにデータ逃がしてる可能性が微レ存… pic.twitter.com/qVfZM7xizU

2015-05-05 20:28:26
拡大
sava @lpproj

きょう知ったこと:98版DOS3.3のabsread/write(int25h/26h)はbpレジスタを破壊するっぽい…ちなみにDOS6.2は大丈夫っぽいもよう…

2015-05-08 19:09:28
sava @lpproj

@lpproj dosのint25h/26hはこれに限らず罠が多いんだよな…DOS3.xで無効ドライブ指定するとメモリ破壊される(IBM版。98は未確認)とかWin9xのDOS窓でDPMI経由コールだと動作しない(Win16アプリからだと使えるのに)とか…

2015-05-08 19:15:05
sava @lpproj

誰もきいてない近況(98)その6:FD用ブートローダを少しいじり、カーネル読込後HDを叩き起こして先頭領域をブートドライブにするようにしてみた。んで実FDにローダとkernel.sysを書き込んで実機からブート。うん、とりあえず読める…

2015-05-10 15:48:37
sava @lpproj

@lpproj まあ、DOS3領域はダメなんだけどね… pic.twitter.com/aVO86svAJo

2015-05-10 15:50:32
拡大
sava @lpproj

カーネルFD起動用のブランクFDイメージを自分のページにうpっといた…たぶん後で忘れた頃に自分でダウンロードしなおすと思う…(9年ぐらい前にほぼ同じ作業してた筈なのにそのときのコードが見つけられなかったので、一種の保険…)

2015-05-10 17:38:35
sava @lpproj

@lpproj んでまあDOS3.xのBPBは①隠しセクタがword(DOS4…いやたぶん3.31以上はdword)②ヘッド数に0が設定されてることがある(98独自)のでそのへん対処すると一応見えた… pic.twitter.com/lHTKxZ89Z6

2015-05-10 21:39:17
拡大
sava @lpproj

@lpproj ダミーで入れてるシリアル番号とか見えちゃってるし。拡張BPBじゃない時はこのへん読み書きできる汎用IOCTL殺さないときっとマズいのよね…(最悪ブートセクタ破壊)

2015-05-10 21:43:13
sava @lpproj

誰もきいてない近況(98)その7:拡張ブートレコードじゃない領域の汎用IOCTL(ボリュームシリアル関係)を適当に殺す。ついでなので進捗… bauxite.sakura.ne.jp/software/dos/f… pic.twitter.com/RrK6xAAv49

2015-05-11 20:06:34
拡大
sava @lpproj

んー、98の場合、DOS3.3で作ったHDD領域のBPBにある隠しセクタ情報はDOS5以上と意味合いが違うか…安直に区画先頭LBAの算出に使ってはいけない…(戒め)

2015-06-09 21:21:10
sava @lpproj

誰もきいてない近況(98)その8:複数ドライブ認識させてみた… pic.twitter.com/Ay0nTLaAzx

2015-06-11 19:49:47
拡大
sava @lpproj

きのうも少し書いたけどDOS3.3で確保したSASI-HD各領域のブートレコードにあるBPBは不完全というか18H以降(トラック、ヘッド、隠しセクタ数)は別の値が記述されている…DISKTUTの説明も不完全(というかやや間違い)っぽい…

2015-06-11 20:02:47
sava @lpproj

誰もきいてない近況(98)その9:DOS3.3のformatで作った区画からカーネル読めるようにした…うーん、ドライブ配列がちょっとおかしい…(ちなみにD:ドライブからブート) pic.twitter.com/QE3MLmm7PH

2015-06-19 19:46:51
拡大
sava @lpproj

誰もきいてない近況(98)その10:ようやくA:以外のドライブからまともに起動できるようになった、と思う…カーネル読込時にレジスタが壊れるらしく起動区画情報が受け渡せなかった(固定メモリ位置に保存して誤魔化した)… pic.twitter.com/851OeXY6Ll

2015-06-20 21:24:27
拡大
sava @lpproj

(カーネルをupx圧縮しなければレジスタもそのまま渡せる気がするけどサイズが違いすぎるしなあ…exeflatも修正が必要になるし…)

2015-06-20 21:29:28
sava @lpproj

とりあえずFreeDOS(98)のバイナリまた上げてみた。なんかマンスリースナップショットになっている…

2015-06-21 21:43:51
sava @lpproj

じぶんようめも:65536セクタ以上のDOS領域にint25h/26hするときは「必ず」32ビットセクタ長のほうを指定しないとエラーが返るよ…セクタ位置にかかわらずだよ…

2015-06-24 16:18:14
sava @lpproj

じぶんようめも:もうこんなもんでいいか… bauxite.sakura.ne.jp/wiki/mypad.cgi…

2015-06-24 16:46:06
sava @lpproj

undocumented 98x1のmemdos.txtよく見たら0060:0032のテキストバッファセグメントとか載ってなかった…改めてmemsys/memdos見返すと意外と抜けが多い気がする。逆に大人の事情を感じる…うがちすぎ?

2015-07-01 15:26:37
前へ 1 2 ・・ 19 次へ