理想のAPI
- (by K,2008.01.20)
- KHBIOSのファンクション体系を再検討。GUIGUI00での経験を生かしたい。
(1)
- スタック渡しやレジスタ渡しは論ずるに値しない。構造体というかパケット列というか、そういうものをDS:EBXかFS:EBXで渡す形が望ましい。
- パラメータ全部をDWORDでずらずら書いていくというのはシステム側にとっては楽だが、アプリ側は楽ではない。もちろんアプリを圧縮してしまえばこれは目立たなくなるが、展開時にメモリを食うことに違いはなく、小さくできるのならするに越したことはないはずだ。
- パラメータの一部だけが可変値だというのはよくあるが、その場合GUIGUI00仕様だとすべてのパラメータをDSやSSなどに置かなければいけない。もしパラメータの一部だけを別のセグメントに置くことを許すのなら、固定パラメータをCSに置くことができる。これはROM化(厳密には省RAM化)に非常に有利になる。
(9) 落書きゾーン
- ビットストリーム、バイトストリーム、ワードストリーム、ダブルワードストリーム、Qワードストリーム、・・・
- ビットストリームは必ず存在する。
- ビットストリーム以外は、オプショナル。バイト以降のストリームは主にアラインのためにあるので、アラインしないというオプションはない。サイズ重視なら全部ビットストリームで書いてしまえばよい。整数値は基本的に符号つきとして扱う。