Hi Bob,
> If you do want to use different timing, then global variable sim_step > is available with the current step count (0 means not stepping) at > entry to sim_instr. sim_step isn't deliberately global; it just works > out that way. Further, it is NOT maintained as the step count is > counted down. Therefore, you need to pick it up on the way into > sim_instr and count it down yourself. You also need to cancel out the > sim_step unit, which will stop the simulator prematurely. Again, the > cancellation routine is global, although that wasn't deliberate > either. Thanks I think this will solve my problem. This will also allow me to step over XCT's properly and skip interrupt calls. > Converting sim_step to uint32 should quiesce compilers that are fussy > about integer overflow or wraparound on variable i. Or you can use > 64b integers. > > Passing the step count as an argument would require modifying every > simulator. There are lots of SCP variables that may be of interest to > a running simulator; they are declared as globals. > > The PDP-10 requires timing by memory reference (or something close to > it), because infinite indirects and XCT * must be interruptible to > prevent system lockup. The 7094 seems to run fine with timing by > instruction. For the 7094 I also emulate a 704 with same code. This machine did Programed I/O operations, instruction timing could result in missed data. Also some of the 709 boot sequences I have seen actually track channel progress and redirect the load after some code has been loaded. Without accurate instruction times this can get messed up. Similar problem occurs on the 7010, in that instructions can take a while and execution is related to the number of memory cycles required. Rich > > /Bob > > On 1/30/2017 5:33 AM, Rich Cornwell wrote: > > I track memory cycles so that I/O is closer to the time that the > CPU expects. This is more important for the I7000 series since > instructions where executed during I/O and some of the code relies > on how many instructions can be executed during a read/write. Also for > some cases during the I7090 I decrement sim_interval during long > instructions to closer simulate the real speed of the machine. > > _______________________________________________ > Simh mailing list > Simh@trailing-edge.com > http://mailman.trailing-edge.com/mailman/listinfo/simh -- ========================================================================== Richard Cornwell sky...@sky-visions.com http://sky-visions.com LinkedIn: https://www.linkedin.com/in/richard-cornwell-991076107 ========================================================================== _______________________________________________ Simh mailing list Simh@trailing-edge.com http://mailman.trailing-edge.com/mailman/listinfo/simh