Mercurial > repos > blastem
view test_arm.c @ 1636:d2775a242dc6
Make sure M68K sync and target cycles are updated after loading a savestate. Fixes an issue in which loading a savestate would result in things being unresponsive until emulation cycle caught up to whatever the pre-state load sync cycle was
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 11 Nov 2018 11:33:38 -0800 |
parents | 474270dbff15 |
children |
line wrap: on
line source
#include <stdio.h> #include "gen_arm.h" typedef int32_t (*fib_fun)(int32_t); int main(int arc, char **argv) { code_info code; init_code_info(&code); uint32_t *fib = code.cur; subi(&code, r0, r0, 2, SET_COND); movi_cc(&code, r0, 1, NO_COND, CC_LT); bx_cc(&code, lr, CC_LT); pushm(&code, LR | R4); mov(&code, r4, r0, NO_COND); bl(&code, fib); mov(&code, r1, r0, NO_COND); addi(&code, r0, r4, 1, NO_COND); mov(&code, r4, r1, NO_COND); bl(&code, fib); add(&code, r0, r4, r0, NO_COND); popm(&code, LR | R4); bx(&code, lr); fib_fun fibc = (fib_fun)fib; printf("fib(10): %d\n", fibc(10)); return 0; }