ALL: Massive 'const' cleanup
These changes facilitate more robust parameter type checking and helps to identify unexpected coding errors. Most simulators can now also be compiled with a C++ compiler without warnings. Additionally, these changes have also been configured to facilitate easier backporting of simulator and device simulation modules to run under the simh v3.9+ SCP framework.
This commit is contained in:
parent
60a8a2d43d
commit
5531ccb175
444 changed files with 4119 additions and 3798 deletions
|
@ -113,7 +113,7 @@ int32 PCX; /* External view of PC *
|
|||
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_reset (DEVICE *dptr);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
void setarith(int32 reg);
|
||||
void setlogical(int32 reg);
|
||||
void setinc(int32 reg);
|
||||
|
@ -1163,7 +1163,7 @@ t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 mc = 0;
|
||||
uint32 i;
|
||||
|
|
|
@ -153,7 +153,7 @@ int32 oplen[256] = {
|
|||
load starts at the current value of the PC.
|
||||
*/
|
||||
|
||||
t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag)
|
||||
t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
int32 i, addr = 0, cnt = 0;
|
||||
|
||||
|
@ -234,7 +234,7 @@ return -(oplen[inst] - 1);
|
|||
status = error status
|
||||
*/
|
||||
|
||||
t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
{
|
||||
int32 cflag, i = 0, j, r;
|
||||
char gbuf[CBUFSIZE];
|
||||
|
|
|
@ -154,24 +154,24 @@ extern t_stat sim_instr_8086(void);
|
|||
extern void cpu8086reset(void);
|
||||
|
||||
/* function prototypes */
|
||||
static t_stat cpu_set_switcher (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_reset_switcher(UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_show_switcher (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static int32 switchcpu_io (const int32 port, const int32 io, const int32 data);
|
||||
static t_stat cpu_set_switcher (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_reset_switcher(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_show_switcher (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static int32 switchcpu_io (const int32 port, const int32 io, CONST int32 data);
|
||||
|
||||
static t_stat cpu_set_altairrom (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_noaltairrom (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_nommu (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_banked (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_nonbanked (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_ramtype (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_chiptype (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_size (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_memory (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_clear_command (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat cpu_set_altairrom (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_noaltairrom (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_nommu (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_banked (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_nonbanked (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_ramtype (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_chiptype (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_size (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_set_memory (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat cpu_clear_command (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static void cpu_clear(void);
|
||||
static t_stat cpu_show (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat chip_show (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat cpu_show (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static t_stat chip_show (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static t_stat cpu_ex(t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
static t_stat cpu_dep(t_value val, t_addr addr, UNIT *uptr, int32 sw);
|
||||
static t_stat cpu_reset(DEVICE *dptr);
|
||||
|
@ -2075,7 +2075,6 @@ static t_stat sim_instr_mmu (void) {
|
|||
extern int32 timerInterruptHandler;
|
||||
extern int32 keyboardInterrupt;
|
||||
extern uint32 keyboardInterruptHandler;
|
||||
extern const t_bool rtc_avail;
|
||||
int32 reason = SCPE_OK;
|
||||
register uint32 specialProcessing;
|
||||
register uint32 AF;
|
||||
|
@ -6738,9 +6737,9 @@ const static CPUFLAG *cpuflags[NUM_CHIP_TYPE] = { cpuflags8080, cpuflagsZ80,
|
|||
cpuflags8086, cpuflagsM68K, };
|
||||
|
||||
/* needs to be set for each ramtype <= MAX_RAM_TYPE */
|
||||
static char *ramTypeToString[] = { "AZ80", "HRAM", "VRAM", "CRAM" };
|
||||
static const char *ramTypeToString[] = { "AZ80", "HRAM", "VRAM", "CRAM" };
|
||||
|
||||
static t_stat chip_show(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat chip_show(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
fprintf(st, cpu_unit.flags & UNIT_CPU_OPSTOP ? "ITRAP, " : "NOITRAP, ");
|
||||
if (chiptype < NUM_CHIP_TYPE)
|
||||
fprintf(st, "%s", cpu_mod[chiptype].mstring);
|
||||
|
@ -6750,7 +6749,7 @@ static t_stat chip_show(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_show(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat cpu_show(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
uint32 i, maxBanks, first = TRUE;
|
||||
MDEV m;
|
||||
maxBanks = ((cpu_unit.flags & UNIT_CPU_BANKED) ||
|
||||
|
@ -6815,23 +6814,23 @@ static void cpu_clear(void) {
|
|||
clockHasChanged = FALSE;
|
||||
}
|
||||
|
||||
static t_stat cpu_clear_command(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_clear_command(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
cpu_clear();
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_altairrom(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_altairrom(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
install_ALTAIRbootROM();
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_noaltairrom(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_noaltairrom(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
mmu_table[ALTAIR_ROM_LOW >> LOG2PAGESIZE] = MEMORYSIZE < MAXBANKSIZE ?
|
||||
EMPTY_PAGE : RAM_PAGE;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_nommu(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_nommu(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
if (chiptype == CHIP_TYPE_8086) {
|
||||
sim_printf("Cannot switch off MMU for 8086 CPU.\n");
|
||||
return SCPE_ARG;
|
||||
|
@ -6849,7 +6848,7 @@ static t_stat cpu_set_nommu(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_banked(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_banked(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
if ((chiptype == CHIP_TYPE_8080) || (chiptype == CHIP_TYPE_Z80)) {
|
||||
if (MEMORYSIZE <= MAXBANKSIZE)
|
||||
previousCapacity = MEMORYSIZE;
|
||||
|
@ -6864,7 +6863,7 @@ static t_stat cpu_set_banked(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_nonbanked(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_nonbanked(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
if ((chiptype == CHIP_TYPE_8080) || (chiptype == CHIP_TYPE_Z80)) {
|
||||
MEMORYSIZE = previousCapacity;
|
||||
cpu_dev.awidth = MAXBANKSIZELOG2;
|
||||
|
@ -6965,10 +6964,10 @@ static void cpu_set_chiptype_short(const int32 value) {
|
|||
return; /* nothing to do */
|
||||
if (((chiptype == CHIP_TYPE_8080) && (value == CHIP_TYPE_Z80)) ||
|
||||
((chiptype == CHIP_TYPE_Z80) && (value == CHIP_TYPE_8080))) {
|
||||
chiptype = value;
|
||||
chiptype = (ChipType)value;
|
||||
return;
|
||||
}
|
||||
chiptype = value;
|
||||
chiptype = (ChipType)value;
|
||||
switch (chiptype) {
|
||||
case CHIP_TYPE_8080:
|
||||
case CHIP_TYPE_Z80:
|
||||
|
@ -6998,13 +6997,13 @@ static void cpu_set_chiptype_short(const int32 value) {
|
|||
}
|
||||
}
|
||||
|
||||
static t_stat cpu_set_chiptype(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_chiptype(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
cpu_set_chiptype_short(value);
|
||||
cpu_clear();
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static int32 switchcpu_io(const int32 port, const int32 io, const int32 data) {
|
||||
static int32 switchcpu_io(const int32 port, const int32 io, CONST int32 data) {
|
||||
int32 new_chiptype = 0;
|
||||
if (io == 0) { /* Read, switch CPU */
|
||||
switch(chiptype) {
|
||||
|
@ -7036,7 +7035,7 @@ static int32 switchcpu_io(const int32 port, const int32 io, const int32 data) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
static t_stat cpu_show_switcher(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat cpu_show_switcher(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
if ((cpu_unit.flags & UNIT_CPU_SWITCHER) && (switcherPort >= 0))
|
||||
fprintf(st, "SWITCHER=0x%02x", switcherPort);
|
||||
else
|
||||
|
@ -7044,7 +7043,7 @@ static t_stat cpu_show_switcher(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_switcher(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_switcher(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
struct idev safe;
|
||||
switcherPort &= 0xff;
|
||||
safe = dev_table[switcherPort];
|
||||
|
@ -7056,7 +7055,7 @@ static t_stat cpu_set_switcher(UNIT *uptr, int32 value, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_reset_switcher(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_reset_switcher(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
if (sim_map_resource(switcherPort, 1, RESOURCE_TYPE_IO, oldSwitcherDevice.routine, FALSE)) {
|
||||
sim_printf("%s: error mapping I/O resource at 0x%04x\n", __FUNCTION__, switcherPort);
|
||||
return SCPE_ARG;
|
||||
|
@ -7064,7 +7063,7 @@ static t_stat cpu_reset_switcher(UNIT *uptr, int32 value, char *cptr, void *desc
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_ramtype(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_ramtype(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
|
||||
if (value == ramtype) {
|
||||
if (cpu_unit.flags & UNIT_CPU_VERBOSE)
|
||||
|
@ -7149,11 +7148,11 @@ static t_stat set_size(uint32 size) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat cpu_set_size(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_size(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
return set_size(value);
|
||||
}
|
||||
|
||||
static t_stat cpu_set_memory(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat cpu_set_memory(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
uint32 size, result, i;
|
||||
if (cptr == NULL)
|
||||
return SCPE_ARG;
|
||||
|
@ -7175,7 +7174,7 @@ void altairz80_init(void) {
|
|||
/* altairz80_print_tables(); */
|
||||
}
|
||||
|
||||
void (*sim_vm_init) (void) = &altairz80_init;
|
||||
WEAK void (*sim_vm_init) (void) = &altairz80_init;
|
||||
|
||||
/* This is the binary loader. The input file is considered to be a string of
|
||||
literal bytes with no special format. The load starts at the current value
|
||||
|
@ -7186,12 +7185,12 @@ void (*sim_vm_init) (void) = &altairz80_init;
|
|||
|
||||
#define PLURAL(x) (x), (x) == 1 ? "" : "s"
|
||||
|
||||
static t_stat sim_load_m68k(FILE *fileref, char *cptr, char *fnam, int flag) {
|
||||
static t_stat sim_load_m68k(FILE *fileref, CONST char *cptr, CONST char *fnam, int flag) {
|
||||
char gbuf[CBUFSIZE];
|
||||
int32 i;
|
||||
t_addr j, lo, hi;
|
||||
uint32 addr, org, cnt = 0;
|
||||
const char* result;
|
||||
CONST char* result;
|
||||
if (flag ) {
|
||||
result = get_range(NULL, cptr, &lo, &hi, 16, M68K_MAX_RAM, 0);
|
||||
if (result == NULL)
|
||||
|
@ -7221,11 +7220,11 @@ static t_stat sim_load_m68k(FILE *fileref, char *cptr, char *fnam, int flag) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat sim_load(FILE *fileref, char *cptr, char *fnam, int flag) {
|
||||
t_stat sim_load(FILE *fileref, CONST char *cptr, CONST char *fnam, int flag) {
|
||||
int32 i;
|
||||
uint32 addr, cnt = 0, org, pagesModified = 0, makeROM = FALSE;
|
||||
t_addr j, lo, hi;
|
||||
const char *result;
|
||||
CONST char *result;
|
||||
MDEV m;
|
||||
char gbuf[CBUFSIZE];
|
||||
if (chiptype == CHIP_TYPE_M68K)
|
||||
|
|
|
@ -122,7 +122,6 @@ extern int32 DE1_S; /* alternate DE register */
|
|||
extern int32 HL1_S; /* alternate HL register */
|
||||
extern int32 IFF_S; /* Interrupt Flip Flop */
|
||||
extern int32 IR_S; /* Interrupt (upper) / Refresh (lower) register */
|
||||
extern int32 chiptype;
|
||||
|
||||
#if !UNIX_PLATFORM
|
||||
extern void pollForCPUStop(void);
|
||||
|
|
|
@ -109,4 +109,6 @@ typedef struct {
|
|||
uint32 io_size; /* I/O Address Space requirement */
|
||||
} PNP_INFO;
|
||||
|
||||
extern ChipType chiptype;
|
||||
|
||||
#endif
|
||||
|
|
|
@ -163,8 +163,7 @@ int32 dsk11(const int32 port, const int32 io, const int32 data);
|
|||
int32 dsk12(const int32 port, const int32 io, const int32 data);
|
||||
static t_stat dsk_boot(int32 unitno, DEVICE *dptr);
|
||||
static t_stat dsk_reset(DEVICE *dptr);
|
||||
static t_stat dsk_attach(UNIT *uptr, char *cptr);
|
||||
static const char* dsk_description(DEVICE *dptr);
|
||||
static t_stat dsk_attach(UNIT *uptr, CONST char *cptr);
|
||||
|
||||
extern UNIT cpu_unit;
|
||||
extern uint32 PCX;
|
||||
|
@ -369,7 +368,7 @@ DEVICE dsk_dev = {
|
|||
dsk_dt, NULL, NULL, NULL, NULL, NULL, &dsk_description
|
||||
};
|
||||
|
||||
static char* selectInOut(const int32 io) {
|
||||
static const char* selectInOut(const int32 io) {
|
||||
return io == 0 ? "IN" : "OUT";
|
||||
}
|
||||
|
||||
|
@ -399,7 +398,7 @@ static t_stat dsk_reset(DEVICE *dptr) {
|
|||
}
|
||||
/* dsk_attach - determine type of drive attached based on disk image size */
|
||||
|
||||
static t_stat dsk_attach(UNIT *uptr, char *cptr) {
|
||||
static t_stat dsk_attach(UNIT *uptr, CONST char *cptr) {
|
||||
int32 thisUnitIndex;
|
||||
int32 imageSize;
|
||||
const t_stat r = attach_unit(uptr, cptr); /* attach unit */
|
||||
|
|
|
@ -36,13 +36,13 @@
|
|||
#define VERBOSE_MSG (1 << 2)
|
||||
|
||||
/* The following routines are based on work from Howard M. Harte */
|
||||
static t_stat set_geom(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
static t_stat show_geom(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat set_format(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
static t_stat show_format(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat set_geom(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
static t_stat show_geom(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static t_stat set_format(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
static t_stat show_format(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
static t_stat hdsk_reset(DEVICE *dptr);
|
||||
static t_stat hdsk_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat hdsk_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat hdsk_detach(UNIT *uptr);
|
||||
static uint32 is_imd(const UNIT *uptr);
|
||||
static void assignFormat(UNIT *uptr);
|
||||
|
@ -71,15 +71,14 @@ static void verifyDiskInfo(const DISK_INFO *info, const char unitChar);
|
|||
|
||||
extern uint32 PCX;
|
||||
extern UNIT cpu_unit;
|
||||
extern ChipType chiptype;
|
||||
|
||||
extern void install_ALTAIRbootROM(void);
|
||||
extern void PutBYTEWrapper(const uint32 Addr, const uint32 Value);
|
||||
extern uint8 GetBYTEWrapper(const uint32 Addr);
|
||||
extern t_stat install_bootrom(const int32 bootrom[], const int32 size, const int32 addr, const int32 makeROM);
|
||||
extern int32 bootrom_dsk[];
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 find_unit_index(UNIT *uptr);
|
||||
|
@ -430,7 +429,7 @@ static void verifyDiskInfo(const DISK_INFO *info, const char unitChar) {
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat hdsk_attach(UNIT *uptr, char *cptr) {
|
||||
static t_stat hdsk_attach(UNIT *uptr, CONST char *cptr) {
|
||||
int32 thisUnitIndex;
|
||||
char unitChar;
|
||||
const t_stat r = attach_unit(uptr, cptr); /* attach unit */
|
||||
|
@ -541,7 +540,7 @@ static t_stat hdsk_detach(UNIT *uptr) {
|
|||
}
|
||||
|
||||
/* Set disk geometry routine */
|
||||
static t_stat set_geom(UNIT *uptr, int32 val, char *cptr, void *desc) {
|
||||
static t_stat set_geom(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
|
||||
uint32 numberOfTracks, numberOfSectors, sectorSize;
|
||||
int result, n;
|
||||
|
||||
|
@ -567,7 +566,7 @@ static t_stat set_geom(UNIT *uptr, int32 val, char *cptr, void *desc) {
|
|||
}
|
||||
|
||||
/* Show disk geometry routine */
|
||||
static t_stat show_geom(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat show_geom(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
if (uptr == NULL)
|
||||
return SCPE_IERR;
|
||||
fprintf(st, "T:%d/N:%d/S:%d", uptr -> HDSK_NUMBER_OF_TRACKS,
|
||||
|
@ -578,7 +577,7 @@ static t_stat show_geom(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
|||
#define QUOTE1(text) #text
|
||||
#define QUOTE2(text) QUOTE1(text)
|
||||
/* Set disk format routine */
|
||||
static t_stat set_format(UNIT *uptr, int32 val, char *cptr, void *desc) {
|
||||
static t_stat set_format(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
|
||||
char fmtname[DPB_NAME_LENGTH + 1];
|
||||
int32 i;
|
||||
|
||||
|
@ -611,7 +610,7 @@ static t_stat set_format(UNIT *uptr, int32 val, char *cptr, void *desc) {
|
|||
}
|
||||
|
||||
/* Show disk format routine */
|
||||
static t_stat show_format(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat show_format(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
if (uptr == NULL)
|
||||
return SCPE_IERR;
|
||||
fprintf(st, "%s", dpb[uptr -> HDSK_FORMAT_TYPE].name);
|
||||
|
|
|
@ -89,7 +89,7 @@ extern t_stat install_bootrom(const int32 bootrom[], const int32 size, const int
|
|||
#define CMD_INITIALIZE 14
|
||||
#define CMD_MAX (CMD_INITIALIZE + 1)
|
||||
|
||||
static char* commandMessage[CMD_MAX] = {
|
||||
static const char* commandMessage[CMD_MAX] = {
|
||||
"Seek", // CMD_SEEK 0
|
||||
"Undefined 1", // 1
|
||||
"Write Sector", // CMD_WRITE_SEC 2
|
||||
|
@ -162,7 +162,7 @@ static int32 hdAdata(const int32 port, const int32 io, const int32 data);
|
|||
static void doRead(const int32 port, const int32 data, const uint32 command);
|
||||
static void doWrite(const int32 port, const int32 data, const uint32 command);
|
||||
static t_stat dsk_reset(DEVICE *dptr);
|
||||
static char* cmdTranslate(const int32 cmd);
|
||||
static const char* cmdTranslate(const int32 cmd);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
static const char* mhdsk_description(DEVICE *dptr);
|
||||
|
@ -253,7 +253,7 @@ static t_stat mhdsk_boot(int32 unitno, DEVICE *dptr) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static char* cmdTranslate(const int32 cmd) {
|
||||
static const char* cmdTranslate(const int32 cmd) {
|
||||
static char result[128];
|
||||
if ((0 <= cmd) && (cmd < CMD_MAX))
|
||||
return commandMessage[cmd];
|
||||
|
|
|
@ -40,11 +40,11 @@ extern uint32 PCX;
|
|||
#define NET_INIT_POLL_SERVER 16000
|
||||
#define NET_INIT_POLL_CLIENT 15000
|
||||
|
||||
static t_stat net_attach (UNIT *uptr, char *cptr);
|
||||
static t_stat net_attach (UNIT *uptr, CONST char *cptr);
|
||||
static t_stat net_detach (UNIT *uptr);
|
||||
static t_stat net_reset (DEVICE *dptr);
|
||||
static t_stat net_svc (UNIT *uptr);
|
||||
static t_stat set_net (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat set_net (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
int32 netStatus (const int32 port, const int32 io, const int32 data);
|
||||
int32 netData (const int32 port, const int32 io, const int32 data);
|
||||
static const char* net_description(DEVICE *dptr);
|
||||
|
@ -119,7 +119,7 @@ DEVICE net_dev = {
|
|||
net_dt, NULL, NULL, NULL, NULL, NULL, &net_description
|
||||
};
|
||||
|
||||
static t_stat set_net(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat set_net(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
char temp[CBUFSIZE];
|
||||
if ((net_unit.flags & UNIT_ATT) && ((net_unit.flags & UNIT_SERVER) != (uint32)value)) {
|
||||
strncpy(temp, net_unit.filename, CBUFSIZE); /* save name for later attach */
|
||||
|
@ -154,7 +154,7 @@ static t_stat net_reset(DEVICE *dptr) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat net_attach(UNIT *uptr, char *cptr) {
|
||||
static t_stat net_attach(UNIT *uptr, CONST char *cptr) {
|
||||
uint32 i;
|
||||
char host[CBUFSIZE], port[CBUFSIZE];
|
||||
|
||||
|
|
|
@ -125,18 +125,18 @@ uint8 *URLContents(const char *URL, uint32 *length) {
|
|||
#define SLEEP_ALLOWED_START_DEFAULT 100 /* default initial value for sleepAllowedCounter*/
|
||||
#define DEFAULT_TIMER_DELTA 100 /* default value for timer delta in ms */
|
||||
|
||||
static t_stat simh_dev_set_timeron (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat simh_dev_set_timeroff (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat simh_dev_set_timeron (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat simh_dev_set_timeroff (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat sio_reset(DEVICE *dptr);
|
||||
static t_stat sio_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat sio_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat sio_detach(UNIT *uptr);
|
||||
static t_stat ptr_reset(DEVICE *dptr);
|
||||
static t_stat ptp_reset(DEVICE *dptr);
|
||||
static t_stat toBool(char tf, int32 *result);
|
||||
static t_stat sio_dev_set_port(UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat sio_dev_show_port(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat sio_dev_set_interrupton(UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat sio_dev_set_interruptoff(UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat sio_dev_set_port(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat sio_dev_show_port(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static t_stat sio_dev_set_interrupton(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat sio_dev_set_interruptoff(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat sio_svc(UNIT *uptr);
|
||||
static t_stat simh_dev_reset(DEVICE *dptr);
|
||||
static t_stat simh_svc(UNIT *uptr);
|
||||
|
@ -167,8 +167,6 @@ extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_typ
|
|||
extern uint32 getClockFrequency(void);
|
||||
extern void setClockFrequency(const uint32 Value);
|
||||
|
||||
extern int32 chiptype;
|
||||
extern const t_bool rtc_avail;
|
||||
extern uint32 PCX;
|
||||
extern int32 SR;
|
||||
extern UNIT cpu_unit;
|
||||
|
@ -498,7 +496,7 @@ static void resetSIOWarningFlags(void) {
|
|||
warnUnattachedPTP = warnUnattachedPTR = warnPTREOF = warnUnassignedPort = 0;
|
||||
}
|
||||
|
||||
static t_stat sio_attach(UNIT *uptr, char *cptr) {
|
||||
static t_stat sio_attach(UNIT *uptr, CONST char *cptr) {
|
||||
t_stat r = SCPE_IERR;
|
||||
sio_unit.u3 = FALSE; /* no character in terminal input buffer */
|
||||
get_uint(cptr, 10, 65535, &r); /* attempt to get port, discard result */
|
||||
|
@ -974,7 +972,7 @@ static uint32 equalSIP(SIO_PORT_INFO x, SIO_PORT_INFO y) {
|
|||
(x.sio_reset == y.sio_reset) && (x.hasOUT == y.hasOUT);
|
||||
}
|
||||
|
||||
static t_stat sio_dev_set_port(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat sio_dev_set_port(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
int32 result, n, position;
|
||||
SIO_PORT_INFO sip = { 0 }, old;
|
||||
char hasReset, hasOUT;
|
||||
|
@ -1040,7 +1038,7 @@ static t_stat sio_dev_set_port(UNIT *uptr, int32 value, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat sio_dev_show_port(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
||||
static t_stat sio_dev_show_port(FILE *st, UNIT *uptr, int32 val, CONST void *desc) {
|
||||
int32 i, first = TRUE;
|
||||
for (i = 0; port_table[i].port != -1; i++)
|
||||
if (!port_table[i].isBuiltin) {
|
||||
|
@ -1055,12 +1053,12 @@ static t_stat sio_dev_show_port(FILE *st, UNIT *uptr, int32 val, void *desc) {
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat sio_dev_set_interrupton(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat sio_dev_set_interrupton(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
keyboardInterrupt = FALSE;
|
||||
return sim_activate(&sio_unit, sio_unit.wait); /* activate unit */
|
||||
}
|
||||
|
||||
static t_stat sio_dev_set_interruptoff(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat sio_dev_set_interruptoff(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
keyboardInterrupt = FALSE;
|
||||
sim_cancel(&sio_unit);
|
||||
return SCPE_OK;
|
||||
|
@ -1191,7 +1189,7 @@ enum simhPseudoDeviceCommands { /* do not change order or remove commands, add o
|
|||
kSimhPseudoDeviceCommands
|
||||
};
|
||||
|
||||
static char *cmdNames[kSimhPseudoDeviceCommands] = {
|
||||
static const char *cmdNames[kSimhPseudoDeviceCommands] = {
|
||||
"printTime",
|
||||
"startTimer",
|
||||
"stopTimer",
|
||||
|
@ -1277,12 +1275,12 @@ static void warnNoRealTimeClock(void) {
|
|||
" Sorry - no real time clock available.\n", PCX);
|
||||
}
|
||||
|
||||
static t_stat simh_dev_set_timeron(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat simh_dev_set_timeron(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
timeOfNextInterrupt = sim_os_msec() + timerDelta;
|
||||
return sim_activate(&simh_unit, simh_unit.wait); /* activate unit */
|
||||
}
|
||||
|
||||
static t_stat simh_dev_set_timeroff(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat simh_dev_set_timeroff(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
timerInterrupt = FALSE;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
|
|
@ -73,18 +73,17 @@ extern DEVICE wdi2_dev;
|
|||
|
||||
extern DEVICE scp300f_dev;
|
||||
|
||||
extern int32 chiptype;
|
||||
extern long disasm (unsigned char *data, char *output, int segsize, long offset);
|
||||
|
||||
void prepareMemoryAccessMessage(const t_addr loc);
|
||||
void prepareInstructionMessage(const t_addr loc, const uint32 op);
|
||||
t_stat fprint_sym (FILE *of, t_addr addr, t_value *val, UNIT *uptr, int32 sw);
|
||||
t_stat parse_sym(char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw);
|
||||
t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw);
|
||||
|
||||
t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* SCP data structures
|
||||
sim_name simulator name string
|
||||
|
@ -135,7 +134,7 @@ const char *sim_stop_messages[] = {
|
|||
"Invalid Opcode"
|
||||
};
|
||||
|
||||
static char *const Mnemonics8080[] = {
|
||||
static const char *const Mnemonics8080[] = {
|
||||
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"NOP", "LXI B,#h", "STAX B", "INX B", "INR B", "DCR B", "MVI B,*h", "RLC", /* 00-07 */
|
||||
"_NOP", "DAD B", "LDAX B", "DCX B", "INR C", "DCR C", "MVI C,*h", "RRC", /* 08-0f */
|
||||
|
@ -171,7 +170,7 @@ static char *const Mnemonics8080[] = {
|
|||
"RM", "SPHL", "JM #h", "EI", "CM #h", "_CALL #h", "CPI *h", "RST 7" /* f8-ff */
|
||||
};
|
||||
|
||||
static char *const MnemonicsZ80[256] = {
|
||||
static const char *const MnemonicsZ80[256] = {
|
||||
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"NOP", "LD BC,#h", "LD (BC),A", "INC BC", "INC B", "DEC B", "LD B,*h", "RLCA", /* 00-07 */
|
||||
"EX AF,AF'", "ADD HL,BC", "LD A,(BC)", "DEC BC", "INC C", "DEC C", "LD C,*h", "RRCA", /* 08-0f */
|
||||
|
@ -207,7 +206,7 @@ static char *const MnemonicsZ80[256] = {
|
|||
"RET M", "LD SP,HL", "JP M,#h", "EI", "CALL M,#h", "PFX_FD", "CP *h", "RST 38h" /* f8-ff */
|
||||
};
|
||||
|
||||
static char *const MnemonicsCB[256] = {
|
||||
static const char *const MnemonicsCB[256] = {
|
||||
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"RLC B", "RLC C", "RLC D", "RLC E", "RLC H", "RLC L", "RLC (HL)", "RLC A", /* 00-07 */
|
||||
"RRC B", "RRC C", "RRC D", "RRC E", "RRC H", "RRC L", "RRC (HL)", "RRC A", /* 08-0f */
|
||||
|
@ -243,7 +242,7 @@ static char *const MnemonicsCB[256] = {
|
|||
"SET 7,B", "SET 7,C", "SET 7,D", "SET 7,E", "SET 7,H", "SET 7,L", "SET 7,(HL)", "SET 7,A" /* f8-ff */
|
||||
};
|
||||
|
||||
static char *const MnemonicsED[256] = {
|
||||
static const char *const MnemonicsED[256] = {
|
||||
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"DB EDh,00h", "DB EDh,01h", "DB EDh,02h", "DB EDh,03h", "DB EDh,04h", "DB EDh,05h", "DB EDh,06h", "DB EDh,07h", /* 00-07 */
|
||||
"DB EDh,08h", "DB EDh,09h", "DB EDh,0Ah", "DB EDh,0Bh", "DB EDh,0Ch", "DB EDh,0Dh", "DB EDh,0Eh", "DB EDh,0Fh", /* 08-0f */
|
||||
|
@ -279,7 +278,7 @@ static char *const MnemonicsED[256] = {
|
|||
"DB EDh,F8h", "DB EDh,F9h", "DB EDh,FAh", "DB EDh,FBh", "DB EDh,FCh", "DB EDh,FDh", "DB EDh,FEh", "DB EDh,FFh" /* f8-ff */
|
||||
};
|
||||
|
||||
static char *const MnemonicsXX[256] = {
|
||||
static const char *const MnemonicsXX[256] = {
|
||||
/* 0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"NOP", "LD BC,#h", "LD (BC),A", "INC BC", "INC B", "DEC B", "LD B,*h", "RLCA", /* 00-07 */
|
||||
"EX AF,AF'", "ADD I%,BC", "LD A,(BC)", "DEC BC", "INC C", "DEC C", "LD C,*h", "RRCA", /* 08-0f */
|
||||
|
@ -315,7 +314,7 @@ static char *const MnemonicsXX[256] = {
|
|||
"RET M", "LD SP,I%", "JP M,#h", "EI", "CALL M,#h", "PFX_FD", "CP *h", "RST 38h" /* f8-ff */
|
||||
};
|
||||
|
||||
static char *const MnemonicsXCB[256] = {
|
||||
static const char *const MnemonicsXCB[256] = {
|
||||
/*0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F */
|
||||
"RLC B", "RLC C", "RLC D", "RLC E", "RLC H", "RLC L", "RLC (I%@h)", "RLC A", /* 00-07 */
|
||||
"RRC B", "RRC C", "RRC D", "RRC E", "RRC H", "RRC L", "RRC (I%@h)", "RRC A", /* 08-0f */
|
||||
|
@ -386,7 +385,8 @@ static void printHex4(char* string, const uint32 value) {
|
|||
*/
|
||||
|
||||
static int32 DAsm(char *S, const uint32 *val, const int32 useZ80Mnemonics, const int32 addr) {
|
||||
char R[128], H[10], C = '\0', *T, *P;
|
||||
char R[128], H[10], C = '\0', *P;
|
||||
const char *T, *T1;
|
||||
uint8 J = 0, Offset = 0;
|
||||
uint16 B = 0;
|
||||
|
||||
|
@ -423,12 +423,12 @@ static int32 DAsm(char *S, const uint32 *val, const int32 useZ80Mnemonics, const
|
|||
else
|
||||
T = Mnemonics8080[val[B++]];
|
||||
|
||||
if ( (P = strchr(T, '^')) ) {
|
||||
strncpy(R, T, P - T);
|
||||
R[P - T] = '\0';
|
||||
if ( (T1 = strchr(T, '^')) ) {
|
||||
strncpy(R, T, T1 - T);
|
||||
R[T1 - T] = '\0';
|
||||
printHex2(H, val[B++]);
|
||||
strcat(R, H);
|
||||
strcat(R, P + 1);
|
||||
strcat(R, T1 + 1);
|
||||
}
|
||||
else
|
||||
strcpy(R, T);
|
||||
|
@ -659,7 +659,7 @@ static int32 checkXY(const char xy) {
|
|||
return xy == 'X' ? 0xdd : 0xfd; /* else is 'Y' */
|
||||
}
|
||||
|
||||
static int32 parse_X80(const char *cptr, const int32 addr, uint32 *val, char *const Mnemonics[]) {
|
||||
static int32 parse_X80(const char *cptr, const int32 addr, uint32 *val, const char *const Mnemonics[]) {
|
||||
char xyFirst = 0, xy;
|
||||
int32 op, number, star, at, hat, dollar;
|
||||
for (op = 0; op < 256; op++) {
|
||||
|
@ -784,7 +784,7 @@ static int32 parse_X80(const char *cptr, const int32 addr, uint32 *val, char *co
|
|||
Outputs:
|
||||
status = error status
|
||||
*/
|
||||
t_stat parse_sym(char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw) {
|
||||
t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw) {
|
||||
static t_bool symbolicInputNotImplementedMessage8086 = FALSE;
|
||||
static t_bool symbolicInputNotImplementedMessageM68K = FALSE;
|
||||
if ((sw & (SWMASK('M'))) && (chiptype == CHIP_TYPE_8086)) {
|
||||
|
@ -813,7 +813,7 @@ t_stat parse_sym(char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw) {
|
|||
}
|
||||
|
||||
/* Set Memory Base Address routine */
|
||||
t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
PNP_INFO *pnp;
|
||||
|
@ -853,7 +853,7 @@ t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
}
|
||||
|
||||
/* Show Base Address routine */
|
||||
t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
PNP_INFO *pnp;
|
||||
|
@ -872,7 +872,7 @@ t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc)
|
|||
}
|
||||
|
||||
/* Set Memory Base Address routine */
|
||||
t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
PNP_INFO *pnp;
|
||||
|
@ -913,7 +913,7 @@ t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
}
|
||||
|
||||
/* Show I/O Base Address routine */
|
||||
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
PNP_INFO *pnp;
|
||||
|
|
|
@ -1176,7 +1176,7 @@ long disasm (unsigned char *data, char *output, int segsize, long offset)
|
|||
{
|
||||
struct itemplate **p, **best_p;
|
||||
int length, best_length = 0;
|
||||
char *segover;
|
||||
const char *segover;
|
||||
int rep, lock, asize, osize, i, slen, colon;
|
||||
unsigned char *origdata;
|
||||
int works;
|
||||
|
|
|
@ -75,11 +75,11 @@ static FW2_INFO *fw2_info[FW2_MAX_BOARDS];
|
|||
static uint8 port_map[FW2_MAX_BOARDS] = { 0x11, 0x15, 0x17, 0x19 };
|
||||
|
||||
static int32 fw2dev(const int32 Addr, const int32 rw, const int32 data);
|
||||
static t_stat fw2_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat fw2_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat fw2_detach(UNIT *uptr);
|
||||
static uint8 FW2_Read(const uint32 Addr);
|
||||
static uint8 FW2_Write(const uint32 Addr, uint8 cData);
|
||||
static t_stat get_base_address(char *cptr, uint32 *baseaddr);
|
||||
static t_stat get_base_address(const char *cptr, uint32 *baseaddr);
|
||||
static const char* fw2_description(DEVICE *dptr);
|
||||
|
||||
static UNIT fw2_unit[] = {
|
||||
|
@ -115,7 +115,7 @@ DEVICE fw2_dev = {
|
|||
};
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat fw2_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat fw2_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
unsigned int i = 0;
|
||||
|
@ -137,7 +137,7 @@ static t_stat fw2_attach(UNIT *uptr, char *cptr)
|
|||
}
|
||||
}
|
||||
|
||||
fw2_info[i] = calloc(1, sizeof(FW2_INFO));
|
||||
fw2_info[i] = (FW2_INFO *)calloc(1, sizeof(FW2_INFO));
|
||||
fw2_info[i]->uptr = uptr;
|
||||
fw2_info[i]->uptr->u3 = baseaddr;
|
||||
|
||||
|
@ -197,7 +197,7 @@ static t_stat fw2_detach(UNIT *uptr)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
static t_stat get_base_address(char *cptr, uint32 *baseaddr)
|
||||
static t_stat get_base_address(const char *cptr, uint32 *baseaddr)
|
||||
{
|
||||
uint32 b;
|
||||
sscanf(cptr, "%x", &b);
|
||||
|
|
|
@ -134,8 +134,8 @@ typedef struct {
|
|||
|
||||
static SECTOR_FORMAT sdata;
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -279,7 +279,7 @@ int32 find_unit_index (UNIT *uptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
t_stat i8272_attach(UNIT *uptr, char *cptr)
|
||||
t_stat i8272_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
char header[4];
|
||||
t_stat r;
|
||||
|
@ -461,7 +461,7 @@ uint8 I8272_Read(const uint32 Addr)
|
|||
return (cData);
|
||||
}
|
||||
|
||||
static char *messages[0x20] = {
|
||||
static const char *messages[0x20] = {
|
||||
/* 0 1 2 3 */
|
||||
"Undefined Command 0x0","Undefined Command 0x1","Read Track", "Specify",
|
||||
/* 4 5 6 7 */
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
* *
|
||||
*************************************************************************/
|
||||
|
||||
extern t_stat i8272_attach(UNIT *uptr, char *cptr);
|
||||
extern t_stat i8272_attach(UNIT *uptr, CONST char *cptr);
|
||||
extern t_stat i8272_detach(UNIT *uptr);
|
||||
extern uint8 I8272_Set_DMA(const uint32 dma_addr);
|
||||
extern uint8 I8272_Read(const uint32 Addr);
|
||||
|
|
|
@ -215,7 +215,7 @@ struct pc_env
|
|||
};
|
||||
|
||||
/* GLOBAL */
|
||||
volatile int intr;
|
||||
extern volatile int intr;
|
||||
|
||||
void halt_sys (PC_ENV *sys);
|
||||
void fetch_decode_modrm (PC_ENV *m, uint16 *mod, uint16 *regh, uint16 *regl);
|
||||
|
|
|
@ -24,6 +24,9 @@
|
|||
#include "altairz80_defs.h"
|
||||
#include "i86.h"
|
||||
|
||||
/* GLOBAL */
|
||||
volatile int intr;
|
||||
|
||||
extern uint32 GetBYTEExtended(register uint32 Addr);
|
||||
extern void PutBYTEExtended(register uint32 Addr, const register uint32 Value);
|
||||
extern int32 AX_S; /* AX register (8086) */
|
||||
|
|
|
@ -4118,7 +4118,7 @@ static void i86op_opcD3_word_RM_CL(PC_ENV *m)
|
|||
DECODE_CLEAR_SEGOVR(m);
|
||||
}
|
||||
|
||||
static void sys_fatal(int error, char *fmt, ...)
|
||||
static void sys_fatal(int error, const char *fmt, ...)
|
||||
{
|
||||
va_list p;
|
||||
va_start(p, fmt);
|
||||
|
|
|
@ -295,13 +295,13 @@ void m68k_set_context(void* dst);
|
|||
* You must provide a function pointer of the form:
|
||||
* void save_value(char* identifier, unsigned int value)
|
||||
*/
|
||||
void m68k_save_context( void (*save_value)(char* identifier, unsigned int value));
|
||||
void m68k_save_context( void (*save_value)(const char* identifier, unsigned int value));
|
||||
|
||||
/* Load a cpu context from disk.
|
||||
* You must provide a function pointer of the form:
|
||||
* unsigned int load_value(char* identifier)
|
||||
*/
|
||||
void m68k_load_context(unsigned int (*load_value)(char* identifier));
|
||||
void m68k_load_context(unsigned int (*load_value)(const char* identifier));
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -45,7 +45,7 @@ uint m68ki_tracing = 0;
|
|||
uint m68ki_address_space;
|
||||
|
||||
#ifdef M68K_LOG_ENABLE
|
||||
char* m68ki_cpu_names[9] =
|
||||
const char* m68ki_cpu_names[9] =
|
||||
{
|
||||
"Invalid CPU",
|
||||
"M68000",
|
||||
|
@ -799,7 +799,7 @@ void m68k_set_context(void* src)
|
|||
if(src) m68ki_cpu = *(m68ki_cpu_core*)src;
|
||||
}
|
||||
|
||||
void m68k_save_context( void (*save_value)(char*, unsigned int))
|
||||
void m68k_save_context( void (*save_value)(const char*, unsigned int))
|
||||
{
|
||||
if(!save_value)
|
||||
return;
|
||||
|
@ -840,7 +840,7 @@ void m68k_save_context( void (*save_value)(char*, unsigned int))
|
|||
save_value("PREF_DATA" , CPU_PREF_DATA);
|
||||
}
|
||||
|
||||
void m68k_load_context(unsigned int (*load_value)(char*))
|
||||
void m68k_load_context(unsigned int (*load_value)(const char*))
|
||||
{
|
||||
unsigned int temp;
|
||||
|
||||
|
|
|
@ -191,18 +191,18 @@ static uint g_cpu_ir; /* instruction register */
|
|||
static uint g_cpu_type;
|
||||
|
||||
/* used by ops like asr, ror, addq, etc */
|
||||
static uint g_3bit_qdata_table[8] = {8, 1, 2, 3, 4, 5, 6, 7};
|
||||
static const uint g_3bit_qdata_table[8] = {8, 1, 2, 3, 4, 5, 6, 7};
|
||||
|
||||
static uint g_5bit_data_table[32] =
|
||||
static const uint g_5bit_data_table[32] =
|
||||
{
|
||||
32, 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
|
||||
};
|
||||
|
||||
static char* g_cc[16] =
|
||||
static const char* g_cc[16] =
|
||||
{"t", "f", "hi", "ls", "cc", "cs", "ne", "eq", "vc", "vs", "pl", "mi", "ge", "lt", "gt", "le"};
|
||||
|
||||
static char* g_cpcc[64] =
|
||||
static const char* g_cpcc[64] =
|
||||
{/* 000 001 010 011 100 101 110 111 */
|
||||
"f", "eq", "ogt", "oge", "olt", "ole", "ogl", "or", /* 000 */
|
||||
"un", "ueq", "ugt", "uge", "ult", "ule", "ne", "t", /* 001 */
|
||||
|
@ -1754,8 +1754,8 @@ static void d68000_move_to_usp(void)
|
|||
static void d68010_movec(void)
|
||||
{
|
||||
uint extension;
|
||||
char* reg_name;
|
||||
char* processor;
|
||||
const char* reg_name;
|
||||
const char* processor;
|
||||
LIMIT_CPU_TYPES(M68010_PLUS);
|
||||
extension = read_imm_16();
|
||||
|
||||
|
|
|
@ -204,13 +204,13 @@ t_stat m68k_hdsk_boot(const int32 unitno, DEVICE *dptr,
|
|||
void m68k_CPUToView(void) {
|
||||
uint32 reg;
|
||||
for (reg = M68K_REG_D0; reg <= M68K_REG_CPU_TYPE; reg++)
|
||||
m68k_registers[reg] = m68k_get_reg(NULL, reg);
|
||||
m68k_registers[reg] = m68k_get_reg(NULL, (m68k_register_t)reg);
|
||||
}
|
||||
|
||||
void m68k_viewToCPU(void) {
|
||||
uint32 reg;
|
||||
for (reg = M68K_REG_D0; reg <= M68K_REG_CPU_TYPE; reg++)
|
||||
m68k_set_reg(reg, m68k_registers[reg]);
|
||||
m68k_set_reg((m68k_register_t)reg, m68k_registers[reg]);
|
||||
}
|
||||
|
||||
t_stat sim_instr_m68k(void) {
|
||||
|
|
|
@ -67,8 +67,8 @@
|
|||
#define VERBOSE_MSG (1 << 5)
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 find_unit_index(UNIT *uptr);
|
||||
|
@ -132,7 +132,7 @@ static SECTOR_FORMAT sdata;
|
|||
#define MFDC_CAPACITY (77*16*MFDC_SECTOR_LEN) /* Default Micropolis Disk Capacity */
|
||||
|
||||
static t_stat mfdc_reset(DEVICE *mfdc_dev);
|
||||
static t_stat mfdc_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat mfdc_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat mfdc_detach(UNIT *uptr);
|
||||
static uint8 MFDC_Read(const uint32 Addr);
|
||||
static uint8 MFDC_Write(const uint32 Addr, uint8 cData);
|
||||
|
@ -238,7 +238,7 @@ static t_stat mfdc_reset(DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat mfdc_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat mfdc_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
unsigned int i = 0;
|
||||
|
|
|
@ -77,10 +77,10 @@ typedef struct {
|
|||
static N8VEM_INFO n8vem_info_data = { { 0x0, 0x8000, 0x60, 32 } };
|
||||
static N8VEM_INFO *n8vem_info = &n8vem_info_data;
|
||||
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint32 PCX;
|
||||
|
@ -88,7 +88,7 @@ extern int32 find_unit_index (UNIT *uptr);
|
|||
|
||||
static t_stat n8vem_reset(DEVICE *n8vem_dev);
|
||||
static t_stat n8vem_boot(int32 unitno, DEVICE *dptr);
|
||||
static t_stat n8vem_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat n8vem_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat n8vem_detach(UNIT *uptr);
|
||||
|
||||
static uint8 N8VEM_Read(const uint32 Addr);
|
||||
|
@ -190,8 +190,8 @@ static t_stat n8vem_reset(DEVICE *dptr)
|
|||
return SCPE_ARG;
|
||||
}
|
||||
|
||||
n8vem_info->ram = calloc(1, (N8VEM_RAM_SIZE));
|
||||
n8vem_info->rom = calloc(1, (N8VEM_ROM_SIZE));
|
||||
n8vem_info->ram = (uint8 *)calloc(1, (N8VEM_RAM_SIZE));
|
||||
n8vem_info->rom = (uint8 *)calloc(1, (N8VEM_ROM_SIZE));
|
||||
|
||||
/* Clear the RAM and ROM mapping registers */
|
||||
n8vem_info->mpcl_ram = 0;
|
||||
|
@ -214,7 +214,7 @@ static t_stat n8vem_boot(int32 unitno, DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat n8vem_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat n8vem_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
int32 i = 0, rtn;
|
||||
|
|
|
@ -86,10 +86,10 @@ extern WD179X_INFO_PUB *wd179x_infop;
|
|||
static CROMFDC_INFO cromfdc_info_data = { { 0xC000, CROMFDC_ROM_SIZE, 0x3, 2 } };
|
||||
static CROMFDC_INFO *cromfdc_info = &cromfdc_info_data;
|
||||
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
|
|
@ -86,10 +86,10 @@ extern WD179X_INFO_PUB *wd179x_infop;
|
|||
static ADCS6_INFO adcs6_info_data = { { 0xF000, ADCS6_ROM_SIZE, 0x3, 2 } };
|
||||
static ADCS6_INFO *adcs6_info = &adcs6_info_data;
|
||||
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -105,7 +105,7 @@ extern uint32 PCX; /* external view of PC */
|
|||
|
||||
static t_stat adcs6_reset(DEVICE *adcs6_dev);
|
||||
static t_stat adcs6_boot(int32 unitno, DEVICE *dptr);
|
||||
static t_stat adcs6_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat adcs6_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat adcs6_detach(UNIT *uptr);
|
||||
|
||||
static int32 adcs6_dma(const int32 port, const int32 io, const int32 data);
|
||||
|
@ -469,7 +469,7 @@ static t_stat adcs6_boot(int32 unitno, DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat adcs6_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat adcs6_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
r = wd179x_attach(uptr, cptr);
|
||||
|
|
|
@ -76,10 +76,10 @@ typedef struct {
|
|||
static DISK1A_INFO disk1a_info_data = { { 0x0, 512, 0xC0, 4 } };
|
||||
static DISK1A_INFO *disk1a_info = &disk1a_info_data;
|
||||
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -93,7 +93,7 @@ extern uint32 PCX; /* external view of PC */
|
|||
|
||||
static t_stat disk1a_reset(DEVICE *disk1a_dev);
|
||||
static t_stat disk1a_boot(int32 unitno, DEVICE *dptr);
|
||||
static t_stat disk1a_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat disk1a_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat disk1a_detach(UNIT *uptr);
|
||||
static const char* disk1a_description(DEVICE *dptr);
|
||||
|
||||
|
@ -757,7 +757,7 @@ static t_stat disk1a_boot(int32 unitno, DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat disk1a_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat disk1a_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
r = i8272_attach(uptr, cptr);
|
||||
|
|
|
@ -118,8 +118,8 @@ static int32 nsectors = C20MB_NSECTORS;
|
|||
static int32 sectsize = C20MB_SECTSIZE;
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 selchan_dma(uint8 *buf, uint32 len);
|
||||
|
@ -131,7 +131,7 @@ extern void raise_ss1_interrupt(uint8 intnum);
|
|||
#define DISK2_CAPACITY (C20MB_NTRACKS*C20MB_NHEADS*C20MB_NSECTORS*C20MB_SECTSIZE) /* Default Disk Capacity */
|
||||
|
||||
static t_stat disk2_reset(DEVICE *disk2_dev);
|
||||
static t_stat disk2_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat disk2_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat disk2_detach(UNIT *uptr);
|
||||
static const char* disk2_description(DEVICE *dptr);
|
||||
|
||||
|
@ -229,7 +229,7 @@ static t_stat disk2_reset(DEVICE *dptr)
|
|||
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat disk2_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat disk2_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r = SCPE_OK;
|
||||
DISK2_DRIVE_INFO *pDrive;
|
||||
|
|
|
@ -175,8 +175,8 @@ static int32 nsectors = C20MB_NSECTORS;
|
|||
static int32 sectsize = C20MB_SECTSIZE;
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 find_unit_index(UNIT *uptr);
|
||||
|
@ -191,7 +191,7 @@ extern uint8 GetByteDMA(const uint32 Addr);
|
|||
#define DISK3_CAPACITY (C20MB_NTRACKS*C20MB_NHEADS*C20MB_NSECTORS*C20MB_SECTSIZE) /* Default Disk Capacity */
|
||||
|
||||
static t_stat disk3_reset(DEVICE *disk3_dev);
|
||||
static t_stat disk3_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat disk3_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat disk3_detach(UNIT *uptr);
|
||||
static void raise_disk3_interrupt(void);
|
||||
static const char* disk3_description(DEVICE *dptr);
|
||||
|
@ -296,7 +296,7 @@ static t_stat disk3_reset(DEVICE *dptr)
|
|||
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat disk3_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat disk3_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r = SCPE_OK;
|
||||
DISK3_DRIVE_INFO *pDrive;
|
||||
|
@ -544,7 +544,7 @@ static uint8 DISK3_Write(const uint32 Addr, uint8 cData)
|
|||
|
||||
xfr_len = pDrive->xfr_nsects * pDrive->sectsize;
|
||||
|
||||
dataBuffer = malloc(xfr_len);
|
||||
dataBuffer = (uint8 *)malloc(xfr_len);
|
||||
|
||||
sim_fseek((pDrive->uptr)->fileref, file_offset, SEEK_SET);
|
||||
|
||||
|
@ -620,7 +620,7 @@ static uint8 DISK3_Write(const uint32 Addr, uint8 cData)
|
|||
file_offset = (pDrive->track * (pDrive->nheads) * data_len); /* Calculate offset based on current track */
|
||||
file_offset += (disk3_info->iopb[DISK3_IOPB_ARG3] * data_len);
|
||||
|
||||
fmtBuffer = malloc(data_len);
|
||||
fmtBuffer = (uint8 *)malloc(data_len);
|
||||
memset(fmtBuffer, disk3_info->iopb[DISK3_IOPB_ARG2], data_len);
|
||||
|
||||
sim_fseek((pDrive->uptr)->fileref, file_offset, SEEK_SET);
|
||||
|
|
|
@ -40,12 +40,12 @@
|
|||
#define MAX_DSK_SIZE (DSK_TRACSIZE * MAX_TRACKS)
|
||||
|
||||
static t_stat fif_reset(DEVICE *dptr);
|
||||
static t_stat fif_set_verbose(UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat fif_set_verbose(UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static int32 fif_io(const int32 port, const int32 io, const int32 data);
|
||||
static const char* fif_description(DEVICE *dptr);
|
||||
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint8 GetBYTEWrapper(const uint32 Addr);
|
||||
|
@ -128,7 +128,7 @@ static void resetDSKWarningFlags(void) {
|
|||
warnDSK11 = 0;
|
||||
}
|
||||
|
||||
static t_stat fif_set_verbose(UNIT *uptr, int32 value, char *cptr, void *desc) {
|
||||
static t_stat fif_set_verbose(UNIT *uptr, int32 value, CONST char *cptr, void *desc) {
|
||||
resetDSKWarningFlags();
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
|
|
@ -95,14 +95,14 @@ static HDC1001_INFO hdc1001_info_data = { { 0x0, 0, 0xC8, 8 } };
|
|||
static HDC1001_INFO *hdc1001_info = &hdc1001_info_data;
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 find_unit_index(UNIT *uptr);
|
||||
|
||||
/* These are needed for DMA. */
|
||||
extern void PutBYTEWrapper(const uint32 Addr, const uint32 Value);
|
||||
extern void PutBYTEWrapper(const uint32 Addr, CONST uint32 Value);
|
||||
extern uint8 GetBYTEWrapper(const uint32 Addr);
|
||||
|
||||
#define UNIT_V_HDC1001_VERBOSE (UNIT_V_UF + 1) /* verbose mode, i.e. show error messages */
|
||||
|
@ -110,7 +110,7 @@ extern uint8 GetBYTEWrapper(const uint32 Addr);
|
|||
#define HDC1001_CAPACITY (77*2*16*256) /* Default Micropolis Disk Capacity */
|
||||
|
||||
static t_stat hdc1001_reset(DEVICE *hdc1001_dev);
|
||||
static t_stat hdc1001_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat hdc1001_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat hdc1001_detach(UNIT *uptr);
|
||||
|
||||
static int32 hdc1001dev(const int32 port, const int32 io, const int32 data);
|
||||
|
@ -190,7 +190,7 @@ static t_stat hdc1001_reset(DEVICE *dptr)
|
|||
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat hdc1001_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat hdc1001_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r = SCPE_OK;
|
||||
HDC1001_DRIVE_INFO *pDrive;
|
||||
|
|
|
@ -76,8 +76,8 @@ typedef struct {
|
|||
|
||||
static IF3_INFO if3_info_data = { { 0x0, 0, 0x10, 8 } };
|
||||
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint32 PCX;
|
||||
|
@ -85,7 +85,7 @@ extern uint32 PCX;
|
|||
extern int32 sio0d(const int32 port, const int32 io, const int32 data);
|
||||
extern int32 sio0s(const int32 port, const int32 io, const int32 data);
|
||||
|
||||
static t_stat set_if3_connect(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
static t_stat set_if3_connect(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
|
||||
static t_stat if3_reset(DEVICE *if3_dev);
|
||||
static t_stat if3_svc (UNIT *uptr);
|
||||
|
@ -154,7 +154,7 @@ DEVICE if3_dev = {
|
|||
if3_dt, NULL, NULL, NULL, NULL, NULL, &if3_description
|
||||
};
|
||||
|
||||
static t_stat set_if3_connect(UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
static t_stat set_if3_connect(UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if(uptr->flags & UNIT_DISABLE) {
|
||||
sim_debug(ERROR_MSG, &if3_dev, "IF3[%d]: not enabled.\n", uptr->u3);
|
||||
|
|
|
@ -72,8 +72,8 @@ static MDRIVEH_INFO mdriveh_info_data = { { 0x0, 0, 0xC6, 2 } };
|
|||
static MDRIVEH_INFO *mdriveh_info = &mdriveh_info_data;
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -179,7 +179,7 @@ static t_stat mdriveh_reset(DEVICE *dptr)
|
|||
}
|
||||
} else {
|
||||
if(mdriveh_info->storage[i] == NULL) {
|
||||
mdriveh_info->storage[i] = calloc(1, 524288);
|
||||
mdriveh_info->storage[i] = (uint8 *)calloc(1, 524288);
|
||||
}
|
||||
if (dptr->units[i].flags & UNIT_MDRIVEH_VERBOSE)
|
||||
sim_printf("MDRIVEH: Unit %d enabled, 512K at 0x%p\n", i, mdriveh_info->storage[i]);
|
||||
|
|
|
@ -37,8 +37,8 @@
|
|||
#define WR_DATA_DETAIL_MSG (1 << 7)
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -148,7 +148,7 @@ static uint32 stepCleared = TRUE; /* true when step bit has returned to zero *
|
|||
|
||||
/* Local function prototypes */
|
||||
static t_stat mdsa_reset(DEVICE *mdsa_dev);
|
||||
static t_stat mdsa_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat mdsa_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat mdsa_detach(UNIT *uptr);
|
||||
static t_stat mdsa_boot(int32 unitno, DEVICE *dptr);
|
||||
static uint8 MDSA_Read(const uint32 Addr);
|
||||
|
@ -229,7 +229,7 @@ t_stat mdsa_reset(DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
t_stat mdsa_attach(UNIT *uptr, char *cptr)
|
||||
t_stat mdsa_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
char header[4];
|
||||
t_stat r;
|
||||
|
|
|
@ -66,8 +66,8 @@
|
|||
#define WR_DATA_DETAIL_MSG (1 << 8)
|
||||
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -211,7 +211,7 @@ static SECTOR_FORMAT sdata;
|
|||
|
||||
/* Local function prototypes */
|
||||
static t_stat mdsad_reset(DEVICE *mdsad_dev);
|
||||
static t_stat mdsad_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat mdsad_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat mdsad_detach(UNIT *uptr);
|
||||
static t_stat mdsad_boot(int32 unitno, DEVICE *dptr);
|
||||
static uint8 MDSAD_Read(const uint32 Addr);
|
||||
|
@ -293,7 +293,7 @@ static t_stat mdsad_reset(DEVICE *dptr)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat mdsad_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat mdsad_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
char header[4];
|
||||
t_stat r;
|
||||
|
|
|
@ -75,10 +75,10 @@ typedef struct {
|
|||
static SCP300F_INFO scp300f_info_data = { { 0xFF800, SCP300F_ROM_SIZE, 0xF0, SCP300F_IO_SIZE } };
|
||||
static SCP300F_INFO *scp300f_info = &scp300f_info_data;
|
||||
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_membase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_membase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint32 PCX;
|
||||
|
|
|
@ -71,8 +71,8 @@ static SELCHAN_INFO selchan_info_data = { { 0x0, 0, 0xF0, 1 } };
|
|||
static SELCHAN_INFO *selchan_info = &selchan_info_data;
|
||||
int32 selchan_dma(uint8 *buf, uint32 len);
|
||||
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint32 PCX;
|
||||
|
|
|
@ -74,8 +74,8 @@ typedef struct {
|
|||
|
||||
static SS1_INFO ss1_info_data = { { 0x0, 0, 0x50, 16 } };
|
||||
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern uint32 PCX;
|
||||
|
|
|
@ -137,8 +137,8 @@ static const char* vfdhd_description(DEVICE *dptr);
|
|||
|
||||
static SECTOR_FORMAT sdata;
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
|
||||
|
@ -147,7 +147,7 @@ extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_typ
|
|||
#define VFDHD_CAPACITY (77*2*16*256) /* Default Micropolis Disk Capacity */
|
||||
|
||||
static t_stat vfdhd_reset(DEVICE *vfdhd_dev);
|
||||
static t_stat vfdhd_attach(UNIT *uptr, char *cptr);
|
||||
static t_stat vfdhd_attach(UNIT *uptr, CONST char *cptr);
|
||||
static t_stat vfdhd_detach(UNIT *uptr);
|
||||
|
||||
static int32 vfdhddev(const int32 port, const int32 io, const int32 data);
|
||||
|
@ -227,7 +227,7 @@ static t_stat vfdhd_reset(DEVICE *dptr)
|
|||
|
||||
|
||||
/* Attach routine */
|
||||
static t_stat vfdhd_attach(UNIT *uptr, char *cptr)
|
||||
static t_stat vfdhd_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
unsigned int i = 0;
|
||||
|
|
|
@ -148,8 +148,8 @@ typedef struct {
|
|||
|
||||
static SECTOR_FORMAT sdata;
|
||||
extern uint32 PCX;
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat set_iobase(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat show_iobase(FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern uint32 sim_map_resource(uint32 baseaddr, uint32 size, uint32 resource_type,
|
||||
int32 (*routine)(const int32, const int32, const int32), uint8 unmap);
|
||||
extern int32 find_unit_index (UNIT *uptr);
|
||||
|
@ -310,7 +310,7 @@ void wd179x_external_restore(void)
|
|||
}
|
||||
|
||||
/* Attach routine */
|
||||
t_stat wd179x_attach(UNIT *uptr, char *cptr)
|
||||
t_stat wd179x_attach(UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
char header[4];
|
||||
t_stat r;
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
* *
|
||||
*************************************************************************/
|
||||
|
||||
extern t_stat wd179x_attach(UNIT *uptr, char *cptr);
|
||||
extern t_stat wd179x_attach(UNIT *uptr, CONST char *cptr);
|
||||
extern t_stat wd179x_detach(UNIT *uptr);
|
||||
extern uint8 WD179X_Set_DMA(const uint32 dma_addr);
|
||||
extern uint8 WD179X_Read(const uint32 Addr);
|
||||
|
|
|
@ -195,13 +195,13 @@ t_stat cpu_ex(t_value * vptr, t_addr addr, UNIT * uptr,
|
|||
t_stat cpu_dep(t_value val, t_addr addr, UNIT * uptr,
|
||||
int32 sw);
|
||||
t_stat cpu_reset(DEVICE * dptr);
|
||||
t_stat cpu_set_size(UNIT * uptr, int32 val, char *cptr,
|
||||
t_stat cpu_set_size(UNIT * uptr, int32 val, CONST char *cptr,
|
||||
void *desc);
|
||||
t_stat cpu_show_size(FILE * st, UNIT * uptr, int32 val,
|
||||
void *desc);
|
||||
CONST void *desc);
|
||||
t_stat cpu_show_hist(FILE * st, UNIT * uptr, int32 val,
|
||||
void *desc);
|
||||
t_stat cpu_set_hist(UNIT * uptr, int32 val, char *cptr,
|
||||
CONST void *desc);
|
||||
t_stat cpu_set_hist(UNIT * uptr, int32 val, CONST char *cptr,
|
||||
void *desc);
|
||||
t_stat cpu_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
/* Interval timer */
|
||||
|
@ -3818,14 +3818,14 @@ cpu_dep(t_value val, t_addr addr, UNIT * uptr, int32 sw)
|
|||
}
|
||||
|
||||
t_stat
|
||||
cpu_show_size(FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
cpu_show_size(FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf(st, "%dK", MEMSIZE/1024);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat
|
||||
cpu_set_size(UNIT * uptr, int32 val, char *cptr, void *desc)
|
||||
cpu_set_size(UNIT * uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
t_uint64 mc = 0;
|
||||
uint32 i;
|
||||
|
@ -3852,7 +3852,7 @@ cpu_set_size(UNIT * uptr, int32 val, char *cptr, void *desc)
|
|||
|
||||
/* Set history */
|
||||
t_stat
|
||||
cpu_set_hist(UNIT * uptr, int32 val, char *cptr, void *desc)
|
||||
cpu_set_hist(UNIT * uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 i, lnt;
|
||||
t_stat r;
|
||||
|
@ -3873,7 +3873,7 @@ cpu_set_hist(UNIT * uptr, int32 val, char *cptr, void *desc)
|
|||
hst = NULL;
|
||||
}
|
||||
if (lnt) {
|
||||
hst = calloc(sizeof(struct InstHistory), lnt);
|
||||
hst = (struct InstHistory *)calloc(sizeof(struct InstHistory), lnt);
|
||||
|
||||
if (hst == NULL)
|
||||
return SCPE_MEM;
|
||||
|
@ -3885,10 +3885,10 @@ cpu_set_hist(UNIT * uptr, int32 val, char *cptr, void *desc)
|
|||
/* Show history */
|
||||
|
||||
t_stat
|
||||
cpu_show_hist(FILE * st, UNIT * uptr, int32 val, void *desc)
|
||||
cpu_show_hist(FILE * st, UNIT * uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
int32 k, di, lnt;
|
||||
char *cptr = (char *) desc;
|
||||
const char *cptr = (const char *) desc;
|
||||
t_stat r;
|
||||
t_value sim_eval;
|
||||
struct InstHistory *h;
|
||||
|
|
|
@ -73,7 +73,7 @@ typedef struct _opcode
|
|||
{
|
||||
uint16 op;
|
||||
uint8 type;
|
||||
char *name;
|
||||
const char *name;
|
||||
}
|
||||
t_opcode;
|
||||
|
||||
|
|
|
@ -64,13 +64,13 @@ t_stat dsk_boot(int32, DEVICE *);
|
|||
t_stat dsk_help (FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *dsk_description (DEVICE *);
|
||||
t_stat esu_srv(UNIT *);
|
||||
t_stat esu_attach(UNIT *, char *);
|
||||
t_stat esu_attach(UNIT *, CONST char *);
|
||||
t_stat esu_detach(UNIT *);
|
||||
t_stat esu_help (FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *esu_description (DEVICE *);
|
||||
|
||||
uint8 dsk_buffer[NUM_DEVS_DSK][DK_SEC_SIZE];
|
||||
t_stat set_mod(UNIT *uptr, int32 val, char *cptr,
|
||||
t_stat set_mod(UNIT *uptr, int32 val, CONST char *cptr,
|
||||
void *desc);
|
||||
|
||||
#define ESU_TYPE UDATA(&esu_srv, UNIT_ATTABLE+UNIT_DISABLE+ \
|
||||
|
@ -437,7 +437,7 @@ t_stat esu_srv(UNIT * uptr)
|
|||
}
|
||||
|
||||
t_stat
|
||||
set_mod(UNIT *uptr, int32 val, char *cptr, void *desc) {
|
||||
set_mod(UNIT *uptr, int32 val, CONST char *cptr, void *desc) {
|
||||
if (uptr == NULL) return SCPE_IERR;
|
||||
if (val == MODIB)
|
||||
uptr->wait = DK_MAXSEGS2;
|
||||
|
@ -465,7 +465,7 @@ dsk_boot(int32 unit_num, DEVICE * dptr)
|
|||
|
||||
|
||||
t_stat
|
||||
esu_attach(UNIT * uptr, char *file)
|
||||
esu_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
int u = uptr-esu_unit;
|
||||
|
|
|
@ -41,19 +41,19 @@
|
|||
|
||||
t_stat drm_srv(UNIT *);
|
||||
t_stat drm_boot(int32, DEVICE *);
|
||||
t_stat drm_attach(UNIT *, char *);
|
||||
t_stat drm_attach(UNIT *, CONST char *);
|
||||
t_stat drm_detach(UNIT *);
|
||||
t_stat set_drum(UNIT * uptr, int32 val, char *cptr,
|
||||
t_stat set_drum(UNIT * uptr, int32 val, CONST char *cptr,
|
||||
void *desc);
|
||||
t_stat set_auxmem(UNIT * uptr, int32 val, char *cptr,
|
||||
t_stat set_auxmem(UNIT * uptr, int32 val, CONST char *cptr,
|
||||
void *desc);
|
||||
t_stat drm_help (FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *drm_description (DEVICE *);
|
||||
|
||||
|
||||
MTAB drm_mod[] = {
|
||||
{AUXMEM, 0, "DRUM", "DRUM", &set_drum, NULL, "Device is drum"},
|
||||
{AUXMEM, AUXMEM, "AUXMEM", "AUXMEM", &set_auxmem, NULL, "Device is memory unit"},
|
||||
{AUXMEM, 0, "DRUM", "DRUM", &set_drum, NULL, NULL, "Device is drum"},
|
||||
{AUXMEM, AUXMEM, "AUXMEM", "AUXMEM", &set_auxmem, NULL, NULL, "Device is memory unit"},
|
||||
{0}
|
||||
};
|
||||
|
||||
|
@ -171,7 +171,7 @@ drm_boot(int32 unit_num, DEVICE * dptr)
|
|||
|
||||
|
||||
t_stat
|
||||
drm_attach(UNIT * uptr, char *file)
|
||||
drm_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
int u = uptr - drm_unit;
|
||||
|
@ -203,7 +203,7 @@ drm_detach(UNIT * uptr)
|
|||
}
|
||||
|
||||
t_stat
|
||||
set_drum(UNIT * uptr, int32 val, char *cptr, void *desc) {
|
||||
set_drum(UNIT * uptr, int32 val, CONST char *cptr, void *desc) {
|
||||
if ((uptr->flags & AUXMEM) == 0)
|
||||
return SCPE_OK;
|
||||
if (uptr->flags & UNIT_ATT)
|
||||
|
@ -213,7 +213,7 @@ set_drum(UNIT * uptr, int32 val, char *cptr, void *desc) {
|
|||
}
|
||||
|
||||
t_stat
|
||||
set_auxmem(UNIT * uptr, int32 val, char *cptr, void *desc) {
|
||||
set_auxmem(UNIT * uptr, int32 val, CONST char *cptr, void *desc) {
|
||||
int u = uptr - drm_unit;
|
||||
|
||||
if (uptr->flags & AUXMEM)
|
||||
|
|
|
@ -141,13 +141,13 @@
|
|||
|
||||
t_stat dtc_srv(UNIT *);
|
||||
t_stat dtco_srv(UNIT *);
|
||||
t_stat dtc_attach(UNIT *, char *);
|
||||
t_stat dtc_attach(UNIT *, CONST char *);
|
||||
t_stat dtc_detach(UNIT *);
|
||||
t_stat dtc_reset(DEVICE *);
|
||||
t_stat dtc_setnl (UNIT *, int32, char *, void *);
|
||||
t_stat dtc_set_log (UNIT *, int32, char *, void *);
|
||||
t_stat dtc_set_nolog (UNIT *, int32, char *, void *);
|
||||
t_stat dtc_show_log (FILE *, UNIT *, int32, void *);
|
||||
t_stat dtc_setnl (UNIT *, int32, CONST char *, void *);
|
||||
t_stat dtc_set_log (UNIT *, int32, CONST char *, void *);
|
||||
t_stat dtc_set_nolog (UNIT *, int32, CONST char *, void *);
|
||||
t_stat dtc_show_log (FILE *, UNIT *, int32, CONST void *);
|
||||
t_stat dtc_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
t_stat dtc_help_attach (FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *dtc_description(DEVICE *);
|
||||
|
@ -695,7 +695,7 @@ dtc_reset(DEVICE *dptr) {
|
|||
|
||||
/* Attach master unit */
|
||||
t_stat
|
||||
dtc_attach(UNIT * uptr, char *cptr)
|
||||
dtc_attach(UNIT * uptr, CONST char *cptr)
|
||||
{
|
||||
int i;
|
||||
t_stat r;
|
||||
|
@ -731,7 +731,7 @@ dtc_detach(UNIT * uptr)
|
|||
|
||||
/* SET LINES processor */
|
||||
|
||||
t_stat dtc_setnl (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dtc_setnl (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 newln, i, t;
|
||||
t_stat r;
|
||||
|
@ -764,27 +764,26 @@ t_stat dtc_setnl (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
|
||||
/* SET LOG processor */
|
||||
|
||||
t_stat dtc_set_log (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dtc_set_log (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
char *tptr;
|
||||
t_stat r;
|
||||
char gbuf[CBUFSIZE];
|
||||
int32 ln;
|
||||
|
||||
if (cptr == NULL)
|
||||
return SCPE_ARG;
|
||||
tptr = strchr (cptr, '=');
|
||||
if ((tptr == NULL) || (*tptr == 0))
|
||||
cptr = get_glyph (cptr, gbuf, '=');
|
||||
if ((cptr == NULL) || (*cptr == 0) || (gbuf[0] == 0))
|
||||
return SCPE_ARG;
|
||||
*tptr++ = 0;
|
||||
ln = (int32) get_uint (cptr, 10, dtc_desc.lines, &r);
|
||||
ln = (int32) get_uint (gbuf, 10, dtc_desc.lines, &r);
|
||||
if ((r != SCPE_OK) || (ln >= dtc_desc.lines))
|
||||
return SCPE_ARG;
|
||||
return tmxr_set_log (NULL, ln, tptr, desc);
|
||||
return tmxr_set_log (NULL, ln, cptr, desc);
|
||||
}
|
||||
|
||||
/* SET NOLOG processor */
|
||||
|
||||
t_stat dtc_set_nolog (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dtc_set_nolog (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
t_stat r;
|
||||
int32 ln;
|
||||
|
@ -799,7 +798,7 @@ t_stat dtc_set_nolog (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
|
||||
/* SHOW LOG processor */
|
||||
|
||||
t_stat dtc_show_log (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat dtc_show_log (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
int32 i;
|
||||
|
||||
|
@ -814,7 +813,7 @@ t_stat dtc_show_log (FILE *st, UNIT *uptr, int32 val, void *desc)
|
|||
/* Show summary processor */
|
||||
|
||||
t_stat
|
||||
dtc_summ(FILE * st, UNIT * uptr, int32 val, void *desc)
|
||||
dtc_summ(FILE * st, UNIT * uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
uint32 i, t;
|
||||
|
||||
|
@ -831,7 +830,7 @@ dtc_summ(FILE * st, UNIT * uptr, int32 val, void *desc)
|
|||
/* SHOW CONN/STAT processor */
|
||||
|
||||
t_stat
|
||||
dtc_show(FILE * st, UNIT * uptr, int32 val, void *desc)
|
||||
dtc_show(FILE * st, UNIT * uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
int32 i, cc;
|
||||
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
#define CLR_BUF(u) u->hwmark = 0xFFFFFFFF
|
||||
|
||||
t_stat mt_srv(UNIT *);
|
||||
t_stat mt_attach(UNIT *, char *);
|
||||
t_stat mt_attach(UNIT *, CONST char *);
|
||||
t_stat mt_detach(UNIT *);
|
||||
t_stat mt_reset(DEVICE *);
|
||||
t_stat mt_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
|
@ -123,9 +123,9 @@ UNIT mt_unit[] = {
|
|||
};
|
||||
|
||||
MTAB mt_mod[] = {
|
||||
{MTUF_WLK, 0, "write enabled", "WRITEENABLED", NULL, NULL,
|
||||
{MTUF_WLK, 0, "write enabled", "WRITEENABLED", NULL, NULL, NULL,
|
||||
"Write ring in place"},
|
||||
{MTUF_WLK, MTUF_WLK, "write locked", "LOCKED", NULL, NULL,
|
||||
{MTUF_WLK, MTUF_WLK, "write locked", "LOCKED", NULL, NULL, NULL,
|
||||
"no Write ring in place"},
|
||||
{MTAB_XTD | MTAB_VUN, 0, "FORMAT", "FORMAT",
|
||||
&sim_tape_set_fmt, &sim_tape_show_fmt, NULL,
|
||||
|
@ -566,7 +566,7 @@ t_stat mt_srv(UNIT * uptr)
|
|||
|
||||
|
||||
t_stat
|
||||
mt_attach(UNIT * uptr, char *file)
|
||||
mt_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "sim_card.h"
|
||||
#include <ctype.h>
|
||||
|
||||
t_stat parse_sym(char *cptr, t_addr addr, UNIT * uptr, t_value * val, int32 sw);
|
||||
t_stat parse_sym(CONST char *cptr, t_addr addr, UNIT * uptr, t_value * val, int32 sw);
|
||||
|
||||
/* SCP data structures and interface routines
|
||||
|
||||
|
@ -165,7 +165,7 @@ const char ascii_to_con[128] = {
|
|||
/* Load a card image file into memory. */
|
||||
|
||||
t_stat
|
||||
sim_load(FILE * fileref, char *cptr, char *fnam, int flag)
|
||||
sim_load(FILE * fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
/* Currently not implimented until I know format of load files */
|
||||
return SCPE_NOFNC;
|
||||
|
@ -459,7 +459,7 @@ find_opcode(char *op, t_opcode * tab)
|
|||
*/
|
||||
|
||||
t_stat
|
||||
parse_sym(char *cptr, t_addr addr, UNIT * uptr, t_value * val, int32 sw)
|
||||
parse_sym(CONST char *cptr, t_addr addr, UNIT * uptr, t_value * val, int32 sw)
|
||||
{
|
||||
int i;
|
||||
t_value d;
|
||||
|
|
|
@ -85,7 +85,7 @@ DEBTAB cdr_debug[] = {
|
|||
#if NUM_DEVS_CDR > 0
|
||||
t_stat cdr_boot(int32, DEVICE *);
|
||||
t_stat cdr_srv(UNIT *);
|
||||
t_stat cdr_attach(UNIT *, char *);
|
||||
t_stat cdr_attach(UNIT *, CONST char *);
|
||||
t_stat cdr_detach(UNIT *);
|
||||
t_stat cdr_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *cdr_description(DEVICE *dptr);
|
||||
|
@ -93,7 +93,7 @@ const char *cdr_description(DEVICE *dptr);
|
|||
|
||||
#if NUM_DEVS_CDP > 0
|
||||
t_stat cdp_srv(UNIT *);
|
||||
t_stat cdp_attach(UNIT *, char *);
|
||||
t_stat cdp_attach(UNIT *, CONST char *);
|
||||
t_stat cdp_detach(UNIT *);
|
||||
t_stat cdp_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *cdp_description(DEVICE *dptr);
|
||||
|
@ -107,10 +107,10 @@ struct _lpr_data
|
|||
lpr_data[NUM_DEVS_LPR];
|
||||
|
||||
t_stat lpr_srv(UNIT *);
|
||||
t_stat lpr_attach(UNIT *, char *);
|
||||
t_stat lpr_attach(UNIT *, CONST char *);
|
||||
t_stat lpr_detach(UNIT *);
|
||||
t_stat lpr_setlpp(UNIT *, int32, char *, void *);
|
||||
t_stat lpr_getlpp(FILE *, UNIT *, int32, void *);
|
||||
t_stat lpr_setlpp(UNIT *, int32, CONST char *, void *);
|
||||
t_stat lpr_getlpp(FILE *, UNIT *, int32, CONST void *);
|
||||
t_stat lpr_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *lpr_description(DEVICE *dptr);
|
||||
#endif
|
||||
|
@ -126,7 +126,7 @@ con_data[NUM_DEVS_CON];
|
|||
|
||||
t_stat con_ini(DEVICE *);
|
||||
t_stat con_srv(UNIT *);
|
||||
t_stat con_attach(UNIT *, char *);
|
||||
t_stat con_attach(UNIT *, CONST char *);
|
||||
t_stat con_detach(UNIT *);
|
||||
t_stat con_help(FILE *, DEVICE *, UNIT *, int32, const char *);
|
||||
const char *con_description(DEVICE *dptr);
|
||||
|
@ -146,7 +146,7 @@ MTAB cdr_mod[] = {
|
|||
{MTAB_XTD | MTAB_VUN, 0, "FORMAT", "FORMAT",
|
||||
&sim_card_set_fmt, &sim_card_show_fmt, NULL,
|
||||
"Sets card format"},
|
||||
{MODE_EOF, MODE_EOF, "EOF", "EOF", NULL, NULL,
|
||||
{MODE_EOF, MODE_EOF, "EOF", "EOF", NULL, NULL, NULL,
|
||||
"Causes EOF to be set when reader empty"},
|
||||
{0}
|
||||
};
|
||||
|
@ -420,7 +420,7 @@ cdr_boot(int32 unit_num, DEVICE * dptr)
|
|||
}
|
||||
|
||||
t_stat
|
||||
cdr_attach(UNIT * uptr, char *file)
|
||||
cdr_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
int u = uptr-cdr_unit;
|
||||
|
@ -523,7 +523,7 @@ cdp_srv(UNIT *uptr) {
|
|||
|
||||
|
||||
t_stat
|
||||
cdp_attach(UNIT * uptr, char *file)
|
||||
cdp_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
@ -568,7 +568,7 @@ cdp_description(DEVICE *dptr)
|
|||
|
||||
#if NUM_DEVS_LPR > 0
|
||||
t_stat
|
||||
lpr_setlpp(UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
lpr_setlpp(UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int i;
|
||||
if (cptr == NULL)
|
||||
|
@ -589,7 +589,7 @@ lpr_setlpp(UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
}
|
||||
|
||||
t_stat
|
||||
lpr_getlpp(FILE *st, UNIT *uptr, int32 v, void *desc)
|
||||
lpr_getlpp(FILE *st, UNIT *uptr, int32 v, CONST void *desc)
|
||||
{
|
||||
if (uptr == NULL)
|
||||
return SCPE_IERR;
|
||||
|
@ -791,7 +791,7 @@ lpr_srv(UNIT *uptr) {
|
|||
}
|
||||
|
||||
t_stat
|
||||
lpr_attach(UNIT * uptr, char *file)
|
||||
lpr_attach(UNIT * uptr, CONST char *file)
|
||||
{
|
||||
t_stat r;
|
||||
int u = (uptr - lpr_unit);
|
||||
|
|
|
@ -332,7 +332,7 @@ const uint8 sim_parity_table[64] = {
|
|||
|
||||
struct card_formats {
|
||||
uint32 mode;
|
||||
char *name;
|
||||
const char *name;
|
||||
};
|
||||
|
||||
static struct card_formats fmts[] = {
|
||||
|
@ -459,7 +459,7 @@ sim_hol_to_ebcdic(uint16 hol) {
|
|||
|
||||
|
||||
|
||||
static int cmpcard(char *p, char *s) {
|
||||
static int cmpcard(const char *p, const char *s) {
|
||||
int i;
|
||||
if (p[0] != '~')
|
||||
return 0;
|
||||
|
@ -904,7 +904,7 @@ sim_punch_card(UNIT * uptr, UNIT *stkuptr)
|
|||
}
|
||||
|
||||
/* Set card format */
|
||||
t_stat sim_card_set_fmt (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat sim_card_set_fmt (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int f;
|
||||
|
||||
|
@ -921,7 +921,7 @@ t_stat sim_card_set_fmt (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
|
||||
/* Show card format */
|
||||
|
||||
t_stat sim_card_show_fmt (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat sim_card_show_fmt (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
int f;
|
||||
|
||||
|
@ -937,7 +937,7 @@ t_stat sim_card_show_fmt (FILE *st, UNIT *uptr, int32 val, void *desc)
|
|||
|
||||
|
||||
t_stat
|
||||
sim_card_attach(UNIT * uptr, char *cptr)
|
||||
sim_card_attach(UNIT * uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
struct _card_data *data;
|
||||
|
|
|
@ -91,7 +91,7 @@ struct _card_data
|
|||
t_stat sim_read_card(UNIT * uptr);
|
||||
int sim_card_eof(UNIT * uptr);
|
||||
t_stat sim_punch_card(UNIT * uptr, UNIT *stkptr);
|
||||
t_stat sim_card_attach(UNIT * uptr, char *file);
|
||||
t_stat sim_card_attach(UNIT * uptr, CONST char *file);
|
||||
t_stat sim_card_detach(UNIT *uptr);
|
||||
|
||||
/* Conversion routines to save code */
|
||||
|
@ -101,13 +101,13 @@ uint8 sim_hol_to_bcd(uint16 hol);
|
|||
uint8 sim_hol_to_ebbcd(uint16 hol);
|
||||
|
||||
/* Format control routines. */
|
||||
t_stat sim_card_set_fmt (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat sim_card_show_fmt (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat sim_card_set_fmt (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat sim_card_show_fmt (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* Help information */
|
||||
t_stat sim_card_attach_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr);
|
||||
|
||||
/* Translation tables */
|
||||
const char sim_six_to_ascii[64];
|
||||
const char sim_ascii_to_six[128];
|
||||
const uint8 sim_parity_table[64];
|
||||
extern const char sim_six_to_ascii[64];
|
||||
extern const char sim_ascii_to_six[128];
|
||||
extern const uint8 sim_parity_table[64];
|
||||
|
|
|
@ -91,9 +91,9 @@ jmp_buf cpu_halt;
|
|||
t_stat cpu_examine (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_deposit (t_value val, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_reset (DEVICE *dptr);
|
||||
t_stat cpu_req (UNIT *u, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_set_pult (UNIT *u, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_show_pult (FILE *st, UNIT *up, int32 v, void *dp);
|
||||
t_stat cpu_req (UNIT *u, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_pult (UNIT *u, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_pult (FILE *st, UNIT *up, int32 v, CONST void *dp);
|
||||
|
||||
|
||||
/*
|
||||
|
@ -392,7 +392,7 @@ t_stat cpu_reset (DEVICE *dptr)
|
|||
/*
|
||||
* Request routine
|
||||
*/
|
||||
t_stat cpu_req (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_req (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
GRP |= GRP_PANEL_REQ;
|
||||
return SCPE_OK;
|
||||
|
@ -401,7 +401,7 @@ t_stat cpu_req (UNIT *u, int32 val, char *cptr, void *desc)
|
|||
/*
|
||||
* Hardwired program selector validation
|
||||
*/
|
||||
t_stat cpu_set_pult (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_pult (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int sw;
|
||||
if (cptr) sw = atoi(cptr); else sw = 0;
|
||||
|
@ -417,7 +417,7 @@ t_stat cpu_set_pult (UNIT *u, int32 val, char *cptr, void *desc)
|
|||
return SCPE_ARG;
|
||||
}
|
||||
|
||||
t_stat cpu_show_pult (FILE *st, UNIT *up, int32 v, void *dp)
|
||||
t_stat cpu_show_pult (FILE *st, UNIT *up, int32 v, CONST void *dp)
|
||||
{
|
||||
fprintf(st, "Pult packet switch position is %d", pult_packet_switch);
|
||||
return SCPE_OK;
|
||||
|
|
|
@ -358,9 +358,9 @@ void besm6_debug (const char *fmt, ...);
|
|||
t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
|
||||
UNIT *uptr, int32 sw);
|
||||
void besm6_draw_panel (int force);
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, char *cptr, void *desc);
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, char *cptr, void *desc);
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, void *dp);
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, CONST void *dp);
|
||||
|
||||
/*
|
||||
* Арифметика.
|
||||
|
|
|
@ -123,7 +123,7 @@ MTAB disk_mod[] = {
|
|||
};
|
||||
|
||||
t_stat disk_reset (DEVICE *dptr);
|
||||
t_stat disk_attach (UNIT *uptr, char *cptr);
|
||||
t_stat disk_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat disk_detach (UNIT *uptr);
|
||||
|
||||
DEVICE disk_dev = {
|
||||
|
@ -163,7 +163,7 @@ t_stat disk_reset (DEVICE *dptr)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat disk_attach (UNIT *u, char *cptr)
|
||||
t_stat disk_attach (UNIT *u, CONST char *cptr)
|
||||
{
|
||||
t_stat s;
|
||||
int32 saved_switches = sim_switches;
|
||||
|
@ -174,7 +174,7 @@ t_stat disk_attach (UNIT *u, char *cptr)
|
|||
if ((s == SCPE_OK) && (sim_switches & SWMASK ('N'))) {
|
||||
t_value control[4]; /* block (zone) number, key, userid, checksum */
|
||||
int diskno, blkno, word;
|
||||
char *pos;
|
||||
const char *pos;
|
||||
/* Using the rightmost sequence of digits within the filename
|
||||
* as a volume number, e.g. "/var/tmp/besm6/2052.bin" -> 2052
|
||||
*/
|
||||
|
|
|
@ -82,7 +82,7 @@ MTAB drum_mod[] = {
|
|||
};
|
||||
|
||||
t_stat drum_reset (DEVICE *dptr);
|
||||
t_stat drum_attach (UNIT *uptr, char *cptr);
|
||||
t_stat drum_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat drum_detach (UNIT *uptr);
|
||||
|
||||
DEVICE drum_dev = {
|
||||
|
@ -107,7 +107,7 @@ t_stat drum_reset (DEVICE *dptr)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat drum_attach (UNIT *u, char *cptr)
|
||||
t_stat drum_attach (UNIT *u, CONST char *cptr)
|
||||
{
|
||||
t_stat s;
|
||||
|
||||
|
|
|
@ -429,7 +429,7 @@ static void draw_brz_static (int left, int top)
|
|||
/*
|
||||
* Closing the graphical window.
|
||||
*/
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (! screen)
|
||||
return SCPE_NOTATT;
|
||||
|
@ -441,7 +441,7 @@ t_stat besm6_close_panel (UNIT *u, int32 val, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, void *dp)
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, CONST void *dp)
|
||||
{
|
||||
if (screen)
|
||||
fprintf(st, "Panel displayed");
|
||||
|
@ -459,7 +459,7 @@ static SDL_Texture *sdlTexture;
|
|||
/*
|
||||
* Initializing of the graphical window and the fonts.
|
||||
*/
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (screen)
|
||||
return SCPE_ALATT;
|
||||
|
@ -678,17 +678,17 @@ void besm6_draw_panel (int force)
|
|||
#endif /* SDL_MAJOR_VERSION */
|
||||
|
||||
#else /* HAVE_LIBSDL */
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat besm6_init_panel (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
return sim_messagef(SCPE_OPENERR, "Need SDL and SDLttf libraries");
|
||||
}
|
||||
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat besm6_close_panel (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
return SCPE_NOTATT;
|
||||
}
|
||||
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, void *dp)
|
||||
t_stat besm6_show_panel (FILE *st, UNIT *up, int32 v, CONST void *dp)
|
||||
{
|
||||
return SCPE_NOTATT;
|
||||
}
|
||||
|
|
|
@ -74,7 +74,7 @@ MTAB printer_mod[] = {
|
|||
};
|
||||
|
||||
t_stat printer_reset (DEVICE *dptr);
|
||||
t_stat printer_attach (UNIT *uptr, char *cptr);
|
||||
t_stat printer_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat printer_detach (UNIT *uptr);
|
||||
|
||||
DEVICE printer_dev = {
|
||||
|
@ -101,7 +101,7 @@ t_stat printer_reset (DEVICE *dptr)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat printer_attach (UNIT *u, char *cptr)
|
||||
t_stat printer_attach (UNIT *u, CONST char *cptr)
|
||||
{
|
||||
t_stat s;
|
||||
int num = u - printer_unit;
|
||||
|
|
|
@ -75,7 +75,7 @@ MTAB fs_mod[] = {
|
|||
};
|
||||
|
||||
t_stat fs_reset (DEVICE *dptr);
|
||||
t_stat fs_attach (UNIT *uptr, char *cptr);
|
||||
t_stat fs_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat fs_detach (UNIT *uptr);
|
||||
|
||||
DEVICE fs_dev = {
|
||||
|
@ -123,7 +123,7 @@ t_stat fs_reset (DEVICE *dptr)
|
|||
* Attaches a raw binary file by default,
|
||||
* with a -t switch attaches a prepared text file in UTF-8.
|
||||
*/
|
||||
t_stat fs_attach (UNIT *u, char *cptr)
|
||||
t_stat fs_attach (UNIT *u, CONST char *cptr)
|
||||
{
|
||||
t_stat s;
|
||||
int num = u - fs_unit;
|
||||
|
|
|
@ -239,7 +239,7 @@ double besm6_to_ieee (t_value word)
|
|||
/*
|
||||
* Пропуск пробелов.
|
||||
*/
|
||||
char *skip_spaces (char *p)
|
||||
CONST char *skip_spaces (CONST char *p)
|
||||
{
|
||||
for (;;) {
|
||||
if (*p == (char) 0xEF && p[1] == (char) 0xBB && p[2] == (char) 0xBF) {
|
||||
|
@ -259,7 +259,7 @@ char *skip_spaces (char *p)
|
|||
* Fetch Unicode symbol from UTF-8 string.
|
||||
* Advance string pointer.
|
||||
*/
|
||||
int utf8_to_unicode (char **p)
|
||||
int utf8_to_unicode (CONST char **p)
|
||||
{
|
||||
int c1, c2, c3;
|
||||
|
||||
|
@ -273,7 +273,7 @@ int utf8_to_unicode (char **p)
|
|||
return (c1 & 0x0f) << 12 | (c2 & 0x3f) << 6 | (c3 & 0x3f);
|
||||
}
|
||||
|
||||
char *besm6_parse_octal (char *cptr, int *offset)
|
||||
char *besm6_parse_octal (const char *cptr, int *offset)
|
||||
{
|
||||
char *eptr;
|
||||
|
||||
|
@ -283,7 +283,7 @@ char *besm6_parse_octal (char *cptr, int *offset)
|
|||
return eptr;
|
||||
}
|
||||
|
||||
static char *get_alnum (char *iptr, char *optr)
|
||||
static CONST char *get_alnum (CONST char *iptr, char *optr)
|
||||
{
|
||||
while ((*iptr >= 'a' && *iptr<='z') ||
|
||||
(*iptr >= 'A' && *iptr<='Z') ||
|
||||
|
@ -298,7 +298,7 @@ static char *get_alnum (char *iptr, char *optr)
|
|||
* Parse single instruction (half word).
|
||||
* Allow mnemonics or octal code.
|
||||
*/
|
||||
char *parse_instruction (char *cptr, uint32 *val)
|
||||
CONST char *parse_instruction (CONST char *cptr, uint32 *val)
|
||||
{
|
||||
int opcode, reg, addr, negate;
|
||||
char gbuf[CBUFSIZE];
|
||||
|
@ -391,7 +391,7 @@ char *parse_instruction (char *cptr, uint32 *val)
|
|||
/*
|
||||
* Instruction parse: two commands per word.
|
||||
*/
|
||||
t_stat parse_instruction_word (char *cptr, t_value *val)
|
||||
t_stat parse_instruction_word (CONST char *cptr, t_value *val)
|
||||
{
|
||||
uint32 left, right;
|
||||
|
||||
|
@ -535,7 +535,7 @@ t_stat fprint_sym (FILE *of, t_addr addr, t_value *val,
|
|||
* Outputs:
|
||||
* status = error status
|
||||
*/
|
||||
t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
{
|
||||
int32 i;
|
||||
|
||||
|
@ -569,7 +569,8 @@ t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
|||
*/
|
||||
t_stat besm6_read_line (FILE *input, int *type, t_value *val)
|
||||
{
|
||||
char buf [512], *p;
|
||||
char buf [512];
|
||||
CONST char *p;
|
||||
int i, c;
|
||||
again:
|
||||
if (! fgets (buf, sizeof (buf), input)) {
|
||||
|
@ -685,7 +686,7 @@ t_stat besm6_load (FILE *input)
|
|||
/*
|
||||
* Dump memory to file.
|
||||
*/
|
||||
t_stat besm6_dump (FILE *of, char *fnam)
|
||||
t_stat besm6_dump (FILE *of, const char *fnam)
|
||||
{
|
||||
int addr, last_addr = -1;
|
||||
t_value word;
|
||||
|
@ -728,7 +729,7 @@ t_stat besm6_dump (FILE *of, char *fnam)
|
|||
/*
|
||||
* Loader/dumper
|
||||
*/
|
||||
t_stat sim_load (FILE *fi, char *cptr, char *fnam, int dump_flag)
|
||||
t_stat sim_load (FILE *fi, CONST char *cptr, CONST char *fnam, int dump_flag)
|
||||
{
|
||||
if (dump_flag)
|
||||
return besm6_dump (fi, fnam);
|
||||
|
|
|
@ -94,7 +94,7 @@ char *vt_cptr [LINES_MAX+1];
|
|||
void tt_print();
|
||||
void consul_receive();
|
||||
t_stat vt_clk(UNIT *);
|
||||
extern char *get_sim_sw (char *cptr);
|
||||
extern const char *get_sim_sw (const char *cptr);
|
||||
extern int32 tmr_poll; /* calibrated clock timer poll */
|
||||
|
||||
int attached_console;
|
||||
|
@ -260,7 +260,7 @@ t_stat vt_clk (UNIT * this)
|
|||
return sim_activate(this, 1000*MSEC/300);
|
||||
}
|
||||
|
||||
t_stat tty_setmode (UNIT *u, int32 val, char *cptr, void *desc)
|
||||
t_stat tty_setmode (UNIT *u, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int num = u - tty_unit;
|
||||
TMLN *t = &tty_line [num];
|
||||
|
@ -315,7 +315,7 @@ t_stat tty_setmode (UNIT *u, int32 val, char *cptr, void *desc)
|
|||
* attach tty <port>
|
||||
* Where <port> is the port number for telnet, e.g. 4199.
|
||||
*/
|
||||
t_stat tty_attach (UNIT *u, char *cptr)
|
||||
t_stat tty_attach (UNIT *u, CONST char *cptr)
|
||||
{
|
||||
int num = u - tty_unit;
|
||||
char gbuf[CBUFSIZE];
|
||||
|
@ -462,7 +462,7 @@ void vt_puts (int num, const char *s)
|
|||
return;
|
||||
if (t->rcve) {
|
||||
/* A telnet connection. */
|
||||
tmxr_linemsg (t, (char*) s);
|
||||
tmxr_linemsg (t, s);
|
||||
} else {
|
||||
/* Console output. */
|
||||
while (*s) sim_putchar(*s++);
|
||||
|
@ -686,12 +686,12 @@ static int unicode_to_koi7 (unsigned val)
|
|||
/*
|
||||
* Set command
|
||||
*/
|
||||
static t_stat cmd_set (int32 num, char *cptr)
|
||||
static t_stat cmd_set (int32 num, CONST char *cptr)
|
||||
{
|
||||
char gbuf [CBUFSIZE];
|
||||
int len;
|
||||
|
||||
cptr = get_sim_sw (cptr);
|
||||
cptr = (CONST char *)get_sim_sw (cptr);
|
||||
if (! cptr)
|
||||
return SCPE_INVSW;
|
||||
if (! *cptr)
|
||||
|
@ -734,14 +734,14 @@ static t_stat cmd_set (int32 num, char *cptr)
|
|||
/*
|
||||
* Show command
|
||||
*/
|
||||
static t_stat cmd_show (int32 num, char *cptr)
|
||||
static t_stat cmd_show (int32 num, CONST char *cptr)
|
||||
{
|
||||
TMLN *t = &tty_line [num];
|
||||
char gbuf [CBUFSIZE];
|
||||
MTAB *m;
|
||||
int len;
|
||||
|
||||
cptr = get_sim_sw (cptr);
|
||||
cptr = (CONST char *)get_sim_sw (cptr);
|
||||
if (! cptr)
|
||||
return SCPE_INVSW;
|
||||
if (! *cptr) {
|
||||
|
@ -779,12 +779,12 @@ static t_stat cmd_show (int32 num, char *cptr)
|
|||
/*
|
||||
* Exit command
|
||||
*/
|
||||
static t_stat cmd_exit (int32 num, char *cptr)
|
||||
static t_stat cmd_exit (int32 num, CONST char *cptr)
|
||||
{
|
||||
return SCPE_EXIT;
|
||||
}
|
||||
|
||||
static t_stat cmd_help (int32 num, char *cptr);
|
||||
static t_stat cmd_help (int32 num, CONST char *cptr);
|
||||
|
||||
static CTAB cmd_table[] = {
|
||||
{ "SET", &cmd_set, 0,
|
||||
|
@ -834,13 +834,13 @@ static CTAB *lookup_cmd (char *command)
|
|||
/*
|
||||
* Help command
|
||||
*/
|
||||
static t_stat cmd_help (int32 num, char *cptr)
|
||||
static t_stat cmd_help (int32 num, CONST char *cptr)
|
||||
{
|
||||
TMLN *t = &tty_line [num];
|
||||
char gbuf [CBUFSIZE];
|
||||
CTAB *c;
|
||||
|
||||
cptr = get_sim_sw (cptr);
|
||||
cptr = (CONST char *)get_sim_sw (cptr);
|
||||
if (! cptr)
|
||||
return SCPE_INVSW;
|
||||
if (! *cptr) {
|
||||
|
@ -868,7 +868,8 @@ static t_stat cmd_help (int32 num, char *cptr)
|
|||
void vt_cmd_exec (int num)
|
||||
{
|
||||
TMLN *t = &tty_line [num];
|
||||
char *cptr, gbuf [CBUFSIZE];
|
||||
char gbuf [CBUFSIZE];
|
||||
CONST char *cptr;
|
||||
CTAB *cmdp;
|
||||
t_stat err;
|
||||
extern char *scp_errors[];
|
||||
|
|
|
@ -190,7 +190,7 @@ REG *scq_r = NULL; /* PC queue reg ptr */
|
|||
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_reset (DEVICE *dptr);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat bus_op (uint32 src, uint32 op, uint32 dst);
|
||||
|
||||
/* Dispatch tables for source, dest, function out, skip on function */
|
||||
|
@ -1087,7 +1087,7 @@ M[addr] = val & DMASK;
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 mc = 0;
|
||||
uint32 i;
|
||||
|
|
|
@ -53,7 +53,7 @@ t_stat tti_svc (UNIT *uhsr);
|
|||
t_stat tto_svc (UNIT *uhsr);
|
||||
t_stat tti_reset (DEVICE *dhsr);
|
||||
t_stat tto_reset (DEVICE *dhsr);
|
||||
t_stat tty_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat tty_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat hsr_svc (UNIT *uhsr);
|
||||
t_stat hsp_svc (UNIT *uhsr);
|
||||
t_stat hsr_reset (DEVICE *dhsr);
|
||||
|
@ -295,7 +295,7 @@ sim_cancel (&tto_unit); /* deactivate unit */
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat tty_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat tty_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
tti_unit.flags = (tti_unit.flags & ~TT_MODE) | val;
|
||||
tto_unit.flags = (tto_unit.flags & ~TT_MODE) | val;
|
||||
|
|
|
@ -82,7 +82,7 @@ const char *sim_stop_messages[] = {
|
|||
continue and load all blocks until end of tape.
|
||||
*/
|
||||
|
||||
t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag)
|
||||
t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
int32 c;
|
||||
uint32 org;
|
||||
|
@ -472,7 +472,7 @@ return SCPE_ARG;
|
|||
get_op get optional bus operator
|
||||
*/
|
||||
|
||||
char *get_fnc (char *cptr, t_value *val)
|
||||
CONST char *get_fnc (CONST char *cptr, t_value *val)
|
||||
{
|
||||
char gbuf[CBUFSIZE];
|
||||
int32 i;
|
||||
|
@ -509,7 +509,7 @@ val[0] = val[0] | (fncv << I_V_OP); /* store fnc */
|
|||
return cptr;
|
||||
}
|
||||
|
||||
char *get_ma (char *cptr, t_value *val, char term)
|
||||
CONST char *get_ma (CONST char *cptr, t_value *val, char term)
|
||||
{
|
||||
char gbuf[CBUFSIZE];
|
||||
t_value d;
|
||||
|
@ -525,7 +525,7 @@ val[1] = d; /* second wd */
|
|||
return cptr;
|
||||
}
|
||||
|
||||
char *get_sd (char *cptr, t_value *val, char term, t_bool src)
|
||||
CONST char *get_sd (CONST char *cptr, t_value *val, char term, t_bool src)
|
||||
{
|
||||
char gbuf[CBUFSIZE];
|
||||
int32 d;
|
||||
|
@ -546,9 +546,10 @@ val[0] = val[0] | (d << (src? I_V_SRC: I_V_DST)); /* or to inst */
|
|||
return cptr;
|
||||
}
|
||||
|
||||
char *get_op (char *cptr, t_value *val, char term)
|
||||
CONST char *get_op (CONST char *cptr, t_value *val, char term)
|
||||
{
|
||||
char gbuf[CBUFSIZE], *tptr;
|
||||
char gbuf[CBUFSIZE];
|
||||
CONST char *tptr;
|
||||
int32 i;
|
||||
|
||||
tptr = get_glyph (cptr, gbuf, term); /* get glyph */
|
||||
|
@ -573,10 +574,10 @@ return cptr; /* original ptr */
|
|||
status = error status
|
||||
*/
|
||||
|
||||
t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
{
|
||||
int32 i, j, k;
|
||||
char *tptr, gbuf[CBUFSIZE];
|
||||
char gbuf[CBUFSIZE];
|
||||
|
||||
while (isspace (*cptr)) cptr++; /* absorb spaces */
|
||||
if ((sw & SWMASK ('A')) || ((*cptr == '\'') && cptr++)) { /* ASCII char? */
|
||||
|
@ -604,14 +605,11 @@ j = (opc_val[i] >> F_V_FL) & F_M_FL; /* get class */
|
|||
switch (j) { /* case on class */
|
||||
|
||||
case F_V_FO: /* func out */
|
||||
tptr = strchr (cptr, ','); /* find dst */
|
||||
if (!tptr) /* none? */
|
||||
cptr = get_glyph (cptr, gbuf, ','); /* fo # */
|
||||
if ((!cptr) || (!*cptr)) /* none? */
|
||||
return SCPE_ARG;
|
||||
*tptr = 0; /* split fields */
|
||||
cptr = get_fnc (cptr, val); /* fo # */
|
||||
if (!cptr)
|
||||
return SCPE_ARG;
|
||||
cptr = get_sd (tptr + 1, val, 0, FALSE); /* dst */
|
||||
get_fnc (gbuf, val); /* fo # */
|
||||
cptr = get_sd (cptr, val, 0, FALSE); /* dst */
|
||||
break;
|
||||
|
||||
case F_V_FOI: /* func out impl */
|
||||
|
|
|
@ -302,15 +302,15 @@ int32 undio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
|||
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw);
|
||||
t_stat cpu_reset (DEVICE *dptr);
|
||||
t_stat cpu_set_noext (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_set_hist (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_show_dma (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_set_nchan (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_show_nchan (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_set_interrupts (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat cpu_show_interrupts (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_set_noext (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_hist (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat cpu_show_dma (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat cpu_set_nchan (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_nchan (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat cpu_set_interrupts (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_interrupts (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
int32 sim_ota_2024 (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
int32 cpu_interrupt (int32 vec);
|
||||
int32 cpu_ext_interrupt (void);
|
||||
|
@ -1479,14 +1479,14 @@ return SCPE_OK;
|
|||
|
||||
/* Option processors */
|
||||
|
||||
t_stat cpu_set_noext (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_noext (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (MEMSIZE > (NX_AMASK + 1))
|
||||
return SCPE_ARG;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 mc = 0;
|
||||
uint32 i;
|
||||
|
@ -1506,7 +1506,7 @@ return SCPE_OK;
|
|||
|
||||
/* [RLA] Set/Show number of interrupts supported */
|
||||
|
||||
t_stat cpu_set_interrupts (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_interrupts (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 newint; t_stat ret;
|
||||
if (cptr == NULL) return SCPE_ARG;
|
||||
|
@ -1517,7 +1517,7 @@ t_stat cpu_set_interrupts (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_show_interrupts (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_interrupts (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (ext_ints == 0)
|
||||
fprintf(st,"standard interrupts");
|
||||
|
@ -1526,7 +1526,7 @@ t_stat cpu_show_interrupts (FILE *st, UNIT *uptr, int32 val, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat cpu_set_nchan (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_nchan (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 i, newmax;
|
||||
t_stat r;
|
||||
|
@ -1546,7 +1546,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show DMA channels */
|
||||
|
||||
t_stat cpu_show_nchan (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_nchan (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (dma_nch)
|
||||
fprintf (st, "DMA channels = %d", dma_nch);
|
||||
|
@ -1556,7 +1556,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show channel state */
|
||||
|
||||
t_stat cpu_show_dma (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_dma (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if ((val < 0) || (val >= DMA_MAX))
|
||||
return SCPE_IERR;
|
||||
|
@ -1568,7 +1568,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set I/O device to IOBUS / DMA channel / DMC channel */
|
||||
|
||||
t_stat io_set_iobus (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat io_set_iobus (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
DIB *dibp;
|
||||
|
@ -1585,7 +1585,7 @@ dibp->chan = 0;
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat io_set_dma (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat io_set_dma (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
DIB *dibp;
|
||||
|
@ -1609,7 +1609,7 @@ dibp->chan = (newc - DMA_MIN) + DMA_V_DMA1 + 1; /* store */
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat io_set_dmc (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat io_set_dmc (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
DIB *dibp;
|
||||
|
@ -1635,7 +1635,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show channel configuration */
|
||||
|
||||
t_stat io_show_chan (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat io_show_chan (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
DEVICE *dptr;
|
||||
DIB *dibp;
|
||||
|
@ -1722,7 +1722,7 @@ return FALSE;
|
|||
|
||||
/* Set history */
|
||||
|
||||
t_stat cpu_set_hist (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat cpu_set_hist (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 i, lnt;
|
||||
t_stat r;
|
||||
|
@ -1753,10 +1753,10 @@ return SCPE_OK;
|
|||
|
||||
/* Show history */
|
||||
|
||||
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_hist (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
int32 cr, k, di, op, lnt;
|
||||
char *cptr = (char *) desc;
|
||||
const char *cptr = (const char *) desc;
|
||||
t_value sim_eval;
|
||||
t_stat r;
|
||||
InstHistory *h;
|
||||
|
|
|
@ -219,9 +219,9 @@ typedef struct h316_dib DIB;
|
|||
|
||||
/* Prototypes */
|
||||
|
||||
t_stat io_set_iobus (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat io_set_dma (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat io_set_dmc (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat io_show_chan (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat io_set_iobus (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat io_set_dma (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat io_set_dmc (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat io_show_chan (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -195,7 +195,7 @@
|
|||
#define CAP_4720 (CYL_4720*SURF_4720*DP_TRKLEN)
|
||||
|
||||
struct drvtyp {
|
||||
char *name;
|
||||
const char *name;
|
||||
uint32 numu;
|
||||
uint32 cyl;
|
||||
uint32 surf;
|
||||
|
@ -247,9 +247,9 @@ uint16 dpxb[DP_TRKLEN]; /* track buffer */
|
|||
int32 dpio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat dp_svc (UNIT *uptr);
|
||||
t_stat dp_reset (DEVICE *dptr);
|
||||
t_stat dp_attach (UNIT *uptr, char *cptr);
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat dp_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat dp_go (uint32 dma);
|
||||
t_stat dp_go1 (uint32 dat);
|
||||
t_stat dp_go2 (uint32 dat);
|
||||
|
@ -259,8 +259,8 @@ t_bool dp_findrec (uint32 addr);
|
|||
t_stat dp_wrwd (UNIT *uptr, uint32 dat);
|
||||
t_stat dp_wrdone (UNIT *uptr, uint32 flg);
|
||||
t_stat dp_done (uint32 req, uint32 f);
|
||||
t_stat dp_setformat (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat dp_showformat (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat dp_setformat (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat dp_showformat (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* DP data structures
|
||||
|
||||
|
@ -912,7 +912,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine, test formating */
|
||||
|
||||
t_stat dp_attach (UNIT *uptr, char *cptr)
|
||||
t_stat dp_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
r = attach_unit (uptr, cptr);
|
||||
|
@ -923,7 +923,7 @@ return dp_showformat (stdout, uptr, 0, NULL);
|
|||
|
||||
/* Set controller type */
|
||||
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 i;
|
||||
|
||||
|
@ -940,7 +940,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show controller type */
|
||||
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (dp_ctype >= DP_NUMTYP)
|
||||
return SCPE_IERR;
|
||||
|
@ -970,7 +970,7 @@ return SCPE_OK;
|
|||
per record.
|
||||
*/
|
||||
|
||||
t_stat dp_setformat (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dp_setformat (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 h, c, cntr, rptr;
|
||||
int32 i, nr, nw, inp;
|
||||
|
@ -1027,7 +1027,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show format */
|
||||
|
||||
t_stat dp_showformat (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat dp_showformat (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
uint32 c, h, rptr, rlnt, sec;
|
||||
uint32 minrec = DP_TRKLEN;
|
||||
|
|
|
@ -97,8 +97,8 @@ int32 fhd_time = 10; /* time per word */
|
|||
int32 fhdio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat fhd_svc (UNIT *uptr);
|
||||
t_stat fhd_reset (DEVICE *dptr);
|
||||
t_stat fhd_attach (UNIT *uptr, char *cptr);
|
||||
t_stat fhd_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat fhd_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat fhd_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
void fhd_go (uint32 dma);
|
||||
void fhd_go1 (uint32 dat);
|
||||
void fhd_go2 (uint32 dat);
|
||||
|
@ -398,7 +398,7 @@ uint32 tk = CW1_GETTK (fhd_cw1); /* track */
|
|||
uint32 ca = CW2_GETCA (fhd_cw2); /* char addr */
|
||||
uint32 wa = ca >> 1; /* word addr */
|
||||
uint32 ba = (((sf * FH_NUMTK) + tk) * FH_NUMWD) + wa; /* buffer offset */
|
||||
uint16 *fbuf = uptr->filebuf; /* buffer base */
|
||||
uint16 *fbuf = (uint16 *)uptr->filebuf; /* buffer base */
|
||||
|
||||
ch = ch & 0377; /* mask char */
|
||||
if (fhd_bad_wa (wa)) /* addr bad? */
|
||||
|
@ -456,7 +456,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat fhd_attach (UNIT *uptr, char *cptr)
|
||||
t_stat fhd_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
uint32 sz, sf;
|
||||
uint32 ds_bytes = FH_WDPSF * sizeof (int16);
|
||||
|
@ -474,7 +474,7 @@ return attach_unit (uptr, cptr);
|
|||
|
||||
/* Set size routine */
|
||||
|
||||
t_stat fhd_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat fhd_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (val < 0)
|
||||
return SCPE_IERR;
|
||||
|
|
|
@ -68,7 +68,7 @@ int32 hi3_io (int32 inst, int32 fnc, int32 dat, int32 dev);
|
|||
int32 hi4_io (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat hi_service (UNIT *uptr);
|
||||
t_stat hi_reset (DEVICE *dptr);
|
||||
t_stat hi_attach (UNIT *uptr, char *cptr);
|
||||
t_stat hi_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat hi_detach (UNIT *uptr);
|
||||
|
||||
|
||||
|
@ -303,7 +303,7 @@ t_stat hi_reset (DEVICE *dptr)
|
|||
}
|
||||
|
||||
// Attach (connect) ...
|
||||
t_stat hi_attach (UNIT *uptr, char *cptr)
|
||||
t_stat hi_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
// simh calls this routine for (what else?) the ATTACH command.
|
||||
uint16 host = uptr->hline;
|
||||
|
|
|
@ -62,10 +62,10 @@ extern int32 stop_inst; // needed by IOBADFNC()
|
|||
int32 imp_io (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat imp_service (UNIT *uptr);
|
||||
t_stat imp_reset (DEVICE *dptr);
|
||||
t_stat imp_show_station (FILE *st, UNIT *uptr, int32 val, void *dp);
|
||||
t_stat io_show_int (FILE *st, UNIT *uptr, int32 val, void *dp);
|
||||
t_stat imp_set_station (UNIT *uptr, int32 val, char *cptr, void *dp);
|
||||
t_stat io_set_int (UNIT *uptr, int32 val, char *cptr, void *dp);
|
||||
t_stat imp_show_station (FILE *st, UNIT *uptr, int32 val, CONST void *dp);
|
||||
t_stat io_show_int (FILE *st, UNIT *uptr, int32 val, CONST void *dp);
|
||||
t_stat imp_set_station (UNIT *uptr, int32 val, CONST char *cptr, void *dp);
|
||||
t_stat io_set_int (UNIT *uptr, int32 val, CONST char *cptr, void *dp);
|
||||
|
||||
|
||||
|
||||
|
@ -172,14 +172,14 @@ t_stat imp_reset (DEVICE *dptr)
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Show the station number ...
|
||||
t_stat imp_show_station (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat imp_show_station (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf(st,"station=%d", imp_station);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
// Set the station number ...
|
||||
t_stat imp_set_station (UNIT *uptr, int32 val, char *cptr, void *dp)
|
||||
t_stat imp_set_station (UNIT *uptr, int32 val, CONST char *cptr, void *dp)
|
||||
{
|
||||
uint32 newnum; t_stat sts;
|
||||
if (cptr == NULL) return SCPE_ARG;
|
||||
|
|
|
@ -189,7 +189,7 @@ extern t_stat mi_tx_service (uint32 quantum);
|
|||
|
||||
// Prototypes for UDP modem/host interface emulation routines ...
|
||||
#define NOLINK (-1)
|
||||
t_stat udp_create (DEVICE *pdtr, char *premote, int32 *plink);
|
||||
t_stat udp_create (DEVICE *pdtr, const char *premote, int32 *plink);
|
||||
t_stat udp_release (DEVICE *dptr, int32 link);
|
||||
t_stat udp_send (DEVICE *pdtr, int32 link, uint16 *pdata, uint16 count);
|
||||
t_stat udp_set_link_loopback (DEVICE *dptr, int32 link, t_bool enable_loopback);
|
||||
|
|
|
@ -187,10 +187,10 @@ int32 mi5_io (int32 inst, int32 fnc, int32 dat, int32 dev);
|
|||
t_stat mi_rx_service (UNIT *uptr);
|
||||
void mi_rx_local (uint16 line, uint16 txnext, uint16 txcount);
|
||||
t_stat mi_reset (DEVICE *dptr);
|
||||
t_stat mi_attach (UNIT *uptr, char *cptr);
|
||||
t_stat mi_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat mi_detach (UNIT *uptr);
|
||||
t_stat mi_set_loopback (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat mi_show_loopback (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat mi_set_loopback (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat mi_show_loopback (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
|
||||
|
||||
|
@ -678,7 +678,7 @@ t_stat mi_reset (DEVICE *dptr)
|
|||
}
|
||||
|
||||
// Attach device ...
|
||||
t_stat mi_attach (UNIT *uptr, char *cptr)
|
||||
t_stat mi_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
// simh calls this routine for (what else?) the ATTACH command. There are
|
||||
// three distinct formats for ATTACH -
|
||||
|
@ -730,7 +730,7 @@ t_stat mi_detach (UNIT *uptr)
|
|||
return mi_reset(PDEVICE(line));
|
||||
}
|
||||
|
||||
t_stat mi_set_loopback (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat mi_set_loopback (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
t_stat ret = SCPE_OK; uint16 line = uptr->mline;
|
||||
|
||||
|
@ -752,7 +752,7 @@ t_stat mi_set_loopback (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
t_stat mi_show_loopback (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat mi_show_loopback (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
uint16 line = uptr->mline;
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ int32 mtio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
|||
void mt_updint (uint32 rdy, uint32 mdone);
|
||||
t_stat mt_svc (UNIT *uptr);
|
||||
t_stat mt_reset (DEVICE *dptr);
|
||||
t_stat mt_attach (UNIT *uptr, char *cptr);
|
||||
t_stat mt_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat mt_detach (UNIT *uptr);
|
||||
t_stat mt_map_err (UNIT *uptr, t_stat st);
|
||||
void mt_wrwd (UNIT *uptr, uint32 dat);
|
||||
|
@ -596,7 +596,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat mt_attach (UNIT *uptr, char *cptr)
|
||||
t_stat mt_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
|
|
@ -89,12 +89,12 @@ t_stat rtc_reset (DEVICE *dptr);
|
|||
int32 wdt_io (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat wdt_service (UNIT *uptr);
|
||||
t_stat wdt_reset (DEVICE *dptr);
|
||||
t_stat rtc_set_interval (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat rtc_show_interval (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat rtc_set_quantum(UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat rtc_show_quantum (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat wdt_set_delay (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat wdt_show_delay (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat rtc_set_interval (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat rtc_show_interval (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat rtc_set_quantum(UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat rtc_show_quantum (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat wdt_set_delay (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat wdt_show_delay (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
|
||||
|
||||
|
@ -315,7 +315,7 @@ t_stat wdt_reset (DEVICE *dptr)
|
|||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Set/Show RTC interval ...
|
||||
t_stat rtc_set_interval (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat rtc_set_interval (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 newint, newtps; t_stat ret;
|
||||
if (cptr == NULL) return SCPE_ARG;
|
||||
|
@ -329,14 +329,14 @@ t_stat rtc_set_interval (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat rtc_show_interval (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat rtc_show_interval (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf(st,"interval=%d (us)", rtc_interval);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
// Set/Show RTC quantum ...
|
||||
t_stat rtc_set_quantum (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat rtc_set_quantum (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 newquant, newtps; t_stat ret;
|
||||
if (cptr == NULL) return SCPE_ARG;
|
||||
|
@ -350,14 +350,14 @@ t_stat rtc_set_quantum (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat rtc_show_quantum (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat rtc_show_quantum (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf(st,"quantum=%d (ticks)", rtc_quantum);
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
// Set/Show WDT delay ...
|
||||
t_stat wdt_set_delay (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat wdt_set_delay (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 newint; t_stat ret;
|
||||
if (cptr == NULL) return SCPE_ARG;
|
||||
|
@ -372,7 +372,7 @@ t_stat wdt_set_delay (UNIT *uptr, int32 val, char *cptr, void *desc)
|
|||
return SCPE_OK;
|
||||
}
|
||||
|
||||
t_stat wdt_show_delay (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat wdt_show_delay (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (wdt_delay > 0)
|
||||
fprintf(st,"delay=%d (ms)", wdt_delay);
|
||||
|
|
|
@ -140,15 +140,15 @@ int32 ttyio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
|||
t_stat tti_svc (UNIT *uptr);
|
||||
t_stat tto_svc (UNIT *uptr);
|
||||
t_stat tty_reset (DEVICE *dptr);
|
||||
t_stat ttio_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ttrp_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ttio_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ttrp_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
int32 clkio (int32 inst, int32 fnc, int32 dat, int32 dev);
|
||||
t_stat clk_svc (UNIT *uptr);
|
||||
t_stat clk_reset (DEVICE *dptr);
|
||||
t_stat clk_set_freq (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat pt_attach (UNIT *uptr, char *cptr);
|
||||
t_stat clk_set_freq (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat pt_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat pt_detach (UNIT *uptr);
|
||||
t_stat tto_write (int32 c);
|
||||
t_stat ttp_write (int32 c);
|
||||
|
@ -418,7 +418,7 @@ return SCPE_OK;
|
|||
/* Paper tape attach routine - set or clear ASC/UASC flags if specified
|
||||
Can be called for TTY units at well, hence, check for attachability */
|
||||
|
||||
t_stat pt_attach (UNIT *uptr, char *cptr)
|
||||
t_stat pt_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
@ -832,7 +832,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set keyboard/printer mode - make sure flags agree */
|
||||
|
||||
t_stat ttio_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ttio_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (uptr->flags & UNIT_ATTABLE) /* not TTR, TTP */
|
||||
return SCPE_NOFNC;
|
||||
|
@ -845,7 +845,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set reader/punch mode */
|
||||
|
||||
t_stat ttrp_set_mode (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ttrp_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (!(uptr->flags & UNIT_ATTABLE)) /* PTR, PTP, TTR, TTP only */
|
||||
return SCPE_NOFNC;
|
||||
|
@ -856,7 +856,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set reader/punch start/stop */
|
||||
|
||||
t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ttrp_set_start_stop (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (!(uptr->flags & UNIT_ATTABLE)) /* TTR, TTP only */
|
||||
return SCPE_NOFNC;
|
||||
|
@ -948,7 +948,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set frequency */
|
||||
|
||||
t_stat clk_set_freq (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat clk_set_freq (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (cptr)
|
||||
return SCPE_ARG;
|
||||
|
@ -960,7 +960,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show frequency */
|
||||
|
||||
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf (st, (clk_tps == 50)? "50Hz": "60Hz");
|
||||
return SCPE_OK;
|
||||
|
|
|
@ -106,7 +106,7 @@ const char *sim_stop_messages[] = {
|
|||
Tbs.
|
||||
*/
|
||||
|
||||
t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag)
|
||||
t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
return SCPE_FMT;
|
||||
}
|
||||
|
@ -232,13 +232,13 @@ static const int32 opc_val[] = {
|
|||
#define fputs(_s,f) Fprintf(f,"%s",_s)
|
||||
#define fputc(_c,f) Fprintf(f,"%c",_c)
|
||||
|
||||
void fprint_opr (FILE *of, int32 inst, int32 class)
|
||||
void fprint_opr (FILE *of, int32 inst, int32 Class)
|
||||
{
|
||||
int32 i, j, sp;
|
||||
|
||||
for (i = sp = 0; opc_val[i] >= 0; i++) { /* loop thru ops */
|
||||
j = (opc_val[i] >> I_V_FL) & I_M_FL; /* get class */
|
||||
if ((j == class) && (opc_val[i] & inst)) { /* same class? */
|
||||
if ((j == Class) && (opc_val[i] & inst)) { /* same class? */
|
||||
inst = inst & ~opc_val[i]; /* mask bit set? */
|
||||
fprintf (of, (sp? " %s": "%s"), opcode[i]);
|
||||
sp = 1;
|
||||
|
@ -343,7 +343,7 @@ return SCPE_ARG;
|
|||
status = error status
|
||||
*/
|
||||
|
||||
t_stat parse_sym (char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
t_stat parse_sym (CONST char *cptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
{
|
||||
int32 cflag, d, i, j, k;
|
||||
t_stat r;
|
||||
|
|
|
@ -197,7 +197,7 @@ int32 udp_find_free_link (void)
|
|||
return NOLINK;
|
||||
}
|
||||
|
||||
t_stat udp_parse_remote (int32 link, char *premote)
|
||||
t_stat udp_parse_remote (int32 link, const char *premote)
|
||||
{
|
||||
// This routine will parse a remote address string in any of these forms -
|
||||
//
|
||||
|
@ -255,7 +255,7 @@ t_stat udp_error (int32 link, const char *msg)
|
|||
return SCPE_IOERR;
|
||||
}
|
||||
|
||||
t_stat udp_create (DEVICE *dptr, char *premote, int32 *pln)
|
||||
t_stat udp_create (DEVICE *dptr, const char *premote, int32 *pln)
|
||||
{
|
||||
// Create a logical UDP link to the specified remote system. The "remote"
|
||||
// string specifies both the remote host name or IP and a port number. The
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_baci.c: HP 12966A buffered asynchronous communications interface simulator
|
||||
|
||||
Copyright (c) 2007-2014, J. David Bryan
|
||||
Copyright (c) 2007-2016, J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
BACI 12966A BACI card
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
10-Jan-13 MP Added DEV_MUX and additional DEVICE field values
|
||||
10-Feb-12 JDB Deprecated DEVNO in favor of SC
|
||||
|
@ -378,7 +379,7 @@ IOHANDLER baci_io;
|
|||
t_stat baci_term_svc (UNIT *uptr);
|
||||
t_stat baci_poll_svc (UNIT *uptr);
|
||||
t_stat baci_reset (DEVICE *dptr);
|
||||
t_stat baci_attach (UNIT *uptr, char *cptr);
|
||||
t_stat baci_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat baci_detach (UNIT *uptr);
|
||||
|
||||
|
||||
|
@ -1049,7 +1050,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach controller */
|
||||
|
||||
t_stat baci_attach (UNIT *uptr, char *cptr)
|
||||
t_stat baci_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat status = SCPE_OK;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_cpu.c: HP 21xx/1000 CPU simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -29,6 +29,7 @@
|
|||
DMA1,DMA2 12607B/12578A/12895A direct memory access controller
|
||||
DCPC1,DCPC2 12897B dual channel port controller
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
31-Dec-14 JDB Corrected devdisp data parameters
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
|
@ -589,14 +590,14 @@ t_stat cpu_reset (DEVICE *dptr);
|
|||
t_stat cpu_boot (int32 unitno, DEVICE *dptr);
|
||||
t_stat mp_reset (DEVICE *dptr);
|
||||
t_stat dma_reset (DEVICE *dptr);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 new_size, char *cptr, void *desc);
|
||||
t_stat cpu_set_model (UNIT *uptr, int32 new_model, char *cptr, void *desc);
|
||||
t_stat cpu_show_model (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_set_opt (UNIT *uptr, int32 option, char *cptr, void *desc);
|
||||
t_stat cpu_clr_opt (UNIT *uptr, int32 option, char *cptr, void *desc);
|
||||
t_stat cpu_set_ldr (UNIT *uptr, int32 enable, char *cptr, void *desc);
|
||||
t_stat cpu_set_idle (UNIT *uptr, int32 option, char *cptr, void *desc);
|
||||
t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 new_size, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_model (UNIT *uptr, int32 new_model, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_model (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat cpu_set_opt (UNIT *uptr, int32 option, CONST char *cptr, void *desc);
|
||||
t_stat cpu_clr_opt (UNIT *uptr, int32 option, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_ldr (UNIT *uptr, int32 enable, CONST char *cptr, void *desc);
|
||||
t_stat cpu_set_idle (UNIT *uptr, int32 option, CONST char *cptr, void *desc);
|
||||
t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
void hp_post_cmd (t_bool from_scp);
|
||||
|
||||
IOHANDLER cpuio;
|
||||
|
@ -3666,7 +3667,7 @@ return is_conflict;
|
|||
- If new size < old size, truncation accepted.
|
||||
*/
|
||||
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 new_size, char *cptr, void *desc)
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 new_size, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 mc = 0;
|
||||
uint32 i;
|
||||
|
@ -3715,7 +3716,7 @@ return SCPE_OK;
|
|||
- Disables loader on 21xx machines.
|
||||
*/
|
||||
|
||||
t_stat cpu_set_model (UNIT *uptr, int32 new_model, char *cptr, void *desc)
|
||||
t_stat cpu_set_model (UNIT *uptr, int32 new_model, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 old_family = UNIT_CPU_FAMILY; /* current CPU type */
|
||||
uint32 new_family = new_model & UNIT_FAMILY_MASK; /* new CPU family */
|
||||
|
@ -3799,9 +3800,9 @@ return result;
|
|||
Loader status is displayed for 21xx models and suppressed for 1000 models.
|
||||
*/
|
||||
|
||||
t_stat cpu_show_model (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_model (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fputs ((char *) desc, st); /* write model name */
|
||||
fputs ((const char *) desc, st); /* write model name */
|
||||
|
||||
if (UNIT_CPU_FAMILY == UNIT_FAMILY_21XX) /* valid only for 21xx */
|
||||
if (fwanxm < MEMSIZE) /* loader area non-existent? */
|
||||
|
@ -3822,7 +3823,7 @@ return SCPE_OK;
|
|||
(FP is required for FFP installation).
|
||||
*/
|
||||
|
||||
t_stat cpu_set_opt (UNIT *uptr, int32 option, char *cptr, void *desc)
|
||||
t_stat cpu_set_opt (UNIT *uptr, int32 option, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 model = CPU_MODEL_INDEX; /* current CPU model index */
|
||||
|
||||
|
@ -3858,7 +3859,7 @@ return SCPE_OK;
|
|||
(FP is required for FFP installation).
|
||||
*/
|
||||
|
||||
t_bool cpu_clr_opt (UNIT *uptr, int32 option, char *cptr, void *desc)
|
||||
t_bool cpu_clr_opt (UNIT *uptr, int32 option, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 model = CPU_MODEL_INDEX; /* current CPU model index */
|
||||
|
||||
|
@ -3904,7 +3905,7 @@ return SCPE_OK;
|
|||
breakpoints within and single-stepping through the loaders.
|
||||
*/
|
||||
|
||||
t_stat cpu_set_ldr (UNIT *uptr, int32 enable, char *cptr, void *desc)
|
||||
t_stat cpu_set_ldr (UNIT *uptr, int32 enable, CONST char *cptr, void *desc)
|
||||
{
|
||||
static BOOT_ROM loader;
|
||||
int32 i;
|
||||
|
@ -3934,20 +3935,20 @@ return SCPE_OK;
|
|||
|
||||
/* Idle enable/disable */
|
||||
|
||||
t_stat cpu_set_idle (UNIT *uptr, int32 option, char *cptr, void *desc)
|
||||
t_stat cpu_set_idle (UNIT *uptr, int32 option, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (option)
|
||||
if (option)
|
||||
return sim_set_idle (uptr, 10, NULL, NULL);
|
||||
else
|
||||
else
|
||||
return sim_clr_idle (uptr, 0, NULL, NULL);
|
||||
}
|
||||
|
||||
|
||||
/* Idle display */
|
||||
|
||||
t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat cpu_show_idle (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
return sim_show_idle (st, uptr, val, desc);
|
||||
return sim_show_idle (st, uptr, val, desc);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_defs.h: HP 2100 simulator definitions
|
||||
|
||||
Copyright (c) 1993-2015, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -23,6 +23,7 @@
|
|||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
19-Jun-15 JDB Conditionally use Global_PC for PC for version 4.0 and on
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy, more IBL constants
|
||||
28-Dec-14 JDB Changed suppression from #pragma GCC to #pragma clang
|
||||
|
@ -79,8 +80,8 @@
|
|||
#define HP2100_DEFS_H_ 0
|
||||
|
||||
|
||||
#include "sim_defs.h"
|
||||
#include "sim_rev.h"
|
||||
#include "sim_defs.h"
|
||||
|
||||
|
||||
#if (SIM_MAJOR >= 4)
|
||||
|
@ -485,10 +486,10 @@ extern void hp_enbdis_pair (DEVICE *ccp, DEVICE *dcp);
|
|||
/* System functions */
|
||||
|
||||
extern const char *fmt_char (uint8 ch);
|
||||
extern t_stat hp_setsc (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat hp_showsc (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat hp_setdev (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat hp_showdev (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat hp_setsc (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat hp_setdev (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat hp_showsc (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_stat hp_showdev (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
extern t_bool hp_fprint_stopped (FILE *st, t_stat reason);
|
||||
|
||||
/* Device-specific functions */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_di.c: HP 12821A HP-IB Disc Interface simulator
|
||||
|
||||
Copyright (c) 2010-2014, J. David Bryan
|
||||
Copyright (c) 2010-2016, J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
DI 12821A Disc Interface
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
Removed redundant global declarations
|
||||
13-Feb-12 JDB First release
|
||||
|
@ -805,7 +806,7 @@ return SCPE_OK;
|
|||
at power-up.
|
||||
*/
|
||||
|
||||
t_stat di_set_address (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat di_set_address (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
t_stat status;
|
||||
uint32 index, new_address;
|
||||
|
@ -849,9 +850,9 @@ return status; /* return the result
|
|||
address (0) or a card's bus address (1).
|
||||
*/
|
||||
|
||||
t_stat di_show_address (FILE *st, UNIT *uptr, int32 value, void *desc)
|
||||
t_stat di_show_address (FILE *st, UNIT *uptr, int32 value, CONST void *desc)
|
||||
{
|
||||
DEVICE *dptr = (DEVICE *) desc;
|
||||
const DEVICE *dptr = (const DEVICE *) desc;
|
||||
|
||||
if (value) /* do we want the card address? */
|
||||
fprintf (st, "address=%d", GET_DIADR (dptr->flags)); /* get it from the device flags */
|
||||
|
@ -880,15 +881,17 @@ return SCPE_OK;
|
|||
will no longer be necessary.
|
||||
*/
|
||||
|
||||
t_stat di_set_cable (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat di_set_cable (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr = (DEVICE *) desc;
|
||||
|
||||
if (value) { /* is the diagnostic cable selected? */
|
||||
((DEVICE *) desc)->flags |= DEV_DIAG; /* set the diagnostic flag */
|
||||
dptr->flags |= DEV_DIAG; /* set the diagnostic flag */
|
||||
dc_dev.flags &= ~DEV_DIS; /* enable the dummy device */
|
||||
dc_dev.flags |= DEV_DIAG; /* and set its flag as well */
|
||||
}
|
||||
else { /* the peripheral cable is selected */
|
||||
((DEVICE *) desc)->flags &= ~DEV_DIAG; /* clear the diagnostic flag */
|
||||
dptr->flags &= ~DEV_DIAG; /* clear the diagnostic flag */
|
||||
dc_dev.flags |= DEV_DIS; /* disable the dummy device */
|
||||
dc_dev.flags &= ~DEV_DIAG; /* and clear its flag */
|
||||
}
|
||||
|
@ -903,9 +906,11 @@ return SCPE_OK;
|
|||
normal use (0) or to another card for diagnostics (1).
|
||||
*/
|
||||
|
||||
t_stat di_show_cable (FILE *st, UNIT *uptr, int32 value, void *desc)
|
||||
t_stat di_show_cable (FILE *st, UNIT *uptr, int32 value, CONST void *desc)
|
||||
{
|
||||
if (((DEVICE *) desc)->flags & DEV_DIAG) /* is the cable connected for diagnostics? */
|
||||
const DEVICE *dptr = (const DEVICE *) desc;
|
||||
|
||||
if (dptr->flags & DEV_DIAG) /* is the cable connected for diagnostics? */
|
||||
fputs ("diagnostic cable", st); /* report it */
|
||||
else /* the cable is connected for device use */
|
||||
fputs ("HP-IB cable", st); /* report the condition */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_di.h: HP 12821A HP-IB Disc Interface simulator definitions
|
||||
|
||||
Copyright (c) 2010-2012, J. David Bryan
|
||||
Copyright (c) 2010-2016, J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
DI 12821A Disc Interface
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
14-Feb-12 JDB First release
|
||||
16-Nov-10 JDB Created DI common definitions file
|
||||
|
||||
|
@ -261,10 +262,11 @@ extern t_stat di_reset (DEVICE *dptr);
|
|||
|
||||
/* Disc interface global SCP routines */
|
||||
|
||||
extern t_stat di_set_address (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
extern t_stat di_show_address (FILE *st, UNIT *uptr, int32 value, void *desc);
|
||||
extern t_stat di_set_cable (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
extern t_stat di_show_cable (FILE *st, UNIT *uptr, int32 value, void *desc);
|
||||
extern t_stat di_set_address (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
extern t_stat di_set_cable (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
|
||||
extern t_stat di_show_address (FILE *st, UNIT *uptr, int32 value, CONST void *desc);
|
||||
extern t_stat di_show_cable (FILE *st, UNIT *uptr, int32 value, CONST void *desc);
|
||||
|
||||
/* Disc interface global bus routines */
|
||||
|
||||
|
@ -291,8 +293,8 @@ extern t_stat ma_boot (int32 unitno, DEVICE *dptr);
|
|||
|
||||
/* Amigo mag tape global SCP routines */
|
||||
|
||||
extern t_stat ma_set_timing (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
extern t_stat ma_show_timing (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
extern t_stat ma_set_timing (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
extern t_stat ma_show_timing (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* Amigo mag tape global bus routines */
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
DA 12821A Disc Interface with Amigo disc drives
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
04-Mar-16 JDB Name changed to "hp2100_disclib" until HP 3000 integration
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Use T_ADDR_FMT with t_addr values for 64-bit compatibility
|
||||
|
@ -467,12 +468,12 @@ static CNTLR_VARS icd_cntlr [DA_UNITS] = /* ICD controllers: */
|
|||
/* Amigo disc global VM routines */
|
||||
|
||||
t_stat da_reset (DEVICE *dptr);
|
||||
t_stat da_attach (UNIT *uptr, char *cptr);
|
||||
t_stat da_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat da_detach (UNIT *uptr);
|
||||
|
||||
/* Amigo disc global SCP routines */
|
||||
|
||||
t_stat da_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat da_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
|
||||
/* Amigo disc local utility routines */
|
||||
|
||||
|
@ -1083,7 +1084,7 @@ return status;
|
|||
validation routine.
|
||||
*/
|
||||
|
||||
t_stat da_attach (UNIT *uptr, char *cptr)
|
||||
t_stat da_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat result;
|
||||
const int32 unit = uptr - da_unit; /* calculate the unit number */
|
||||
|
@ -1253,7 +1254,7 @@ else
|
|||
we match the diagnostic expectation below.
|
||||
*/
|
||||
|
||||
t_stat da_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat da_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
const int32 unit = uptr - da_unit; /* calculate the unit number */
|
||||
const t_bool load = (value != UNIT_UNLOAD); /* true if the heads are loading */
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the authors.
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
04-Mar-16 JDB Name changed to "hp2100_disclib" until HP 3000 integration
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
27-Oct-14 JDB Corrected the relative movement calculation in start_seek
|
||||
|
@ -1658,7 +1659,7 @@ else /* the phase is illegal,
|
|||
retained.
|
||||
*/
|
||||
|
||||
t_stat dl_attach (CVPTR cvptr, UNIT *uptr, char *cptr)
|
||||
t_stat dl_attach (CVPTR cvptr, UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
uint32 id, size;
|
||||
t_stat result;
|
||||
|
@ -1708,7 +1709,7 @@ return detach_unit (uptr); /* and detach the unit
|
|||
the unit capacity is set to the size indicated.
|
||||
*/
|
||||
|
||||
t_stat dl_set_model (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat dl_set_model (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (uptr->flags & UNIT_ATT) /* we cannot alter the disc model */
|
||||
return SCPE_ALATT; /* if the unit is attached */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp_disclib.h: HP MAC/ICD disc controller simulator library definitions
|
||||
|
||||
Copyright (c) 2011-2012, J. David Bryan
|
||||
Copyright (c) 2011-2016, J. David Bryan
|
||||
Copyright (c) 2004-2011, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
|
@ -24,6 +24,7 @@
|
|||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from the authors.
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
24-Oct-12 JDB Changed CNTLR_OPCODE to title case to avoid name clash
|
||||
07-May-12 JDB Added end-of-track delay time as a controller variable
|
||||
02-May-12 JDB First release
|
||||
|
@ -384,6 +385,6 @@ extern const char *dl_phase_name (CNTLR_PHASE phase);
|
|||
|
||||
/* Disc library global VM routines */
|
||||
|
||||
extern t_stat dl_attach (CVPTR cvptr, UNIT *uptr, char *cptr);
|
||||
extern t_stat dl_attach (CVPTR cvptr, UNIT *uptr, CONST char *cptr);
|
||||
extern t_stat dl_detach (CVPTR cvptr, UNIT *uptr);
|
||||
extern t_stat dl_set_model (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
extern t_stat dl_set_model (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_dp.c: HP 2100 12557A/13210A disk simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -26,6 +26,7 @@
|
|||
DP 12557A 2871 disk subsystem
|
||||
13210A 7900 disk subsystem
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
18-Dec-12 MP Now calls sim_activate_time to get remaining seek time
|
||||
|
@ -265,14 +266,14 @@ IOHANDLER dpcio;
|
|||
t_stat dpc_svc (UNIT *uptr);
|
||||
t_stat dpd_svc (UNIT *uptr);
|
||||
t_stat dpc_reset (DEVICE *dptr);
|
||||
t_stat dpc_attach (UNIT *uptr, char *cptr);
|
||||
t_stat dpc_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat dpc_detach (UNIT* uptr);
|
||||
t_stat dpc_boot (int32 unitno, DEVICE *dptr);
|
||||
void dp_god (int32 fnc, int32 drv, int32 time);
|
||||
void dp_goc (int32 fnc, int32 drv, int32 time);
|
||||
t_stat dpc_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat dpc_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* DPD data structures
|
||||
|
||||
|
@ -1041,7 +1042,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat dpc_attach (UNIT *uptr, char *cptr)
|
||||
t_stat dpc_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
@ -1062,7 +1063,7 @@ return detach_unit (uptr); /* detach unit */
|
|||
|
||||
/* Load and unload heads */
|
||||
|
||||
t_stat dpc_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat dpc_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 drv;
|
||||
|
||||
|
@ -1083,7 +1084,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set controller type */
|
||||
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dp_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 i;
|
||||
|
||||
|
@ -1105,7 +1106,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show controller type */
|
||||
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat dp_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (dp_ctype == A13210)
|
||||
fprintf (st, "13210A");
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* hp2100_dq.c: HP 2100 12565A disk simulator
|
||||
|
||||
Copyright (c) 1993-2006, Bill McDermith
|
||||
Copyright (c) 2004-2014 J. David Bryan
|
||||
Copyright (c) 2004-2016 J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -26,6 +26,7 @@
|
|||
|
||||
DQ 12565A 2883 disk system
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
18-Dec-12 MP Now calls sim_activate_time to get remaining seek time
|
||||
|
@ -193,9 +194,9 @@ IOHANDLER dqcio;
|
|||
t_stat dqc_svc (UNIT *uptr);
|
||||
t_stat dqd_svc (UNIT *uptr);
|
||||
t_stat dqc_reset (DEVICE *dptr);
|
||||
t_stat dqc_attach (UNIT *uptr, char *cptr);
|
||||
t_stat dqc_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat dqc_detach (UNIT* uptr);
|
||||
t_stat dqc_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat dqc_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat dqc_boot (int32 unitno, DEVICE *dptr);
|
||||
void dq_god (int32 fnc, int32 drv, int32 time);
|
||||
void dq_goc (int32 fnc, int32 drv, int32 time);
|
||||
|
@ -865,7 +866,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat dqc_attach (UNIT *uptr, char *cptr)
|
||||
t_stat dqc_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
@ -884,7 +885,7 @@ return detach_unit (uptr); /* detach unit */
|
|||
|
||||
/* Load and unload heads */
|
||||
|
||||
t_stat dqc_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat dqc_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if ((uptr->flags & UNIT_ATT) == 0) return SCPE_UNATT; /* must be attached to load */
|
||||
if (value == UNIT_UNLOAD) /* unload heads? */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_dr.c: HP 2100 12606B/12610B fixed head disk/drum simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -26,6 +26,7 @@
|
|||
DR 12606B 2770/2771 fixed head disk
|
||||
12610B 2773/2774/2775 drum
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
10-Feb-12 JDB Deprecated DEVNO in favor of SC
|
||||
|
@ -204,13 +205,13 @@ IOHANDLER drcio;
|
|||
|
||||
t_stat drc_svc (UNIT *uptr);
|
||||
t_stat drc_reset (DEVICE *dptr);
|
||||
t_stat drc_attach (UNIT *uptr, char *cptr);
|
||||
t_stat drc_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat drc_boot (int32 unitno, DEVICE *dptr);
|
||||
int32 dr_incda (int32 trk, int32 sec, int32 ptr);
|
||||
int32 dr_seccntr (double simtime);
|
||||
t_stat dr_set_prot (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat dr_show_prot (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat dr_set_size (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat dr_set_prot (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat dr_show_prot (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat dr_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
|
||||
DEVICE drd_dev, drc_dev;
|
||||
|
||||
|
@ -630,7 +631,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat drc_attach (UNIT *uptr, char *cptr)
|
||||
t_stat drc_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
int32 sz = sz_tab[DR_GETSZ (uptr->flags)];
|
||||
|
||||
|
@ -641,7 +642,7 @@ return attach_unit (uptr, cptr);
|
|||
|
||||
/* Set protected track count */
|
||||
|
||||
t_stat dr_set_prot (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dr_set_prot (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 count;
|
||||
t_stat status;
|
||||
|
@ -677,7 +678,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show protected track count */
|
||||
|
||||
t_stat dr_show_prot (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat dr_show_prot (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf (st, "protected tracks=%d", drc_pcount);
|
||||
return SCPE_OK;
|
||||
|
@ -685,7 +686,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set size routine */
|
||||
|
||||
t_stat dr_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat dr_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 sz;
|
||||
int32 szindex;
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
DS 13037D/13175D disc controller/interface
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
04-Mar-16 JDB Name changed to "hp2100_disclib" until HP 3000 integration
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Use T_ADDR_FMT with t_addr values for 64-bit compatibility
|
||||
|
@ -187,13 +188,13 @@ t_stat ds_service_drive (UNIT *uptr);
|
|||
t_stat ds_service_controller (UNIT *uptr);
|
||||
t_stat ds_service_timer (UNIT *uptr);
|
||||
t_stat ds_reset (DEVICE *dptr);
|
||||
t_stat ds_attach (UNIT *uptr, char *cptr);
|
||||
t_stat ds_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat ds_detach (UNIT *uptr);
|
||||
t_stat ds_boot (int32 unitno, DEVICE *dptr);
|
||||
|
||||
/* MAC disc global SCP routines */
|
||||
|
||||
t_stat ds_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat ds_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
|
||||
/* MAC disc local utility routines */
|
||||
|
||||
|
@ -1033,7 +1034,7 @@ return SCPE_OK;
|
|||
changed, so polling the drives will have no effect.
|
||||
*/
|
||||
|
||||
t_stat ds_attach (UNIT *uptr, char *cptr)
|
||||
t_stat ds_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat result;
|
||||
|
||||
|
@ -1196,7 +1197,7 @@ else
|
|||
status.
|
||||
*/
|
||||
|
||||
t_stat ds_load_unload (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat ds_load_unload (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
const t_bool load = (value != UNIT_UNLOAD); /* true if the heads are loading */
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_ipl.c: HP 2000 interprocessor link simulator
|
||||
|
||||
Copyright (c) 2002-2015, Robert M Supnik
|
||||
Copyright (c) 2002-2016, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
IPLI, IPLO 12875A interprocessor link
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
14-Sep-15 JDB Exposed "ipl_edtdelay" via a REG_HIDDEN to allow user tuning
|
||||
Corrected typos in comments and strings
|
||||
05-Jun-15 JDB Merged 3.x and 4.x versions using conditionals
|
||||
|
@ -126,11 +127,11 @@ IOHANDLER iplio;
|
|||
|
||||
t_stat ipl_svc (UNIT *uptr);
|
||||
t_stat ipl_reset (DEVICE *dptr);
|
||||
t_stat ipl_attach (UNIT *uptr, char *cptr);
|
||||
t_stat ipl_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat ipl_detach (UNIT *uptr);
|
||||
t_stat ipl_boot (int32 unitno, DEVICE *dptr);
|
||||
t_stat ipl_dscln (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ipl_setdiag (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ipl_dscln (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ipl_setdiag (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_bool ipl_check_conn (UNIT *uptr);
|
||||
|
||||
/* Debug flags table */
|
||||
|
@ -585,7 +586,7 @@ return SCPE_OK;
|
|||
attach -c - connect to ip address and port
|
||||
*/
|
||||
|
||||
t_stat ipl_attach (UNIT *uptr, char *cptr)
|
||||
t_stat ipl_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
SOCKET newsock;
|
||||
char *tptr = NULL;
|
||||
|
@ -752,7 +753,7 @@ return SCPE_OK;
|
|||
|
||||
/* Disconnect routine */
|
||||
|
||||
t_stat ipl_dscln (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ipl_dscln (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (cptr)
|
||||
return SCPE_ARG;
|
||||
|
@ -768,7 +769,7 @@ return SCPE_OK;
|
|||
|
||||
/* Diagnostic/normal mode routine */
|
||||
|
||||
t_stat ipl_setdiag (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ipl_setdiag (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (val) {
|
||||
ipli_unit.flags = ipli_unit.flags | UNIT_DIAG;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_lps.c: HP 2100 12653A/2767 line printer simulator
|
||||
|
||||
Copyright (c) 1993-2012, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -26,6 +26,7 @@
|
|||
LPS 12653A 2767 line printer
|
||||
12566B microcircuit interface with loopback diagnostic connector
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
10-Feb-12 JDB Deprecated DEVNO in favor of SC
|
||||
28-Mar-11 JDB Tidied up signal handling
|
||||
26-Oct-10 JDB Changed I/O signal handler for revised signal model
|
||||
|
@ -210,12 +211,12 @@ IOHANDLER lpsio;
|
|||
|
||||
t_stat lps_svc (UNIT *uptr);
|
||||
t_stat lps_reset (DEVICE *dptr);
|
||||
t_stat lps_restart (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat lps_poweroff (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat lps_poweron (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat lps_attach (UNIT *uptr, char *cptr);
|
||||
t_stat lps_set_timing (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat lps_show_timing (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat lps_restart (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat lps_poweroff (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat lps_poweron (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat lps_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat lps_set_timing (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat lps_show_timing (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
/* LPS data structures
|
||||
|
||||
|
@ -537,7 +538,7 @@ return SCPE_OK;
|
|||
original I/O request.
|
||||
*/
|
||||
|
||||
t_stat lps_restart (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat lps_restart (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (lps.control && !sim_is_active (uptr))
|
||||
sim_activate (uptr, 0); /* reschedule I/O */
|
||||
|
@ -546,7 +547,7 @@ return SCPE_OK;
|
|||
|
||||
/* Printer power off */
|
||||
|
||||
t_stat lps_poweroff (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat lps_poweroff (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
lps_power = LPS_OFF; /* change state */
|
||||
if (DEBUG_PRS (lps_dev)) fputs (">>LPS set: Power state is OFF\n", sim_deb);
|
||||
|
@ -555,7 +556,7 @@ return SCPE_OK;
|
|||
|
||||
/* Printer power on */
|
||||
|
||||
t_stat lps_poweron (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat lps_poweron (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (lps_unit.flags & UNIT_DIAG) { /* diag mode? */
|
||||
lps_power = LPS_ON; /* no delay */
|
||||
|
@ -575,7 +576,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat lps_attach (UNIT *uptr, char *cptr)
|
||||
t_stat lps_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
lps_ccnt = lps_lcnt = 0; /* top of form */
|
||||
lps_restart (uptr, 0, NULL, NULL); /* restart I/O if hung */
|
||||
|
@ -587,7 +588,7 @@ return attach_unit (uptr, cptr);
|
|||
Realistic timing is factored, depending on CPU model, to account for the
|
||||
timing method employed by the diagnostic. */
|
||||
|
||||
t_stat lps_set_timing (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat lps_set_timing (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
uint32 i, factor = 1;
|
||||
|
||||
|
@ -603,7 +604,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show printer timing */
|
||||
|
||||
t_stat lps_show_timing (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat lps_show_timing (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (lps_timing) fputs ("fast timing", st);
|
||||
else fputs ("realistic timing", st);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_lpt.c: HP 2100 12845B line printer simulator
|
||||
|
||||
Copyright (c) 1993-2012, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
LPT 12845B 2607 line printer
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
10-Feb-12 JDB Deprecated DEVNO in favor of SC
|
||||
28-Mar-11 JDB Tidied up signal handling
|
||||
26-Oct-10 JDB Changed I/O signal handler for revised signal model
|
||||
|
@ -112,8 +113,8 @@ IOHANDLER lptio;
|
|||
|
||||
t_stat lpt_svc (UNIT *uptr);
|
||||
t_stat lpt_reset (DEVICE *dptr);
|
||||
t_stat lpt_restart (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat lpt_attach (UNIT *uptr, char *cptr);
|
||||
t_stat lpt_restart (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat lpt_attach (UNIT *uptr, CONST char *cptr);
|
||||
|
||||
/* LPT data structures
|
||||
|
||||
|
@ -332,7 +333,7 @@ return SCPE_OK;
|
|||
original I/O request.
|
||||
*/
|
||||
|
||||
t_stat lpt_restart (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat lpt_restart (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (lpt.control && !sim_is_active (uptr))
|
||||
sim_activate (uptr, 0); /* reschedule I/O */
|
||||
|
@ -342,7 +343,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat lpt_attach (UNIT *uptr, char *cptr)
|
||||
t_stat lpt_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
lpt_lcnt = 0; /* top of form */
|
||||
lpt_restart (uptr, 0, NULL, NULL); /* restart I/O if hung */
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_mpx.c: HP 12792C eight-channel asynchronous multiplexer simulator
|
||||
|
||||
Copyright (c) 2008-2014, J. David Bryan
|
||||
Copyright (c) 2008-2016, J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
MPX 12792C 8-channel multiplexer card
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
10-Jan-13 MP Added DEV_MUX and additional DEVICE field values
|
||||
28-Dec-12 JDB Allow direct attach to the poll unit only when restoring
|
||||
|
@ -594,11 +595,11 @@ t_stat mpx_line_svc (UNIT *uptr);
|
|||
t_stat mpx_cntl_svc (UNIT *uptr);
|
||||
t_stat mpx_poll_svc (UNIT *uptr);
|
||||
t_stat mpx_reset (DEVICE *dptr);
|
||||
t_stat mpx_attach (UNIT *uptr, char *cptr);
|
||||
t_stat mpx_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat mpx_detach (UNIT *uptr);
|
||||
t_stat mpx_status (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat mpx_set_frev (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat mpx_show_frev (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat mpx_status (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat mpx_set_frev (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat mpx_show_frev (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
|
||||
/* MPX data structures.
|
||||
|
@ -2074,7 +2075,7 @@ return SCPE_OK;
|
|||
devices in the simulator to facilitate idling.
|
||||
*/
|
||||
|
||||
t_stat mpx_attach (UNIT *uptr, char *cptr)
|
||||
t_stat mpx_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat status = SCPE_OK;
|
||||
|
||||
|
@ -2129,7 +2130,7 @@ return status;
|
|||
|
||||
/* Show multiplexer status */
|
||||
|
||||
t_stat mpx_status (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat mpx_status (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (mpx_poll.flags & UNIT_ATT) /* attached to socket? */
|
||||
fprintf (st, "attached to port %s, ", mpx_poll.filename);
|
||||
|
@ -2148,7 +2149,7 @@ return SCPE_OK;
|
|||
will enable changing the firmware revision.
|
||||
*/
|
||||
|
||||
t_stat mpx_set_frev (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat mpx_set_frev (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if ((cptr == NULL) || /* no parameter? */
|
||||
(*cptr < 'C') || (*cptr > 'D') || /* or not C or D? */
|
||||
|
@ -2168,7 +2169,7 @@ else {
|
|||
|
||||
/* Show firmware revision */
|
||||
|
||||
t_stat mpx_show_frev (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat mpx_show_frev (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (mpx_dev.flags & DEV_REV_D)
|
||||
fputs ("12792D", st);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_ms.c: HP 2100 13181A/13183A magnetic tape simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -26,6 +26,7 @@
|
|||
MS 13181A 7970B 800bpi nine track magnetic tape
|
||||
13183A 7970E 1600bpi nine track magnetic tape
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Use T_ADDR_FMT with t_addr values for 64-bit compatibility
|
||||
Added casts for explicit downward conversions
|
||||
|
@ -235,18 +236,18 @@ IOHANDLER mscio;
|
|||
|
||||
t_stat msc_svc (UNIT *uptr);
|
||||
t_stat msc_reset (DEVICE *dptr);
|
||||
t_stat msc_attach (UNIT *uptr, char *cptr);
|
||||
t_stat msc_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat msc_detach (UNIT *uptr);
|
||||
t_stat msc_online (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
t_stat msc_online (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
t_stat msc_boot (int32 unitno, DEVICE *dptr);
|
||||
t_stat ms_write_gap (UNIT *uptr);
|
||||
t_stat ms_map_err (UNIT *uptr, t_stat st);
|
||||
t_stat ms_settype (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ms_showtype (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat ms_set_timing (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ms_show_timing (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat ms_set_reelsize (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat ms_show_reelsize (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat ms_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ms_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat ms_set_timing (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ms_show_timing (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
t_stat ms_set_reelsize (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat ms_show_reelsize (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
void ms_config_timing (void);
|
||||
char *ms_cmd_name (uint32 cmd);
|
||||
t_stat ms_clear (void);
|
||||
|
@ -1061,7 +1062,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat msc_attach (UNIT *uptr, char *cptr)
|
||||
t_stat msc_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
@ -1082,7 +1083,7 @@ return sim_tape_detach (uptr); /* detach unit */
|
|||
|
||||
/* Online routine */
|
||||
|
||||
t_stat msc_online (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
t_stat msc_online (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (uptr->flags & UNIT_ATT) return SCPE_OK;
|
||||
else return SCPE_UNATT;
|
||||
|
@ -1101,7 +1102,7 @@ for (i = 0; i < (sizeof (timers) / sizeof (timers[0])); i++)
|
|||
|
||||
/* Set controller timing */
|
||||
|
||||
t_stat ms_set_timing (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ms_set_timing (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if ((val < 0) || (val > 1) || (cptr != NULL)) return SCPE_ARG;
|
||||
ms_timing = val;
|
||||
|
@ -1111,7 +1112,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show controller timing */
|
||||
|
||||
t_stat ms_show_timing (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat ms_show_timing (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (ms_timing) fputs ("fast timing", st);
|
||||
else fputs ("realistic timing", st);
|
||||
|
@ -1120,7 +1121,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set controller type */
|
||||
|
||||
t_stat ms_settype (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ms_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 i;
|
||||
|
||||
|
@ -1139,7 +1140,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show controller type */
|
||||
|
||||
t_stat ms_showtype (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat ms_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (ms_ctype == A13183)
|
||||
fprintf (st, "13183A");
|
||||
|
@ -1153,7 +1154,7 @@ return SCPE_OK;
|
|||
val = 0 -> SET MSCn CAPACITY=n
|
||||
val = 1 -> SET MSCn REEL=n */
|
||||
|
||||
t_stat ms_set_reelsize (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat ms_set_reelsize (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 reel;
|
||||
t_stat status;
|
||||
|
@ -1198,7 +1199,7 @@ return SCPE_OK;
|
|||
val = 0 -> SHOW MSC or SHOW MSCn or SHOW MSCn CAPACITY
|
||||
val = 1 -> SHOW MSCn REEL */
|
||||
|
||||
t_stat ms_show_reelsize (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat ms_show_reelsize (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
t_stat status = SCPE_OK;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_mt.c: HP 2100 12559A magnetic tape simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
MT 12559A 3030 nine track magnetic tape
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
10-Jan-13 MP Added DEV_TAPE to DEVICE flags
|
||||
09-May-12 JDB Separated assignments from conditional expressions
|
||||
|
@ -145,7 +146,7 @@ IOHANDLER mtcio;
|
|||
|
||||
t_stat mtc_svc (UNIT *uptr);
|
||||
t_stat mt_reset (DEVICE *dptr);
|
||||
t_stat mtc_attach (UNIT *uptr, char *cptr);
|
||||
t_stat mtc_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat mtc_detach (UNIT *uptr);
|
||||
t_stat mt_map_err (UNIT *uptr, t_stat st);
|
||||
t_stat mt_clear (void);
|
||||
|
@ -678,7 +679,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine */
|
||||
|
||||
t_stat mtc_attach (UNIT *uptr, char *cptr)
|
||||
t_stat mtc_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat r;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_mux.c: HP 2100 12920A terminal multiplexor simulator
|
||||
|
||||
Copyright (c) 2002-2015, Robert M Supnik
|
||||
Copyright (c) 2002-2016, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
MUX,MUXL,MUXM 12920A terminal multiplexor
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
29-Jun-15 JDB Corrected typo in RTS macro definition
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
10-Jan-13 MP Added DEV_MUX and additional DEVICE field values
|
||||
|
@ -328,9 +329,9 @@ IOHANDLER muxcio;
|
|||
t_stat muxi_svc (UNIT *uptr);
|
||||
t_stat muxo_svc (UNIT *uptr);
|
||||
t_stat muxc_reset (DEVICE *dptr);
|
||||
t_stat mux_attach (UNIT *uptr, char *cptr);
|
||||
t_stat mux_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat mux_detach (UNIT *uptr);
|
||||
t_stat mux_setdiag (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat mux_setdiag (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
|
||||
|
||||
/* MUXL/MUXU device information block.
|
||||
|
@ -1339,7 +1340,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach master unit */
|
||||
|
||||
t_stat mux_attach (UNIT *uptr, char *cptr)
|
||||
t_stat mux_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat status = SCPE_OK;
|
||||
|
||||
|
@ -1390,7 +1391,7 @@ return r;
|
|||
here.)
|
||||
*/
|
||||
|
||||
t_stat mux_setdiag (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat mux_setdiag (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 ln;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_pif.c: HP 12620A/12936A privileged interrupt fence simulator
|
||||
|
||||
Copyright (c) 2008-2012, J. David Bryan
|
||||
Copyright (c) 2008-2016, J. David Bryan
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -25,6 +25,7 @@
|
|||
|
||||
PIF 12620A/12936A privileged interrupt fence
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
10-Feb-12 JDB Deprecated DEVNO in favor of SC
|
||||
28-Mar-11 JDB Tidied up signal handling
|
||||
26-Oct-10 JDB Changed I/O signal handler for revised signal model
|
||||
|
@ -118,8 +119,8 @@ struct {
|
|||
IOHANDLER pif_io;
|
||||
|
||||
t_stat pif_reset (DEVICE *dptr);
|
||||
t_stat pif_set_card (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat pif_show_card (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
t_stat pif_set_card (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat pif_show_card (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
|
||||
/* PIF data structures.
|
||||
|
@ -347,7 +348,7 @@ return SCPE_OK;
|
|||
val == 1 --> set to 12620A (RTE PIF)
|
||||
*/
|
||||
|
||||
t_stat pif_set_card (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat pif_set_card (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
if ((val < 0) || (val > 1) || (cptr != NULL)) /* sanity check */
|
||||
return SCPE_ARG; /* bad argument */
|
||||
|
@ -363,7 +364,7 @@ return SCPE_OK;
|
|||
|
||||
/* Show card type */
|
||||
|
||||
t_stat pif_show_card (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
t_stat pif_show_card (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
if (pif_dev.flags & DEV_12936)
|
||||
fputs ("12936A", st);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_stddev.c: HP2100 standard devices simulator
|
||||
|
||||
Copyright (c) 1993-2014, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -28,6 +28,7 @@
|
|||
TTY 12531C buffered teleprinter interface
|
||||
TBG 12539C time base generator
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
30-Dec-14 JDB Added S-register parameters to ibl_copy
|
||||
24-Dec-14 JDB Added casts for explicit downward conversions
|
||||
28-Dec-12 JDB Allocate the TBG logical name during power-on reset
|
||||
|
@ -188,7 +189,7 @@ DEVICE ptr_dev, ptp_dev, tty_dev, clk_dev;
|
|||
|
||||
IOHANDLER ptrio;
|
||||
t_stat ptr_svc (UNIT *uptr);
|
||||
t_stat ptr_attach (UNIT *uptr, char *cptr);
|
||||
t_stat ptr_attach (UNIT *uptr, CONST char *cptr);
|
||||
t_stat ptr_reset (DEVICE *dptr);
|
||||
t_stat ptr_boot (int32 unitno, DEVICE *dptr);
|
||||
|
||||
|
@ -200,8 +201,8 @@ IOHANDLER ttyio;
|
|||
t_stat tti_svc (UNIT *uptr);
|
||||
t_stat tto_svc (UNIT *uptr);
|
||||
t_stat tty_reset (DEVICE *dptr);
|
||||
t_stat tty_set_opt (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat tty_set_alf (UNIT *uptr, int32 val, char *cptr, void *desc);
|
||||
t_stat tty_set_opt (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat tty_set_alf (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||
t_stat tto_out (int32 c);
|
||||
t_stat ttp_out (int32 c);
|
||||
|
||||
|
@ -538,7 +539,7 @@ return SCPE_OK;
|
|||
|
||||
/* Attach routine - clear the trailer counter */
|
||||
|
||||
t_stat ptr_attach (UNIT *uptr, char *cptr)
|
||||
t_stat ptr_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
ptr_trlcnt = 0;
|
||||
return attach_unit (uptr, cptr);
|
||||
|
@ -991,7 +992,7 @@ return SCPE_OK;
|
|||
}
|
||||
|
||||
|
||||
t_stat tty_set_opt (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat tty_set_opt (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 u = uptr - tty_unit;
|
||||
|
||||
|
@ -1003,7 +1004,7 @@ return SCPE_OK;
|
|||
}
|
||||
|
||||
|
||||
t_stat tty_set_alf (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
t_stat tty_set_alf (UNIT *uptr, int32 val, CONST char *cptr, void *desc)
|
||||
{
|
||||
int32 u = uptr - tty_unit;
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* hp2100_sys.c: HP 2100 simulator interface
|
||||
|
||||
Copyright (c) 1993-2015, Robert M. Supnik
|
||||
Copyright (c) 1993-2016, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
@ -23,6 +23,7 @@
|
|||
used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
19-Jun-15 JDB Conditionally use Fprintf function for version 4.x and on
|
||||
18-Jun-15 JDB Added cast to int for isspace parameter
|
||||
24-Dec-14 JDB Added casts to t_addr and t_value for 64-bit compatibility
|
||||
|
@ -67,7 +68,6 @@
|
|||
#include <ctype.h>
|
||||
#include "hp2100_defs.h"
|
||||
#include "hp2100_cpu.h"
|
||||
#include "sim_rev.h"
|
||||
|
||||
|
||||
#if (SIM_MAJOR >= 4)
|
||||
|
@ -208,7 +208,7 @@ if ((c2 = fgetc (fileref)) == EOF) return -1;
|
|||
return ((c1 & 0377) << 8) | (c2 & 0377);
|
||||
}
|
||||
|
||||
t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag)
|
||||
t_stat sim_load (FILE *fileref, CONST char *cptr, CONST char *fnam, int flag)
|
||||
{
|
||||
int32 origin, csum, zerocnt, count, word, i;
|
||||
|
||||
|
@ -584,7 +584,7 @@ return SCPE_ARG;
|
|||
-1 if error
|
||||
*/
|
||||
|
||||
static int32 get_addr (char *cptr)
|
||||
static int32 get_addr (CONST char *cptr)
|
||||
{
|
||||
int32 d;
|
||||
t_stat r;
|
||||
|
@ -614,11 +614,12 @@ return d;
|
|||
status = error status
|
||||
*/
|
||||
|
||||
t_stat parse_sym (char *iptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
t_stat parse_sym (CONST char *iptr, t_addr addr, UNIT *uptr, t_value *val, int32 sw)
|
||||
{
|
||||
int32 cflag, d, i, j, k, clef, tbits;
|
||||
t_stat r, ret;
|
||||
char *cptr, gbuf[CBUFSIZE];
|
||||
CONST char *cptr;
|
||||
char gbuf[CBUFSIZE];
|
||||
|
||||
cflag = (uptr == NULL) || (uptr == &cpu_unit);
|
||||
while (isspace ((int) *iptr)) iptr++; /* absorb spaces */
|
||||
|
@ -825,7 +826,7 @@ else { /* printable character *
|
|||
|
||||
/* Set select code */
|
||||
|
||||
t_stat hp_setsc (UNIT *uptr, int32 num, char *cptr, void *desc)
|
||||
t_stat hp_setsc (UNIT *uptr, int32 num, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE *dptr = (DEVICE *) desc;
|
||||
DIB *dibptr;
|
||||
|
@ -860,9 +861,9 @@ return SCPE_OK;
|
|||
|
||||
/* Show select code */
|
||||
|
||||
t_stat hp_showsc (FILE *st, UNIT *uptr, int32 num, void *desc)
|
||||
t_stat hp_showsc (FILE *st, UNIT *uptr, int32 num, CONST void *desc)
|
||||
{
|
||||
DEVICE *dptr = (DEVICE *) desc;
|
||||
const DEVICE *dptr = (const DEVICE *) desc;
|
||||
DIB *dibptr;
|
||||
int32 i;
|
||||
|
||||
|
@ -885,7 +886,7 @@ return SCPE_OK;
|
|||
|
||||
/* Set device number */
|
||||
|
||||
t_stat hp_setdev (UNIT *uptr, int32 num, char *cptr, void *desc)
|
||||
t_stat hp_setdev (UNIT *uptr, int32 num, CONST char *cptr, void *desc)
|
||||
{
|
||||
return hp_setsc (uptr, num, cptr, desc);
|
||||
}
|
||||
|
@ -893,7 +894,7 @@ return hp_setsc (uptr, num, cptr, desc);
|
|||
|
||||
/* Show device number */
|
||||
|
||||
t_stat hp_showdev (FILE *st, UNIT *uptr, int32 num, void *desc)
|
||||
t_stat hp_showdev (FILE *st, UNIT *uptr, int32 num, CONST void *desc)
|
||||
{
|
||||
t_stat result;
|
||||
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
ATCD,ATCC HP 30032B Asynchronous Terminal Controller
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
26-Aug-15 JDB First release version
|
||||
31-Jul-15 JDB Passes the terminal control diagnostic (D438A)
|
||||
11-Aug-14 JDB Passes the terminal data diagnostic (D427A)
|
||||
|
@ -754,15 +755,15 @@ static uint8 cntl_param [TERM_COUNT]; /* ES2/ES1/S2/S1 parameter RAM *
|
|||
static CNTLR_INTRF atcd_interface;
|
||||
static CNTLR_INTRF atcc_interface;
|
||||
|
||||
static t_stat atc_set_endis (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat atc_set_mode (UNIT *uptr, int32 value, char *cptr, void *desc);
|
||||
static t_stat atc_show_mode (FILE *st, UNIT *uptr, int32 value, void *desc);
|
||||
static t_stat atc_show_status (FILE *st, UNIT *uptr, int32 value, void *desc);
|
||||
static t_stat atc_set_endis (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat atc_set_mode (UNIT *uptr, int32 value, CONST char *cptr, void *desc);
|
||||
static t_stat atc_show_mode (FILE *st, UNIT *uptr, int32 value, CONST void *desc);
|
||||
static t_stat atc_show_status (FILE *st, UNIT *uptr, int32 value, CONST void *desc);
|
||||
|
||||
static t_stat atcd_reset (DEVICE *dptr);
|
||||
static t_stat atcc_reset (DEVICE *dptr);
|
||||
|
||||
static t_stat atcd_attach (UNIT *uptr, char *cptr);
|
||||
static t_stat atcd_attach (UNIT *uptr, CONST char *cptr);
|
||||
static t_stat atcd_detach (UNIT *uptr);
|
||||
|
||||
|
||||
|
@ -1550,7 +1551,7 @@ return IORETURN (outbound_signals, outbound_value); /* return the outbound s
|
|||
as appropriate.
|
||||
*/
|
||||
|
||||
static t_stat atc_set_endis (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
static t_stat atc_set_endis (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
if (value) /* if this is an ENABLE request */
|
||||
if (atcd_dev.flags & DEV_DIS) { /* then if the device is disabled */
|
||||
|
@ -1593,7 +1594,7 @@ return atcd_reset (&atcd_dev); /* reset the TDI and res
|
|||
the internal loopback connections from the send to the receive channels.
|
||||
*/
|
||||
|
||||
static t_stat atc_set_mode (UNIT *uptr, int32 value, char *cptr, void *desc)
|
||||
static t_stat atc_set_mode (UNIT *uptr, int32 value, CONST char *cptr, void *desc)
|
||||
{
|
||||
DEVICE * const dptr = (DEVICE *) desc; /* a pointer to the device */
|
||||
|
||||
|
@ -1634,9 +1635,9 @@ return SCPE_OK;
|
|||
the TCI. The unit pointer is not used.
|
||||
*/
|
||||
|
||||
static t_stat atc_show_mode (FILE *st, UNIT *uptr, int32 value, void *desc)
|
||||
static t_stat atc_show_mode (FILE *st, UNIT *uptr, int32 value, CONST void *desc)
|
||||
{
|
||||
DEVICE * const dptr = (DEVICE *) desc; /* a pointer to the device */
|
||||
const DEVICE * const dptr = (const DEVICE *) desc; /* a pointer to the device */
|
||||
|
||||
if (value == 0) /* if this is the TDI */
|
||||
if (dptr->flags & DEV_REALTIME) /* then if the real-time flag is set */
|
||||
|
@ -1661,7 +1662,7 @@ return SCPE_OK;
|
|||
and value parameters are not used.
|
||||
*/
|
||||
|
||||
static t_stat atc_show_status (FILE *st, UNIT *uptr, int32 value, void *desc)
|
||||
static t_stat atc_show_status (FILE *st, UNIT *uptr, int32 value, CONST void *desc)
|
||||
{
|
||||
if (poll_unit.flags & UNIT_ATT) /* if the poll unit is attached */
|
||||
fprintf (st, "attached to port %s, ", /* then report it */
|
||||
|
@ -1779,7 +1780,7 @@ return status;
|
|||
saved session via the RESTORE command.
|
||||
*/
|
||||
|
||||
static t_stat atcd_attach (UNIT *uptr, char *cptr)
|
||||
static t_stat atcd_attach (UNIT *uptr, CONST char *cptr)
|
||||
{
|
||||
t_stat status;
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
CPU HP 3000 Series III Central Processing Unit
|
||||
|
||||
13-May-16 JDB Modified for revised SCP API function parameter types
|
||||
11-Mar-16 JDB Fixed byte EA calculations with negative indexes
|
||||
22-Dec-15 JDB First release version
|
||||
01-Apr-15 JDB First successful run of MPE-V/R through account login
|
||||
|
@ -934,13 +935,13 @@ static t_stat cpu_reset (DEVICE *dptr);
|
|||
static t_stat cpu_examine (t_value *eval_array, t_addr address, UNIT *uptr, int32 switches);
|
||||
static t_stat cpu_deposit (t_value value, t_addr address, UNIT *uptr, int32 switches);
|
||||
|
||||
static t_stat set_stops (UNIT *uptr, int32 option, char *cptr, void *desc);
|
||||
static t_stat set_size (UNIT *uptr, int32 new_size, char *cptr, void *desc);
|
||||
static t_stat set_model (UNIT *uptr, int32 new_model, char *cptr, void *desc);
|
||||
static t_stat set_option (UNIT *uptr, int32 new_option, char *cptr, void *desc);
|
||||
static t_stat set_stops (UNIT *uptr, int32 option, CONST char *cptr, void *desc);
|
||||
static t_stat set_size (UNIT *uptr, int32 new_size, CONST char *cptr, void *desc);
|
||||
static t_stat set_model (UNIT *uptr, int32 new_model, CONST char *cptr, void *desc);
|
||||
static t_stat set_option (UNIT *uptr, int32 new_option, CONST char *cptr, void *desc);
|
||||
|
||||
static t_stat show_stops (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat show_speed (FILE *st, UNIT *uptr, int32 val, void *desc);
|
||||
static t_stat show_stops (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
static t_stat show_speed (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||
|
||||
|
||||
/* CPU local utility routine declarations */
|
||||
|
@ -3286,7 +3287,7 @@ else { /* otherwise */
|
|||
execution only.
|
||||
*/
|
||||
|
||||
static t_stat set_stops (UNIT *uptr, int32 option, char *cptr, void *desc)
|
||||
static t_stat set_stops (UNIT *uptr, int32 option, CONST char *cptr, void *desc)
|
||||
{
|
||||
char gbuf [CBUFSIZE];
|
||||
uint32 stop;
|
||||
|
@ -3352,9 +3353,9 @@ return SCPE_OK; /* the stops were succes
|
|||
explicitly zeroed.
|
||||
*/
|
||||
|
||||
static t_stat set_size (UNIT *uptr, int32 new_size, char *cptr, void *desc)
|
||||
static t_stat set_size (UNIT *uptr, int32 new_size, CONST char *cptr, void *desc)
|
||||
{
|
||||
static const char confirm [] = "Really truncate memory [N]?";
|
||||
static CONST char confirm [] = "Really truncate memory [N]?";
|
||||
|
||||
const uint32 model = CPU_MODEL (uptr->flags); /* the current CPU model index */
|
||||
uint32 address;
|
||||
|
@ -3399,7 +3400,7 @@ return SCPE_OK; /* confirm that the chan
|
|||
initial CPU model. The current memory size will be 0 when this call is made.
|
||||
*/
|
||||
|
||||
static t_stat set_model (UNIT *uptr, int32 new_model, char *cptr, void *desc)
|
||||
static t_stat set_model (UNIT *uptr, int32 new_model, CONST char *cptr, void *desc)
|
||||
{
|
||||
const uint32 new_index = CPU_MODEL (new_model); /* the new index into the CPU features table */
|
||||
uint32 new_memsize;
|
||||
|
@ -3436,7 +3437,7 @@ return status; /* return the validation
|
|||
rejected.
|
||||
*/
|
||||
|
||||
static t_stat set_option (UNIT *uptr, int32 new_option, char *cptr, void *desc)
|
||||
static t_stat set_option (UNIT *uptr, int32 new_option, CONST char *cptr, void *desc)
|
||||
{
|
||||
const uint32 model = CPU_MODEL (uptr->flags); /* the current CPU model index */
|
||||
|
||||
|
@ -3460,7 +3461,7 @@ else /* otherwise */
|
|||
newline to the output before returning.
|
||||
*/
|
||||
|
||||
static t_stat show_stops (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
static t_stat show_stops (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
uint32 stop;
|
||||
t_bool need_spacer = FALSE;
|
||||
|
@ -3499,7 +3500,7 @@ return SCPE_OK; /* report the success of
|
|||
(which suspends the normal fetch/execute instruction cycle).
|
||||
*/
|
||||
|
||||
static t_stat show_speed (FILE *st, UNIT *uptr, int32 val, void *desc)
|
||||
static t_stat show_speed (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||
{
|
||||
fprintf (st, "Simulation speed = %dx\n", cpu_speed); /* display the current CPU speed */
|
||||
return SCPE_OK; /* and report success */
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue