Commit graph

889 commits

Author SHA1 Message Date
Timothe Litt
3acbd0e2ca SCP: Prevent use of uninitialized pointer. 2013-07-05 00:24:21 -04:00
Timothe Litt
4497bba48f PDP-11/VAX update: SHOW IOSPACE
Teach SHOW IOSPACE to output vector and BR addresses as well as CSR addresses.
2013-07-05 00:23:33 -04:00
Timothe Litt
1bfc2bc57e PDP-10 update: CD20
Make the card reader work on TOPS-10 and TOPS-20.
Augmented Image ECO was not implemented.
Simplify UI by defining commands for the various options/models emulated based on the simulator being built.
Document, and make the help conditional on model where that reduces clutter.
Deal with <CR><LF> reading ASCII files (file is opened 'rb' in scp's attach ; it shouldn't be.
Add translation support for DEC 026/029 full 7-bit ASCII, an ANSI standard & used by TOPS-10/20.
Deliver EOF at the correct time(s).
Preliminary support for update to card image spec being negotiated with the author.
2013-07-05 00:16:11 -04:00
Timothe Litt
9c7f4237d3 PDP-10 update
Halt code for Console FE errors
2013-07-05 00:07:01 -04:00
Timothe Litt
6e78905ecc PDP-10 Update: TIM
Fix subtle errors in timer/timebase implementation.
Document mechanisms.
Reduce magic constants by using what the OS sets via wrint.
2013-07-05 00:03:39 -04:00
Timothe Litt
6243f9314f PDP-10 update: LP20
Add Optical VFU support
Correct some inconsistencies with the hardware.
Add documentation and help.
Flush output file after 10 seconds of idleness to allow external watchers/processors to access entire job without forcing a simulator halt or detach/attach.
Make CR return to column 0, not column 1.
Make DAVFU contents accessible via SHOW.
Initialize RAM structures on power-up reset, but not reboot.
2013-07-05 00:01:24 -04:00
Timothe Litt
0e939d29e8 PDP-10 update
Implement keep-alive and os-requested reload functions of FE.
Preserve HW config flags during (re-) boot.
Allow IPL30 device to interrupt.
Add 18-bit DMA functions.
Implement DMA to/from I/O space.
Optimize DMA memory mapping - once per page, not once per byte.
Teach SHOW IO to report vectors and BR levels as well as CSR addresses.
Add DUP and KDP to Autoconfigure table.
2013-07-04 23:56:24 -04:00
Timothe Litt
8df4e2a3fd Update pdp-10 documentation 2013-07-04 23:40:43 -04:00
Mark Pizzolato
64ed03d10a Revert clearing of sim_interval on sig-int to properly manage the passage of time. 2013-07-01 09:49:47 -10:00
Mark Pizzolato
fa0086ab74 change QVSS device to autoconfigure its vector so other autoconfigured devices get correct vector assignments when the QVSS device is enabled 2013-07-01 09:47:54 -10:00
Mark Pizzolato
5de0c8db9c Instrumented the qvss activities for better debug support 2013-06-30 08:37:29 -10:00
Mark Pizzolato
1f8b3be4c0 Cleanup remote console single command mode. 2013-06-25 04:58:34 -10:00
Mark Pizzolato
5a21db5df6 Fix TMXR line transmit buffer allocation to always be allocated if a listening socket is open 2013-06-24 10:58:28 -07:00
Mark Pizzolato
9f430923c4 Merge remote-tracking branch 'origin/master' 2013-06-20 09:15:53 -07:00
Mark Pizzolato
469b4b249c Fixed typo in comment 2013-06-20 09:11:51 -07:00
Timothe Litt
e529273dee Merge branch 'master' of https://github.com/tlhackque/simh 2013-06-19 08:00:36 -04:00
Timothe Litt
c3b1d9abdd Boot ROMs, again
Make the boot ROMs a bit easier to maintain.

Add assertion that the two variants of each are the same size.

Add offsets to the comments so it's easier to see where jumps are going.
2013-06-19 06:05:57 -04:00
Timothe Litt
9681843fb5 PDP-10 tape boot rom update
The boot rom for tape didn't handle a tapes coming on-line, didn't take
the RH/TM/addresses from the FE.  The launcher also didn't handle
autoboot.

Now it does, with the restriction that ITS will only talk to UBA1.
2013-06-19 05:49:21 -04:00
Timothe Litt
65ea457d5b PDP-10 tape boot rom update
The boot rom for tape didn't handle a tapes coming on-line, didn't take
the RH/TM/addresses from the FE.  The launcher also didn't handle
autoboot.

Now it does, with the restriction that ITS will only talk to UBA1.
2013-06-19 05:49:07 -04:00
Timothe Litt
2efb0a1d65 Add -A to boot, Document & init FE comm area
The KS10's 8080 interfaces to the OS thru a small communications region.

The documentation is rather lacking, and the 8080 microcode is difficult
to follow.  Many years ago (while still at DEC), I worked it out, and
put definitions into TOPS-10.  They're now here, too.

Also, properly initialize the KLINIK communication words and the
keep-alive word.
2013-06-18 22:42:48 -04:00
Timothe Litt
6076a48f25 PDP-10 RP redux
The KS front end microcode actually reads the wrong alternate HOM block.
Teach the bootstrap to try the wrong one (in case someone counts on
this), but also the correct block.

Implement boot -A to emulate an autoboot - the boot that happens on
power-on or when the boot switch is pressed.  No questions, just boots.
2013-06-18 21:14:32 -04:00
Timothe Litt
c7c5bdead0 PDP-10 RP attach/detach/boot issues
The pdp10_rp emulator had several problems:

1) disks are not recognized properly when they come on-line.  Same issue
as tapes, but not the same code paths.

