Commit graph

184 commits

Author SHA1 Message Date
Mark Pizzolato
482b6f1be4 SCP: Add ELSE command extension to the IF command processing. 2018-08-06 18:22:46 -07:00
Richard Cornwell
124ca0ea0f I7000: Second release of IBM 7000 simulators.
1) Support for new sim_card interface which supports stacking
     of input decks.
  2) Changes to allow IBM 704 to properly run Fortran II and allow
     i7090 to be set to IBM 704 correctly.
  3) Changes to allow 9IOTA diagnostics to pass.
2018-08-05 22:45:06 -04:00
Richard Cornwell
b4d185f3af B5500: Second release of Burroughs B5500 simulator.
1) Minor cleanup of some instruction execution to better match
     flowcharts.
  2) Changes to allow proper reboot if OS crashed.
  3) Changes to terminal muliplexer to allow for simH expect/send
     to work.
  4) Some corrections to translation table.
  5) Support for new sim_card interface. This includes support for
     stacking of multiple decks on the input stream.
2018-08-05 22:43:59 -04:00
Mark Pizzolato
f42db0c6ea TMXR: Add tmxr_txdone_ln() to provide precise completion speed timing
Multi line TMXR devices can simplify state maintenance and better leverage
output scheduling when they use this API
2018-07-12 10:12:49 -07:00
Mark Pizzolato
58ccb38d7b SCP: Add ability to ECHOF output to TMXR lines 2018-07-06 17:57:05 -07:00
Mark Pizzolato
53792d6261 TMXR: Describe TMXR API a little better 2018-06-19 22:05:12 -07:00
Mark Pizzolato
6b361a9faf PDP11, PDP15, UC15: Merge simh v3.10 functionality from Supnik-Current branch 2018-06-04 10:43:00 -07:00
Bob Supnik
54516bb175 sigma: New simulator (from beta) 2018-06-03 17:37:24 -07:00
Mark Pizzolato
486427c9fe HP2100: Release 28
See HP2100/hp2100_release.txt for details of the release.
2018-06-03 14:38:38 -07:00
Mark Pizzolato
0daff9026d SCP: Add TIME_MSEC predefined variable to provide time to milliseconds
- Assure that Internal variables are referencable during expression evaluation
- Add DEVNAME.REGNAME format for referencing non unique registers in
  expression evaluation.
- Extend global register search to also search known internal device list
  registers
- Allow expression variable names to have _ as a character within in the name
2018-05-24 01:46:24 -07:00
Roberto Sancho Villa
13cb294274 I650: Release 3
New Hardware support:
- IBM 653 Storage Unit: provides machine opcodes
  for Floating Point, Immediate Access Storage (IAS),
  Three Index registers, Cards Punch-read
  synchronizers 2 and 3.
New Software included:
- FORTRANSIT: version II (S), plus run time PACKAGE
  with standard Fortran functions.
- Reorganized sw directory, separating each language
  in its own folder. Each one Includes a 00_readme.txt
  file with restoration notes and comments.
New features:
- Support for SOAP opcode mnemonics in addition
  to regular IBM mnemonics
- FAST / REALTIME CPU options
- PROP pseudo register
- CARDDECK ECHOLAST command
2018-05-18 21:58:24 +02:00
Mark Pizzolato
4e508cfc29 SCP: Add C style expression support for IF conditions and SET ENV -A
Expression evaluation code provided by Gabriel Pizzolato.
2018-05-01 22:08:06 -07:00
Mark Pizzolato
8fe02ad6d1 SCP: Updaeted HELP EVAL to provide meaningful examples. 2018-05-01 13:43:22 -07:00
Roberto Sancho Villa
02e7483ee7 I650: Release 2
Hardware support:
- Half cycle simulation
- Halt CPU simulation (^E on SimH console)

New Software included: Carnegie Internal Translator (IT)
New features
- Support for displaying SOAP symbolic instructions in debug information
- CardDeck internal command to split/join/print decks of cards

