mirror of
https://github.com/autc04/Retro68.git
synced 2024-12-26 16:29:28 +00:00
42 lines
799 B
R
42 lines
799 B
R
type 'CODE' (0) {
|
|
longint; // size above A5
|
|
longint; // size of application globals
|
|
longint = (jtend - jtstart) / 8; // size of jump table
|
|
longint; // a5 offset of jump tabe
|
|
jtstart:
|
|
array {
|
|
integer; // offset
|
|
integer = 0x3f3c;
|
|
integer; // segment
|
|
integer = 0xa9f0;
|
|
};
|
|
jtend:
|
|
;
|
|
};
|
|
|
|
#define RETRO68_CODE_TYPE \
|
|
hex string dontBreakAtEntry = $"", breakAtEntry = $"A9FF"; \
|
|
longint = 0x61000002; /* bsr *+2 */ \
|
|
relativeTo: \
|
|
integer = 0x0697; /* addi.l #_, (a7) */ \
|
|
longint = $$long(fltfile + 8*8) + (fltfile-relativeTo)/8; \
|
|
integer = 0x4e75; /* rts */ \
|
|
longint = fltfile/8; \
|
|
fltfile: \
|
|
hex string;
|
|
|
|
|
|
|
|
type 'CODE' (1) {
|
|
integer = 0;
|
|
integer = 1;
|
|
RETRO68_CODE_TYPE
|
|
};
|
|
|
|
#define RETRO68_JUMP_TABLE { \
|
|
0x28, 0, 0x20, \
|
|
{ \
|
|
0, 1; \
|
|
}; \
|
|
}
|