2) The bootstrap code did not wait for disks to become ready.

3) The bootstrap code did not take the RH CSR address from the front end
(device).  Hence, would not boot if the device address was changed.

4) The bootstrap looked for the second HOM block at block 10 of the
disk.  Unfortunately, it read block 8.  10 is decimal; you need all 10
(decimal) fingers.

Fixes:
1) Implement spin-up delay.  A device that is attached/re-attached comes
on-line a second later.  Replace tests for 'attached' with tests for
up-to-speed.

2) Wait for the drive to become ready after issuing a controller clear.
When it's ready, write the attention summary register to prevent the
un-tended on-line interrupt for looking like an error.

3) Read the RHBASE from main memory instead of storing it there.  Teach
the bootstrap command to put it in memory from the dib, as it did with
the unit.

4) Read the correct block.

FILSER now gets on-line and off-line interrupts.
2013-06-18 16:27:41 -04:00
Mark Pizzolato
97eb58cfc4 Added a device flag which can be used to avoid auto detach at device attach time. 2013-06-17 21:17:49 -07:00
Timothe Litt
e13b1fed55 Merge branch 'master' of https://github.com/tlhackque/simh 2013-06-17 18:43:28 -04:00
Timothe Litt
d92fd22d7f RH11/TM0x issues: attach/detach
Tape on-line interrupts weren't happening when a tape was attached or
replace on the TH11/TM0x emulation.

The OS never saw a MOL transition in the case of replacement, where the
detach is implicit.

This patch defers reporting MOL for 100 msec; faster than a human can
change tapes, but long enough for an OS to see the 1->0->1 transition of
MOL.

Further, checks for UNIT_ATT should be for MOL.

