Commit graph

1379 commits

Author SHA1 Message Date
Leo Broukhis
d6d13a8c08 BESM6: Output to Baudot TTYs works; fixed attaching of disks without -e; added DejaVu font option. 2015-01-08 22:11:01 -08:00
Mark Pizzolato
0f1e233366 BESM6: Cleanup for build on OS X, 2015-01-08 22:11:01 -08:00
Mark Pizzolato
5fd8b63cf4 SCP: Fix debug setup info displayed by SHOW SEND and SHOW EXPECT 2015-01-08 22:11:01 -08:00
Mark Pizzolato
e84c798d1c SCP: Fix EXPECT matching logic for non-regex strings to have enough room to buffer all of potential match data plus a NUL byte. 2015-01-08 22:11:01 -08:00
Mark Pizzolato
91f465d780 SCP: Add info displayed in SHOW EXPECT and SHOW SEND to advise how SEND & EXPECT debugging is enabled 2015-01-08 22:11:00 -08:00
Mark Pizzolato
7ab9f020bd TMXR: Add default debug bits for SEND/EXPECT operations 2015-01-08 22:11:00 -08:00
Mark Pizzolato
5d9aee0d14 SCP: EXPECT debug fix to avoid invalid memory reference if a expect structure doesn have a device pointer. Corrected comments. From Mark Emmer. 2015-01-08 22:11:00 -08:00
Mark Pizzolato
184bb3f904 SCP: better parsing support for command files which contain UTF-8 data in SEND/EXPECT strings 2015-01-08 22:11:00 -08:00
Mark Pizzolato
5f786a0de4 SCP: More allow command files to contain UTF-8 data.
- Provide a sim_islower(), sim_isalpha(), sim_isprinit(), sim_isdigit(), sim_isgraph(), sim_isalnum()  which make sure that the character being examined as an unsigned char.
2015-01-08 22:11:00 -08:00
Mark Pizzolato
b4dbb76bfc SCP: Allow command files to contain UTF-8 data.
- Ignore a UTF_BOM sequence at the beginning of command files.
- Provide a sim_isspace() which makes sure that isspace only considers the character being examined as an unsigned char.
2015-01-08 22:11:00 -08:00
Mark Pizzolato
703c5697be BESM6: Have makefile search for one of several potential FONTNAME fonts in several potential FONTPATH directories.
Fix besm6_panel to use FONTFILE when building with SDL 1.2,
Fix besm6_panel compile issues on Windows
Provide FONTFILE name via either -DFONTFILE OR via a #define in a generated besm6_panel_font.h
2015-01-08 22:11:00 -08:00
Leo Broukhis
bd260dd523 BESM6: Schedule the serial line timer by instruction count when I/O is pending, and by wallclock time otherwise. This achieves a good TTY output rate even when the CPU is busy with a user process. 2015-01-08 22:11:00 -08:00
Leo Broukhis
aa16857edc BESM6: Updated licenses missed before, TTYs use sim_putchar(), translated comments in besm6_tty.c; using "console" instead of "/dev/tty". 2015-01-08 22:11:00 -08:00
Leo Broukhis
a7f05ac40c BESM6: Added TTY interrupt insertion in the idle loop. 2015-01-08 22:10:31 -08:00
Leo Broukhis
c2975c8e0e BESM6: No need to check for printing to console. 2015-01-08 22:10:31 -08:00
Mark Pizzolato
567e81188e ETHER: Fix compile when threaded network I/O is disabled on OS X (found by Martin Vorländer) 2015-01-08 22:10:31 -08:00
Mark Pizzolato
3b4bc61fdf MicroVAX1, MicroVAX2: Compiler/Linker suggested cleanup 2015-01-08 22:10:31 -08:00
Mark Pizzolato
8659281aaf SCP: Changed sim_poll_kbd() to set the global stop_cpu when the WRU character has been received.
Thus behaving consistently with platforms which learn about the WRU character by the delivery of a SIGINT.
2015-01-08 22:10:31 -08:00
Mark Pizzolato
d615bd0f58 SCP: Only report DO file context when run_cmd completes if the completion status is not a simulator specific error code and not due to a STEP, EXPECT or STOP completion.
The commands which operate through run_cmd (GO, STEP, CONTINUE, BOOT, RUN) will all exit with a status which is NOT SCPE_OK.  Most of the exit status values will be 100% normal and not indicative of a true error, so producing error message context is not necessary or desired.
2015-01-08 22:10:31 -08:00
Mark Pizzolato
3fe61c53a5 SCP: Provide an API to display alternate error message text while returning SCPE status. 2015-01-08 22:10:30 -08:00
Mark Pizzolato
bb42ce6486 TAPE: Simplify range expression to avoid cast size reduction 2015-01-08 22:10:30 -08:00
Mark Pizzolato
8d11de76c1 VAX: Properly inline memory reference functions for performance. Fix #169 2015-01-08 22:10:30 -08:00
Mark Pizzolato
bd50637b18 BESM6: Working calibrated clock which also supports idling
BESM6: Single instruction calibration and step cleanup
2015-01-08 22:09:59 -08:00
Leo Broukhis
76cdf0fd10 BESM6: Got rid of ftw(); the font file should be provided as a build option. 2015-01-08 22:09:59 -08:00
Leo Broukhis
a50bd68ce5 BESM6: Using sim_fwrite for formatting. 2015-01-08 22:09:48 -08:00
Leo Broukhis
3ddb9e9929 BESM6: Reverted IO scheduling to model time; the time unit is 100 ns. 2014-12-31 17:26:34 -08:00
Mark Pizzolato
db44518808 BESM6: Convert to simh calibrated clocks and idling 2014-12-31 08:39:40 -08:00
Mark Pizzolato
aa60cc72ad BESM6: Added makefile display of SDL_ttf components being used 2014-12-31 08:08:02 -08:00
Leo Broukhis
871b19cf8b BESM6: Moved 'formatdisk' functionality to disk_attach(),
fixed a typo in TTY input processing.
2014-12-31 00:49:43 -08:00
Leo Broukhis
9568d1c1df Merge branch 'master' of https://github.com/leobru/simh 2014-12-30 18:57:31 -08:00
Leo Broukhis
8a5d22bd60 BESM6: No need for the SDL_main trick in SDL1. 2014-12-30 18:56:41 -08:00
Mark Pizzolato
82d5b01f84 BESM6: besm6_punch migrate to use sim_fio API to set a fifo to non-blocking 2014-12-30 18:56:09 -08:00
Mark Pizzolato
b611aa2fba Merge remote-tracking branch 'simh/master' 2014-12-30 18:51:47 -08:00
Mark Pizzolato
33781be23b SCP: Added support fo set a fifo opened with sim_fopen() to be non-blocking. 2014-12-30 18:48:42 -08:00
Mark Pizzolato
4381f9acc1 SCP: Added definition of SIM_INLINE when compiling with MSVC, gcc and clang 2014-12-30 18:46:43 -08:00
Mark Pizzolato
76dd31ae02 BESM6: Compiler suggested cleanups (MSVC). 2014-12-30 17:52:13 -08:00
Mark Pizzolato
2819ff634e BESM6: FIx makefile conditional logic detecting available SDL components 2014-12-30 17:49:36 -08:00
Mark Pizzolato
54ec99f95e Visual Studio Projects: Added BESM6 project 2014-12-30 13:43:27 -08:00
Mark Pizzolato
17f6132352 alpha: Compiler suggested cleanups 2014-12-30 11:57:19 -08:00
Leo Broukhis
cc33257836 BESM6: Removed tabs, reindented, removed GNU extensions. 2014-12-30 11:42:52 -08:00
Leo Broukhis
b4eeaa77de BESM6: Converted files to CRLF format
Also added support for loading such files, and a few tests.
2014-12-30 00:41:31 -08:00
Leo Broukhis
659600ff59 BESM6: Added target 'besm6' to makefile; added new files in the BESM6 subdirectory. 2014-12-29 21:13:00 -08:00
Mark Pizzolato
de9fc84fd4 SCP: added flexibility to search specifier parsing to fallback to register value format if the VM supplied parse_sym() doesn't handle the value provided. 2014-12-29 14:03:43 -08:00
Mark Pizzolato
76009709b1 VAX: Minimizing extra work while preparing to idle and attempt to make idle transitions closer to instruction execution costs. 2014-12-29 12:02:21 -08:00
Mark Pizzolato
9e1e32584b SCP: Avoid redundant log and debug output 2014-12-29 03:41:32 -08:00
Mark Pizzolato
b7456e988f SCP: Fix log and debug file reference count management. 2014-12-29 03:40:56 -08:00
Mark Pizzolato
5cb8f4686c VAX780, VAX739, VAX759, VAX8600: Merge branch 'VAX-11-BootBlock-Fixup' - Generic VMB.EXE for *nix VAX operating systems
The native VMB.EXE program historically supported a Boot Block oriented
 boot if Bit 3 of the parameter register (R5) was set when VMB was invoked.
 This Boot Block boot operation reads sector 0 into memory and starts
 execution at offset 2 of the data block in memory.
 When portitions of VMB were migrated into ROM to support the earliest
 MicroVAX system (MicroVAX I) and all subsequent ROM based VMB versions
 the concept of Boot Block booting was extended in these ROM VMB
 implementations.  The change in boot block booting functionality included
 several features:
   1) If a normal boot attempt to a device failed (due to VMB not being
      able to locate a secondary bootstrap program), a boot block boot is
      automatically attempted.  If the Bit 3 of R5 was set, then the
      initial search for a secondary boot block was avoided and a boot
      block boot was immediately attempted.
   2) When performing a boot block boot, the sector 0 contents are examined
      and if these contents conform to the pattern defined for ROM based
      (PRA0) booting, the ROM format Offset, Size, and Starting address
      information is used directly by VMB to load a program into memory
      and control is transferred to that program.  If the contents of
      sector 0 do not fit the pattern required for ROM based booting, then
      the code in sector 0 is executed directly starting at offset 2,
      the same as was originally done with the non ROM based VMB versions.
      Note that this extended behavior allows sector 0 to contain very little
      information and quite possibly no actual boot code.
 Developers of alternate operating systems for VAX computers noticed the ROM
 based boot block behavior and changed their installation media AND the disk
 structures to only provide the minimal boot information required on the
 systems with VMB installed in ROM.

 Since, when this active development of these alternate operating systems for
 VAX computers was happening, the vast majority of development and new system
 deployments were to hardware which had ROM base VMB, no one noticed that
 older systems which booted with the non ROM based VMB could no longer boot
 from new install media or disks formatted with these operating systems.

 This patch addeds the ROM based VMB boot block boot functionality to the
 original dynamically loaded VMB.EXE used by the older systems to boot.

 The patch overwrites some VMB code which exists to support NVAX(1302) and
 Neon-V(1701) systems.  If simh simulators for these systems are ever built
 an alternate location must be found to accomodate this extended logic
2014-12-27 15:21:17 -08:00
Mark Pizzolato
1d530cc48d SCP: Enhanced ASSERT/IF to support expressions which test memory contents. Also enhanced EXAMINE's search capabilities to be able to match multi-byte patterns for VMs which are byte addressable. 2014-12-25 06:19:59 -08:00
Mark Pizzolato
47a0576f09 SCP: Revert prior commit since it was the wrong approach 2014-12-25 06:15:52 -08:00
Mark Pizzolato
0a96584fdf SCP: Added special EXAMINE reference variable "$" usable in conditional expression for the ASSERT and IF commands 2014-12-23 03:09:40 -08:00