This avoids a potential invalid pointer dereference when formatting
the return value from sim_instr() if it is < SCPE_BASE but greater
than the previously defined static array size.sizeof
Update simh.doc to reflect this generic change.
CID Action
1416081 changed variable answer to int
1416082 checked returned values with ASSURE - read error means corrupted target code.
1416088 added return
1416109 This fallthru was intentional - duplicated code to make coverity happy
1416111 This fallthru was intentional - duplicated code to make coverity happy
1416116 This fallthru was intentional - duplicated code to make coverity happy
1416117 This fallthru was intentional - duplicated code to make coverity happy
1416124 protected against negative return
1416142 added ASSURE, however this case won't happen since reg_intpending==true implies positive int level
1416145 checked non-NULL, return SCPE_ARG if NULL
1416150 since only 2 drives are supported, fdc_selected is decoded to 0 and 1 only (allowed 2 and 3 before)
1416152 restrict to 2 drives only
1416166 checked value with ASSURE
1416101 typo: should have been resx
1416106 unnecessary code removed
1416110 this fallthru was intentional - duplicated code to make coverity happy
1416112 this fallthru was intentional - duplicated code to make coverity happy
1416148 change condition to check for negative value
1416179 break was remainder from former logic - removed
1415866 code was remainder from former unimplemented instruction trap - removed
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.
Most simulators can now also be compiled with a C++ compiler without
warnings.
Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
- removed cycle counting in CPU, the sim_interval issue
- fixed the Console multiplexer logic; it now works with SET REMOTE TELNET= and SET CONSOLE TELNET=
- commented testhdt.sim
- changed run.cmd to try to execute either VStudio or mingw executable, in this order.
- changed printf messages to use sim_printf
Possible issues remaining:
- timer device polling, not yet debugged, the rate of 1.25MHz is likely still incorrect, so UCSD wall clock is surely wrong
- few instructions still to be trapped by opcode.debug - I haven't seen them in life code yet
- HD device still not yet finished; I'll pick this up again soon