7 #include "squirrel_wrap.h"
8 #include "script_common.h"
10 SQInteger script_nop(HSQUIRRELVM v)
15 SQInteger range_check(HSQUIRRELVM v, const char *name, long target, const struct range *range)
17 if((target < range->start) || (target > range->end)){
18 printf("%s range must be 0x%06x to 0x%06x", name, (int) range->start, (int) range->end);
19 return sq_throwerror(v, "script logical error");
24 SQInteger cpu_write_check(HSQUIRRELVM v)
26 static const struct range range_address = {0x4000, 0x10000};
27 static const struct range range_data = {0x0, 0xff};
29 SQRESULT r = qr_argument_get(v, 2, &address, &data);
33 r = range_check(v, "address", address, &range_address);
37 return range_check(v, "data", data, &range_data);
40 SQInteger script_require(HSQUIRRELVM v)
42 if(sq_gettop(v) != 2){
43 return sq_throwerror(v, "argument number error");
45 if(sq_gettype(v, 2) != OT_STRING){
46 return sq_throwerror(v, "argument type error");
49 if(SQ_FAILED(sq_getstring(v, 2, &file))){
50 return sq_throwerror(v, "require error");
52 if(SQ_FAILED(sqstd_dofile(v, _SC(file), SQFalse, SQTrue))){
53 return sq_throwerror(v, "require error");