私は C で 256 色の VGA をプログラミングしています。私が持っている画面サイズは 320*200 であるため、その仮定に基づいて、プロット ピクセル関数を次のように作成しました。
void plot_pixel(int x, int y, byte color){
int offset;
offset = (y<<8) + (y<<6) + x;
VGA[offset]=color;
}
私は常に、画面の x、y 座標をビデオ メモリのオフセットに変換します。私が達成するのに苦労しているのは、反対のことをすることです。関数にビデオ オフセットを送信し、x 座標と y 座標に対応する 2 つの整数を含む配列を返したいと思います。
get_xy(int offset){
...
}
ただし、1 つの数値を 2 つの値に変換する方法はまだ見つかりません。
誰でもこれを達成するのを手伝ってもらえますか?