mirror of
https://github.com/simh/simh.git
synced 2026-01-25 19:56:25 +00:00
Bob Supnik's state as of 10/12/2013
This commit is contained in:
@@ -3632,7 +3632,7 @@ if ((IR & 0100017) == 0100010) { /* This pattern for all
|
||||
PC = (PC + 1) & AMASK;
|
||||
continue;
|
||||
}
|
||||
if ((IR & 0103777) == 0100650) { /* FDD Div double by AC */
|
||||
if ((IR & 0103777) == 0100750) { /* FDD Div double by AC */
|
||||
if (!(fpu_unit.flags & UNIT_UP))
|
||||
continue;
|
||||
if (Debug_Flags == 1) {
|
||||
@@ -3687,7 +3687,7 @@ if ((IR & 0100017) == 0100010) { /* This pattern for all
|
||||
FPSR |= ((PC - 1) & AMASK);
|
||||
continue;
|
||||
}
|
||||
if ((IR & 0103777) == 0101650) { /* FDMD Div double by memory */
|
||||
if ((IR & 0103777) == 0101750) { /* FDMD Div double by memory */
|
||||
if (!(fpu_unit.flags & UNIT_UP))
|
||||
continue;
|
||||
if (Debug_Flags == 1) {
|
||||
|
||||
@@ -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,
|
||||
@@ -243,11 +244,14 @@
|
||||
#define STK_CHECK(x,y) if (((x) & 0377) < (y)) \
|
||||
int_req = int_req | INT_STK
|
||||
#define IND_STEP(x) M[x] & A_IND; /* return next level indicator */ \
|
||||
if ( ((x) <= AUTO_TOP) && ((x) >= AUTO_INC) ) \
|
||||
if ( (x) < AUTO_DEC ) \
|
||||
if (((x) <= AUTO_TOP) && ((x) >= AUTO_INC)) { \
|
||||
if ( (x) < AUTO_DEC ) { \
|
||||
M[x] = (M[x] + 1) & DMASK; \
|
||||
else \
|
||||
} \
|
||||
else { \
|
||||
M[x] = (M[x] - 1) & DMASK; \
|
||||
} \
|
||||
} \
|
||||
x = M[x] & AMASK
|
||||
|
||||
#define INCREMENT_PC PC = (PC + 1) & AMASK /* increment PC */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* nova_dsk.c: 4019 fixed head disk 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 @@
|
||||
|
||||
dsk fixed head disk
|
||||
|
||||
03-Sep-13 RMS Added explicit void * cast
|
||||
04-Jul-07 BKR device name changed to DG's DSK from DEC's DK,
|
||||
DEV_xxx macros now used for consistency,
|
||||
added secret DG DIC function,
|
||||
@@ -235,7 +236,7 @@ return rval;
|
||||
t_stat dsk_svc (UNIT *uptr)
|
||||
{
|
||||
int32 i, da, pa;
|
||||
int16 *fbuf = uptr->filebuf;
|
||||
int16 *fbuf = (int16 *) uptr->filebuf;
|
||||
|
||||
DEV_CLR_BUSY( INT_DSK ) ;
|
||||
DEV_SET_DONE( INT_DSK ) ;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* nova_qty.c: NOVA multiplexor (QTY/ALM) simulator
|
||||
|
||||
Copyright (c) 2000-2008, Robert M. Supnik
|
||||
Copyright (c) 2000-2013, 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,8 @@
|
||||
|
||||
qty multiplexor: QTY = 4060, ALM = 42xx
|
||||
|
||||
04-Jul-07 BKR fixed QTY output line number calculation (affected higher line numbers),
|
||||
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)
|
||||
@@ -604,12 +605,11 @@ t_stat qty_common_svc( DIB * dibp, UNIT * unitp )
|
||||
++qty_polls ; /* another time 'round the track */
|
||||
newln = tmxr_poll_conn( &qty_desc ) ; /* anybody knocking at the door? */
|
||||
if ( (newln >= 0) && qty_mdm )
|
||||
{
|
||||
if ( newln >= qty_max )
|
||||
{
|
||||
return SCPE_IERR; /* WTF - sanity check failed, over? */
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
return SCPE_IERR; /* WTF - sanity check failed, over? */
|
||||
}
|
||||
line = newln ; /* handle modem control */
|
||||
tmlnp =&qty_ldsc[ line ] ;
|
||||
tmlnp->rcve = tmlnp->xmte = 1 ;
|
||||
@@ -628,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' */
|
||||
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
@@ -638,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' */
|
||||
|
||||
|
||||
/*--------------------------------------------------------------*/
|
||||
@@ -992,18 +992,20 @@ int32 alm( int32 pulse, int32 code, int32 AC )
|
||||
|
||||
case ioDIC : /* get modem or receiver status */
|
||||
if ( alm_line < qty_max )
|
||||
{
|
||||
if ( alm_section )
|
||||
{
|
||||
/* get modem section status */
|
||||
if ( qty_ldsc[ alm_line ].xmte )
|
||||
{
|
||||
iodata = 0035 ; /* set CD, CTS, DSR, MDM flags */
|
||||
/* get modem section status */
|
||||
if ( qty_ldsc[ alm_line ].xmte )
|
||||
{
|
||||
iodata = 0035 ; /* set CD, CTS, DSR, MDM flags */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* get receiver section status */
|
||||
iodata = 0 ; /* receiver error status - no errors by default */
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* get receiver section status */
|
||||
iodata = 0 ; /* receiver error status - no errors by default */
|
||||
}
|
||||
break ;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user