|
|
1.1 root 1: #ifdef WINUAE_FOR_HATARI
2:
3: /* [NP] We don't use debugmem_xxx functions with Hatari, so we just define some dummy */
4: /* functions to replace those Amiga specific cases */
5: /* We use some #define / static inline to replace with 'empty' equivalent at compile time */
6: /* and to avoid useless overhead at runtime */
7:
8: #define debugmem_trace 0
9:
10: static inline int debugmem_get_segment(uaecptr addr, bool *exact, bool *ext, TCHAR *out, TCHAR *name)
11: { return 0; }
12:
13: static inline int debugmem_get_symbol(uaecptr addr, TCHAR *out, int maxsize)
14: { return 0; }
15:
16: static inline int debugmem_get_sourceline(uaecptr addr, TCHAR *out, int maxsize)
17: { return -1; }
18:
19: static inline bool debugger_get_library_symbol(uaecptr base, uaecptr addr, TCHAR *out)
20: { return false; }
21:
22:
23: static inline void branch_stack_pop_rte(uaecptr oldpc) {}
24: static inline void branch_stack_pop_rts(uaecptr oldpc) {}
25: static inline void branch_stack_push(uaecptr oldpc, uaecptr newpc) {}
26:
27: #else /* ! WINUAE_FOR_HATARI */
28:
29: uaecptr debugmem_reloc(uaecptr exeaddress, uae_u32 len, uaecptr task, uae_u32 *stack);
30: void debugmem_init(void);
31: uaecptr debugmem_allocmem(int mode, uae_u32 size, uae_u32 flags, uae_u32 caller);
32: uae_u32 debugmem_freemem(int mode, uaecptr addr, uae_u32 size, uae_u32 caller);
33: void debugmem_trap(uaecptr addr);
34: void debugmem_addsegs(TrapContext *ctx, uaecptr seg, uaecptr name, uae_u32 lock);
35: void debugmem_remsegs(uaecptr seg);
36: uae_u32 debugmem_exit(void);
37: bool debugmem_break(int);
38: bool debugmem_inhibit_break(int mode);
39: void debugmem_disable(void);
40: void debugmem_enable(void);
41: int debugmem_get_segment(uaecptr addr, bool *exact, bool *ext, TCHAR *out, TCHAR *name);
42: int debugmem_get_symbol(uaecptr addr, TCHAR *out, int maxsize);
43: bool debugmem_get_symbol_value(const TCHAR *name, uae_u32 *valp);
44: bool debugmem_list_segment(int mode, uaecptr addr);
45: int debugmem_get_sourceline(uaecptr addr, TCHAR *out, int maxsize);
46: bool debugmem_get_range(uaecptr*, uaecptr*);
47: bool debugmem_isactive(void);
48: bool debugger_load_libraries(void);
49: void debugger_scan_libraries(void);
50: bool debugger_get_library_symbol(uaecptr base, uaecptr addr, TCHAR *out);
51: bool debugmem_list_stackframe(bool super);
52: bool debugmem_break_stack_pop(void);
53: bool debugmem_break_stack_push(void);
54: bool debugmem_enable_stackframe(bool enable);
55: bool debugmem_illg(uae_u16);
56:
57: extern uae_u32 debugmem_chiplimit;
58: extern uae_u32 debugmem_chiphit(uaecptr addr, uae_u32 v, int size);
59: extern bool debugmem_extinvalidmem(uaecptr addr, uae_u32 v, int size);
60:
61: #endif /* WINUAE_FOR_HATARI */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.