All: Declare sim_stop_messages as an array SCPE_BASE long
This avoids a potential invalid pointer dereference when formatting the return value from sim_instr() if it is < SCPE_BASE but greater than the previously defined static array size.sizeof Update simh.doc to reflect this generic change.
This commit is contained in:
parent
782fe167ca
commit
ae825c9afb
46 changed files with 46 additions and 45 deletions
|
@ -60,7 +60,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Reserved Instruction",
|
"Reserved Instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -63,7 +63,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -145,7 +145,7 @@ DEVICE *sim_devices[] = {
|
||||||
|
|
||||||
static char memoryAccessMessage[256];
|
static char memoryAccessMessage[256];
|
||||||
static char instructionMessage[256];
|
static char instructionMessage[256];
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
memoryAccessMessage,
|
memoryAccessMessage,
|
||||||
|
|
|
@ -76,7 +76,7 @@ DEVICE *sim_devices[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
0,
|
0,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -284,7 +284,7 @@ DEVICE *sim_devices[] = {
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Неизвестная ошибка", /* Unknown error */
|
"Неизвестная ошибка", /* Unknown error */
|
||||||
"Останов", /* STOP */
|
"Останов", /* STOP */
|
||||||
"Точка останова", /* Emulator breakpoint */
|
"Точка останова", /* Emulator breakpoint */
|
||||||
|
|
|
@ -85,7 +85,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"OK",
|
"OK",
|
||||||
"Indirect addressing loop count exceeded",
|
"Indirect addressing loop count exceeded",
|
||||||
"Selective Stop",
|
"Selective Stop",
|
||||||
|
|
|
@ -67,7 +67,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unimplemented unit",
|
"Unimplemented unit",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -88,7 +88,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unimplemented instruction",
|
"Unimplemented instruction",
|
||||||
"Unimplemented I/O device",
|
"Unimplemented I/O device",
|
||||||
|
|
|
@ -1968,7 +1968,7 @@ DEVICE *sim_devices [] = { /* an array of pointers to the s
|
||||||
#define DEVICE_COUNT (sizeof sim_devices / sizeof sim_devices [0] - 1) /* the count excludes the NULL pointer */
|
#define DEVICE_COUNT (sizeof sim_devices / sizeof sim_devices [0] - 1) /* the count excludes the NULL pointer */
|
||||||
|
|
||||||
|
|
||||||
const char *sim_stop_messages [] = { /* an array of pointers to the stop messages in STOP_nnn order */
|
const char *sim_stop_messages [SCPE_BASE] = { /* an array of pointers to the stop messages in STOP_nnn order */
|
||||||
"Impossible error", /* 0 (never returned) */
|
"Impossible error", /* 0 (never returned) */
|
||||||
"Unimplemented instruction", /* STOP_UNIMPL */
|
"Unimplemented instruction", /* STOP_UNIMPL */
|
||||||
"Unassigned select code", /* STOP_UNSC */
|
"Unassigned select code", /* STOP_UNSC */
|
||||||
|
|
|
@ -1099,7 +1099,7 @@ DEVICE *sim_devices [] = { /* an array of pointers to the s
|
||||||
#define DEVICE_COUNT (sizeof sim_devices / sizeof sim_devices [0] - 1)
|
#define DEVICE_COUNT (sizeof sim_devices / sizeof sim_devices [0] - 1)
|
||||||
|
|
||||||
|
|
||||||
const char *sim_stop_messages [] = { /* an array of pointers to the stop messages in STOP_nnn order */
|
const char *sim_stop_messages [SCPE_BASE] = { /* an array of pointers to the stop messages in STOP_nnn order */
|
||||||
"Impossible error", /* 0 (never returned) */
|
"Impossible error", /* 0 (never returned) */
|
||||||
"System halt", /* STOP_SYSHALT */
|
"System halt", /* STOP_SYSHALT */
|
||||||
"Unimplemented instruction", /* STOP_UNIMPL */
|
"Unimplemented instruction", /* STOP_UNIMPL */
|
||||||
|
|
|
@ -84,7 +84,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unimplemented instruction",
|
"Unimplemented instruction",
|
||||||
"Non-existent memory",
|
"Non-existent memory",
|
||||||
|
|
|
@ -70,7 +70,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -58,7 +58,7 @@ DIB mt_dib = { 5, &mt_cmd, &mt_ini };
|
||||||
DIB dsk_dib = { 4, &mt_cmd, &dsk_ini };
|
DIB dsk_dib = { 4, &mt_cmd, &dsk_ini };
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -115,7 +115,7 @@ DIB com_dib = { CH_TYP_79XX|CH_TYP_UREC, 0, 04200, 07700, &com_cmd, NULL };
|
||||||
|
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -82,7 +82,7 @@ DIB mt_dib = { CH_TYP_PIO, NUM_UNITS_MT, 0400, 07770, &mt_cmd, &mt_ini };
|
||||||
|
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -116,7 +116,7 @@ DIB com_dib = { CH_TYP_79XX, 0, 0, 0, &com_cmd, NULL };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -130,7 +130,7 @@ DIB com_dib = { CH_TYP_79XX, 0, 0, 0, &com_cmd, NULL };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -143,7 +143,7 @@ DIB hsdrm_dib = { CH_TYP_SPEC, 1, 0330, 0777, &hsdrm_cmd, &hsdrm_ini };
|
||||||
|
|
||||||
|
|
||||||
/* Simulator stop codes */
|
/* Simulator stop codes */
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -95,7 +95,7 @@ DEVICE *sim_devices[] = {
|
||||||
|
|
||||||
char ch_bkpt_msg[] = "Channel A breakpoint, CLC: xxxxxx";
|
char ch_bkpt_msg[] = "Channel A breakpoint, CLC: xxxxxx";
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -71,7 +71,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Wait",
|
"Wait",
|
||||||
"Invalid command",
|
"Invalid command",
|
||||||
|
|
|
@ -85,7 +85,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -85,7 +85,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -86,7 +86,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Reserved instruction",
|
"Reserved instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -90,7 +90,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Reserved instruction",
|
"Reserved instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -66,7 +66,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"STOP",
|
"STOP",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -125,7 +125,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O instruction",
|
"Unknown I/O instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -103,7 +103,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Undefined instruction",
|
"Undefined instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -215,7 +215,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -104,7 +104,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -218,7 +218,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Red stack trap",
|
"Red stack trap",
|
||||||
"Odd address trap",
|
"Odd address trap",
|
||||||
|
|
|
@ -194,7 +194,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Undefined instruction",
|
"Undefined instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -115,7 +115,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unimplemented instruction",
|
"Unimplemented instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -69,7 +69,7 @@ DEVICE *sim_devices[] = {
|
||||||
&tim_dev,
|
&tim_dev,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"---",
|
"---",
|
||||||
"PC Breakpoint",
|
"PC Breakpoint",
|
||||||
"MEM Breakpoint",
|
"MEM Breakpoint",
|
||||||
|
|
|
@ -79,7 +79,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -272,7 +272,7 @@ t_stat sim_load(FILE* fptr, CONST char* cptr, CONST char* fnam, t_bool flag)
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"---",
|
"---",
|
||||||
"PC Breakpoint",
|
"PC Breakpoint",
|
||||||
"MEM Breakpoint",
|
"MEM Breakpoint",
|
||||||
|
|
|
@ -83,7 +83,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"IO device not ready",
|
"IO device not ready",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -64,7 +64,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Stop",
|
"Stop",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -90,7 +90,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Undefined instruction",
|
"Undefined instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -86,7 +86,7 @@ REG *sim_PC = &cpu_reg[0];
|
||||||
|
|
||||||
int32 sim_emax = 60;
|
int32 sim_emax = 60;
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -53,7 +53,7 @@ REG *sim_PC = &cpu_reg[0];
|
||||||
|
|
||||||
int32 sim_emax = 1;
|
int32 sim_emax = 1;
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
BIN
doc/simh.doc
BIN
doc/simh.doc
Binary file not shown.
|
@ -53,7 +53,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -96,7 +96,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Invalid I/O configuration",
|
"Invalid I/O configuration",
|
||||||
"Breakpoint",
|
"Breakpoint",
|
||||||
|
|
|
@ -93,7 +93,8 @@
|
||||||
sim_devices[] array of pointers to simulated devices
|
sim_devices[] array of pointers to simulated devices
|
||||||
sim_PC pointer to saved PC register descriptor
|
sim_PC pointer to saved PC register descriptor
|
||||||
sim_interval simulator interval to next event
|
sim_interval simulator interval to next event
|
||||||
sim_stop_messages[] array of pointers to stop messages
|
sim_stop_messages[SCPE_BASE]
|
||||||
|
array of pointers to stop messages
|
||||||
sim_instr() instruction execution routine
|
sim_instr() instruction execution routine
|
||||||
sim_load() binary loader routine
|
sim_load() binary loader routine
|
||||||
sim_emax maximum number of words in an instruction
|
sim_emax maximum number of words in an instruction
|
||||||
|
|
|
@ -75,7 +75,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
|
@ -73,7 +73,7 @@ DEVICE *sim_devices[] = {
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
const char *sim_stop_messages[] = {
|
const char *sim_stop_messages[SCPE_BASE] = {
|
||||||
"Unknown error",
|
"Unknown error",
|
||||||
"Unknown I/O Instruction",
|
"Unknown I/O Instruction",
|
||||||
"HALT instruction",
|
"HALT instruction",
|
||||||
|
|
Loading…
Add table
Reference in a new issue