1
0
mirror of https://github.com/simh/simh.git synced 2026-05-01 05:48:35 +00:00

Notes For V3.3-2

1. New Features in 3.3-2

1.1 SCP and Libraries

- Added ASSERT command (from Dave Bryan)

1.2 PDP-11, VAX

- Added RA60, RA71, RA81 disks

2. Bugs Fixed in 3.3-2

2.1 H316

- Fixed IORETURN macro
- PT: fixed bug in OCP '0001 (found by Philipp Hachtmann)
- MT: fixed error reporting from OCP (found by Philipp Hachtmann)

2.2 Interdata 32b

- Fixed branches to mask new PC (from Greg Johnson)

2.3 PDP-11

- Fixed bugs in RESET for 11/70 (reported by Tim Chapman)
- Fixed bug in SHOW MODEL (from Sergey Okhapkin)
- Made SYSID variable for 11/70 (from Tim Chapman)
- Fixed MBRK write case for 11/70 (from Tim Chapman)
- RY: fixed bug in boot code (reported by Graham Toal)

2.4 VAX

- Fixed initial state of cpu_extmem

2.5 HP2100 (from Dave Bryan)

- Fixed missing MPCK on JRS target
- Removed EXECUTE instruction (is NOP in actual microcode)
- Fixed missing negative overflow renorm in StoreFP

2.6 I1401

- Fixed bug in line printer write line (reported by Van Snyder)
This commit is contained in:
Bob Supnik
2005-03-09 19:33:00 -08:00
committed by Mark Pizzolato
parent 9b5c8c9711
commit 098200a126
28 changed files with 1438 additions and 1138 deletions

View File

@@ -1,6 +1,6 @@
/* h316_cpu.c: Honeywell 316/516 CPU simulator
Copyright (c) 1999-2004, Robert M. Supnik
Copyright (c) 1999-2005, 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 H316/H516 CPU
15-Feb-05 RMS Added start button interrupt
01-Dec-04 RMS Fixed bug in DIV
06-Nov-04 RMS Added =n to SHOW HISTORY
04-Jan-04 RMS Removed unnecessary compare
@@ -308,6 +309,7 @@ REG cpu_reg[] = {
{ FLDATA (SS4, ss[3], 0) },
{ FLDATA (ION, dev_int, INT_V_ON) },
{ FLDATA (INODEF, dev_int, INT_V_NODEF) },
{ FLDATA (START, dev_int, INT_V_START) },
{ ORDATA (DEVINT, dev_int, 16), REG_RO },
{ ORDATA (DEVENB, dev_enb, 16), REG_RO },
{ ORDATA (CHREQ, chan_req, DMA_MAX + DMC_MAX) },
@@ -443,7 +445,7 @@ if (chan_req) { /* channel request? */
/* Interrupts */
if ((dev_int & (INT_PENDING | dev_enb)) > INT_PENDING) { /* int req? */
if ((dev_int & (INT_PEND|INT_NMI|dev_enb)) > INT_PEND) {/* int req? */
pme = ext; /* save extend */
if (cpu_unit.flags & UNIT_EXT) ext = 1; /* ext opt? extend on */
dev_int = dev_int & ~INT_ON; /* intr off */
@@ -460,6 +462,7 @@ else { if (sim_brk_summ &&
PC = NEWA (Y, Y + 1); /* incr PC */
dev_int = dev_int | INT_NODEF; }
dev_int = dev_int & ~INT_START; /* clr start button int */
sim_interval = sim_interval - 1;
if (hst_lnt) { /* instr hist? */
hst_p = (hst_p + 1); /* next entry */
@@ -1129,7 +1132,7 @@ saved_AR = saved_BR = saved_XR = 0;
C = 0;
dp = 0;
ext = pme = extoff_pending = 0;
dev_int = dev_int & ~INT_PENDING;
dev_int = dev_int & ~(INT_PEND|INT_NMI);
dev_enb = 0;
for (i = 0; i < DMA_MAX; i++) dma_ad[i] = dma_wc[i] = dma_eor[i] = 0;
chan_req = 0;