-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathaccessory.h
97 lines (77 loc) · 2.67 KB
/
accessory.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#if 0
File name: accessor.h
x86 Emulating Debugger (EDB)
Copyright (C) 1991-1993 Serge Pachkovsky
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 1, or (at your option)
any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
If you need to contact me, feel free to write to [email protected]
or to Serge Pachkovsky, Erligatterweg 61, Zuerich CH 8038, Switzerland
#endif
/*
* Modification history.
*
* 19 Feb 92
* MAX_CMD_FAKES changed from 12 to 10,
* test size of command fake changed from 40 to 25.
* Changes made to conserve DGROUP space...
*/
void skip_one_arg( void ) ;
int arg_len( char *p ) ;
char *next_field( char *p ) ;
void registers_display( void ) ;
void bulk_unassemble( void ) ;
void dump_memory( void ) ;
void examine_memory( void ) ;
void print_status( void ) ;
void set_breakpoint( void ) ;
void simulate_int( void ) ;
int decode_address( WORD *seg, WORD *off ) ;
int prefetch_queue_not_match( void ) ;
typedef struct {
WORD min_cs, max_cs ;
WORD min_ip, max_ip ;
BYTE cmd_fake_ID ;
} CODE_BREAK ;
#define MAX_CODE_BPS 6
extern char cmd_buf[ 80 ], cmd_name[ 10 ] ;
extern char *arg_start ;
extern int code_bps ;
extern CODE_BREAK code_bp_table[ MAX_CODE_BPS ] ;
typedef struct {
WORD cs, ip ;
} TRACE_RECORD ;
extern TRACE_RECORD FAR *trace_buf ;
extern TRACE_RECORD FAR *next_trace ;
extern int trace_count ;
extern unsigned MAX_TRACE_RECORDS ;
#define DEFAULT_TRACE_BUFFER 1000
int init_trace_buffer( unsigned size ) ;
void view_trace_buffer( void ) ;
void journal_functions( void ) ;
void write_core_dump( void ) ;
void input_io( void ) ;
void output_io( void ) ;
/*
* Each breakpoint is supplied with command fake ID.
* If ID != NO_CMD_FAKE, corresponding entry from cmd_fake_table
* will be activated. Zero in first byte of cmd_fake_table
* indicates empty slot.
*/
#define MAX_CMD_FAKES 10
#define NO_CMD_FAKE ((BYTE)0xFF)
typedef struct {
WORD use_count ;
char text[ 25 ] ;
} CMD_FAKE ;
extern CMD_FAKE cmd_fake_table[ MAX_CMD_FAKES ] ;
extern char watch_prefetch_queue ;
extern char watch_full_speed_run ;