Bugs corrected:
- Fixed card format handling. Release 1 can only read TEXT format
- Removed superfluous line ends from debug strings.
- Better minus zero support
- Fixed unneeded prompt Really truncate memory [N] when setting memory size
2018-04-20 15:55:26 +02:00
Mark Pizzolato
9160b9a03a doc: Update the FAQ. How to search the mailing list archive 2018-04-19 18:00:57 -07:00
Mark Pizzolato
c8beee2d0f doc: Clarify details in "Writing a Simulator for the SIMH System" 2018-04-15 12:53:29 -07:00
Mark Pizzolato
ca77941ce0 doc: Update documents for RQ and TQ unit plug value setting 2018-04-12 20:21:37 -07:00
Roberto Sancho Villa
2eb49c13b7 i650: New IBM 650 Simulator 2018-03-25 10:17:35 -07:00
Mark Pizzolato
f5ca960b82 TMXR: Disable ATTACH speed for devices which program port speed 2018-03-13 02:14:06 -07:00
Mark Pizzolato
60db7e7239 DOC: Update vax_doc.doc to reflect setting tape capacity for TQ device 2018-02-24 17:53:15 -08:00
Mark Pizzolato
3a81f63ec1 SCP: Add support to handle CTRL+C while executing command files 2018-01-30 03:36:15 -08:00
Mark Pizzolato
c4e55d0f6b HP3000: HP 3000 release 7
See HP3000/hp3000_release.txt for details of the release
2018-01-12 14:48:50 -08:00
Mark Pizzolato
fbcf72abfc SCP: Allow commands to be enclosed in quotes.
This is useful when commands containing semi-colons are used in the
action steps of BREAK, EXPECT, UNTIL, IF commands.
2018-01-04 07:12:43 -08:00
Mark Pizzolato
72d4622ddf SCP: Add ECHOF command which takes a quoted string as an argument 2018-01-04 07:06:51 -08:00
Richard Cornwell
b5ea9ec38e I7000: Initial release of a set of simulators for IBM 7000 series mainframes.
These include simulators for the IBM 701, IBM 702, IBM 704, IBM 705,
IBM 705/3, IBM 709, IBM 1410/IBM 7010, IBM 7070, IBM 7080, IBM 7090
and IBM7094.

  These basically were a collection of machines that shared a common
  set it peripherals, Each group had its own instruction set, hence
  different simulators.

   IBM 701   -> i701
   IBM 702/705/705/3/7080 -> i7080
   IBM 7070/7074 -> i7070
   IBM 1410/7010 -> i7010
   IBM 704 -> i704
   IBM 704/709/7090/7094 -> i7090
  The i7090 can be set to simulate a IBM 704 however you end up
  disabling almost everything, since the 704 did not have any channels.
  A build option exists that allows this one to be built without all the
  extra features.

   The i7090 simulator’s implementation of the IBM 7094 is a more
   complete implementation of the IBM 7094 which can run CTSS
   while the existing simh I7094 can’t.
2017-12-28 05:05:25 -08:00
Richard Cornwell
8606d7692b B5500: Added usage guide for B5500 simulator. 2017-12-22 15:04:33 -05:00
Mark Pizzolato
9b1f44f787 SCP: Remove optional write_callback in the REGister structure
The REG structure exists to serve SCP's various activities.  It is
does not exist to provide capabilities to a VM.
2017-12-09 02:54:10 -08:00
Mark Pizzolato
0293d7f4af SCP: Enrich EXPECT and SEND help and document information 2017-11-29 16:49:20 -08:00
Mark Pizzolato
61679ed8f0 SCP: Add optional write_callback to REGister structure called only on DEPOSIT
Add necessary macros to populate this field and cleanup all the
existing macros to be simpler.
2017-11-19 08:18:02 -08:00
Mark Pizzolato
733ac0d982 SCP: Make SLEEP command interruptable with SIGINT 2017-11-07 13:34:53 -08:00
Mark Pizzolato
097172f8a3 doc: Add missing commands descriptions 2017-11-03 09:36:11 -07:00
Mark Pizzolato
60ff3d53d9 doc: Add description of additional built-in environment variables
SIM_NAME, SIM_BIN_NAME and SIM_BIN_PATH
2017-10-24 16:20:46 -07:00
Mark Pizzolato
c8a420ad48 SCP: Change command argument processing of %% and \% to be consistent.
%% now inserts a bare % and \\ only means something when parsing a quoted
string argument (used by EXPECT and SEND commands).

