マイペースなプログラミング日記 このページをアンテナに追加 RSSフィード Twitter

カレンダー
<< 2012/02 >>
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29

2012-02-07

[][]キーイベント

キーイベント実装例。現在引数は無いが、そのうちキーコードとキーの状態を渡そうかと思っている。以下のコードで何らかのキーが押されたときに、画面にBと表示するようにしている。0x400000に関数のアドレスをセットしておけば、キーが押されたときに登録した関数が呼ばれる。

void key(void);

void main(void){
    char* vram = (char*)0x100000;
    *vram = 'A';
    
    void** address = (void**)0x400000;
    *address = key;
    
    for(;;){
      
    }
}

void key(void){
    char* vram = (char*)0x100000;
    *vram = 'B';
}

以下のコマンドでhello.binを作成する

gcc -m32 hello.c -c -nostdlib -o hello.obj
ld -Ttext 0 hello.obj -o hello.exe
objcopy -I elf32-i386 -O binary hello.exe hello.bin

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/d-kami/20120207/1328601586