1
0
mirror of https://github.com/open-simh/simh.git synced 2026-04-30 21:49:00 +00:00

RC2 of 3.9

After a frantic week of file exchanges, here is RC2.  A lot has changed.

1. HP2100 updates completed, with new features and peripherals.
2. Many, many small file updates for nits found by compilers and static checkers.
3. A few genuine bugs fixed.
4. New makefile and MMS file.

A note on the makefile. It has almost doubled in size and attempts to ferret out PCAP locales properly, as well as do serious optimizations if gcc is used.  It needs to be tested in more environments.  If you run into issues, please report them to Mark Pizzolato as well as me.

The old makefile, updated for the extra files in the HP2100, is included as makefile_old.  You can use that if the new makefile causes problems in your environment.

I'm still targeting a May Day release, with a final RC around Tax Day (April 15).  That leaves times for one more interim RC, if needed.

At this point, I regard the release as feature-complete.  Bug fixes are still fine.

The actual release will have all incomplete and beta simulators in a separate zip file, including Alpha, Sigma, Sage (the microcomputers, not the 50s anti-aircraft computer), and SC1, the SiCortex MIPS simulator.
There will be new releases of all the simulation tools as well.

/Bob
This commit is contained in:
Mark Pizzolato
2012-03-24 15:30:27 -07:00
parent 95e535008b
commit 66c264d678
159 changed files with 3557 additions and 29832 deletions

View File

@@ -1,6 +1,6 @@
/* s3_cd.c: IBM 1442 card reader/punch
Copyright (c) 2001-2005, Charles E. Owen
Copyright (c) 2001-2012, Charles E. Owen
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -27,6 +27,7 @@
cdp card punch
cdp2 card punch stacker 2
19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato)
25-Apr-03 RMS Revised for extended file support
08-Oct-02 RMS Added impossible function catcher
@@ -40,8 +41,8 @@
#include <ctype.h>
extern uint8 M[];
extern char ebcdic_to_ascii[256];
extern char ascii_to_ebcdic[256];
extern unsigned char ebcdic_to_ascii[];
extern unsigned char ascii_to_ebcdic[];
int32 s1sel, s2sel;
char rbuf[CBUFSIZE]; /* > CDR_WIDTH */
t_stat cdr_svc (UNIT *uptr);

View File

