diff --git a/ALTAIR/altair_cpu.c b/ALTAIR/altair_cpu.c index 70bf0144..8c79acd8 100644 --- a/ALTAIR/altair_cpu.c +++ b/ALTAIR/altair_cpu.c @@ -25,7 +25,7 @@ cpu 8080 CPU - 02-Feb-15 RSB Fixed initialization of "uninstalled" memory + 02-Feb-15 RSB Fixed initialization of "uninstalled" memory 19-Mar-12 RMS Fixed data type for breakpoint variables 08-Oct-02 RMS Tied off spurious compiler warnings diff --git a/ALTAIR/altair_defs.h b/ALTAIR/altair_defs.h index b864c7f1..b911f755 100644 --- a/ALTAIR/altair_defs.h +++ b/ALTAIR/altair_defs.h @@ -24,19 +24,19 @@ in this Software without prior written authorization from Charles E. Owen. */ -#include "sim_defs.h" /* simulator defns */ +#include "sim_defs.h" /* simulator defns */ /* Memory */ -#define MAXMEMSIZE 65536 /* max memory size */ -#define MEMSIZE (cpu_unit.capac) /* actual memory size */ -#define ADDRMASK (MAXMEMSIZE - 1) /* address mask */ +#define MAXMEMSIZE 65536 /* max memory size */ +#define MEMSIZE (cpu_unit.capac) /* actual memory size */ +#define ADDRMASK (MAXMEMSIZE - 1) /* address mask */ #define MEM_ADDR_OK(x) (((uint32) (x)) < MEMSIZE) /* Simulator stop codes */ -#define STOP_RSRV 1 /* must be 1 */ -#define STOP_HALT 2 /* HALT */ -#define STOP_IBKPT 3 /* breakpoint */ -#define STOP_OPCODE 4 +#define STOP_RSRV 1 /* must be 1 */ +#define STOP_HALT 2 /* HALT */ +#define STOP_IBKPT 3 /* breakpoint */ +#define STOP_OPCODE 4 diff --git a/ALTAIR/altair_sys.c b/ALTAIR/altair_sys.c index 3d423dd9..baf786dc 100644 --- a/ALTAIR/altair_sys.c +++ b/ALTAIR/altair_sys.c @@ -164,7 +164,7 @@ while ((i = getc (fileref)) != EOF) { addr++; cnt++; } /* end while */ -printf ("%d Bytes loaded.\n", cnt); +sim_printf ("%d Bytes loaded.\n", cnt); return (SCPE_OK); } diff --git a/Interdata/id16_cpu.c b/Interdata/id16_cpu.c index 6d575deb..c67545da 100644 --- a/Interdata/id16_cpu.c +++ b/Interdata/id16_cpu.c @@ -1948,7 +1948,7 @@ if (!(val & UNIT_816E) && (MEMSIZE > MAXMEMSIZE16)) { MEMSIZE = MAXMEMSIZE16; for (i = MEMSIZE; i < MAXMEMSIZE16E; i = i + 2) M[i >> 1] = 0; - printf ("Reducing memory to 64KB\n"); + sim_printf ("Reducing memory to 64KB\n"); } return SCPE_OK; } diff --git a/Interdata/id_dp.c b/Interdata/id_dp.c index e80ce1e4..792c37e8 100644 --- a/Interdata/id_dp.c +++ b/Interdata/id_dp.c @@ -496,9 +496,9 @@ uint32 dtype = GET_DTYPE (uptr->flags); /* get drive type */ if (((uptr->flags & UNIT_ATT) == 0) || /* not attached? */ ((uptr->flags & UNIT_WPRT) && (dp_cmd == CMC_WR))) { - dp_done (STC_DTE); /* error, done */ - return TRUE; - } + dp_done (STC_DTE); /* error, done */ + return TRUE; + } hd = GET_SRF (dp_hdsc); /* get head */ sc = GET_SEC (dp_hdsc); /* get sector */ if (dp_cyl != (uint32) uptr->CYL) { /* wrong cylinder? */ diff --git a/Interdata/id_idc.c b/Interdata/id_idc.c index 806bd4b4..42a9b02a 100644 --- a/Interdata/id_idc.c +++ b/Interdata/id_idc.c @@ -578,7 +578,7 @@ switch (uptr->FNC & CMC_MASK) { /* case on func */ if ((r = idc_rds (uptr))) /* read sec, err? */ return r; idc_1st = 0; - sch_wrmem (idc_dib.sch, idcxb, IDC_NUMBY); /* write mem */ + sch_wrmem (idc_dib.sch, idcxb, IDC_NUMBY); /* write mem */ if (sch_actv (idc_dib.sch, idc_dib.dno)) { /* more to do? */ sim_activate (uptr, idc_rtime); /* reschedule */ return SCPE_OK; diff --git a/Interdata/id_pt.c b/Interdata/id_pt.c index 03fac306..3f4dedee 100644 --- a/Interdata/id_pt.c +++ b/Interdata/id_pt.c @@ -204,7 +204,7 @@ if ((temp = getc (uptr->fileref)) == EOF) { /* error? */ if (feof (uptr->fileref)) { /* eof? */ pt_sta = pt_sta | STA_DU; /* set DU */ if (ptr_stopioe) - printf ("PTR end of file\n"); + sim_printf ("PTR end of file\n"); else return SCPE_OK; } else perror ("PTR I/O error"); diff --git a/LGP/lgp_stddev.c b/LGP/lgp_stddev.c index dad514c0..80657ab1 100644 --- a/LGP/lgp_stddev.c +++ b/LGP/lgp_stddev.c @@ -501,7 +501,7 @@ do { if ((ch = getc (uptr->fileref)) == EOF) { /* read char */ if (feof (uptr->fileref)) { /* err or eof? */ if (stop) - printf ("Reader end of file\n"); + sim_printf ("Reader end of file\n"); else return SCPE_OK; } else perror ("Reader I/O error"); @@ -516,7 +516,7 @@ do { if ((d1 == EOF) || (d2 == EOF)) { /* error? */ if (feof (uptr->fileref)) { /* eof? */ if (stop) - printf ("Reader end of file\n"); + sim_printf ("Reader end of file\n"); else return SCPE_OK; } else perror ("Reader I/O error"); diff --git a/NOVA/nova_cpu.c b/NOVA/nova_cpu.c index 84a32c54..b69c5757 100644 --- a/NOVA/nova_cpu.c +++ b/NOVA/nova_cpu.c @@ -1,6 +1,6 @@ /* nova_cpu.c: NOVA CPU simulator - Copyright (c) 1993-2008, Robert M. Supnik + Copyright (c) 1993-2013, 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 @@ cpu Nova central processor + 17-Mar-13 RMS Added clarifying brances to IND_STEP macro (Dave Bryan) 04-Jul-07 BKR DEV_SET/CLR macros now used, support for non-existant devices added CPU bootstrap code warning: high-speed devices may not boot properly, @@ -387,7 +388,6 @@ MTAB cpu_mod[] = { { UNIT_MSIZE, (24 * 1024), NULL, "24K", &cpu_set_size }, { UNIT_MSIZE, (28 * 1024), NULL, "28K", &cpu_set_size }, { UNIT_MSIZE, (32 * 1024), NULL, "32K", &cpu_set_size }, - { UNIT_MSIZE, (36 * 1024), NULL, "36K", &cpu_set_size }, { UNIT_MSIZE, (40 * 1024), NULL, "40K", &cpu_set_size }, { UNIT_MSIZE, (44 * 1024), NULL, "44K", &cpu_set_size }, @@ -1206,7 +1206,7 @@ return SCPE_OK; #define BOOT_LEN (sizeof(boot_rom) / sizeof(int32)) static const int32 boot_rom[] = { - 0062677, /* IORST ;reset all I/O */ + 0062677, /* IORST ;reset all I/O */ 0060477, /* READS 0 ;read SR into AC0 */ 0024026, /* LDA 1,C77 ;get dev mask */ 0107400, /* AND 0,1 ;isolate dev code */ diff --git a/NOVA/nova_dkp.c b/NOVA/nova_dkp.c index 412ad3f5..c9d50cec 100644 --- a/NOVA/nova_dkp.c +++ b/NOVA/nova_dkp.c @@ -344,7 +344,7 @@ int32 dkp_swait = 100; /* seek latency */ int32 dkp_rwait = 100; /* rotate latency */ int32 dkp_diagmode = 0; /* diagnostic mode */ -int32 dkp_trace = 0 ; +int32 dkp_trace = 0 ; DEVICE dkp_dev; int32 dkp (int32 pulse, int32 code, int32 AC); @@ -545,8 +545,8 @@ switch (code) { /* decode IR<5:7> */ } DEV_CLR_DONE( INT_DKP ); /* assume done flags 0 */ if ( dkp_sta & STA_DFLGS ) /* done flags = 0? */ - DEV_SET_DONE( INT_DKP ); /* nope - set done */ - DEV_UPDATE_INTR; /* update intr */ + DEV_SET_DONE( INT_DKP ) ; /* nope - set done */ + DEV_UPDATE_INTR ; /* update intr */ break; case ioDIB: /* DIB */ @@ -575,12 +575,12 @@ switch (code) { /* decode IR<5:7> */ (dtype == TYPE_6097) || /* for 6099 and 6103 */ (dtype == TYPE_6103)) && /* if data<0> set, */ (AC & 010000) ) - dkp_diagmode = 1; /* set diagnostic mode */ + dkp_diagmode = 1; /* set diagnostic mode */ break; } /* end switch code */ u = GET_UNIT(dkp_ussc); /* update current unit */ -uptr = dkp_dev.units + u ; /* select unit */ +uptr = dkp_dev.units + u ; /* select unit */ dtype = GET_DTYPE (uptr->flags); /* get drive type */ if ( DKP_TRACE(0) ) @@ -606,7 +606,7 @@ switch (pulse) { /* decode IR<8:9> */ dkp_ussc = 010003; } else { /* normal mode ... */ - if (dkp_go (pulse)) /* do command */ + if (dkp_go (pulse)) /* do command */ break ; /* break if no error */ } DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */ @@ -645,8 +645,8 @@ switch (pulse) { /* decode IR<8:9> */ break; /* no error - do not set done and status */ } - DEV_SET_DONE( INT_DKP ) ; /* set done */ - DEV_UPDATE_INTR ; /* update ints */ + DEV_SET_DONE( INT_DKP ) ; /* set done */ + DEV_UPDATE_INTR ; /* update ints */ dkp_sta = dkp_sta | (STA_SKDN0 >> u); /* set controller seek done */ break; } /* end case pulse */ @@ -661,8 +661,8 @@ return rval; t_stat dkp_go ( int32 pulse ) { -UNIT * uptr; -int32 oldCyl, u, dtype; +UNIT *uptr; +int32 oldCyl, u, dtype; dkp_sta = dkp_sta & ~STA_EFLGS; /* clear errors */ u = GET_UNIT (dkp_ussc); /* get unit number */ @@ -687,10 +687,10 @@ uptr->CYL = GET_CYL (dkp_fccy, dtype) ; if ( DKP_TRACE(1) ) { - int32 xSect ; - int32 xSurf ; - int32 xCyl ; - int32 xCnt ; + int32 xSect ; + int32 xSurf ; + int32 xCyl ; + int32 xCnt ; xSect = GET_SECT(dkp_ussc, dtype) ; xSurf = GET_SURF(dkp_ussc, dtype) ; @@ -698,25 +698,25 @@ if ( DKP_TRACE(1) ) xCnt = 16 - (GET_COUNT(dkp_ussc)) ; fprintf( DKP_TRACE_FP, - " [%s:%c %-5s: %3d / %2d / %2d %2d %06o ] \r\n", - "DKP", - (char) (u + '0'), - ((uptr->FUNC == FCCY_READ) ? - "read" - : ((uptr->FUNC == FCCY_WRITE) ? - "write" - : ((uptr->FUNC == FCCY_SEEK) ? - "seek" - : "" - ) + " [%s:%c %-5s: %3d / %2d / %2d %2d %06o ] \r\n", + "DKP", + (char) (u + '0'), + ((uptr->FUNC == FCCY_READ) ? + "read" + : ((uptr->FUNC == FCCY_WRITE) ? + "write" + : ((uptr->FUNC == FCCY_SEEK) ? + "seek" + : "" ) - ), - (unsigned) xCyl, - (unsigned) xSurf, - (unsigned) xSect, - (unsigned) (16 - xCnt), - (unsigned) (dkp_ma & 0xFFFF) /* show all 16-bits in case DCH B */ - ) ; + ) + ), + (unsigned) xCyl, + (unsigned) xSurf, + (unsigned) xSect, + (unsigned) (16 - xCnt), + (unsigned) (dkp_ma & 0xFFFF) /* show all 16-bits in case DCH B */ + ) ; } @@ -727,7 +727,7 @@ switch (uptr->FUNC) { /* decode command */ if (((uptr->flags & UNIT_ATT) == 0) || /* not attached? */ ((uptr->flags & UNIT_WPRT) && (uptr->FUNC == FCCY_WRITE))) { - dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */ + dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error */ } else if ( uptr->CYL >= drv_tab[dtype].cyl ) /* bad cylinder */ { @@ -736,7 +736,7 @@ switch (uptr->FUNC) { /* decode command */ else if ( GET_SURF(dkp_ussc, dtype) >= drv_tab[dtype].surf ) /* bad surface */ { dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /* older drives may not even do this... */ - /* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /- newer disks give this error */ + /* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /- newer disks give this error */ } else if ( GET_SECT(dkp_ussc, dtype) >= drv_tab[dtype].sect ) /* or bad sector? */ { @@ -811,7 +811,7 @@ u = uptr - dkp_dev.units; /* get unit number */ if (uptr->FUNC == FCCY_SEEK) { /* seek? */ if ( ! (uptr->flags & UNIT_ATT) ) /* not attached? */ { - dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error (changed during queue time?) */ + dkp_sta = dkp_sta | STA_DONE | STA_ERR; /* error (changed during queue time?) */ } else if ( uptr->CYL >= drv_tab[dtype].cyl ) /* bad cylinder? */ { @@ -856,7 +856,7 @@ else if ( GET_SURF(dkp_ussc, dtype) >= drv_tab[dtype].surf ) /* bad surface */ } else if ( GET_SECT(dkp_ussc, dtype) >= drv_tab[dtype].sect ) /* or bad sector? */ { -/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /- older DG drives do not even give error(!), but we do */ +/* dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_UNS; /- older DG drives do not even give error(!), but we do */ dkp_sta = dkp_sta | STA_DONE | STA_ERR | STA_XCY ; /* newer disks give this error */ } else { @@ -937,8 +937,8 @@ do { } newsect = GET_SECT (dkp_ussc, dtype) + 1 ; /* update next sector */ -newsurf = GET_SURF (dkp_ussc, dtype) ; /* and next head */ - /* (count set below) */ +newsurf = GET_SURF (dkp_ussc, dtype) ; /* and next head */ + /* (count set below) */ DKP_UPDATE_USSC( type, 1, newsurf, newsect ) } /* end read/write loop */ @@ -973,9 +973,9 @@ t_stat dkp_reset (DEVICE *dptr) int32 u; UNIT *uptr; -DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */ -DEV_CLR_DONE( INT_DKP ) ; /* clear done */ -DEV_UPDATE_INTR ; /* update ints */ +DEV_CLR_BUSY( INT_DKP ) ; /* clear busy */ +DEV_CLR_DONE( INT_DKP ) ; /* clear done */ +DEV_UPDATE_INTR ; /* update ints */ dkp_fccy = dkp_ussc = dkp_ma = dkp_sta = 0; /* clear registers */ dkp_diagmode = 0; /* clear diagnostic mode */ dkp_map = 0; diff --git a/NOVA/nova_mta.c b/NOVA/nova_mta.c index 0f7a4cc7..2305e770 100644 --- a/NOVA/nova_mta.c +++ b/NOVA/nova_mta.c @@ -149,12 +149,12 @@ #define STA_MON (STA_REW | STA_BOT | STA_WLK | STA_RDY | \ STA_PEM) /* set status chg */ -extern uint16 M[]; -extern UNIT cpu_unit; -extern int32 int_req, dev_busy, dev_done, dev_disable; -extern int32 SR, AMASK; +extern uint16 M[]; +extern UNIT cpu_unit; +extern int32 int_req, dev_busy, dev_done, dev_disable; +extern int32 SR, AMASK; -extern t_stat cpu_boot(int32 unitno, DEVICE * dptr ) ; +extern t_stat cpu_boot(int32 unitno, DEVICE * dptr ) ; int32 mta_ma = 0; /* memory address */ @@ -496,7 +496,7 @@ if (change) { /* if (mta_ep) { *//* if polling */ /* u = uptr - mta_dev.units; *//* unit num */ /* mta_sta = (mta_sta & ~STA_UNIT) | (u << STA_V_UNIT); */ -/* set polling interupt... */ +/* set polling interupt... */ /* } */ mta_sta = mta_sta | STA_CHG; /* flag change */ } @@ -642,4 +642,4 @@ t_stat mta_boot (int32 unitno, DEVICE *dptr) cpu_boot( unitno, dptr ) ; SR = 0100000 + DEV_MTA ; return ( SCPE_OK ); - } /* end of 'mta_boot' */ + } /* end of 'mta_boot' */ diff --git a/NOVA/nova_plt.c b/NOVA/nova_plt.c index e75511b2..d24d6a97 100644 --- a/NOVA/nova_plt.c +++ b/NOVA/nova_plt.c @@ -54,7 +54,7 @@ t_stat plt_svc (UNIT *uptr); t_stat plt_reset (DEVICE *dptr); - /* 7 or 8 bit data mask support for either device */ +/* 7 or 8 bit data mask support for either device */ #define UNIT_V_8B (UNIT_V_UF + 0) /* 8b output */ #define UNIT_8B (1 << UNIT_V_8B) diff --git a/NOVA/nova_pt.c b/NOVA/nova_pt.c index 219aac4e..c4517edb 100644 --- a/NOVA/nova_pt.c +++ b/NOVA/nova_pt.c @@ -1,6 +1,6 @@ /* nova_pt.c: NOVA paper tape read/punch simulator - Copyright (c) 1993-2008, Robert M. Supnik + Copyright (c) 1993-2015, 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 @@ ptr paper tape reader ptp paper tape punch + 28-Mar-15 RMS Revised to use sim_printf 04-Jul-07 BKR added PTR and PTP device DISABLE capability, added 7B/8B support PTR and PTP (default is 8B), DEV_SET/CLR macros now used, @@ -45,10 +46,10 @@ Notes: #include "nova_defs.h" -extern int32 int_req, dev_busy, dev_done, dev_disable ; -extern int32 SR ; +extern int32 int_req, dev_busy, dev_done, dev_disable ; +extern int32 SR ; -extern t_stat cpu_boot(int32 unitno, DEVICE * dptr ) ; +extern t_stat cpu_boot(int32 unitno, DEVICE * dptr ) ; int32 ptr_stopioe = 0, ptp_stopioe = 0; /* stop on error */ @@ -62,7 +63,7 @@ t_stat ptp_reset (DEVICE *dptr); t_stat ptr_boot (int32 unitno, DEVICE *dptr); - /* 7 or 8 bit data mask support for either device */ +/* 7 or 8 bit data mask support for either device */ #define UNIT_V_8B (UNIT_V_UF + 0) /* 8b output */ #define UNIT_8B (1 << UNIT_V_8B) @@ -193,7 +194,7 @@ if ((ptr_unit.flags & UNIT_ATT) == 0) /* attached? */ if ((temp = getc (ptr_unit.fileref)) == EOF) { /* end of file? */ if (feof (ptr_unit.fileref)) { if (ptr_stopioe) - printf ("PTR end of file\n"); + sim_printf ("PTR end of file\n"); else return SCPE_OK; } else perror ("PTR I/O error"); diff --git a/NOVA/nova_qty.c b/NOVA/nova_qty.c index 7a3b0acc..5e03e74a 100644 --- a/NOVA/nova_qty.c +++ b/NOVA/nova_qty.c @@ -1,6 +1,6 @@ /* nova_qty.c: NOVA multiplexor (QTY/ALM) simulator - Copyright (c) 2000-2008, Robert M. Supnik + Copyright (c) 2000-2015, Robert M. Supnik Written by Bruce Ray and used with his gracious permission. Permission is hereby granted, free of charge, to any person obtaining a @@ -26,7 +26,9 @@ qty multiplexor: QTY = 4060, ALM = 42xx - 04-Jul-07 BKR fixed QTY output line number calculation (affected higher line numbers), + 28-Mar-15 RMS Revised to use sim_printf + 14-Mar-12 RMS Fixed dangling else clauses + 04-Jul-07 BKR Fixed QTY output line number calculation (affected higher line numbers), 25-Mar-04 RMS Updated for V3.2 12-Jan-04 BKR Initial release includes both original DG "quad" multiplexor (QTY) @@ -626,7 +628,7 @@ t_stat qty_common_svc( DIB * dibp, UNIT * unitp ) sim_activate( unitp, tmxr_poll ) ; /* restart the bubble machine */ return ( SCPE_OK ) ; - } /* end of 'qty_common_svc' */ + } /* end of 'qty_common_svc' */ /*--------------------------------------------------------------*/ @@ -636,7 +638,7 @@ t_stat qty_common_svc( DIB * dibp, UNIT * unitp ) t_stat qty_svc( UNIT * uptr ) { return ( qty_common_svc(&qty_dib,uptr) ) ; - } /* end of 'qty_svc' */ + } /* end of 'qty_svc' */ /*--------------------------------------------------------------*/ @@ -996,13 +998,13 @@ int32 alm( int32 pulse, int32 code, int32 AC ) /* get modem section status */ if ( qty_ldsc[ alm_line ].xmte ) { - iodata = 0035 ; /* set CD, CTS, DSR, MDM flags */ + iodata = 0035 ; /* set CD, CTS, DSR, MDM flags */ } } else { /* get receiver section status */ - iodata = 0 ; /* receiver error status - no errors by default */ + iodata = 0 ; /* receiver error status - no errors by default */ } } break ; diff --git a/NOVA/nova_sys.c b/NOVA/nova_sys.c index 9be5e651..87a23522 100644 --- a/NOVA/nova_sys.c +++ b/NOVA/nova_sys.c @@ -176,11 +176,11 @@ internal state machine: t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag) { -int32 data, csum, count, state, i; -int32 origin; -int pos ; -int block_start ; -int done ; +int32 data, csum, count, state, i; +int32 origin; +int pos ; +int block_start ; +int done ; if ((*cptr != 0) || (flag != 0)) return ( SCPE_ARG ) ; @@ -223,11 +223,11 @@ for ( pos = 0 ; (! done) && ((i=getc(fileref)) != EOF) ; ++pos ) /* do any auto-start check or inhibit check */ saved_PC = (origin & 077777) ; /* 0B0 = auto-start program */ /* 1B0 = do not auto start */ - state = 0 ; /* indicate okay state */ - done = 1 ; /* we're done! */ + state = 0 ; /* indicate okay state */ + done = 1 ; /* we're done! */ if ( ! (origin & 0x8000) ) { - printf( "auto start @ %05o \n", (origin & 0x7FFF) ) ; + sim_printf( "auto start @ %05o \n", (origin & 0x7FFF) ) ; } break ; } @@ -275,8 +275,8 @@ for ( pos = 0 ; (! done) && ((i=getc(fileref)) != EOF) ; ++pos ) if (count == 0) { if ( csum ) { - printf( "checksum error: block start at %d [0x%x] \n", block_start, block_start ) ; - printf( "calculated: 0%o [0x%4x]\n", csum, csum ) ; + sim_printf( "checksum error: block start at %d [0x%x] \n", block_start, block_start ) ; + sim_printf( "calculated: 0%o [0x%4x]\n", csum, csum ) ; if ( ! (sim_switches & SWMASK('I')) ) return SCPE_CSUM; } diff --git a/NOVA/nova_tt.c b/NOVA/nova_tt.c index b9a0b03d..4c4acc81 100644 --- a/NOVA/nova_tt.c +++ b/NOVA/nova_tt.c @@ -1,6 +1,6 @@ /* nova_tt.c: NOVA console terminal simulator - Copyright (c) 1993-2008, Robert M. Supnik + Copyright (c) 1993-2015, 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 @@ tti terminal input tto terminal output + 31-Mar-15 RMS Backported parity capability from GitHub master 04-Jul-07 BKR fixed Dasher CR/LF swap function in 'tti_svc()', DEV_SET/CLR macros now used, TTO device may now be DISABLED @@ -40,7 +41,6 @@ 31-May-01 RMS Added multiconsole support Notes: - - TTO output is always masked to 7 bits in this rev - TTO "Dasher" attribute sends '\b' to console instead of '\031' - TTO may be disabled - TTI "Dasher" attribute swaps and @@ -90,10 +90,10 @@ REG tti_reg[] = { MTAB ttx_mod[] = { { UNIT_DASHER, 0, "ANSI", "ANSI", &ttx_setmod }, { UNIT_DASHER, UNIT_DASHER, "Dasher", "DASHER", &ttx_setmod }, - { TT_PAR, TT_PAR_EVEN, "Even Parity", "EVEN", &ttx_setpar }, - { TT_PAR, TT_PAR_ODD, "Odd Parity", "ODD", &ttx_setpar }, - { TT_PAR, TT_PAR_MARK, "Mark Parity", "MARK", &ttx_setpar }, - { TT_PAR, TT_PAR_SPACE, "No Parity", "NONE", &ttx_setpar }, + { TT_PAR, TT_PAR_EVEN, "even parity", "EVEN", &ttx_setpar }, + { TT_PAR, TT_PAR_ODD, "odd parity", "ODD", &ttx_setpar }, + { TT_PAR, TT_PAR_MARK, "mark parity", "MARK", &ttx_setpar }, + { TT_PAR, TT_PAR_SPACE, "no parity", "NONE", &ttx_setpar }, { 0 } } ;