[Simh] Problem with X register in H316

Adrian Wise adrian at adrianwise.co.uk
Fri Nov 18 15:35:19 EST 2011


Hi

I've come across a (rather detailed) problem with the H316 simulation.

The issue is that the current code assumes that the X register always 
tracks location zero, but there is a situation where this is not so. On 
a machine with more than 16Kwords of RAM, and therefore equipped with 
the extended addressing option, if the machine is *not* in extended 
addressing mode, and the current instruction is in the upper half of RAM 
then the X register actually tracks location '040000 - the first word of 
the upper half.

The attached patch file corrects the issue. Note that this patch file is 
relative to the code in h316_cpu.c on the "Interim Corrections" page:

http://simh.trailing-edge.com/interim.html

Once patched, simh will cleanly run the main CPU Verification and Test 
program, AB16-CCT4, which may be downloaded from here:

http://www.series16.adrianwise.co.uk/software/source/VT/AB16-CCT4/AB16-CCT4_slst.ptp

The attached "do" file, boot_AB16-CCT4 will run it. (The test of the 
front-panel sense switches is skipped, and an instruction not 
implemented by simh has to be ignored.)

Adrian

-- 
Adrian Wise
http://www.series16.adrianwise.co.uk
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: XR_patchfile
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20111118/14435667/attachment-0004.ksh>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: boot_AB16-CCT4
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20111118/14435667/attachment-0005.ksh>


More information about the Simh mailing list