|
|
1.1 root 1: /*
2: * natfeats.h - NatFeats API header file
3: *
4: * Copyright (c) 2014 by Eero Tamminen
5: *
6: * This file is distributed under the GPL, version 2 or at your
7: * option any later version. See doc/license.txt for details.
8: */
9:
10: #ifndef _NATFEAT_H
11: #define _NATFEAT_H
12:
13: /* AHCC uses registers to pass arguments, but
14: * NatFeats calls expect arguments to be in stack.
15: * "cdecl" can be used to declare that arguments
16: * should be passed in stack.
17: */
18: #if __AHCC__
19: #define CDECL cdecl
20: #else
21: #define CDECL
22: #endif
23:
24: /* nf_asm.s ASM helper interface for natfeats.c */
25: long CDECL nf_id(const char *);
26: long CDECL nf_call(long ID, ...);
27: /* call only from Supervisor mode */
28: int CDECL detect_nf(void);
29:
30:
31: /* natfeats.c public prototypes */
32:
33: /**
34: * detect & initialize native features
35: * returns zero for fail
36: */
37: extern int nf_init(void);
38:
39: /**
40: * print string to emulator console
41: * returns number of chars output
42: */
43: extern long nf_print(const char *text);
44:
45: /**
46: * invoke emulator debugger
47: * (Hatari specific, can be used e.g. in asserts)
48: */
49: extern long nf_debugger(void);
50:
51: /**
52: * set emulator fastforward mode on (1) or off (0)
53: * (Hatari specific)
54: * returns previous value
55: */
56: extern long nf_fastforward(long enabled);
57:
58: /**
59: * terminate the execution of the emulation if possible
60: * (runs in supervisor mode)
61: */
62: extern void nf_shutdown(void);
63:
64: /**
65: * terminate the execution of the emulation with exit code
66: * (Hatari specific, can be used e.g. for determining test-case success)
67: */
68: extern void nf_exit(long exitval);
69:
70: #endif /* _NATFEAT_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.