This makes GALAXY automatic tape recognition work.
2013-06-17 18:11:05 -04:00
Mark Pizzolato
50ec127bb7 Merge remote-tracking branch 'github.com/simh/simh/master' 2013-06-17 12:24:35 -07:00
Mark Pizzolato
b2f4590bfd Update README 2013-06-17 12:22:29 -07:00
Timothe Litt
9752a71943 Access violation if invalid command entered to remote console 2013-06-17 15:11:24 -04:00
Timothe Litt
b8408c6641 ignore emacs scratch and backup 2013-06-17 11:55:24 -04:00
Mark Pizzolato
62229801f6 Cleanup of Visual Studio VAX project to properly convert to newer Visual Studio versions. 2013-06-15 21:59:09 -07:00
Mark Pizzolato
5fba42a08f Renamed Visual Studio Projects VAX610, VAX620 and VAX630 to be consistent with the target names produced by those project builds.
This allows the projects to be migrated into Visual Studio 2010 and Visual Studio 2012 and produce consistent behavior.
2013-06-14 16:20:30 -07:00
Mark Pizzolato
80790908e6 Added "HELP SET dev" and "HELP SHOW dev" as eqivalent to "HELP dev SET" and "HELP dev SHOW" respectively. 2013-06-14 15:00:46 -07:00
Mark Pizzolato
65de3d0aed Add descriptions to the QVSS register declarations 2013-06-14 07:25:18 -07:00
Mark Pizzolato
31b63f03c5 Fixed the Visual Studio build of simulators which statically link against libSDL. 2013-06-14 05:55:03 -07:00
Mark Pizzolato
524460eaf6 Cleanup Visual Studio Build issues 2013-06-13 08:14:57 -07:00
Mark Pizzolato
a7a8f3d905 Added reporting of the QVSS window focus release key when Video Windows is created 2013-06-13 07:00:32 -07:00
Mark Pizzolato
baba5f8c08 Fixed reporting of libSDL availability in simulatoes which will never need it. 2013-06-13 06:36:48 -07:00
Mark Pizzolato
b5e3d6b280 Added logic to suggest libSDL might help with simulators what can use it when it isn't available. 2013-06-12 19:20:55 -07:00
Mark Pizzolato
0109d04ae4 Fix incorrect definition descriptions in comments 2013-06-12 17:11:03 -07:00
Mark Pizzolato
b3a9a0d79c Add sim_video and VAX QVSS (VCB01) Monochrome Video Board from Matt Burke 2013-06-12 17:10:23 -07:00
Mark Pizzolato
feeea1e9d2 Remove unused definitions 2013-06-12 16:01:44 -07:00
Mark Pizzolato
43e5647e96 Fix short block writes on RK06/RK07 devices to write zero filled buffer data. (Oleg Safiullin) 2013-06-10 05:09:45 -07:00
Mark Pizzolato
eb921d2ea4 Fix bug in PDP11 SET CPU <model> which inadvertently disabled some devices improperly. - Bob Supnik 2013-06-07 18:20:59 -07:00
Mark Pizzolato
a145d5362b CAPS11 now runs on SimH. The key bug was in the reset routine. Change by Bob Supnik.
Thanks to Ian Hammond, Lou Ernst, Malcolm Macloud, and Jack Rubin,

In addition, I've added the CAPS11 bootstrap into the emulator module, so no more toggle-in required.

Lou Ernst reported that RT11 V5 does not work with the TA11, even on real hardware. The simulated TA11 does work under RT11 V4; it's included in the stock FB monitor.

One anomaly with RT11 V4 - after writing files to CT0: and then doing a DIRECTORY, all the files lengths are 0. The files are there. I can type them and DIFF them against their source.
2013-06-07 16:02:17 -07:00
Mark Pizzolato
f386776a96 Compiler warning fixes from Brian Knittel 2013-06-03 11:54:49 -07:00
Mark Pizzolato
651780c481 Remove stray tab characters which crept in over time 2013-06-03 06:29:01 -07:00
Mark Pizzolato
f7330bc09d remote compiler warning 2013-06-02 17:07:21 -07:00
Mark Pizzolato
780adc3ca9 Added missing STRSYN from DDCMP dup setup 2013-06-02 16:08:06 -07:00
Mark Pizzolato
596cb3f580 Added needed DUP interfaces to allow use by KMC11/KDP. 2013-06-02 13:19:23 -07:00
Mark Pizzolato
4064cc079a This fixes the problem that MMR1 is recording changes to R7 (PC), which it should not. (issue #44)
It does not fix the problem that MMR1 is not used for floating point instructions.

I don't know if I will fix the FP MMR1 problem. It does not seem to impact running software. It is consistent with the architecture spec - just not with the actual J11 implementation. The J11 microcode has a variety of exception exits for FP conditions, and I have to trace which ones invoke fix-up, and which do not.
2013-06-02 06:52:32 -07:00