51 unsigned char c = (
unsigned char)(*(s++));
52 if (c >= 65 && c <= 90)
54 else if (c >= 97 && c <= 122)
64 static int check_basic_stub (
Uint8 *p,
int addr )
70 while (*p == 0x20 && --a)
74 DEBUG(
"OK! %c%c%c%c" NL, p[0], p[1], p[2], p[3]);
76 !isdigit(p[0]) || !isdigit(p[1]) || !isdigit(p[2]) || !isdigit(p[3]) ||
80 a = (p[0] -
'0') * 1000 + (p[1] -
'0') * 100 + (p[2] -
'0') * 10 + (p[3] -
'0');
81 if (a < addr + 12 || a >
addr + 100)
83 DEBUG(
"GEOS: basic stub SYS address is %d decimal." NL, a);
92 int addr, len =
xemu_load_file(kernal_image_name, buffer, 0x1000,
sizeof buffer,
"Cannot load specified GEOS kernal image");
95 addr = buffer[0] | (buffer[1] << 8);
98 }
else if (
addr == 0x801) {
99 int sys = check_basic_stub(buffer + 6,
addr);
120 cpu65.pc += strlen((
const char*)
memory + cpu65.pc) + 1;