FreeDOS(98)進捗どうですか
@lpproj ちなみにNON-DESTRUCTIVE INPUT NO WAIT、リターン時ステータスワードの下位にも入力文字コード返してる(98版DOS6.2)。まあDOS的には無意味だと思う…
2015-04-26 17:02:10誰もきいてない近況(98)その4:念のためfreedosの行入力部分のソース(chario.c中のread_line関数)確認したら特殊キーの検出法完全にIBM系…MS-DOS的に言ったら(IO.SYSじゃなくて)MSDOS.SYSの仕事だと思ってたから油断した…
2015-04-29 21:49:00あとどうでもいいネタ。98用MS-DOSのファンクションキーの内容を格納してる場所は全DOSで一緒だと思われ(DOS3.3,5.0A,6.2で一致。エプソンのは未確認)。UNDOC98に載ってないのは単に役に立たない情報だからかと思われます…
2015-04-29 21:56:29@lpproj (…とは言えキー指定値0の場合しか調べてないのでctrl同時押しやvfキーの場合も一応調べるべきかも…) gist.githubusercontent.com/lpproj/21ddac7…
2015-04-29 22:28:44@lpproj 念のためWin98SEの起動ディスクで確認したらアドレス違ってた。しかも低位に来てる!これは予想外…しかしこれでFreeDOS(98)で内部アドレス合わせなくてよくなったと逆に喜んでる奴がここにひとり… pic.twitter.com/PbrqApf5oO
2015-04-30 20:18:15誰もきいてない近況(98)その5:とりあえず行入力部分を修正し、ファンクションキーに対応。しかし98のDOSだとBackSpaceと←のキーコードが同じなのでINSまわりの処理が事実上死んでいる…
2015-04-30 20:22:40そういえばfreedos(98)にMS-DOS純正himem.sys突っ込むと常駐量が妙にでかくなるのは何なんだろうか。純正DOSのときはHMAにデータ逃がしてる可能性が微レ存… pic.twitter.com/qVfZM7xizU
2015-05-05 20:28:26きょう知ったこと:98版DOS3.3のabsread/write(int25h/26h)はbpレジスタを破壊するっぽい…ちなみにDOS6.2は大丈夫っぽいもよう…
2015-05-08 19:09:28@lpproj dosのint25h/26hはこれに限らず罠が多いんだよな…DOS3.xで無効ドライブ指定するとメモリ破壊される(IBM版。98は未確認)とかWin9xのDOS窓でDPMI経由コールだと動作しない(Win16アプリからだと使えるのに)とか…
2015-05-08 19:15:05誰もきいてない近況(98)その6:FD用ブートローダを少しいじり、カーネル読込後HDを叩き起こして先頭領域をブートドライブにするようにしてみた。んで実FDにローダとkernel.sysを書き込んで実機からブート。うん、とりあえず読める…
2015-05-10 15:48:37カーネルFD起動用のブランクFDイメージを自分のページにうpっといた…たぶん後で忘れた頃に自分でダウンロードしなおすと思う…(9年ぐらい前にほぼ同じ作業してた筈なのにそのときのコードが見つけられなかったので、一種の保険…)
2015-05-10 17:38:35@lpproj んでまあDOS3.xのBPBは①隠しセクタがword(DOS4…いやたぶん3.31以上はdword)②ヘッド数に0が設定されてることがある(98独自)のでそのへん対処すると一応見えた… pic.twitter.com/lHTKxZ89Z6
2015-05-10 21:39:17@lpproj ダミーで入れてるシリアル番号とか見えちゃってるし。拡張BPBじゃない時はこのへん読み書きできる汎用IOCTL殺さないときっとマズいのよね…(最悪ブートセクタ破壊)
2015-05-10 21:43:13誰もきいてない近況(98)その7:拡張ブートレコードじゃない領域の汎用IOCTL(ボリュームシリアル関係)を適当に殺す。ついでなので進捗… bauxite.sakura.ne.jp/software/dos/f… pic.twitter.com/RrK6xAAv49
2015-05-11 20:06:34んー、98の場合、DOS3.3で作ったHDD領域のBPBにある隠しセクタ情報はDOS5以上と意味合いが違うか…安直に区画先頭LBAの算出に使ってはいけない…(戒め)
2015-06-09 21:21:10きのうも少し書いたけどDOS3.3で確保したSASI-HD各領域のブートレコードにあるBPBは不完全というか18H以降(トラック、ヘッド、隠しセクタ数)は別の値が記述されている…DISKTUTの説明も不完全(というかやや間違い)っぽい…
2015-06-11 20:02:47誰もきいてない近況(98)その9:DOS3.3のformatで作った区画からカーネル読めるようにした…うーん、ドライブ配列がちょっとおかしい…(ちなみにD:ドライブからブート) pic.twitter.com/QE3MLmm7PH
2015-06-19 19:46:51誰もきいてない近況(98)その10:ようやくA:以外のドライブからまともに起動できるようになった、と思う…カーネル読込時にレジスタが壊れるらしく起動区画情報が受け渡せなかった(固定メモリ位置に保存して誤魔化した)… pic.twitter.com/851OeXY6Ll
2015-06-20 21:24:27じぶんようめも:65536セクタ以上のDOS領域にint25h/26hするときは「必ず」32ビットセクタ長のほうを指定しないとエラーが返るよ…セクタ位置にかかわらずだよ…
2015-06-24 16:18:14undocumented 98x1のmemdos.txtよく見たら0060:0032のテキストバッファセグメントとか載ってなかった…改めてmemsys/memdos見返すと意外と抜けが多い気がする。逆に大人の事情を感じる…うがちすぎ?
2015-07-01 15:26:37