From f5de2f4d22469d7eed791a14cdc44b862f551c13 Mon Sep 17 00:00:00 2001 From: Timothe Litt Date: Wed, 29 May 2013 13:43:12 -0400 Subject: [PATCH 1/6] LP20 emulation was overwriting existing files When an LP20 is attached to an existing file, the file is opened in update mode. Since the initial file position is zero, any existing output is over-written. This is not intuitive. This edit makes the LP20 seek to EOF on attach. N.B. Other devices may have cousin issues. --- PDP10/pdp10_lp20.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/PDP10/pdp10_lp20.c b/PDP10/pdp10_lp20.c index fec1cda6..20858e10 100644 --- a/PDP10/pdp10_lp20.c +++ b/PDP10/pdp10_lp20.c @@ -25,6 +25,8 @@ lp20 line printer + 29-May-13 TL Force append when an existing file is attached. Previously + over-wrote file from the top. 19-Jan-07 RMS Added UNIT_TEXT flag 04-Sep-05 RMS Fixed missing return (found by Peter Schorn) 07-Jul-05 RMS Removed extraneous externs @@ -657,6 +659,10 @@ t_stat lp20_attach (UNIT *uptr, char *cptr) t_stat reason; reason = attach_unit (uptr, cptr); /* attach file */ +if (reason == SCPE_OK) { + sim_fseek (uptr->fileref, 0, SEEK_END); + uptr->pos = ftell (uptr->fileref); +} if (lpcsa & CSA_ONL) /* just file chg? */ return reason; if (sim_is_active (&lp20_unit)) /* busy? no int */ From 611b7632c993006c5e4bd1d0fe3516cd3f6f4de4 Mon Sep 17 00:00:00 2001 From: Timothe Litt Date: Wed, 29 May 2013 13:50:56 -0400 Subject: [PATCH 2/6] Add set serial to KS cpu With multiple instances, error logging gets confusing when every CPU has the same serial number. This makes the CPU serial number settable. If not set, the old defaults apply. --- PDP10/pdp10_cpu.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-- PDP10/pdp10_defs.h | 34 ++++++++++++++++++++++++---------- 2 files changed, 68 insertions(+), 12 deletions(-) diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index 8a24bfed..21098b5e 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -197,6 +197,7 @@ jmp_buf save_env; int32 hst_p = 0; /* history pointer */ int32 hst_lnt = 0; /* history length */ InstHistory *hst = NULL; /* instruction history */ +int32 apr_serial = -1; /* CPU Serial number */ /* Forward and external declarations */ @@ -205,6 +206,9 @@ t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw); t_stat cpu_reset (DEVICE *dptr); 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_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc); +t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc); + d10 adjsp (d10 val, a10 ea); void ibp (a10 ea, int32 pflgs); d10 ldb (a10 ea, int32 pflgs); @@ -400,6 +404,7 @@ MTAB cpu_mod[] = { NULL, &show_iospace }, { MTAB_XTD|MTAB_VDV|MTAB_NMO|MTAB_SHP, 0, "HISTORY", "HISTORY", &cpu_set_hist, &cpu_show_hist }, + { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "SERIAL", "SERIAL", &cpu_set_serial, &cpu_show_serial }, { 0 } }; @@ -2104,8 +2109,14 @@ return; t_bool aprid (a10 ea, int32 prv) { -Write (ea, (Q_ITS)? UC_AIDITS: UC_AIDDEC, prv); -return FALSE; + d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; + if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) + value |= (Q_ITS)? UC_SERITS: UC_SERDEC; + else + value |= apr_serial; + + Write (ea, value, prv); + return FALSE; } /* Checked against KS10 ucode */ @@ -2419,3 +2430,34 @@ for (k = 0; k < lnt; k++) { /* print specified */ } /* end for */ return SCPE_OK; } + +/* Set serial */ + +t_stat cpu_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc) +{ +int32 lnt; +t_stat r; + +if (cptr == NULL) { + apr_serial = -1; + return SCPE_OK; + } +lnt = (int32) get_uint (cptr, 10, 077777, &r); +if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) + return SCPE_ARG; +apr_serial = lnt & 077777; +return SCPE_OK; +} + +/* Show serial */ + +t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc) +{ +fprintf (st, "Serial: " ); +if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { + fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); + return SCPE_OK; +} +fprintf (st, "%d", apr_serial); +return SCPE_OK; +} diff --git a/PDP10/pdp10_defs.h b/PDP10/pdp10_defs.h index fac99a78..0a161f33 100644 --- a/PDP10/pdp10_defs.h +++ b/PDP10/pdp10_defs.h @@ -476,8 +476,8 @@ typedef t_int64 d10; /* PDP-10 data (36b) */ #define UC_SERDEC 4097 /* serial number */ #define UC_SERITS 1729 #define UC_AIDDEC (UC_INHCST | UC_UBABLT | UC_KIPAGE | UC_KLPAGE | \ - UC_VERDEC | UC_SERDEC) -#define UC_AIDITS (UC_KIPAGE | UC_VERITS | UC_SERITS) + UC_VERDEC) +#define UC_AIDITS (UC_KIPAGE | UC_VERITS) #define UC_HSBDEC 0376000 /* DEC initial HSB */ #define UC_HSBITS 0000500 /* ITS initial HSB */ @@ -619,7 +619,6 @@ typedef struct pdp_dib DIB; #define DZ_MUXES 4 /* max # of muxes */ #define DZ_LINES 8 /* lines per mux */ -#define DUP_LINES 4 /* max # of DUP11's */ #define DIB_MAX 100 /* max DIBs */ #define DEV_V_UBUS (DEV_V_UF + 0) /* Unibus */ @@ -659,6 +658,12 @@ typedef struct pdp_dib DIB; #define IOLN_UBMNT3 001 #define IOBA_XU (IO_UBA3 + 0774510) /* DEUNA/DELUA */ #define IOLN_XU 010 +#define IOBA_DMR (IO_UBA3 + 0764000) /* DMR11 */ +#define IOLN_DMR 010 +#define IOBA_DUP (IO_UBA3 + 0760300) /* DUP11 */ +#define IOLN_DUP 010 +#define IOBA_KMC (IO_UBA3 + 0760540) /* KMC11 */ +#define IOLN_KMC 010 #define IOBA_CR (IO_UBA3 + 0777160) /* CD/CR/CM */ #define IOLN_CR 010 #define IOBA_RY (IO_UBA3 + 0777170) /* RX211 */ @@ -697,6 +702,10 @@ typedef struct pdp_dib DIB; #define INT_V_RP 6 /* RH11/RP,RM drives */ #define INT_V_TU 7 /* RH11/TM03/TU45 */ +#define INT_V_KMCA 8 /* KMC11 */ +#define INT_V_KMCB 9 +#define INT_V_DMRA 10 /* DMR11 */ +#define INT_V_DMRB 11 #define INT_V_DMCRX 13 #define INT_V_DMCTX 14 #define INT_V_XU 15 /* DEUNA/DELUA */ @@ -707,12 +716,13 @@ typedef struct pdp_dib DIB; #define INT_V_PTP 25 #define INT_V_LP20 26 /* LPT20 */ #define INT_V_CR 27 /* CD20 (CD11) */ -#define INT_V_CR 27 /* CD20 (CD11) */ -#define INT_V_DUPRX 28 /* DUP11 */ -#define INT_V_DUPTX 29 #define INT_RP (1u << INT_V_RP) #define INT_TU (1u << INT_V_TU) +#define INT_KMCA (1u << INT_V_KMCA) +#define INT_KMCB (1u << INT_V_KMCB) +#define INT_DMRA (1u << INT_V_DMRA) +#define INT_DMRB (1u << INT_V_DMRB) #define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCTX (1u << INT_V_DMCTX) #define INT_XU (1u << INT_V_XU) @@ -723,19 +733,19 @@ typedef struct pdp_dib DIB; #define INT_PTP (1u << INT_V_PTP) #define INT_LP20 (1u << INT_V_LP20) #define INT_CR (1u << INT_V_CR) -#define INT_DUPRX (1u << INT_V_DUPRX) -#define INT_DUPTX (1u << INT_V_DUPTX) #define IPL_RP 6 /* int levels */ #define IPL_TU 6 +#define IPL_KMCA 5 +#define IPL_KMCB 5 +#define IPL_DMRA 5 +#define IPL_DMRB 5 #define IPL_DMCRX 5 #define IPL_DMCTX 5 #define IPL_XU 5 #define IPL_DZRX 5 #define IPL_DZTX 5 #define IPL_RY 5 -#define IPL_DUPRX 5 -#define IPL_DUPTX 5 #define IPL_PTR 4 #define IPL_PTP 4 #define IPL_LP20 4 @@ -759,6 +769,10 @@ typedef struct pdp_dib DIB; #define VEC_RY 0264 #define VEC_DZRX 0340 #define VEC_DZTX 0344 +#define VEC_KMCA 0540 +#define VEC_KMCB 0544 +#define VEC_DMRA 0610 +#define VEC_DMRB 0614 #define VEC_LP20 0754 #define VEC_AUTO 0 /* Set by Auto Configure */ From b80fa0ae50cb38efba5e8c8ec030e6681a8f4013 Mon Sep 17 00:00:00 2001 From: Timothe Litt Date: Wed, 29 May 2013 13:52:29 -0400 Subject: [PATCH 3/6] Revert "Add set serial to KS cpu" This reverts commit 611b7632c993006c5e4bd1d0fe3516cd3f6f4de4. --- PDP10/pdp10_cpu.c | 46 ++-------------------------------------------- PDP10/pdp10_defs.h | 34 ++++++++++------------------------ 2 files changed, 12 insertions(+), 68 deletions(-) diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index 21098b5e..8a24bfed 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -197,7 +197,6 @@ jmp_buf save_env; int32 hst_p = 0; /* history pointer */ int32 hst_lnt = 0; /* history length */ InstHistory *hst = NULL; /* instruction history */ -int32 apr_serial = -1; /* CPU Serial number */ /* Forward and external declarations */ @@ -206,9 +205,6 @@ t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw); t_stat cpu_reset (DEVICE *dptr); 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_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc); -t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc); - d10 adjsp (d10 val, a10 ea); void ibp (a10 ea, int32 pflgs); d10 ldb (a10 ea, int32 pflgs); @@ -404,7 +400,6 @@ MTAB cpu_mod[] = { NULL, &show_iospace }, { MTAB_XTD|MTAB_VDV|MTAB_NMO|MTAB_SHP, 0, "HISTORY", "HISTORY", &cpu_set_hist, &cpu_show_hist }, - { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "SERIAL", "SERIAL", &cpu_set_serial, &cpu_show_serial }, { 0 } }; @@ -2109,14 +2104,8 @@ return; t_bool aprid (a10 ea, int32 prv) { - d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; - if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) - value |= (Q_ITS)? UC_SERITS: UC_SERDEC; - else - value |= apr_serial; - - Write (ea, value, prv); - return FALSE; +Write (ea, (Q_ITS)? UC_AIDITS: UC_AIDDEC, prv); +return FALSE; } /* Checked against KS10 ucode */ @@ -2430,34 +2419,3 @@ for (k = 0; k < lnt; k++) { /* print specified */ } /* end for */ return SCPE_OK; } - -/* Set serial */ - -t_stat cpu_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc) -{ -int32 lnt; -t_stat r; - -if (cptr == NULL) { - apr_serial = -1; - return SCPE_OK; - } -lnt = (int32) get_uint (cptr, 10, 077777, &r); -if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) - return SCPE_ARG; -apr_serial = lnt & 077777; -return SCPE_OK; -} - -/* Show serial */ - -t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc) -{ -fprintf (st, "Serial: " ); -if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { - fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); - return SCPE_OK; -} -fprintf (st, "%d", apr_serial); -return SCPE_OK; -} diff --git a/PDP10/pdp10_defs.h b/PDP10/pdp10_defs.h index 0a161f33..fac99a78 100644 --- a/PDP10/pdp10_defs.h +++ b/PDP10/pdp10_defs.h @@ -476,8 +476,8 @@ typedef t_int64 d10; /* PDP-10 data (36b) */ #define UC_SERDEC 4097 /* serial number */ #define UC_SERITS 1729 #define UC_AIDDEC (UC_INHCST | UC_UBABLT | UC_KIPAGE | UC_KLPAGE | \ - UC_VERDEC) -#define UC_AIDITS (UC_KIPAGE | UC_VERITS) + UC_VERDEC | UC_SERDEC) +#define UC_AIDITS (UC_KIPAGE | UC_VERITS | UC_SERITS) #define UC_HSBDEC 0376000 /* DEC initial HSB */ #define UC_HSBITS 0000500 /* ITS initial HSB */ @@ -619,6 +619,7 @@ typedef struct pdp_dib DIB; #define DZ_MUXES 4 /* max # of muxes */ #define DZ_LINES 8 /* lines per mux */ +#define DUP_LINES 4 /* max # of DUP11's */ #define DIB_MAX 100 /* max DIBs */ #define DEV_V_UBUS (DEV_V_UF + 0) /* Unibus */ @@ -658,12 +659,6 @@ typedef struct pdp_dib DIB; #define IOLN_UBMNT3 001 #define IOBA_XU (IO_UBA3 + 0774510) /* DEUNA/DELUA */ #define IOLN_XU 010 -#define IOBA_DMR (IO_UBA3 + 0764000) /* DMR11 */ -#define IOLN_DMR 010 -#define IOBA_DUP (IO_UBA3 + 0760300) /* DUP11 */ -#define IOLN_DUP 010 -#define IOBA_KMC (IO_UBA3 + 0760540) /* KMC11 */ -#define IOLN_KMC 010 #define IOBA_CR (IO_UBA3 + 0777160) /* CD/CR/CM */ #define IOLN_CR 010 #define IOBA_RY (IO_UBA3 + 0777170) /* RX211 */ @@ -702,10 +697,6 @@ typedef struct pdp_dib DIB; #define INT_V_RP 6 /* RH11/RP,RM drives */ #define INT_V_TU 7 /* RH11/TM03/TU45 */ -#define INT_V_KMCA 8 /* KMC11 */ -#define INT_V_KMCB 9 -#define INT_V_DMRA 10 /* DMR11 */ -#define INT_V_DMRB 11 #define INT_V_DMCRX 13 #define INT_V_DMCTX 14 #define INT_V_XU 15 /* DEUNA/DELUA */ @@ -716,13 +707,12 @@ typedef struct pdp_dib DIB; #define INT_V_PTP 25 #define INT_V_LP20 26 /* LPT20 */ #define INT_V_CR 27 /* CD20 (CD11) */ +#define INT_V_CR 27 /* CD20 (CD11) */ +#define INT_V_DUPRX 28 /* DUP11 */ +#define INT_V_DUPTX 29 #define INT_RP (1u << INT_V_RP) #define INT_TU (1u << INT_V_TU) -#define INT_KMCA (1u << INT_V_KMCA) -#define INT_KMCB (1u << INT_V_KMCB) -#define INT_DMRA (1u << INT_V_DMRA) -#define INT_DMRB (1u << INT_V_DMRB) #define INT_DMCRX (1u << INT_V_DMCRX) #define INT_DMCTX (1u << INT_V_DMCTX) #define INT_XU (1u << INT_V_XU) @@ -733,19 +723,19 @@ typedef struct pdp_dib DIB; #define INT_PTP (1u << INT_V_PTP) #define INT_LP20 (1u << INT_V_LP20) #define INT_CR (1u << INT_V_CR) +#define INT_DUPRX (1u << INT_V_DUPRX) +#define INT_DUPTX (1u << INT_V_DUPTX) #define IPL_RP 6 /* int levels */ #define IPL_TU 6 -#define IPL_KMCA 5 -#define IPL_KMCB 5 -#define IPL_DMRA 5 -#define IPL_DMRB 5 #define IPL_DMCRX 5 #define IPL_DMCTX 5 #define IPL_XU 5 #define IPL_DZRX 5 #define IPL_DZTX 5 #define IPL_RY 5 +#define IPL_DUPRX 5 +#define IPL_DUPTX 5 #define IPL_PTR 4 #define IPL_PTP 4 #define IPL_LP20 4 @@ -769,10 +759,6 @@ typedef struct pdp_dib DIB; #define VEC_RY 0264 #define VEC_DZRX 0340 #define VEC_DZTX 0344 -#define VEC_KMCA 0540 -#define VEC_KMCB 0544 -#define VEC_DMRA 0610 -#define VEC_DMRB 0614 #define VEC_LP20 0754 #define VEC_AUTO 0 /* Set by Auto Configure */ From 5f26e6011a73bc9ab0d6b36fbb6427cfc3c1bec1 Mon Sep 17 00:00:00 2001 From: Timothe Litt Date: Wed, 29 May 2013 13:59:42 -0400 Subject: [PATCH 4/6] Add set cpu serial for KS Allow CPU serial number to be set for KS cpus. With multiple instances running about, this prevents a lot of confusion, especially in the error logs. --- PDP10/pdp10_cpu.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-- PDP10/pdp10_defs.h | 5 +++-- 2 files changed, 47 insertions(+), 4 deletions(-) diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index 8a24bfed..21098b5e 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -197,6 +197,7 @@ jmp_buf save_env; int32 hst_p = 0; /* history pointer */ int32 hst_lnt = 0; /* history length */ InstHistory *hst = NULL; /* instruction history */ +int32 apr_serial = -1; /* CPU Serial number */ /* Forward and external declarations */ @@ -205,6 +206,9 @@ t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw); t_stat cpu_reset (DEVICE *dptr); 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_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc); +t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc); + d10 adjsp (d10 val, a10 ea); void ibp (a10 ea, int32 pflgs); d10 ldb (a10 ea, int32 pflgs); @@ -400,6 +404,7 @@ MTAB cpu_mod[] = { NULL, &show_iospace }, { MTAB_XTD|MTAB_VDV|MTAB_NMO|MTAB_SHP, 0, "HISTORY", "HISTORY", &cpu_set_hist, &cpu_show_hist }, + { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "SERIAL", "SERIAL", &cpu_set_serial, &cpu_show_serial }, { 0 } }; @@ -2104,8 +2109,14 @@ return; t_bool aprid (a10 ea, int32 prv) { -Write (ea, (Q_ITS)? UC_AIDITS: UC_AIDDEC, prv); -return FALSE; + d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; + if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) + value |= (Q_ITS)? UC_SERITS: UC_SERDEC; + else + value |= apr_serial; + + Write (ea, value, prv); + return FALSE; } /* Checked against KS10 ucode */ @@ -2419,3 +2430,34 @@ for (k = 0; k < lnt; k++) { /* print specified */ } /* end for */ return SCPE_OK; } + +/* Set serial */ + +t_stat cpu_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc) +{ +int32 lnt; +t_stat r; + +if (cptr == NULL) { + apr_serial = -1; + return SCPE_OK; + } +lnt = (int32) get_uint (cptr, 10, 077777, &r); +if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) + return SCPE_ARG; +apr_serial = lnt & 077777; +return SCPE_OK; +} + +/* Show serial */ + +t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc) +{ +fprintf (st, "Serial: " ); +if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { + fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); + return SCPE_OK; +} +fprintf (st, "%d", apr_serial); +return SCPE_OK; +} diff --git a/PDP10/pdp10_defs.h b/PDP10/pdp10_defs.h index fac99a78..a88c92f8 100644 --- a/PDP10/pdp10_defs.h +++ b/PDP10/pdp10_defs.h @@ -476,8 +476,9 @@ typedef t_int64 d10; /* PDP-10 data (36b) */ #define UC_SERDEC 4097 /* serial number */ #define UC_SERITS 1729 #define UC_AIDDEC (UC_INHCST | UC_UBABLT | UC_KIPAGE | UC_KLPAGE | \ - UC_VERDEC | UC_SERDEC) -#define UC_AIDITS (UC_KIPAGE | UC_VERITS | UC_SERITS) + UC_VERDEC) +#define UC_AIDITS (UC_KIPAGE | UC_VERITS) + #define UC_HSBDEC 0376000 /* DEC initial HSB */ #define UC_HSBITS 0000500 /* ITS initial HSB */ From 3e250420176444fa2a52a907081de1c40c10763a Mon Sep 17 00:00:00 2001 From: Timothe Litt Date: Wed, 29 May 2013 14:48:43 -0400 Subject: [PATCH 5/6] Change some tabs to spaces --- PDP10/pdp10_cpu.c | 50 +++++++++++++++++++++++----------------------- PDP10/pdp10_lp20.c | 14 ++++++------- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index 21098b5e..03af6947 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -197,7 +197,7 @@ jmp_buf save_env; int32 hst_p = 0; /* history pointer */ int32 hst_lnt = 0; /* history length */ InstHistory *hst = NULL; /* instruction history */ -int32 apr_serial = -1; /* CPU Serial number */ +int32 apr_serial = -1; /* CPU Serial number */ /* Forward and external declarations */ @@ -404,7 +404,7 @@ MTAB cpu_mod[] = { NULL, &show_iospace }, { MTAB_XTD|MTAB_VDV|MTAB_NMO|MTAB_SHP, 0, "HISTORY", "HISTORY", &cpu_set_hist, &cpu_show_hist }, - { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "SERIAL", "SERIAL", &cpu_set_serial, &cpu_show_serial }, + { MTAB_XTD|MTAB_VDV|MTAB_VALR, 0, "SERIAL", "SERIAL", &cpu_set_serial, &cpu_show_serial }, { 0 } }; @@ -2109,14 +2109,14 @@ return; t_bool aprid (a10 ea, int32 prv) { - d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; - if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) - value |= (Q_ITS)? UC_SERITS: UC_SERDEC; - else - value |= apr_serial; + d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; + if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) + value |= (Q_ITS)? UC_SERITS: UC_SERDEC; + else + value |= apr_serial; - Write (ea, value, prv); - return FALSE; + Write (ea, value, prv); + return FALSE; } /* Checked against KS10 ucode */ @@ -2435,29 +2435,29 @@ return SCPE_OK; t_stat cpu_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc) { -int32 lnt; -t_stat r; + int32 lnt; + t_stat r; -if (cptr == NULL) { + if (cptr == NULL) { apr_serial = -1; - return SCPE_OK; - } -lnt = (int32) get_uint (cptr, 10, 077777, &r); -if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) + return SCPE_OK; + } + lnt = (int32) get_uint (cptr, 10, 077777, &r); + if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) return SCPE_ARG; -apr_serial = lnt & 077777; -return SCPE_OK; + apr_serial = lnt & 077777; + return SCPE_OK; } /* Show serial */ t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc) { -fprintf (st, "Serial: " ); -if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { - fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); - return SCPE_OK; -} -fprintf (st, "%d", apr_serial); -return SCPE_OK; + fprintf (st, "Serial: " ); + if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { + fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); + return SCPE_OK; + } + fprintf (st, "%d", apr_serial); + return SCPE_OK; } diff --git a/PDP10/pdp10_lp20.c b/PDP10/pdp10_lp20.c index 20858e10..f27296ca 100644 --- a/PDP10/pdp10_lp20.c +++ b/PDP10/pdp10_lp20.c @@ -25,8 +25,8 @@ lp20 line printer - 29-May-13 TL Force append when an existing file is attached. Previously - over-wrote file from the top. + 29-May-13 TL Force append when an existing file is attached. + Previously over-wrote file from the top. 19-Jan-07 RMS Added UNIT_TEXT flag 04-Sep-05 RMS Fixed missing return (found by Peter Schorn) 07-Jul-05 RMS Removed extraneous externs @@ -376,17 +376,17 @@ return SCPE_OK; else if (paper) davfu_action; else print_xlate; - } + } else if (paper) { if (xlate || delim || delim_hold) davfu_action; else print_input; - } + } else { if (xlate || delim || delim_hold) print_xlate; else print_input; - } + } */ t_stat lp20_svc (UNIT *uptr) @@ -660,8 +660,8 @@ t_stat reason; reason = attach_unit (uptr, cptr); /* attach file */ if (reason == SCPE_OK) { - sim_fseek (uptr->fileref, 0, SEEK_END); - uptr->pos = ftell (uptr->fileref); + sim_fseek (uptr->fileref, 0, SEEK_END); + uptr->pos = ftell (uptr->fileref); } if (lpcsa & CSA_ONL) /* just file chg? */ return reason; From 39c794292d8c03dbd6bdcf923bb74600b07b02ea Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Wed, 29 May 2013 12:48:19 -0700 Subject: [PATCH 6/6] Changed some spaces and indentations --- PDP10/pdp10_cpu.c | 37 +++++++++++++++++++------------------ PDP10/pdp10_lp20.c | 12 ++++++------ 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/PDP10/pdp10_cpu.c b/PDP10/pdp10_cpu.c index 03af6947..4a66f701 100644 --- a/PDP10/pdp10_cpu.c +++ b/PDP10/pdp10_cpu.c @@ -2109,14 +2109,15 @@ return; t_bool aprid (a10 ea, int32 prv) { - d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; - if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) +d10 value = (Q_ITS)? UC_AIDITS: UC_AIDDEC; + +if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) value |= (Q_ITS)? UC_SERITS: UC_SERDEC; - else +else value |= apr_serial; - Write (ea, value, prv); - return FALSE; +Write (ea, value, prv); +return FALSE; } /* Checked against KS10 ucode */ @@ -2435,29 +2436,29 @@ return SCPE_OK; t_stat cpu_set_serial (UNIT *uptr, int32 val, char *cptr, void *desc) { - int32 lnt; - t_stat r; +int32 lnt; +t_stat r; - if (cptr == NULL) { +if (cptr == NULL) { apr_serial = -1; return SCPE_OK; - } - lnt = (int32) get_uint (cptr, 10, 077777, &r); - if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) + } +lnt = (int32) get_uint (cptr, 10, 077777, &r); +if ((r != SCPE_OK) || (lnt <= 0) || (!Q_ITS && lnt < 4096)) return SCPE_ARG; - apr_serial = lnt & 077777; - return SCPE_OK; +apr_serial = lnt & 077777; +return SCPE_OK; } /* Show serial */ t_stat cpu_show_serial (FILE *st, UNIT *uptr, int32 val, void *desc) { - fprintf (st, "Serial: " ); - if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { +fprintf (st, "Serial: " ); +if( (apr_serial == -1) || (!Q_ITS && apr_serial < 4096) ) { fprintf (st, "%d (default)", (Q_ITS)? UC_SERITS: UC_SERDEC); return SCPE_OK; - } - fprintf (st, "%d", apr_serial); - return SCPE_OK; + } +fprintf (st, "%d", apr_serial); +return SCPE_OK; } diff --git a/PDP10/pdp10_lp20.c b/PDP10/pdp10_lp20.c index f27296ca..d8122f01 100644 --- a/PDP10/pdp10_lp20.c +++ b/PDP10/pdp10_lp20.c @@ -376,17 +376,17 @@ return SCPE_OK; else if (paper) davfu_action; else print_xlate; - } + } else if (paper) { if (xlate || delim || delim_hold) davfu_action; else print_input; - } + } else { if (xlate || delim || delim_hold) print_xlate; else print_input; - } + } */ t_stat lp20_svc (UNIT *uptr) @@ -660,9 +660,9 @@ t_stat reason; reason = attach_unit (uptr, cptr); /* attach file */ if (reason == SCPE_OK) { - sim_fseek (uptr->fileref, 0, SEEK_END); - uptr->pos = ftell (uptr->fileref); -} + sim_fseek (uptr->fileref, 0, SEEK_END); + uptr->pos = sim_ftell (uptr->fileref); + } if (lpcsa & CSA_ONL) /* just file chg? */ return reason; if (sim_is_active (&lp20_unit)) /* busy? no int */