Additionally, EXPECT and BREAK commands have action steps which will now
expand arguments as each of the actions are executed rather than when the
EXPECT or BREAK command is defined.
2017-09-16 17:05:26 -07:00
Mark Pizzolato
7dc585d479 HP3000: HP 3000 release 6
See HP3000/hp3000_release.txt for details of the release
2017-09-09 13:56:50 -07:00
Mark Pizzolato
a6552b823d HP2100: HP 2100 release 27
See HP2100/hp2100_release.txt for details of the release
2017-09-06 22:16:14 -07:00
Mark Pizzolato
245818d348 SCP: Added extended radix options (-2, -8, -10 and -16) for EXAMINE and DEPOSIT 2017-08-25 15:48:11 -07:00
Mark Pizzolato
8fcddf9261 DOC: Describe warning added to the RUN command vs GO or CONTINUE (Dave Bryan) 2017-08-24 10:23:44 -07:00
Mark Pizzolato
2f64d2b6dc doc: Add suggestion to simh.doc regarding one time device init in reset routine 2017-06-23 12:36:28 -07:00
Mark Pizzolato
cb47ea3852 doc: Add description of optional PC value API used in debug output 2017-06-13 22:36:15 -07:00
Mark Pizzolato
a50403cd0a doc: Added description of optional Stop Message Formatting API (Dave Bryan) 2017-06-13 22:13:56 -07:00
Mark Pizzolato
f1a6d538b9 doc: Initial import of IBM1130 document 2017-06-09 09:50:46 -07:00
Mark Pizzolato
fae6a18835 TAPE: Update tape gap support (Dave Bryan)
With this update, the erase gap operation has been split out of
"sim_tape_wrgap" into a separate, internal "tape_erase_fwd" routine that
is called from "sim_tape_wrgap" as well as from the new "sim_tape_errecf"
routine.  There's a corresponding internal "tape_erase_rev" that's called
from the new "sim_tape_errecr" routine.

I've shimmed "sim_tape_rdlntf" and "sim_tape_rdlntr" to move the tape
context and debug stuff out of the routines that I'm maintaining.  This
will allow me to replace those functions in their entirety with the
corresponding functions in my development sources for future updates.
It also allows me to keep Bob's version in sync.  As my routines are static
and only called once from the shims, compilers should optimize away
the function calls and instead inline the code, so there'd be no extra call
overhead.

I'd also like to keep "tape_erase_fwd" and "tape_erase_rev" untouched for
the same reason.  If you wish to add debug calls to "sim_tape_errecf" and
"sim_tape_errecr", that's fine.
2017-06-02 00:54:13 -07:00
Bob Supnik
a750171c30 I1620: Add deferred IO mode for slow devices
The major change is the implementation of deferred IO - a more
accurate implementation of the 1620's "stop in its tracks" IO model.
When a device uses deferred IO, instruction execution is suspended
until the IO completes successfully. Operator interruptions, errors,
and so on do not return to instruction execution; this only occurs if
the IO completes successfully or the command SET CPU RELEASE is given
(equivalent of pressing the RELEASE button). Otherwise, the current IO
operation continues to execute.

Only the console typewriter and paper tape reader/punch currently
implement deferred IO; there are operational issues with those devices
that require more accurate modeling. The card reader/punch, line
printer, and disk still execute IO "instantaneously". It's not all
that hard to convert an instantaneous device to deferred operation,
but there's no point in doing so (and possibly introducing new bugs)
unless there's an actual operational issue. The 1620 doesn't have
overlapped IO, so programs can't tell the difference, by and large.

A number of other issues have been addressed as well, including the
bizarre "treat RM as 0 in the Q field" required by MI-015; the
treatment of non-existent indicators as always off; and various other
tweaks.

I've run CU01 (again), which at least gives typewriter and paper-tape
IO a basic workout; and it works. I leave more detailed testing to
people who know the machine better than I do.

The documentation has been updated to include Tom's detailed breakdown
of IO handling for all IO operations on the typewriter, paper-tape
reader/punch, card reader/punch, and line printer.
2017-05-29 13:34:55 -07:00
Bob Supnik
e086f5eb17 I1620: Update doc to reflect recent changes 2017-05-22 10:12:07 -07:00
Mark Pizzolato
d0bd4fbdff TMXR: Enforce output rate limiting when output is produced by instructions
Calls to tmxr_putc_ln() executed directly within instruction simulation code
(as opposed to during event servicing) will delay reasonable times
2017-05-11 08:42:31 -07:00
Mark Pizzolato
1e8af71081 TIMER: Clarify throttling behavior displayed in SHOW for I/T mode 2017-05-11 08:33:39 -07:00
Mark Pizzolato
f617f63ae0 HP3000: HP 3000 release 5
See HP3000/hp3000_release.txt for details of the release
2017-05-01 15:47:57 -07:00
Mark Pizzolato
90e9c2f4a0 HP2100: HP 2100 release 26
See HP2100/hp2100_release.txt for details of the release
2017-05-01 15:47:33 -07:00
Mark Pizzolato
7ae5015610 SCP: Provide a way to gather input from a user into an environment variable
SET ENV -P "Prompt String" EnvVar=Default
2017-04-30 09:44:37 -07:00
Mark Pizzolato
7ac92a0e84 HP3000: Fourth HP 3000 release, update 1
See HP3000/hp3000_release.txt for details of the release
2017-01-25 11:50:49 -08:00