First commit with most sources

This commit is contained in:
Godzil
2018-05-21 08:48:53 +01:00
parent 2be3c740c9
commit 61b60f3068
53 changed files with 11137 additions and 0 deletions

49
mmvm/keybios.cpp Normal file
View File

@@ -0,0 +1,49 @@
#include "../mmage/mmage.h"
#include "wwbios.h"
extern "C" {
#include "../wonx/wonx_include/key.h"
}
enum {
KEY_PRESS_CHECK = 0,
KEY_HIT_CHECK,
KEY_WAIT,
KEY_SET_REPEAT,
KEY_GET_REPEAT,
KEY_HIT_CHECK_WITH_REPEAT,
};
void key_handler(int func_no) {
WORD ret;
switch(func_no) {
case KEY_PRESS_CHECK:
wregs[AX] = key_press_check();
break;
case KEY_HIT_CHECK:
wregs[AX] = key_hit_check();
break;
case KEY_WAIT:
// return 値が 0 のときは ip を -2 して見かけ上 wait してるようにみせかける
ret = key_wait();
if(ret) {
wregs[AX] = ret;
} else {
WaitForSingleObject(wonw32ctx->syncevent, INFINITE);
ip = ip - 2;
}
break;
case KEY_SET_REPEAT:
key_set_repeat(*bregs[BL], *bregs[BH]);
break;
case KEY_GET_REPEAT:
wregs[AX] = key_get_repeat();
break;
case KEY_HIT_CHECK_WITH_REPEAT:
wregs[AX] = key_hit_check_with_repeat();
break;
default:
break;
}
}