From 7dc585d4793339c8f792592b60b957478220c9d4 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sat, 9 Sep 2017 13:56:50 -0700 Subject: [PATCH] HP3000: HP 3000 release 6 See HP3000/hp3000_release.txt for details of the release --- HP3000/hp3000_atc.c | 11 +- HP3000/hp3000_cpu.c | 32 ++-- HP3000/hp3000_defs.h | 10 +- HP3000/hp3000_ds.c | 5 +- HP3000/hp3000_lp.c | 283 ++++++++++++++++++------------ HP3000/hp3000_ms.c | 5 +- HP3000/hp3000_release.txt | 103 ++++++++++- HP3000/hp3000_sel.c | 7 +- HP3000/hp3000_sys.c | 355 ++++++++++++++++++++++++-------------- HP3000/hp_disclib.h | 5 +- HP3000/hp_tapelib.h | 5 +- doc/hp3000_doc.doc | Bin 371200 -> 393216 bytes 12 files changed, 545 insertions(+), 276 deletions(-) diff --git a/HP3000/hp3000_atc.c b/HP3000/hp3000_atc.c index 3d99590e..a49ef9bd 100644 --- a/HP3000/hp3000_atc.c +++ b/HP3000/hp3000_atc.c @@ -1,6 +1,6 @@ /* hp3000_atc.c: HP 3000 30032B Asynchronous Terminal Controller simulator - Copyright (c) 2014-2016, J. David Bryan + Copyright (c) 2014-2017, J. David Bryan Copyright (c) 2002-2012, Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a copy @@ -26,6 +26,7 @@ ATCD,ATCC HP 30032B Asynchronous Terminal Controller + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 16-Sep-16 JDB Fixed atcd_detach to skip channel cancel if SIM_SW_REST 12-Sep-16 JDB Changed DIB register macro usage from SRDATA to DIB_REG 20-Jul-16 JDB Corrected poll_unit "wait" field initializer. @@ -926,17 +927,17 @@ static REG atcd_reg [] = { /* ------ ------ ------------------- ----- ----- ------ ---------------- --------------- */ { ORDATA (CNTL, tdi_control_word, 16), REG_FIT }, { ORDATA (STAT, tdi_status_word, 16), REG_FIT }, - { ORDATA (READ, tdi_read_word, 16), REG_A | REG_FIT }, - { ORDATA (WRITE, tdi_write_word, 16), REG_A | REG_FIT }, + { ORDATA (READ, tdi_read_word, 16), REG_X | REG_FIT }, + { ORDATA (WRITE, tdi_write_word, 16), REG_X | REG_FIT }, { FLDATA (FLAG, tdi_data_flag, 0) }, { FLDATA (MASK, tdi_interrupt_mask, 0) }, { DRDATA (FTIME, fast_data_time, 24), PV_LEFT }, { BRDATA (RSTAT, recv_status, 8, 16, RECV_CHAN_COUNT) }, { BRDATA (RPARM, recv_param, 8, 16, RECV_CHAN_COUNT) }, - { BRDATA (RBUFR, recv_buffer, 8, 16, RECV_CHAN_COUNT), REG_A }, + { BRDATA (RBUFR, recv_buffer, 8, 16, RECV_CHAN_COUNT), REG_X }, { BRDATA (SSTAT, send_status, 8, 16, SEND_CHAN_COUNT) }, { BRDATA (SPARM, send_param, 8, 16, SEND_CHAN_COUNT) }, - { BRDATA (SBUFR, send_buffer, 8, 16, SEND_CHAN_COUNT), REG_A }, + { BRDATA (SBUFR, send_buffer, 8, 16, SEND_CHAN_COUNT), REG_X }, { FLDATA (POLL, atc_is_polling, 0), REG_HRO }, DIB_REGS (atcd_dib), diff --git a/HP3000/hp3000_cpu.c b/HP3000/hp3000_cpu.c index 60914314..fe900d0a 100644 --- a/HP3000/hp3000_cpu.c +++ b/HP3000/hp3000_cpu.c @@ -25,6 +25,8 @@ CPU HP 3000 Series III Central Processing Unit + 05-Sep-17 JDB Removed the -B (binary display) option; use -2 instead + Changed REG_A (permit any symbolic override) to REG_X 19-Jan-17 JDB Added comments describing the OPND and EXEC trace options 29_Dec-16 JDB Changed the status mnemonic flag from REG_S to REG_T 07-Nov-16 JDB Renamed cpu_byte_to_word_ea to cpu_byte_ea @@ -1024,8 +1026,7 @@ UNIT cpu_unit [] = { modification. User flags describe the permitted and default display formats, as follows: - - REG_A permits any display - - REG_B permits binary display + - REG_X permits any symbolic display - REG_M defaults to CPU instruction mnemonic display - REG_T defaults to CPU status mnemonic display @@ -1058,15 +1059,15 @@ static REG cpu_reg [] = { { ORDATA (SR, SR, 3), REG_FIT }, /* stack register counter */ { ORDATA (Z, Z, 16), REG_FIT }, /* stack limit register */ { ORDATA (SBANK, SBANK, 4), REG_FIT }, /* stack segment bank register */ - { ORDATA (RA, TR [0], 16), REG_A | REG_FIT }, /* top of stack register */ - { ORDATA (RB, TR [1], 16), REG_A | REG_FIT }, /* top of stack - 1 register */ - { ORDATA (RC, TR [2], 16), REG_A | REG_FIT }, /* top of stack - 2 register */ - { ORDATA (RD, TR [3], 16), REG_A | REG_FIT }, /* top of stack - 3 register */ - { ORDATA (X, X, 16), REG_A | REG_FIT }, /* index register */ - { ORDATA (STA, STA, 16), REG_T | REG_B | REG_FIT }, /* status register */ - { ORDATA (SWCH, SWCH, 16), REG_A | REG_FIT }, /* switch register */ - { ORDATA (CPX1, CPX1, 16), REG_B | REG_FIT }, /* run-mode interrupt flags */ - { ORDATA (CPX2, CPX2, 16), REG_B | REG_FIT }, /* halt-mode interrupt flags */ + { ORDATA (RA, TR [0], 16), REG_X | REG_FIT }, /* top of stack register */ + { ORDATA (RB, TR [1], 16), REG_X | REG_FIT }, /* top of stack - 1 register */ + { ORDATA (RC, TR [2], 16), REG_X | REG_FIT }, /* top of stack - 2 register */ + { ORDATA (RD, TR [3], 16), REG_X | REG_FIT }, /* top of stack - 3 register */ + { ORDATA (X, X, 16), REG_X | REG_FIT }, /* index register */ + { ORDATA (STA, STA, 16), REG_T | REG_FIT }, /* status register */ + { ORDATA (SWCH, SWCH, 16), REG_X | REG_FIT }, /* switch register */ + { ORDATA (CPX1, CPX1, 16), REG_FIT }, /* run-mode interrupt flags */ + { ORDATA (CPX2, CPX2, 16), REG_FIT }, /* halt-mode interrupt flags */ { ORDATA (PCLK, PCLK, 16), REG_FIT }, /* process clock register */ { ORDATA (CNTR, CNTR, 6), REG_HRO | REG_FIT }, /* microcode counter */ { ORDATA (MOD, MOD, 16), REG_HRO | REG_FIT }, /* module control register */ @@ -1331,8 +1332,8 @@ DEVICE cpu_dev = { volatile-qualified type and have been changed between the setjmp invocation and longjmp call are indeterminate." - Therefore, after a microcode abort, we cannot depend upon the values of - any local variables. + Therefore, the "device" and "status" variables are marked volatile to + ensure that they are reloaded after a longjmp caused by a micrcode abort. 2. In hardware, the NEXT microcode order present at the end of each instruction transfers the NIR content to the CIR, reads the memory word @@ -1398,10 +1399,11 @@ static const char *const stack_formats [] = { /* stack register displa }; int abortval; -HP_WORD label, parameter, device; +HP_WORD label, parameter; TRAP_CLASS trap; t_bool exec_test; -t_stat status = SCPE_OK; +volatile HP_WORD device; +volatile t_stat status = SCPE_OK; /* Instruction prelude */ diff --git a/HP3000/hp3000_defs.h b/HP3000/hp3000_defs.h index d776e79a..33313bd7 100644 --- a/HP3000/hp3000_defs.h +++ b/HP3000/hp3000_defs.h @@ -147,10 +147,12 @@ /* Device register display mode flags */ -#define REG_A (1u << REG_V_UF + 0) /* permit any display */ -#define REG_B (1u << REG_V_UF + 1) /* permit binary display */ -#define REG_M (1u << REG_V_UF + 2) /* default to instruction mnemonic display */ -#define REG_T (1u << REG_V_UF + 3) /* default to status mnemonic display */ +#define REG_X REG_VMIO /* permit symbolic display overrides */ + +#define REG_A (1u << REG_V_UF + 0) /* default format is -A (one ASCII character) */ +#define REG_C (1u << REG_V_UF + 1) /* default format is -C (two ASCII characters) */ +#define REG_M (1u << REG_V_UF + 2) /* default format is -M (mnemonic) */ +#define REG_T (1u << REG_V_UF + 3) /* default format is -T (status mnemonic) */ /* Register macros. diff --git a/HP3000/hp3000_ds.c b/HP3000/hp3000_ds.c index be04f78c..274fb66d 100644 --- a/HP3000/hp3000_ds.c +++ b/HP3000/hp3000_ds.c @@ -1,6 +1,6 @@ /* hp3000_ds.c: HP 3000 30229B Cartridge Disc Interface simulator - Copyright (c) 2016, J. David Bryan + Copyright (c) 2016-2017, 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"), to deal @@ -25,6 +25,7 @@ DS HP 30229B Cartridge Disc Interface + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 12-Sep-16 JDB Changed DIB register macro usage from SRDATA to DIB_REG 09-Jun-16 JDB Added casts for ptrdiff_t to int32 values 08-Jun-16 JDB Corrected %d format to %u for unsigned values @@ -435,7 +436,7 @@ static REG ds_reg [] = { { FLDATA (OVRUN, flags, 5) }, { FLDATA (XFRNG, flags, 6) }, - { ORDATA (BUFFER, buffer_word, 16), REG_A | REG_FIT | PV_RZRO }, + { ORDATA (BUFFER, buffer_word, 16), REG_X | REG_FIT | PV_RZRO }, { ORDATA (STATUS, status_word, 16), REG_FIT | PV_RZRO }, { DRDATA (RETRY, retry_counter, 4), REG_FIT | PV_LEFT }, diff --git a/HP3000/hp3000_lp.c b/HP3000/hp3000_lp.c index 7bde0da6..85bfdd44 100644 --- a/HP3000/hp3000_lp.c +++ b/HP3000/hp3000_lp.c @@ -25,6 +25,12 @@ LP HP 30209A Line Printer Interface + 07-Sep-17 JDB Changed PCHR and UPCHR registers to PUNCHR and UNPCHR + Changed PRTBUF, OVPCHR, PUNCHR, and UNPCHR to REG_A + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X + 20-Jul-17 JDB Added a forced detach option (-F switch) to "lp_detach" + 24-Jun-17 JDB Added "report_error", fixed "lp_set_model" times bug + 22-Jun-17 JDB Moved deferred offline/detach cancel to SET ONLINE 26-Apr-17 JDB Fixed "lp_service" return for VFU channel not punched Restricted auto-print on buffer full to the 2607 Paper fault is now delayed until the TOF for the 2607 @@ -205,19 +211,17 @@ issued while the print buffer contains data or the printer unit is busy executing a print action. - The SET LP OFFLINE and SET LP DETACH commands check for data in the print - buffer or a print operation in progress. If either condition is true, they - set their respective deferred-action flags and display "Command deferred." A - SHOW LP will show that the device is still online and attached. Once + The SET LP OFFLINE and DETACH LP commands check for data in the print buffer + or a print operation in progress. If either condition is true, they set + their respective deferred-action flags and display "Command not completed." + A SHOW LP will show that the device is still online and attached. Once simulation is resumed and the print operation completes, the printer is set offline or detached as requested. No console message reports this, as it is assumed that the executing program will detect the condition and report accordingly. A subsequent SHOW LP will indicate the new status. - A SET LP ONLINE or ATTACH LP command when the corresponding deferred-action - flag is set simply clears the flag. In particular, an ATTACH LP command must - not specify a new image filename; if one is specified while a deferred detach - is in progress, the routine returns SCPE_NOFNC ("Command not allowed"). + A SET LP ONLINE command when a deferred-action flag is set simply clears the + flag, which cancels the pending offline or detach condition. A RESET LP command also clears the deferred-action flags and so clears any pending offline or detach. However, it also clears the print buffer and @@ -480,11 +484,22 @@ #define DEV_REALTIME (1u << DEV_REALTIME_SHIFT) /* realistic timing flag */ -/* Printer unit flags */ +/* Printer unit flags. -#define UNIT_MODEL_SHIFT (UNIT_V_UF + 0) /* bits 0-2: printer model ID */ -#define UNIT_EXPAND_SHIFT (UNIT_V_UF + 3) /* bits 3-3: printer uses expanded output */ -#define UNIT_OFFLINE_SHIFT (UNIT_V_UF + 4) /* bits 4-4: printer is offline */ + UNIT_V_UF + 7 6 5 4 3 2 1 0 + +---+---+---+---+---+---+---+---+ + | - | - | - | O | E | model | + +---+---+---+---+---+---+---+---+ + + Where: + + O = offline + E = expanded output +*/ + +#define UNIT_MODEL_SHIFT (UNIT_V_UF + 0) /* printer model ID */ +#define UNIT_EXPAND_SHIFT (UNIT_V_UF + 3) /* printer uses expanded output */ +#define UNIT_OFFLINE_SHIFT (UNIT_V_UF + 4) /* printer is offline */ #define UNIT_MODEL_MASK 0000007u /* model ID mask */ @@ -541,10 +556,10 @@ typedef enum { This table contains the characteristics that vary between printer models. The "char_set" field values reflect printer Option 001, 96/128-character set. - The "not_ready" field indicates whether a paper fault sets not-ready status - or simply takes the printer offline. The "fault_at_eol" field indicates - whether a paper fault is reported at the end of any line (TRUE) or only at - the top of the next form (FALSE). + The "not_ready" field indicates whether a paper fault sets a separate + not-ready status or simply takes the printer offline. The "fault_at_eol" + field indicates whether a paper fault is reported at the end of any line or + only at the top of the next form. */ typedef struct { @@ -579,9 +594,10 @@ static const PRINTER_PROPS print_props [] = { /* printer properties, indexed b Implementation notes: 1. Although all of the printers operate more slowly with a 96/128-character - set than with a 64-character set, the times reflect the smaller set size. - Also, some models provide different print rates, depending on how many - and/or which characters are printed. These variances are not simulated. + set installed than with a 64-character set, the times reflect the smaller + set size. Also, some models provide different print rates, depending on + how many and/or which characters are printed. These variations are not + simulated. */ typedef struct { @@ -1046,7 +1062,7 @@ static t_bool power_warning = FALSE; /* PFWARN is not asserted to the /* Printer state */ static t_bool paper_fault = TRUE; /* TRUE if the printer is out of paper */ -static t_bool tape_fault = FALSE; /* TRUE if there is no punch in a VFU channel command */ +static t_bool tape_fault = FALSE; /* TRUE if there is no punch in a commanded VFU channel */ static t_bool offline_pending = FALSE; /* TRUE if an offline request is waiting for the printer to finish */ static uint32 overprint_char = DEL; /* character to use if overprinted */ static uint32 current_line = 1; /* current form line */ @@ -1077,6 +1093,7 @@ static t_stat ui_reset (DEVICE *dptr); static t_stat master_reset (t_bool programmed_clear); static void clear_interface_logic (void); static void activate_unit (UNIT *uptr); +static void report_error (FILE *stream); static OUTBOUND_SET set_interrupt (uint32 interrupt); static OUTBOUND_SET set_device_status (uint32 status_mask, uint32 new_status_word); static OUTBOUND_SET handshake_xfer (void); @@ -1177,12 +1194,12 @@ static REG lp_reg [] = { { ORDATA (CNTL, control_word, 16), PV_RZRO }, { ORDATA (ISTAT, int_status_word, 16), PV_RZRO }, { ORDATA (DSTAT, dev_status_word, 16), PV_RZRO }, - { ORDATA (READ, read_word, 16), PV_RZRO | REG_A }, - { ORDATA (WRITE, write_word, 16), PV_RZRO | REG_A }, + { ORDATA (READ, read_word, 16), PV_RZRO | REG_X }, + { ORDATA (WRITE, write_word, 16), PV_RZRO | REG_X }, { YRDATA (J2WX, jumper_set, 10, PV_RZRO) }, - { ORDATA (DATOUT, data_out, 16), PV_RZRO | REG_A }, - { ORDATA (DATIN, data_in, 16), PV_RZRO | REG_A }, + { ORDATA (DATOUT, data_out, 16), PV_RZRO | REG_X }, + { ORDATA (DATIN, data_in, 16), PV_RZRO | REG_X }, { FLDATA (DCOUT, device_command_out, 0) }, { FLDATA (DFIN, device_flag_in, 0) }, @@ -1206,8 +1223,8 @@ static REG lp_reg [] = { { DRDATA (FORMLN, form_length, 8), PV_LEFT | REG_RO }, { BRDATA (TITLE, vfu_title, 8, 8, LINE_SIZE), REG_HRO }, { BRDATA (VFU, VFU, 2, VFU_WIDTH, VFU_SIZE), PV_RZRO | REG_RO }, - { ORDATA (PCHR, punched_char, 8), PV_RZRO | REG_A }, - { ORDATA (UPCHR, unpunched_char, 8), PV_RZRO | REG_A }, + { ORDATA (PUNCHR, punched_char, 8), PV_RZRO | REG_A }, + { ORDATA (UNPCHR, unpunched_char, 8), PV_RZRO | REG_A }, { DRDATA (BTIME, fast_times.buffer_load, 24), PV_LEFT | REG_NZ }, { DRDATA (PTIME, fast_times.print, 24), PV_LEFT | REG_NZ }, @@ -1795,7 +1812,7 @@ return SCPE_OK; /* return success */ Implementation notes: - 1. Calling "master_clear" with a FALSE parameter indicates that this is a + 1. Calling "master_reset" with a FALSE parameter indicates that this is a commanded reset. This allows the connected device-specific reset routines to distinguish from a Programmed Master Clear. */ @@ -1911,6 +1928,23 @@ return; } +/* Report a stream I/O error to the console. + + If a stream I/O error has been detected, this routine will print an error + message to the simulation console and clear the stream's error indicator. +*/ + +static void report_error (FILE *stream) +{ +cprintf ("%s simulator printer I/O error: %s\n", /* report the error to the console */ + sim_name, strerror (errno)); + +clearerr (stream); /* clear the error */ + +return; +} + + /* Set an interrupt. The interrupt bit specified is set in the interrupt status word. If enabled, @@ -2491,11 +2525,12 @@ return outbound_signals; /* return INTREQ if any conclude the handshake. Control word bit 10 determines whether the code on the data out lines is - interpreted as a character (0) or a format command (1). Character data is - loaded into the buffer; if the line length is exceeded, the printer - automatically prints the buffer contents, advances the paper one line, and - stores the new character in the empty buffer. If a control character is sent - but the printer cannot print it, a space is loaded in its place. + interpreted as a character (0) or a format command (1). If there is room in + the print buffer, the character is loaded. If not, then depending on the + model, the printer either discards the character or automatically prints the + buffer contents, advances the paper one line, and stores the new character in + the empty buffer. If a control character is sent but the printer cannot + print it, a space is loaded in its place. A format command causes the current buffer to be printed, and then the paper is advanced by a prescribed amount. Two output modes are provided: compact @@ -2545,14 +2580,18 @@ return outbound_signals; /* return INTREQ if any Implementation notes: - 1. Because attached files are opened in binary mode, newline translation + 1. When a paper-out condition is detected, the 2607 printer goes offline + only when the next top-of-form is reached. The 2613/17/18 printers go + offline as soon as the current line completes. + + 2. Because attached files are opened in binary mode, newline translation (i.e., from LF to CR LF) is not performed by the host system. Therefore, we write explicit CR LF pairs to end lines, even in compact mode, as required for fidelity to HP peripherals. If bare LFs are used by the host system, the printer output file must be postprocessed to remove the CRs. - 2. Overprinting in expanded mode is simulated by merging the lines in the + 3. Overprinting in expanded mode is simulated by merging the lines in the buffer. A format command to suppress spacing resets the buffer index but saves the previous buffer length as a "high water mark" that will be extended if the overlaying line is longer. This process may be repeated @@ -2565,25 +2604,31 @@ return outbound_signals; /* return INTREQ if any "overprint character" (which defaults to DEL, but can be changed by the user) replaces the character in the buffer. - 3. Printers that support 12-channel VFUs treat the VFU format command as + 4. Printers that support 12-channel VFUs treat the VFU format command as modulo 16. Printers that support 8-channel VFUs treat the command as modulo 8. - 4. As a convenience to the user, the printer output file is flushed when a - TOF operation is performed. + 5. As a convenience to the user, the printer output file is flushed when a + TOF operation is performed. This permits inspection of the output file + from the SCP command prompt while output is ongoing. - 5. The user may examine the TFAULT and PFAULT registers to determine why the + 6. The user may examine the TFAULT and PFAULT registers to determine why the printer went offline. - 6. The transfer service may be called with a null pointer to update the + 7. The transfer service may be called with a null pointer to update the potential change in the flag state. - 7. If printing is attempted with the printer offline, this routine will be + 8. If printing is attempted with the printer offline, this routine will be called with STROBE asserted (device_command_in TRUE) and DEMAND denied (device_flag_in TRUE). The printer ignores STROBE if DEMAND is not asserted, so we simply return in this case. This will hang the handshake until the printer is set online, and we are reentered with DEMAND - asserted. + asserted. As a consequence, explicit protection against "uptr->fileref" + being NULL is not required. + + 9. Explicit tests for lowercase and control characters are much faster and + are used rather than calls to "islower" and "iscntrl", which must + consider the current locale. */ static t_stat lp_service (UNIT *uptr) @@ -2828,14 +2873,11 @@ else if (device_flag_in == FALSE) { /* otherwise if STROBE h slew_count, (slew_count == 1 ? "" : "s"), current_line); } - if (ferror (uptr->fileref)) { /* if a host file system error occurred */ - cprintf ("%s simulator printer I/O error: %s\n", /* then report the error to the console */ - sim_name, strerror (errno)); + if (ferror (uptr->fileref)) { /* if a host file system error occurred */ + report_error (uptr->fileref); /* then report the error to the console */ - clearerr (uptr->fileref); /* clear the error */ - - lp_set_alarm (uptr); /* set an alarm condition */ - return SCPE_IOERR; /* and stop the simulator */ + lp_set_alarm (uptr); /* set an alarm condition */ + return SCPE_IOERR; /* and stop the simulator */ } } @@ -2849,7 +2891,7 @@ return SCPE_OK; /* return event service equivalent of loading paper into the printer and pressing the ONLINE button. The transition from offline to online causes an interrupt. - A new image file may be requested by giving the "-N" switch to the attach + A new image file may be requested by giving the "-N" switch to the ATTACH command. If an existing file is specified with "-N", it will be cleared; if specified without "-N", printer output will be appended to the end of the existing file content. In all cases, the paper is positioned at the top of @@ -2869,7 +2911,7 @@ return SCPE_OK; /* return event service static t_stat lp_attach (UNIT *uptr, CONST char *cptr) { -t_stat result = SCPE_OK; +t_stat result; result = attach_unit (uptr, cptr); /* attach the specified printer image file */ @@ -2879,15 +2921,20 @@ if (result == SCPE_OK /* if the attach was suc current_line = 1; /* reset the line counter to the top of the form */ - if (sim_switches & SWMASK ('N')) /* if a new (empty) file was requested */ - uptr->pos = 0; /* then position at the start of the file */ - - else if (fseek (uptr->fileref, 0, SEEK_END) == 0) /* otherwise append by seeking to the end of the file */ + if (fseek (uptr->fileref, 0, SEEK_END) == 0) { /* append by seeking to the end of the file */ uptr->pos = (t_addr) ftell (uptr->fileref); /* and repositioning if the seek succeeded */ - dprintf (lp_dev, DEB_CMD, "Printer paper loaded\n"); + dprintf (lp_dev, DEB_CMD, "Printer paper loaded\n"); - lp_set_locality (uptr, Online); /* set the printer online */ + lp_set_locality (uptr, Online); /* set the printer online */ + } + + else { /* otherwise a host file system error occurred */ + report_error (uptr->fileref); /* so report the error to the console */ + + lp_set_alarm (uptr); /* set an alarm condition */ + result = SCPE_IOERR; /* and report that the attached failed */ + } } paper_fault = FALSE; /* clear any existing paper fault */ @@ -2904,10 +2951,10 @@ return result; /* return the result of /* Detach the printer image file. The specified file is detached from the indicated unit. This is the - simulation equivalent to unloading the paper from the printer or the printer - running out of paper. The out-of-paper condition cause a paper fault alarm, - and the printer goes offline. The transition from online to offline causes - an interrupt. + simulation equivalent of running out of paper or unloading the paper from the + printer. The out-of-paper condition cause a paper fault alarm, and the + printer goes offline. The transition from online to offline causes an + interrupt. When the printer runs out of paper, it will not go offline until characters present in the buffer are printed and paper motion stops. In addition, the @@ -2916,7 +2963,10 @@ return result; /* return the result of In simulation, entering a DETACH LP command while the printer is busy will defer the file detach until print operations reach the top of the next form - (2607) or until the current print operation completes (2613/17/18). + (2607) or until the current print operation completes (2613/17/18). An + immediate detach may be forced by adding the -F switch to the DETACH command. + This simulates physically removing the paper from the printer and succeeds + regardless of the current printer state. Implementation notes: @@ -2943,25 +2993,32 @@ if (uptr->flags & UNIT_ATTABLE) /* if we're being called if ((uptr->flags & UNIT_ATT) == 0) /* then if the unit is not currently attached */ return SCPE_UNATT; /* then report it */ - else if ((print_props [model].fault_at_eol /* otherwise if the printer faults at the end of any line */ - || current_line == 1) /* or the printer is at the top of the form */ - && lp_set_alarm (uptr) /* and a paper alarm is accepted */ - || (sim_switches & SIM_SW_SHUT)) { /* or this is a shutdown call */ - paper_fault = TRUE; /* then set the out-of-paper condition */ + else { + if (sim_switches & (SWMASK ('F') | SIM_SW_SHUT)) { /* if this is a forced detach or shut down request */ + current_line = 1; /* then reset the printer to TOF to enable detaching */ + sim_cancel (uptr); /* and terminate */ + device_command_out = FALSE; /* any print action in progress */ + } - dprintf (lp_dev, DEB_CMD, "Printer is out of paper\n"); + if ((print_props [model].fault_at_eol /* otherwise if the printer faults at the end of any line */ + || current_line == 1) /* or the printer is at the top of the form */ + && lp_set_alarm (uptr)) { /* and a paper alarm is accepted */ + paper_fault = TRUE; /* then set the out-of-paper condition */ - return detach_unit (uptr); /* and detach the unit */ - } + dprintf (lp_dev, DEB_CMD, "Printer is out of paper\n"); - else { /* otherwise the alarm was rejected at this time */ - paper_fault = TRUE; /* so set the out-of-paper condition */ - offline_pending = TRUE; /* but defer the detach */ + return detach_unit (uptr); /* and detach the unit */ + } - dprintf (lp_dev, DEB_CMD, "Paper out request deferred until print completes\n"); + else { /* otherwise the alarm was rejected at this time */ + paper_fault = TRUE; /* so set the out-of-paper condition */ + offline_pending = TRUE; /* but defer the detach */ - cputs ("Command deferred\n"); /* but the actual detach must be deferred */ - return SCPE_OK; /* until the buffer prints */ + dprintf (lp_dev, DEB_CMD, "Paper out request deferred until print completes\n"); + + cprintf ("%s\n", sim_error_text (SCPE_INCOMP)); /* report that the actual detach must be deferred */ + return SCPE_OK; /* until the buffer has been printed */ + } } else /* otherwise */ @@ -3018,7 +3075,7 @@ switch ((DEVICE_MODES) value) { /* dispatch the mode to break; } -return SCPE_OK; /* the mode change succeeds */ +return SCPE_OK; /* mode changes always succeed */ } @@ -3033,7 +3090,7 @@ return SCPE_OK; /* the mode change succe static t_stat lp_set_model (UNIT *uptr, int32 value, CONST char *cptr, void *desc) { if (lp_dev.flags & DEV_REALTIME) /* if the printer is in real-time mode */ - dlyptr = &real_times [GET_MODEL (uptr->flags)]; /* then use the times for the new model */ + dlyptr = &real_times [GET_MODEL (value)]; /* then use the times for the new model */ return SCPE_OK; /* allow the reassignment to proceed */ } @@ -3044,26 +3101,29 @@ return SCPE_OK; /* allow the reassignmen This validation routine is called to set the printer online or offline. The "value" parameter is UNIT_OFFLINE if the printer is going offline and is zero if the printer is going online. This simulates pressing the ON/OFFLINE - button on the printer. + button on the printer. The unit must be attached (i.e., paper must be + loaded), before the printer may be set online or offline. If the printer is being taken offline, the buffer is checked to see if any characters are present. If they are, or if the printer unit is currently scheduled (i.e., executing a print operation), the offline request is - deferred until printing completes, and the routine prints "Command deferred" - to inform the user. Otherwise, the unit is set offline, DEMAND is denied, - and DEV END is asserted to indicate that the printer is not ready. -// - As a special case, a detach (out-of-paper condition) that has been deferred - until printing completes may be cancelled by setting the printer online. + deferred until printing completes, and the routine returns "Command not + complete" status to inform the user. Otherwise, the unit is set offline, + DEMAND is denied, and DEV END is asserted to indicate that the printer is not + ready. - If the printer is being put online, the unit must be attached (i.e., paper - must be loaded), or the command is rejected. If paper is present, the unit - is set online, and any tape fault present is cleared. If the sequencer + If the printer is being put online and paper is present, the unit is set + online, and any paper or tape fault present is cleared. If the sequencer indicates an incomplete handshake, as would occur if paper ran out while printing, the transfer service is called to complete the handshake by asserting DEMAND. Otherwise, DEMAND is asserted explicitly, and DEV END is denied. + As a special case, a detach (out-of-paper condition) or offline request that + has been deferred until printing completes may be cancelled by setting the + printer online. No other action is taken, because the printer has never + transitioned to the offline state. + Transitions between the offline and online state cause interrupts, and INTREQ is asserted to the IOP if a transition occurred (but not, e.g., for a SET LP OFFLINE command where the printer is already offline). @@ -3071,9 +3131,9 @@ return SCPE_OK; /* allow the reassignmen Implementation notes: - 1. Because a deferred offline request is not fatal, we return SCPE_OK to - allow command files to continue to execute, but we print a warning to the - user. + 1. Although a deferred offline request is not fatal, we return SCPE_INCOMP + to prevent "set_cmd" from setting the UNIT_OFFLINE bit in the unit flags + before the printer actually goes offline. */ static t_stat lp_set_on_offline (UNIT *uptr, int32 value, CONST char *cptr, void *desc) @@ -3091,8 +3151,8 @@ else if (value == UNIT_ONLINE) /* otherwise if this is lp_set_locality (uptr, Online); /* so set the printer online */ else if (lp_set_locality (uptr, Offline) == FALSE) { /* otherwise if it cannot be set offline now */ - cputs ("Command deferred\n"); /* then let the user know */ dprintf (lp_dev, DEB_CMD, "Offline request deferred until print completes\n"); + return SCPE_INCOMP; /* then let the user know */ } return SCPE_OK; /* return operation success */ @@ -3189,8 +3249,8 @@ static t_stat lp_show_vfu (FILE *st, UNIT *uptr, int32 value, CONST void *desc) static const char header_1 [] = " Ch 1 Ch 2 Ch 3 Ch 4 Ch 5 Ch 6 Ch 7 Ch 8 Ch 9 Ch10 Ch11 Ch12"; static const char header_2 [] = " ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----"; -const PRINTER_TYPE model = GET_MODEL (uptr->flags); -const uint32 channel_count = print_props [model].vfu_channels; +const PRINTER_TYPE model = GET_MODEL (uptr->flags); /* the printer model number */ +const uint32 channel_count = print_props [model].vfu_channels; /* the count of VFU channels */ uint32 chan, line, current_channel; if (value == 0) /* if we're called for a summary display */ @@ -3328,8 +3388,8 @@ return NO_SIGNALS; /* no special control ac This routine is called when an alarm condition exists. An alarm occurs when paper is out (paper fault) or a VFU command addresses a channel that does not - contain a punch (tape fault). In response, the printer goes not ready and - offline. + contain a punch (tape fault). In response, the printer goes offline and, + for all models except the 2607, becomes not-ready. On entry, the routine attempts to set the printer offline. If this succeeds, the printer is set not-ready. If it fails (for reasons explained in the @@ -3430,9 +3490,8 @@ dprintf (lp_dev, DEB_CMD, "Printer set %s\n", if (signals & INTREQ) /* if the transition caused an interrupt */ iop_assert_INTREQ (&lp_dib); /* then assert the INTREQ signal */ -offline_pending = FALSE; - -return TRUE; +offline_pending = FALSE; /* the operation completed */ +return TRUE; /* successfully */ } @@ -3442,8 +3501,8 @@ return TRUE; associated with the stream "vf" or with the standard 66-line tape if the stream is NULL. The "uptr" parameter points to the printer unit. - The standard VFU tape (1535-2655 for the 8-channel HP 2607 and 2613-80001 for - the 12-channel HP 2613, 2617, and 2618) defines the channels as: + The standard VFU tape (02607-80024 for the 8-channel HP 2607 and 02613-80001 + for the 12-channel HP 2613, 2617, and 2618) defines the channels as: Chan Description ---- -------------- @@ -3457,12 +3516,12 @@ return TRUE; 8 Sixth page 9 Bottom of form - ...with channels 10-12 uncommitted. A custom tape must dedicate channel 1 to - the top-of-form, but the other channels may be defined as desired. + ...with channels 10-12 uncommitted. A custom tape file starts with a VFU definition line and then contains one channel-definition line for each line of the form. The number of lines - establishes the form length. + establishes the form length. Channel 1 must be dedicated to the top-of-form, + but the other channels may be defined as desired. A semicolon appearing anywhere on a line begins a comment, and the semicolon and all following characters are ignored. Zero-length lines, including lines @@ -3542,7 +3601,7 @@ return TRUE; static t_stat lp_load_vfu (UNIT *uptr, FILE *vf) { -const PRINTER_TYPE model = GET_MODEL (uptr->flags); /* get the printer type */ +const PRINTER_TYPE model = GET_MODEL (uptr->flags); /* the printer model number */ uint32 line, channel, vfu_status; int32 len; char buffer [LINE_SIZE], punch [LINE_SIZE], no_punch; @@ -3550,10 +3609,8 @@ char *bptr, *tptr; uint16 tape [VFU_SIZE] = { 0 }; if (vf == NULL) { /* if the standard VFU is requested */ - strcpy (vfu_title, "Standard VFU"); /* then set the title */ - - tape [ 1] = VFU_CHANNEL_1; /* punch channel 1 for the top of form */ - tape [60] = VFU_CHANNEL_2 | VFU_CHANNEL_9; /* punch channels 2 and 9 for the bottom of form */ + tape [ 1] = VFU_CHANNEL_1; /* then punch channel 1 for the top of form */ + tape [60] = VFU_CHANNEL_2 | VFU_CHANNEL_9; /* and channels 2 and 9 for the bottom of form */ for (line = 1; line <= 60; line++) { /* load each of the 60 printable lines */ tape [line] |= VFU_CHANNEL_3 /* punch channel 3 for single space */ @@ -3567,6 +3624,7 @@ if (vf == NULL) { /* if the standard VFU i } form_length = 66; /* set the form length */ + strcpy (vfu_title, "Standard VFU"); /* and set the title */ } else { /* otherwise load a custom VFU from the file */ @@ -3690,12 +3748,9 @@ while (len == 0) { if (feof (vf)) /* then if the end of file was seen */ return 0; /* then return an EOF indication */ - else { /* otherwise report the error to the console */ - cprintf ("%s simulator line printer I/O error: %s\n", - sim_name, strerror (errno)); - - clearerr (vf); /* clear the error */ - return -1; /* and return an error indication */ + else { /* otherwise */ + report_error (vf); /* report the error to the console */ + return -1; /* and return an error indication */ } len = strlen (line); /* get the current line length */ diff --git a/HP3000/hp3000_ms.c b/HP3000/hp3000_ms.c index 3372bdf9..4c4f3d02 100644 --- a/HP3000/hp3000_ms.c +++ b/HP3000/hp3000_ms.c @@ -1,6 +1,6 @@ /* hp3000_ms.c: HP 3000 30215A Magnetic Tape Controller Interface simulator - Copyright (c) 2016, J. David Bryan + Copyright (c) 2016-2017, 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"), to deal @@ -25,6 +25,7 @@ MS HP 30215A Magnetic Tape Controller Interface + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 12-Sep-16 JDB Changed DIB register macro usage from SRDATA to DIB_REG 09-Jun-16 JDB Added casts for ptrdiff_t to int32 values 08-Jun-16 JDB Corrected %d format to %u for unsigned values @@ -514,7 +515,7 @@ static REG ms_reg [] = { { FLDATA (UINTRP, unit_interrupt, 0) }, { FLDATA (DEVEND, device_end, 0) }, { FLDATA (XFRERR, xfer_error, 0) }, - { ORDATA (BUFWRD, buffer_word, 16), REG_A | REG_FIT | PV_RZRO }, + { ORDATA (BUFWRD, buffer_word, 16), REG_X | REG_FIT | PV_RZRO }, { DRDATA (ATUNIT, attention_unit, 16), REG_FIT | PV_LEFT }, { DRDATA (CLASS, command_class, 4), PV_LEFT }, { YRDATA (FLAGS, flags, 8, PV_RZRO) }, diff --git a/HP3000/hp3000_release.txt b/HP3000/hp3000_release.txt index ed06c4f5..07af60e5 100644 --- a/HP3000/hp3000_release.txt +++ b/HP3000/hp3000_release.txt @@ -1,6 +1,6 @@ SIMH/HP 3000 RELEASE NOTES ========================== - Last update: 2017-04-30 + Last update: 2017-09-07 This file documents the release history of the Hewlett-Packard 3000 simulator. @@ -176,6 +176,107 @@ the MPE version used: +===================== +Release 6, 2017-09-07 +===================== + +This release of the HP 3000 simulator adds the following features: + + - The new "-F" switch to the DETACH LP command forces an immediate detach, + regardless of the current paper position. This is the simulation equivalent + of physically removing the paper from the printer. Without the switch, + detaching is the equivalent of running out of paper, which permits printing + to continue to the end of the line (2613/17/18) or the page (2607) before the + printer goes offline. + + - The HP 3000 Simulator User's Guide has been revised to add a new section + describing the simulator commands corresponding to hardware actions and to + rewrite the "Realistic, Calibrated, and Optimized Timing" section to describe + the three timing modes more clearly. + + +-------------------- +Implementation Notes +-------------------- + + - The LP device's PCHR (punched channel character) and UPCHR (unpunched channel + character) registers have been renamed to PUNCHR and UNPCHR, respectively, + for compatibility with the HP 2100 simulator's LPT device. + + - The manual clarifies that the display radix for shift counts, bit positions, + starting bits and counts, and the CIR values for the PAUS and HALT + instructions may be overridden with command-line switches. + + +---------- +Bugs Fixed +---------- + + 1. PROBLEM: Cancelling a deferred detach with ATTACH LP is rejected. + + VERSION: Release 5. + + OBSERVATION: The line printer "Unit Options" section of the HP 3000 + Simulator User's Guide states that a DETACH LP command will be deferred if + there are characters in the print buffer. It further states that entering + ATTACH LP without specifying a filename will cancel the action. This does + not work. Entering ATTACH LP prints "Too few arguments" and does not alter + a pending detach. + + CAUSE: The SCP routine "attach_cmd" checks for the presence of a filename + before calling the line printer simulator's "lp_attach" routine. If the + filename is omitted, "lp_attach" is never called to cancel the pending + detach. + + RESOLUTION: Modify "lp_set_on_offline" (hp3000_lp.c) to cancel a deferred + detach, and modify the User's Guide to state that SET LP ONLINE is used to + cancel both the deferred offline and deferred detach actions. + + STATUS: Fixed in Release 6. + + + 2. PROBLEM: Changing printer models does not change the REALTIME delays. + + VERSION: Release 5. + + OBSERVATION: In REALTIME mode, the line printer simulator attempts to + model the print buffer load and print-and-space operation delays inherent + in the physical hardware. However, after setting a different model, the + buffer load, print, and paper advance times have not been changed. + + CAUSE: The "lp_set_model" routine that is called in response to a "SET + LP " command sets the realistic times to those of the current model + rather than those of the new model. + + RESOLUTION: Modify "lp_set_model" (hp3000_lp.c) to use the new model value + to index into the realistic times array. + + STATUS: Fixed in Release 6. + + + 3. PROBLEM: Paper cannot be removed from a 2607 printer except at the TOF. + + VERSION: Release 5. + + OBSERVATION: Printing a few lines on a 2607 and then attempting to remove + the paper with the DETACH LP command displays "Command not completed" on + the simulation console. The file remains attached and therefore cannot be + manipulated externally. + + CAUSE: The DETACH command simulates both running out of paper and removing + the paper from the printer. For the former, the 2607 continues to print + until the current form is complete (i.e., the top of what would be the next + form is reached). For the latter, the paper may be physically removed by + the operator while at any print position. The simulator incorrectly + forbids the latter operation unless the paper is positioned at the TOF. + + RESOLUTION: Modify "lp_detach" (hp3000_lp.c) to add a "forced detach" + option ("DETACH -F LP") to detach the printer regardless of print position. + + STATUS: Fixed in Release 6. + + + ===================== Release 5, 2017-04-30 ===================== diff --git a/HP3000/hp3000_sel.c b/HP3000/hp3000_sel.c index d38ce12f..bce71415 100644 --- a/HP3000/hp3000_sel.c +++ b/HP3000/hp3000_sel.c @@ -1,6 +1,6 @@ /* hp3000_sel.c: HP 3000 30030C Selector Channel simulator - Copyright (c) 2016, J. David Bryan + Copyright (c) 2016-2017, 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"), to deal @@ -25,6 +25,7 @@ SEL HP 3000 Series III Selector Channel + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 10-Oct-16 JDB Renumbered debug flags to start at 0 Added port_read_memory, port_write_memory macros 11-Jul-16 JDB Change "sel_unit" from a UNIT to an array of one UNIT @@ -458,8 +459,8 @@ static REG sel_reg [] = { { ORDATA (CNBUF, control_buffer, 16), REG_FIT }, { ORDATA (ADDR, address_word, 16), REG_FIT }, { ORDATA (ADBUF, address_buffer, 16), REG_FIT }, - { ORDATA (INBUF, input_buffer, 16), REG_A | REG_FIT }, - { ORDATA (OUTBUF, output_buffer, 16), REG_A | REG_FIT }, + { ORDATA (INBUF, input_buffer, 16), REG_X | REG_FIT }, + { ORDATA (OUTBUF, output_buffer, 16), REG_X | REG_FIT }, { NULL } }; diff --git a/HP3000/hp3000_sys.c b/HP3000/hp3000_sys.c index 89cbaabf..30a6a50e 100644 --- a/HP3000/hp3000_sys.c +++ b/HP3000/hp3000_sys.c @@ -23,6 +23,9 @@ in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the author. + 05-Sep-17 JDB Removed the -B (binary display) option; use -2 instead + Rewrote "fprint_sym" for better coverage + 11-May-17 JDB Corrected comment in "fprint_value" 28-Apr-17 JDB Added void cast to "fprint_instruction" call for left stackop 03-Mar-17 JDB Added an implementation note to the "parse_sym" routine 29-Dec-16 JDB Changed the switch for STA format from -S to -T; @@ -33,7 +36,7 @@ 27-Sep-16 JDB Added COBOL firmware mnemonics Modified "fprint_instruction" to handle two-word instructions 15-Sep-16 JDB Modified "one_time_init" to set aux_cmds "message" field - 03-Sep-16 JDB Added the STOP_POWER and STOP_ARSINH messages + 03-Sep-16 JDB Added the STOP_POWER and STOP_ARSINH status messages 01-Sep-16 JDB Moved the "hp_cold_cmd" routine to the CPU (as "cpu_cold_cmd") Added the POWER command 03-Aug-16 JDB Improved "fmt_char" and "fmt_bitset" to allow multiple calls @@ -100,6 +103,26 @@ extern DEVICE ms_dev; /* 7970 Magnetic Tape */ #define SCPE_OK_3_WORDS ((t_stat) -2) /* three words produced or consumed */ +/* Symbolic mode and format override switches */ + +#define A_SWITCH SWMASK ('A') +#define B_SWITCH SWMASK ('B') +#define C_SWITCH SWMASK ('C') +#define D_SWITCH SWMASK ('D') +#define E_SWITCH SWMASK ('E') +#define H_SWITCH SWMASK ('H') +#define I_SWITCH SWMASK ('I') +#define M_SWITCH SWMASK ('M') +#define O_SWITCH SWMASK ('O') +#define T_SWITCH SWMASK ('T') + +#define MODE_SWITCHES (C_SWITCH | E_SWITCH | I_SWITCH | M_SWITCH | T_SWITCH) +#define FORMAT_SWITCHES (A_SWITCH | B_SWITCH | D_SWITCH | H_SWITCH | O_SWITCH) + +#define SYMBOLIC_SWITCHES (MODE_SWITCHES | A_SWITCH) /* -A is both a mode and a format switch */ +#define ALL_SWITCHES (MODE_SWITCHES | FORMAT_SWITCHES) + + /* Address parsing configuration flags */ typedef enum { @@ -952,7 +975,7 @@ static t_stat hp_brk_cmd (int32 arg, CONST char *buf); /* System interface local utility routines */ -static void fprint_value (FILE *ofile, t_value val, uint32 radix, uint32 width, uint32 format); +static t_stat fprint_value (FILE *ofile, t_value val, uint32 radix, uint32 width, uint32 format); static t_stat fprint_order (FILE *ofile, t_value *val, uint32 radix); static t_stat fprint_subop (FILE *ofile, t_value *val, uint32 radix, t_addr addr, int32 switches); static t_stat fprint_instruction (FILE *ofile, const OP_TABLE ops, t_value *val, @@ -1177,58 +1200,85 @@ return SCPE_ARG; /* return an error if ca /* Print a value in symbolic format. - Print the data value in the format specified by the optional switches on the - output stream supplied. This routine is called to print: + This routine prints a data value in the format specified by the optional + switches on the output stream provided. On entry, "ofile" is the opened + output stream, and the other parameters depend on the reason the routine was + called, as follows: - - the next instruction mnemonic when the simulator stops - - the result of EXAMining a register marked with a user flag - - the result of EXAMining a memory address - - the result of EVALuating a symbol + * To print the next instruction mnemonic when the simulator stops: + - addr = the program counter + - val = a pointer to sim_eval [0] + - uptr = NULL + - sw = "-M" | SIM_SW_STOP - On entry, "ofile" is the opened output stream, "addr" is respectively the - program counter, register radix and flags, memory address, or symbol index, - "val" is a pointer to an array of t_values of depth "sim_emax" representing - the value to be printed, "uptr" is respectively NULL, NULL, a pointer to the - named unit, or a pointer to the default unit, and "sw" contains any switches - passed on the command line. "sw" also includes SIM_SW_STOP for a simulator - stop call or SIM_SW_REG for a register call. + * To print the result of EXAMining a register with REG_VMIO or a user flag: + - addr = the ORed register radix and user flags + - val = a pointer to a single t_value + - uptr = NULL + - sw = the command line switches | SIM_SW_REG + + * To print the result of EXAMining a memory address: + - addr = the memory address + - val = a pointer to sim_eval [0] + - uptr = a pointer to the named unit + - sw = the command line switches + + * To print the result of EVALuating a symbol: + - addr = the symbol index + - val = a pointer to sim_eval [addr] + - uptr = a pointer to the default unit (cpu_unit) + - sw = the command line switches On exit, a status code is returned to the caller. If the format requested is not supported, SCPE_ARG status is returned, which causes the caller to print - the value in numeric format. Otherwise, SCPE_OK status is returned if a - single-word value was consumed, or the negative number of extra words (beyond - the first) consumed in printing the symbol is returned. For example, - printing a two-word symbol would return SCPE_OK_2_WORDS (= -1). + the value in numeric format with the default radix. Otherwise, SCPE_OK + status is returned if a single-word value was consumed, or the negative + number of extra words (beyond the first) consumed in printing the symbol is + returned. For example, printing a two-word symbol would return + SCPE_OK_2_WORDS (= -1). - The following symbolic formats are supported by the listed switches: + The following symbolic modes are supported by including the indicated + switches on the command line: - Switch Interpretation + Switch Display Interpretation ------ -------------------------------------------------- - -a a single character in the right-hand byte - -b a 16-bit binary value - -c a two-character packed string - -e an EDIT instruction subprogram mnemonic - -i an I/O program instruction mnemonic - -m a CPU instruction mnemonic - -s a CPU status mnemonic + -A a single character in the right-hand byte + -C a two-character packed string + -E an EDIT instruction subprogram mnemonic + -ER an EDIT mnemonic starting with the right-hand byte + -I an I/O program instruction mnemonic + -M a CPU instruction mnemonic + -T a CPU status mnemonic - -o override numeric output to octal - -d override numeric output to decimal - -h override numeric output to hex - -r begin EDIT interpretation with the right-hand byte + In the absence of a mode switch, the value is displayed in a numeric format. - Memory may be displayed in any format. All registers may be overridden to - display in octal, decimal, or hexadecimal numeric format. Only registers - marked with the REG_A flag may be displayed in any format. Registers marked - with REG_B may be displayed in binary format. Registers marked with REG_M - will default to CPU instruction mnemonic display. Registers marked with - REG_T will default to CPU status mnemonic display. + When displaying data in one of the mnemonic modes, an additional switch may + be specified to indicate the desired operand format, as follows: - When displaying mnemonics, operand values are displayed in a radix suitable - to the type of the value. Address values are displayed in the CPU's address - radix, which is octal, and data values are displayed in the CPU's data radix, - which defaults to octal but may be set to a different radix or overridden by - a switch on the command line. + Switch Operand Interpretation + ------ -------------------------------------------------- + -A a single character in the right-hand byte + -B a binary value + -O an octal value + -D a decimal value + -H a hexadecimal value + + Except for -B, these switches may be used without a mode switch to display a + numeric value in the specified form. To summarize, the valid switch + combinations are: + + -A + -C + -E [ -R ] [ -A | -B | -O | -D | -H ] + -I [ -A | -B | -O | -D | -H ] + -M [ -A | -B | -O | -D | -H ] + -T [ -A | -B | -O | -D | -H ] + + When displaying mnemonics, operand values by default are displayed in a radix + suitable to the type of the value. Address values are displayed in the CPU's + address radix, which is octal, and data values are displayed in the CPU's + data radix, which defaults to octal but may be set to a different radix or + overridden by a switch on the command line. Implementation notes: @@ -1241,76 +1291,116 @@ return SCPE_ARG; /* return an error if ca 2. Displaying a register having a symbolic default format (e.g., CIR) will use the default unless the radix is overridden on the command line. For example, "EXAMINE CIR" displays the CIR value as an instruction mnemonic, - whereas "EXAMINE -O CIR" displays the value as octal. Adding "-M" will + whereas "EXAMINE -D CIR" displays the value as decimal. Adding "-M" will force mnemonic display and allow the radix switch to override the operand - display. For example, "EXAMINE -M -O CIR" displays the value as mnemonic - and overrides the operand radix to octal. + display. For example, "EXAMINE -M -D CIR" displays the value as mnemonic + and overrides the operand radix to decimal. + + 3. We return SCPE_INVSW when multiple modes or formats are specified, but + the callers do not act on this; they use the fallback formatter if any + status error is returned. We could work around this by printing "Invalid + switch" to the console and returning SCPE_OK, but this does not stop + IEXAMINE from prompting for the replacement value(s) or EXAMINE from + printing a range. + + 4. Radix switches and the -C switch are conceptually mutually exclusive. + However, if we return an error when "format" is non-zero, then -C will be + ignored, and the fallback formatter will use the radix switch. The other + choice is to process -C and ignore the radix switch; this is the option + implemented. + + 5. Because -A is both a mode and a format switch, we must check its presence + using SYMBOLIC_SWITCHES separately from the other modes to allow (e.g.) + both "EXAMINE -A" and "EXAMINE -M -A". If -A is added to MODE_SWITCHES, + the latter form would be rejected as having conflicting modes. + + 6. The penultimate condition of the multiway "if-else if" mode test checks + for no mode switches. This succeeds when -A is specified alone because + the earlier SYMBOLIC_SWITCHES test failed (so -A is present), but none of + the other mode switches are present. */ t_stat fprint_sym (FILE *ofile, t_addr addr, t_value *val, UNIT *uptr, int32 sw) { -const t_bool is_reg = (sw & SIM_SW_REG) != 0; /* TRUE if this is a register access */ -uint32 radix_override; +int32 formats, modes; +uint32 radix; -if (sw & SWMASK ('A') && (!is_reg || addr & REG_A)) /* if ASCII character display is requested and permitted */ - if (val [0] <= D8_SMAX) { /* then if the value is a single character */ - fputs (fmt_char ((uint32) val [0]), ofile); /* then format and print it */ - return SCPE_OK; - } +if ((sw & (SIM_SW_REG | ALL_SWITCHES)) == SIM_SW_REG) /* if we are formatting a register without overrides */ + if (addr & REG_A) /* then if the default format is character */ + sw |= A_SWITCH; /* then set the -A switch */ - else /* otherwise */ - return SCPE_ARG; /* report that it cannot be displayed */ + else if (addr & REG_C) /* otherwise if the default mode is string */ + sw |= C_SWITCH; /* then set the -C switch */ -else if (sw & SWMASK ('C') && (!is_reg || addr & REG_A)) { /* if ASCII string display is requested and permitted */ - fputs (fmt_char (UPPER_BYTE (val [0])), ofile); /* then format and print the upper byte */ - fputc (',', ofile); /* followed by a separator */ - fputs (fmt_char (LOWER_BYTE (val [0])), ofile); /* then format and print the lower byte */ + else if (addr & REG_M) /* otherwise if the default mode is instruction mnemonic */ + sw |= M_SWITCH; /* then set the -M switch */ + + else if (addr & REG_T) /* otherwise if the default mode is status */ + sw |= T_SWITCH; /* then set the -T switch */ + +if ((sw & SYMBOLIC_SWITCHES) == 0) /* if there are no symbolic mode overrides */ + return SCPE_ARG; /* then return an error to use the standard formatter */ + + +formats = sw & FORMAT_SWITCHES; /* separate the format switches */ +modes = sw & MODE_SWITCHES; /* from the mode switches */ + +if (formats == A_SWITCH) /* if the -A switch is specified */ + radix = 256; /* then override the radix to character */ + +else if (formats == B_SWITCH) /* otherwise if the -B switch is specified */ + radix = 2; /* then override the radix to binary */ + +else if (formats == D_SWITCH) /* otherwise if the -D switch is specified */ + radix = 10; /* then override the radix to decimal */ + +else if (formats == H_SWITCH) /* otherwise if the -H switch is specified */ + radix = 16; /* then override the radix to hexadecimal */ + +else if (formats == O_SWITCH) /* otherwise if the -O switch is specified */ + radix = 8; /* then override the radix to octal */ + +else if (formats == 0) /* otherwise if no format switch is specified */ + radix = 0; /* then indicate that the default radix is to be used */ + +else /* otherwise more than one format is specified */ + return SCPE_INVSW; /* so return an error */ + +if (modes == M_SWITCH) /* if mnemonic mode is specified */ + return fprint_cpu (ofile, val, radix, sw); /* then format and print the value in mnemonic format */ + +else if (modes == I_SWITCH) /* otherwise if I/O channel order mode is specified */ + return fprint_order (ofile, val, radix); /* then format and print it */ + +else if (modes == E_SWITCH) /* otherwise if an EDIT subop memory display is requested */ + return fprint_subop (ofile, val, radix, addr, sw); /* then format and print it */ + +else if (modes == T_SWITCH) { /* otherwise if status display is requested */ + fputs (fmt_status ((uint32) val [0]), ofile); /* then format the status flags and condition code */ + fputc (' ', ofile); /* and add a separator */ + + if (fprint_value (ofile, STATUS_CS (val [0]), /* if the code segment number */ + (radix ? radix : cpu_dev.dradix), /* prints with the specified radix */ + STATUS_CS_WIDTH, PV_RZRO) == SCPE_OK) + return SCPE_OK; /* then return success */ + + else /* otherwise print it */ + return fprint_val (ofile, STATUS_CS (val [0]), /* in the CPU's default data radix */ + cpu_dev.dradix, D8_WIDTH, PV_RZRO); + } + +else if (modes == C_SWITCH) { /* otherwise if ASCII string mode is specified */ + fputs (fmt_char (UPPER_BYTE (val [0])), ofile); /* then format and print the upper byte */ + fputc (',', ofile); /* followed by a separator */ + fputs (fmt_char (LOWER_BYTE (val [0])), ofile); /* followed by the lower byte */ return SCPE_OK; } -else if (sw & SWMASK ('B') /* if binary display is requested */ - && (!is_reg || addr & (REG_A | REG_B))) { /* and is permitted */ - fprint_val (ofile, val [0], 2, DV_WIDTH, PV_RZRO); /* then format and print the value */ - return SCPE_OK; - } +else if (modes == 0) /* otherwise if single-character mode was specified */ + return fprint_value (ofile, val [0], radix, 0, 0); /* then format and print it */ -else { /* otherwise display as numeric or mnemonic */ - if (sw & SWMASK ('O')) /* if an octal override is present */ - radix_override = 8; /* then print the value in base 8 */ - else if (sw & SWMASK ('D')) /* otherwise if a decimal override is present */ - radix_override = 10; /* then print the value in base 10 */ - else if (sw & SWMASK ('H')) /* otherwise if a hex override is present */ - radix_override = 16; /* then print the value in base 16 */ - else /* otherwise */ - radix_override = 0; /* use the default radix setting */ - - if (sw & SWMASK ('I') && !is_reg) /* if I/O channel order memory display is requested */ - return fprint_order (ofile, val, radix_override); /* then format and print it */ - - else if (sw & SWMASK ('E') && !is_reg) /* otherwise if an EDIT subop memory display is requested */ - return fprint_subop (ofile, val, radix_override, addr, sw); - - else if (sw & SWMASK ('M') /* otherwise if CPU instruction display is requested */ - && (!is_reg || addr & (REG_A | REG_M)) /* and is permitted */ - || is_reg && addr & REG_M && radix_override == 0) /* or if displaying a register that defaults to mnemonic */ - return fprint_cpu (ofile, val, radix_override, sw); /* then format and print it */ - - else if (sw & SWMASK ('T') /* otherwise if status display is requested */ - && (!is_reg || addr & (REG_A | REG_T)) /* and is permitted */ - || is_reg && addr & REG_T && radix_override == 0) { /* or if displaying a register that defaults to status */ - fputs (fmt_status ((uint32) val [0]), ofile); /* then format the status flags and condition code */ - fputc (' ', ofile); /* and add a separator */ - - fprint_value (ofile, STATUS_CS (val [0]), /* print the code segment number */ - (radix_override ? radix_override : cpu_dev.dradix), - STATUS_CS_WIDTH, PV_RZRO); - - return SCPE_OK; - } - - else /* otherwise */ - return SCPE_ARG; /* request that the value be printed numerically */ - } +else /* otherwise the modes conflict */ + return SCPE_INVSW; /* so return an error */ } @@ -2025,11 +2115,11 @@ return formatted; /* return a pointer to t /* Format a character for printing. - This routine formats single 8-bit character value into a printable string and - returns a pointer to that string. Printable characters retain their original - form but are enclosed in single quotes. Control characters are translated to - readable strings. Characters outside of the ASCII range are presented as - escaped octal values. + This routine formats a single 8-bit character value into a printable string + and returns a pointer to that string. Printable characters retain their + original form but are enclosed in single quotes. Control characters are + translated to readable strings. Characters outside of the ASCII range are + presented as escaped octal values. Implementation notes: @@ -2914,24 +3004,39 @@ return status; /* return the handler st /* System interface local utility routines */ -/* Print a numeric value with a radix identifier. +/* Print a numeric value in a given radix with a radix identifier. - This routine prints a numeric value with a leading radix indicator if the - specified print radix is not the same as the current CPU data radix. It uses - the HP 3000 convention of a leading "%", "#", or "!" character to indicate - an octal, decimal, or hexadecimal number. + This routine prints a numeric value using the specified radix, width, and + output format. If the radix is 256, then the value is printed as a single + character. Otherwise, it is printed as a numeric value with a leading radix + indicator if the specified print radix is not the same as the current CPU + data radix. It uses the HP 3000 convention of a leading "%", "#", or "!" + character to indicate an octal, decimal, or hexadecimal number (there is no + binary convention, so a leading "@" is used arbitrarily). On entry, the "ofile" parameter is the opened output stream, "val" is the value to print, "radix" is the desired print radix, "width" is the number of significant bits in the value, and "format" is a format specifier (PV_RZRO, - PV_RSPC, or PV_LEFT). On exit, the status of the print operation is - returned. + PV_RSPC, or PV_LEFT). On exit, the routine returns SCPE_OK if the value was + printed successfully, or SCPE_ARG if the value could not be printed. */ -static void fprint_value (FILE *ofile, t_value val, uint32 radix, uint32 width, uint32 format) +static t_stat fprint_value (FILE *ofile, t_value val, uint32 radix, uint32 width, uint32 format) { -if (radix != cpu_dev.dradix) /* if the requested radix is not the current data radix */ - if (radix == 8) /* then if the requested radix is octal */ +if (radix == 256) /* if ASCII character display is requested */ + if (val <= D8_SMAX) { /* then if the value is a single character */ + fputs (fmt_char ((uint32) val), ofile); /* then format and print it */ + return SCPE_OK; /* and report success */ + } + + else /* otherwise */ + return SCPE_ARG; /* report that it cannot be displayed */ + +else if (radix != cpu_dev.dradix) /* otherwise if the requested radix is not the current data radix */ + if (radix == 2) /* then if the requested radix is binary */ + fputc ('@', ofile); /* then print the binary indicator */ + + else if (radix == 8) /* otherwise if the requested radix is octal */ fputc ('%', ofile); /* then print the octal indicator */ else if (radix == 10) /* otherwise if it is decimal */ @@ -2945,7 +3050,7 @@ if (radix != cpu_dev.dradix) /* if the requested radi fprint_val (ofile, val, radix, width, format); /* print the value in the radix specified */ -return; +return SCPE_OK; /* return success */ } @@ -2979,16 +3084,15 @@ return; - Address values are printed in the CPU's address radix, which is octal. - - Counts are printed in decimal. + - Counts are printed by default in decimal. - Control and status values are printed in the CPU's data radix, which - defaults to octal but may be set to a different radix with SET CPU - OCT|DEC|HEX. + defaults to octal. The radix for operand values other than addresses may be overridden by a switch on the command line. A value printed in a radix other than the - current data radix is preceded by a radix identifier ("%" for octal, "#" for - decimal, or "!" for hexadecimal). + current data radix is preceded by a radix identifier ("@" for binary, "%" for + octal, "#" for decimal, or "!" for hexadecimal). The routine returns SCPE_OK_2_WORDS to indicate that two words were consumed. @@ -3031,7 +3135,7 @@ switch (order) { /* dispatch operand prin case sioJUMP: case sioJUMPC: /* print the jump target address */ - fprint_value (ofile, ioaw, cpu_dev.aradix, + fprint_value (ofile, ioaw, cpu_dev.aradix, /* in the CPU's address radix */ LA_WIDTH, PV_RZRO); break; @@ -3042,7 +3146,7 @@ switch (order) { /* dispatch operand prin break; case sioSBANK: /* print the bank address */ - fprint_value (ofile, ioaw & BA_MASK, + fprint_value (ofile, ioaw & BA_MASK, /* in the CPU's address radix */ cpu_dev.aradix, BA_WIDTH, PV_RZRO); break; @@ -3078,7 +3182,7 @@ switch (order) { /* dispatch operand prin fputc (',', ofile); - fprint_value (ofile, ioaw, cpu_dev.aradix, + fprint_value (ofile, ioaw, cpu_dev.aradix, /* prnit the address in the CPU's address radix */ LA_WIDTH, PV_RZRO); break; } @@ -3562,7 +3666,6 @@ switch (ops [op_index].operand) { /* dispatch by the opera prefix = " "; /* so just use a space to separate the value */ op_value = (op_value & ~op_mask [opS11]) >> EIS_SDEC_SHIFT; /* remove the flags from the S decrement value */ - op_radix = (radix ? radix : cpu_dev.dradix); /* and set the print radix */ break; diff --git a/HP3000/hp_disclib.h b/HP3000/hp_disclib.h index db708813..69abf45d 100644 --- a/HP3000/hp_disclib.h +++ b/HP3000/hp_disclib.h @@ -1,6 +1,6 @@ /* hp_disclib.h: HP MAC/ICD disc controller simulator library declarations - Copyright (c) 2011-2016, J. David Bryan + Copyright (c) 2011-2017, J. David Bryan Copyright (c) 2004-2011, Robert M. Supnik Permission is hereby granted, free of charge, to any person obtaining a copy @@ -24,6 +24,7 @@ in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the authors. + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 10-Oct-16 JDB Moved "hp3000_defs.h" inclusion to "hp_disclib.c" 13-May-16 JDB Modified for revised SCP API function parameter types 24-Mar-16 JDB Added the DL_BUFFER type to define the disc buffer array @@ -479,7 +480,7 @@ typedef CNTLR_VARS *CVPTR; /* pointer to a controller state { DRDATA (HEAD, (cntlr).head, 6), PV_LEFT }, \ { DRDATA (SECTOR, (cntlr).sector, 8), PV_LEFT }, \ { DRDATA (COUNT, (cntlr).count, 16), PV_LEFT }, \ - { BRDATA (SECBUF, (buffer), 8, 16, DL_BUFSIZE), REG_A }, \ + { BRDATA (SECBUF, (buffer), 8, 16, DL_BUFSIZE), REG_X }, \ { DRDATA (INDEX, (cntlr).index, 8), PV_LEFT }, \ { DRDATA (LENGTH, (cntlr).length, 8), PV_LEFT }, \ { DRDATA (POLLU, (cntlr).poll_unit, 4), REG_HRO }, \ diff --git a/HP3000/hp_tapelib.h b/HP3000/hp_tapelib.h index 3b6b4d78..0e74e187 100644 --- a/HP3000/hp_tapelib.h +++ b/HP3000/hp_tapelib.h @@ -1,6 +1,6 @@ /* hp_tapelib.h: HP magnetic tape controller simulator library declarations - Copyright (c) 2013-2016, J. David Bryan + Copyright (c) 2013-2017, J. David Bryan Copyright (c) 2004-2011, Robert M. Supnik Permission is hereby granted, free of charge, to any person obtaining a copy @@ -24,6 +24,7 @@ in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from the authors. + 05-Sep-17 JDB Changed REG_A (permit any symbolic override) to REG_X 10-Oct-16 JDB Moved "hp3000_defs.h" inclusion to "hp_tapelib.c" 13-May-16 JDB Modified for revised SCP API function parameter types 24-Mar-16 JDB Added the TL_BUFFER type to define the tape buffer array @@ -419,7 +420,7 @@ typedef CNTLR_VARS *CVPTR; /* a pointer to a controller sta { ORDATA (STATUS, (cntlr).status, 16), REG_RO }, \ { DRDATA (USEL, (cntlr).unit_selected, 4), PV_LEFT | REG_RO }, \ { YRDATA (UATTN, (cntlr).unit_attention, 4, PV_RZRO) }, \ - { BRDATA (RECBUF, (buffer), 8, 8, TL_BUFSIZE), REG_A }, \ + { BRDATA (RECBUF, (buffer), 8, 8, TL_BUFSIZE), REG_X }, \ { DRDATA (LIBSTA, (cntlr).call_status, 16), PV_LEFT }, \ { DRDATA (LENGTH, (cntlr).length, 24), PV_LEFT }, \ { DRDATA (INDEX, (cntlr).index, 24), PV_LEFT }, \ diff --git a/doc/hp3000_doc.doc b/doc/hp3000_doc.doc index edd37faf50527c9ea111a4e2ae98abcfe094c5ac..e160d23d994d0ab034e398c16c19c7d30b751632 100644 GIT binary patch literal 393216 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 X>e{?|1GVq`=ZBdk?X>#8F$Mk);{ihu delta 94242 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