ディスカッション (11件)
SDL(Simple DirectMedia Layer)がアップデートされ、ついにMS-DOSのサポートが追加されました。レトロゲーム開発やDOS環境でのプロジェクトがますます捗りそうです。
あとはUEFI向けのSDLさえあれば、OSが立ち上がる前の環境ですべてのゲームが動かせるようになるな。
DosBOX自体がSDLでビルドされてることを考えると、このスクリーンショットは特に面白いね。
厳密には、HXDOSを使えば以前からできてたことだよ。DirectDrawをうまくエミュレートしてたから、SDLもそれを利用できたんだ。
最高。FreeBASICのSDLバインディングを使って、386以降をターゲットにしたMS-DOS実行ファイルでこれがどう動くか試してみたい。
[1] - https://github.com/freebasic/fbc (https://github.com/freebasic/fbc)
完璧!ちょうど今朝、macOS上のVMware Fusion上でDebian GNU/Linuxを走らせて、その中のDOSBox-XでTurbo Cの開発をしてたところだよ。
SDLのようなオープンソースプロジェクトにとって、こういうのが採用されるかは、どれだけ侵襲的(既存コードへの影響)かとか、コントリビューターが長期的に保守してくれそうか、みたいなところが鍵になるよね。
プロジェクトによって方針は違うし、SDLがどういうスタンスかは分からないけど。
まあ、すでに多くのポートがあるわけだし、何をしようとしてるのかはちゃんと理解してるはず。
SDLがLoki時代のルーツに戻ってきたな。
最高。理由は?って感じだけど、とにかく最高。理由なんてなくていいんだよ。
入力: ... BIOS INT 15h経由のゲームポートジョイスティック、自動キャリブレーション付き
ジョイスティックのキャリブレーションとか、懐かしすぎる!最近遭遇した懐かしい話といえば...
昔のジョイスティックは「キャリブレーション」が必須で、対応ゲームを遊ぶたびに毎回やる必要があったんだ。アナログ値を返すんだけど、月の満ち欠けとか室温、あるいはその両方に左右されるような代物でね。嘘じゃないよ、あれはプレイヤーにとってもプログラマーにとっても深刻な悩みだった。
ちなみに、1991年頃に書いた自作のDOSゲームの話なんだけど、今でも当時の.ASMソースファイル(約3万行のアセンブリコード。うち1.5万行はVGA 320x200の「調整モード」で高速スプライト描画をするための自動生成コード)が残ってて。UASM(とLLMの助け)のおかげで、つい数日前にやっとコンパイルが通ったんだ。そこでこんな記述を見つけた:
ul_corner_ch:
db 63,"ジョイスティックを左上に倒してボタンを押せ "
lr_corner_ch:
db 63,"ジョイスティックを右下に倒してボタンを押せ "
p1_choose:
dw 1 ;1 キーボード 2 ジョイスティック
p2_choose:
dw 0 ;0 なし 1 キーボード 2 ジョイスティック
要するに、ジョイスティックのキャリブレーションのためだけに350行ものアセンブリコードを書いてたわけ。
だから、記事にある「自動キャリブレーション」がいかに魅力的な機能か、わかってもらえるだろ!
あれ、以前は対応してなかったっけ?それともLinuxのVESAサポートと勘違いしてる?