@@ -1,6 +1,6 @@
/* s3_cpu.c: IBM System/3 CPU simulator
Copyright (c) 2001-2005, Charles E. Owen
Copyright (c) 2001-2012, Charles E. Owen
HPL & SLC instruction code Copyright (c) 2001 by Henk Stegeman
Decimal Arithmetic Copyright (c) 2000 by Roger Bowler
@@ -29,6 +29,8 @@
cpu System/3 (models 10 and 15) central processor
19-Mar-12 RMS Changed int to int32 in declarations (Mark Pizzolato)
The IBM System/3 was a popular small-business computing system introduced
in 1969 as an entry-level system for businesses that could not afford
the lowest rungs of the System/360. Its architecture is inspired by and
@@ -381,7 +383,7 @@ int32 debug_reg = 0; /* set for debug/trace *
int32 debug_flag = 0; /* 1 when trace.log open */
FILE *trace;
extern int32 sim_int_char;
extern int32 sim_brk_types, sim_brk_dflt, sim_brk_summ; /* breakpoint info */
extern uint32 sim_brk_types, sim_brk_dflt, sim_brk_summ;/* breakpoint info */
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw);
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw);
@@ -398,13 +400,13 @@ extern t_stat sim_activate (UNIT *uptr, int32 delay);
extern int32 fprint_sym (FILE *of, int32 addr, uint32 *val,
UNIT *uptr, int32 sw);
int32 nulldev (int32 opcode, int32 m, int32 n, int32 data);
int add_zoned (int32 addr1, int32 len1, int32 addr2, int32 len2);
int32 add_zoned (int32 addr1, int32 len1, int32 addr2, int32 len2);
int32 subtract_zoned (int32 addr1, int32 len1, int32 addr2, int32 len2);
static int32 compare(int32 byte1, int32 byte2, int32 cond);
static int32 condition(int32 qbyte);
static void store_decimal (int32 addr, int32 len, uint8 *dec, int sign);
static void load_decimal (int32 addr, int32 len, uint8 *result, int32 *count, int32 *sign);
static void add_decimal (uint8 *dec1, uint8 *dec2, uint8 *result, int32 *count);
static void load_decimal (int32 addr, int32 len, uint8 *result, int *count, int *sign);
static void add_decimal (uint8 *dec1, uint8 *dec2, uint8 *result, int *count);
static void subtract_decimal (uint8 *dec1, uint8 *dec2, uint8 *result, int *count, int *sign);
int32 GetMem(int32 addr);
int32 PutMem(int32 addr, int32 data);
@@ -1541,7 +1543,7 @@ int sign1, sign2, sign3; /* Sign of operands & result */
/* This field is set to zero if the result is all zero, */
/* or to MAX_DECIMAL_DIGITS+1 if overflow occurred. */
/*-------------------------------------------------------------------*/
static void add_decimal (uint8 *dec1, uint8 *dec2, uint8 *result, int32 *count)
static void add_decimal (uint8 *dec1, uint8 *dec2, uint8 *result, int *count)
{
int d; /* Decimal digit */
int i; /* Array subscript */
@@ -1684,7 +1686,7 @@ uint8 *lower; /* -> Lower value operand */
/* exception, or if the operand causes a data exception */
/* because of invalid decimal digits or sign. */
/*-------------------------------------------------------------------*/
static void load_decimal (int32 addr, int32 len, uint8 *result, int32 *count, int32 *sign)
static void load_decimal (int32 addr, int32 len, uint8 *result, int *count, int *sign)
{
int h; /* Hexadecimal digit */
int i, j; /* Array subscripts */

View File

@@ -1,6 +1,6 @@
/* s3_lp.c: IBM 1403 line printer simulator
Copyright (c) 2001-2005, Charles E. Owen
Copyright (c) 2001-2012, Charles E. Owen
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 1403 line printer
19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato)
25-Apr-03 RMS Revised for extended file support
08-Oct-02 RMS Added impossible function catcher
*/
@@ -41,7 +42,7 @@ t_stat lpt_attach (UNIT *uptr, char *cptr);
t_stat write_line (int32 ilnt, int32 mod);
t_stat space (int32 lines, int32 lflag);
t_stat carriage_control (int32 action, int32 mod);
extern unsigned char ebcdic_to_ascii[256];
extern unsigned char ebcdic_to_ascii[];
#define UNIT_V_PCHAIN (UNIT_V_UF + 0)
#define UNIT_M_PCHAIN 03
@@ -114,7 +115,7 @@ int32 lpt (int32 op, int32 m, int32 n, int32 data)
switch (op) {
case 0: /* SIO 1403 */
iodata = 0;
printf("\0");
// printf("\0");
switch (n) {
case 0x00: /* Spacing only */
if (data > 0 && data < 4)

View File

@@ -1,6 +1,6 @@
/* s3_sys.c: IBM System/3 system interface
Copyright (c) 2001-2005, Charles E. Owen
Copyright (c) 2001-2012, Charles E. Owen
Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
@@ -22,6 +22,8 @@
Except as contained in this notice, the name of Charles E. Owen shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Charles E. Owen.
19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato)
*/
#include <ctype.h>
@@ -41,7 +43,7 @@ extern UNIT cpu_unit;
extern REG cpu_reg[];
extern unsigned char M[];
extern int32 saved_PC, IAR[];
extern char ebcdic_to_ascii[256];
extern unsigned char ebcdic_to_ascii[];
char *parse_addr(char *cptr, char *gbuf, int32 *addr, int32 *addrtype);
int32 printf_sym (FILE *of, char *strg, int32 addr, uint32 *val,