mirror of
https://github.com/simh/simh.git
synced 2026-04-28 04:44:55 +00:00
Notes For V3.7
1. New Features 1.1 3.7-0 1.1.1 SCP - Added SET THROTTLE and SET NOTHROTTLE commands to regulate simulator execution rate and host resource utilization. - Added idle support (based on work by Mark Pizzolato). - Added -e to control error processing in nested DO commands (from Dave Bryan). 1.1.2 HP2100 - Added Double Integer instructions, 1000-F CPU, and Floating Point Processor (from Dave Bryan). - Added 2114 and 2115 CPUs, 12607B and 12578A DMA controllers, and 21xx binary loader protection (from Dave Bryan). 1.1.3 Interdata - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state. 1.1.4 PDP-11 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (WAIT instruction executed). - Added TA11/TU60 cassette support. 1.1.5 PDP-8 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). - Added TA8E/TU60 cassette support. 1.1.6 PDP-1 - Added support for 16-channel sequence break system. - Added support for PDP-1D extended features and timesharing clock. - Added support for Type 630 data communications subsystem. 1.1.6 PDP-4/7/9/15 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (keyboard poll loop or jump-to-self). 1.1.7 VAX, VAX780 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (more than 200 cycles at IPL's 0, 1, or 3 in kernel mode). 1.1.8 PDP-10 - Added SET IDLE and SET NOIDLE commands to idle the simulator in wait state (operating system dependent). - Added CD20 (CD11) support. 2. Bugs Fixed Please see the revision history on http://simh.trailing-edge.com or in the source module sim_rev.h.
This commit is contained in:
committed by
Mark Pizzolato
parent
53d02f7fa7
commit
6149cc7e06
@@ -1,6 +1,6 @@
|
||||
/* pdp8_cpu.c: PDP-8 CPU simulator
|
||||
|
||||
Copyright (c) 1993-2006, Robert M Supnik
|
||||
Copyright (c) 1993-2007, 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 central processor
|
||||
|
||||
28-Apr-07 RMS Removed clock initialization
|
||||
30-Oct-06 RMS Added idle and infinite loop detection
|
||||
30-Sep-06 RMS Fixed SC value after DVI overflow (found by Don North)
|
||||
22-Sep-05 RMS Fixed declarations (from Sterling Garwood)
|
||||
@@ -244,7 +245,6 @@ extern int32 sim_int_char;
|
||||
extern uint32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */
|
||||
extern DEVICE *sim_devices[];
|
||||
extern FILE *sim_log;
|
||||
extern UNIT clk_unit, ttix_unit;
|
||||
extern t_bool sim_idle_enab;
|
||||
|
||||
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
|
||||
@@ -338,8 +338,6 @@ LAC = saved_LAC & 017777;
|
||||
MQ = saved_MQ & 07777;
|
||||
int_req = INT_UPDATE;
|
||||
reason = 0;
|
||||
sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init clk calib */
|
||||
sim_rtcn_init (ttix_unit.wait, TMR_TTX); /* init ttx calib */
|
||||
|
||||
/* Main instruction fetch/decode loop */
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* pdp8_lp.c: PDP-8 line printer simulator
|
||||
|
||||
Copyright (c) 1993-2005, Robert M Supnik
|
||||
Copyright (c) 1993-2007, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
lpt LP8E line printer
|
||||
|
||||
19-Jan-07 RMS Added UNIT_TEXT
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
04-Oct-02 RMS Added DIB, enable/disable, device number support
|
||||
30-May-02 RMS Widened POS to 32b
|
||||
@@ -54,7 +55,7 @@ t_stat lpt_detach (UNIT *uptr);
|
||||
DIB lpt_dib = { DEV_LPT, 1, { &lpt } };
|
||||
|
||||
UNIT lpt_unit = {
|
||||
UDATA (&lpt_svc, UNIT_SEQ+UNIT_ATTABLE, 0), SERIAL_OUT_WAIT
|
||||
UDATA (&lpt_svc, UNIT_SEQ+UNIT_ATTABLE+UNIT_TEXT, 0), SERIAL_OUT_WAIT
|
||||
};
|
||||
|
||||
REG lpt_reg[] = {
|
||||
@@ -135,16 +136,17 @@ t_stat lpt_svc (UNIT *uptr)
|
||||
{
|
||||
dev_done = dev_done | INT_LPT; /* set done */
|
||||
int_req = INT_UPDATE; /* update interrupts */
|
||||
if ((lpt_unit.flags & UNIT_ATT) == 0) {
|
||||
if ((uptr->flags & UNIT_ATT) == 0) {
|
||||
lpt_err = 1;
|
||||
return IORETURN (lpt_stopioe, SCPE_UNATT);
|
||||
}
|
||||
if (putc (lpt_unit.buf, lpt_unit.fileref) == EOF) {
|
||||
fputc (uptr->buf, uptr->fileref); /* print char */
|
||||
uptr->pos = ftell (uptr->fileref);
|
||||
if (ferror (uptr->fileref)) { /* error? */
|
||||
perror ("LPT I/O error");
|
||||
clearerr (lpt_unit.fileref);
|
||||
clearerr (uptr->fileref);
|
||||
return SCPE_IOERR;
|
||||
}
|
||||
lpt_unit.pos = lpt_unit.pos + 1;
|
||||
return SCPE_OK;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user