[Simh] Error in DMC11/DMR11 Emulation in RSTS/E 10.1

Paul Koning paulkoning at comcast.net
Sun Jan 3 16:42:53 EST 2016


> On Jan 2, 2016, at 5:41 PM, Christian Gauger-Cosgrove <captainkirk359 at gmail.com> wrote:
> 
> As the subject line says, there's an issue with the DMC device under
> RSTS/E 10.1-L.
> 
> When starting the system, when it does the hardware scan, the
> following errors are printed on the TTI/TTO console:
> Device XM2: internal micro-diagnostic failure - device disabled.
> Device XM3: internal micro-diagnostic failure - device disabled.
> XM4: is missing ECO's, but will still function.
> XM1: is missing ECO's, but will still function.
> XM0: is missing ECO's, but will still function.
> 
> There are five DMC lines due to testing.
> DMC0/XM0 and DMC1/XM1 are DMC11, with micro-diagnostics enabled.
> DMC2/XM2 is a DMR11, with micro-diagnostics enabled.
> DMC3/XM3 is a DMR11, with micro-diagnostics disabled.
> DMC4/XM4 is a DMC11, with micro-diagnostics disabled.
> From that test we can see that the DMR11 does not work under RSTS/E
> with or without micro-diagnostics; and further that DMC11 simulation
> works but isn't "up to date" enough for RSTS/E 10.1-L (at least I'm
> assuming that is what is meant by the "missing ECO's" statement).

No, that's not what that means.

It does say that micro diagnostics are required; when those are disabled, the device is rejected because of that failure.

However, it also says that "XM0: is missing ECO's, but will still function."  That means the device is enabled, and it should be there and work when you start the system.  More precisely, if it doesn't work that would be for a different reason.

> 
> It exhibits this behaviour both when starting up SYSGEN.SIL, and when
> doing a normal system start-up. The simulator is configured as a
> UNIBUS machine (11/94 if that matters); trying it with a QBUS machine
> (11/93)... and SIMH crashes promptly.

Tried what with QBus?  DMC?  Only a DMV is valid on Qbus.

Mark, here is the code from the RSTS INIT code that generates the "missing ECO's" message.  I'll take a look at why it doesn't like DMR11s.

	paul


.SBTTL	Check the Micro-code for latest ECO level

;	This routine reads out the micro-code from the roms, and
;	compares them with the last ECO'ed roms that went out.  This
;	happened in the late 1970's, and then the device was replaced
;	by DMR's, so there should be no need to change this routine
;	in the future, however, if there is a new DMC rom ECO, this
;	the two copies of the DMC micro-code will need to be updated
;	to reflect the then current micro-code listings.
;
;	This routine expects:
;
;		R3 = The CSR of the unit to check
;
;	and must preserve:
;
;		R0 = The unit number *2
;

ECOCHK:	MOV	R0,-(SP)	;PRESERVE THE UNIT # *2
	CLR	R0		;SET A STARTING ADDRESS
	MOV	#3,R4		;TWO CHANCES TO MATCH MICRO-CODE (2 BITS)
	MOV	#HICOD,R1	;HIGH SPEED MICRO CODE ADDRESS
	MOV	#LOCOD,R2	;LOW SPEED MICRO CODE ADDRESS
10$:	MOVB	#ROMI,BSEL1(R3)	;SET UP FOR A ROMI
	MOV	#100400,-(SP)	;SET THE INSTRUCTION TO USE
	BIS	R0,(SP)		;  AND NOW THE ADDRESS
	MOV	(SP)+,SEL6(R3)	;PUT THE INSTRUCTION IN,
	BISB	#MSTEP!ROMI,BSEL1(R3) ;  AND EXECUTE IT
	MOVB	#ROMO,BSEL1(R3)	;NOW CLEAR THE BITS
	MOV	SEL6(R3),R5	;GET THE MICRO-CODE FROM THAT ADDRESS
	CLRB	BSEL1(R3)	;AND CLEAR THE CSR
	CMP	R5,(R1)+	;MATCH THE HIGH ONE?
	BEQ	20$		; YES, SO CONTINUE	
	BIC	#1,R4		;NOT HIGH SPEED, SO CLEAR THE HIGH SPEED BIT
20$:	CMP	R5,(R2)+	;MATCH THE LOW ONE?
	BEQ	30$		; YES, SO CONTINUE
	BIC	#2,R4		;NOT LOW SPEED SO CLEAR THE LOW SPEED BIT
30$:	TST	R4		;DID EITHER ONE MATCH?
	BEQ	100$		;NEITHER ONE MATCHES, SO QUIT RIGHT NOW
	CMP	R1,#LOCOD	;END OF HIGH CODE?
	BHIS	35$		; YES, SO QUIT EARLY
	.ASSUME LOCOD GT HICOD	;THE LOW TABLE MUST COME AFTER THE HIGH ONE
	INCB	R0		;INC
	BNE	10$		;DIDN'T WRAP YET, SO GO SOME MORE
	ADD	#4000,R0	;  TO WHERE THEY BELONG
	CMP	#20000,R0	;ARE WE DONE YET?
	BNE	10$		;NO, SO GO HIT THE NEXT ADDRESS.
35$:	MOV	(SP)+,R0	;RESTORE THE UNIT # *2
	ROR	R4		;MOVE LOW BIT INTO 'C' BIT
	BCC	40$		;  NOT THE HIGH SPEED
	ROR	R4		;IT BETTER NOT BE BOTH (LOOK AT NEXT BIT)
	BCS	60$		;OH NO, ITS BOTH????
	BIS	#4,TYPTBL+XM.CSO(R0) ;SET THE TYPE BIT (high)
40$:	ROR	R4		;IS IT THE LOW SPEED? (CHECK BIT #1)
	BCC	50$		;  NO
	BIS	#10,TYPTBL+XM.CSO(R0) ;SET THE TYPE BIT (low)
50$:
60$:	RETURN

100$:	MOV	(SP),R0		;GET THE UNIT # * 2
	ASR	R0		; NOW * 1
	MESSAGE <"XM">
	CALLX	DECZER		;AND PRINT IT OUT
	MESSAGE <": is missing ECO's, but will still function."<200>>
	MOV	(SP)+,R0	;RESTORE THE NUMBER # * 2
	RETURN

GLOBAL	<TYPTBL,XM.CSO>

.SBTTL	The High speed micro code listing

;
;	This table comes from Diagnostic CZDMGD0
;	It supports ROM part #'s:
;		23-622A9 to 23-629A9
;

HICOD:	.WORD	63220		;0
	.WORD	63223		;1
	.WORD	63237		;2
	.WORD	63232		;3
	.WORD	61200		;4
	.WORD	61202		;5
	.WORD	3370
	.WORD	63130
	.WORD	76423		;10
	.WORD	63060		;11
	.WORD	101414		;12
	.WORD	100407
	.WORD	3401		;14
	.WORD	63231
	.WORD	10162		;16
	.WORD	626
	.WORD	62234		;20
	.WORD	16403
	.WORD	16402		;22
	.WORD	16406
	.WORD	16407		;24
	.WORD	16401
	.WORD	10210		;26
	.WORD	16455
	.WORD	16472		;30
	.WORD	10067
	.WORD	16471		;32
	.WORD	2471
	.WORD	43236		;34
	.WORD	10022
	.WORD	16424		;36
	.WORD	2424
	.WORD	43235		;40
	.WORD	10240
	.WORD	16642		;42
	.WORD	2642
	.WORD	600		;44
	.WORD	61221
	.WORD	110642		;46
	.WORD	20620
	.WORD	173202		;50
	.WORD	20640
	.WORD	167203		;52
	.WORD	10210
	.WORD	140620		;54
	.WORD	20620		;55
	.WORD	103060		;56
	.WORD	100463
	.WORD	433		;60
	.WORD	60342
	.WORD	101047		;62
	.WORD	123620
	.WORD	113246		;64
	.WORD	23240
	.WORD	60520		;66
	.WORD	103451
	.WORD	10211		;70
	.WORD	140620
	.WORD	60601		;72
	.WORD	103100
	.WORD	123400		;74
	.WORD	1620
	.WORD	117034		;76
	.WORD	100447
	.WORD	2611		;100
	.WORD	100447
	.WORD	123400		;102
	.WORD	103505
	.WORD	114434		;104
	.WORD	60520
	.WORD	103603		;106
	.WORD	120400
	.WORD	1620		;110
	.WORD	103047
	.WORD	2514
	.WORD	100447
	.WORD	123400
	.WORD	102527
	.WORD	2654
	.WORD	102124
	.WORD	1620		;120
	.WORD	2722
	.WORD	102524
	.WORD	2701
	.WORD	60601
	.WORD	102130
	.WORD	100447
	.WORD	102140
	.WORD	2472		;130
	.WORD	500
	.WORD	61260
	.WORD	10177
	.WORD	16402
	.WORD	2400
	.WORD	42233
	.WORD	114474
	.WORD	60721		;140
	.WORD	102130
	.WORD	2472
	.WORD	10017
	.WORD	136500
	.WORD	136520
	.WORD	122560
	.WORD	123000
	.WORD	500		;150
	.WORD	61260
	.WORD	2133
	.WORD	40620
	.WORD	103164
	.WORD	10151
	.WORD	16406
	.WORD	2700
	.WORD	63161		;160
	.WORD	641
	.WORD	3374
	.WORD	110727
	.WORD	3004
	.WORD	63070
	.WORD	10017
	.WORD	731
	.WORD	110463		;170
	.WORD	10154
	.WORD	57310
	.WORD	57231
	.WORD	57235
	.WORD	43237
	.WORD	43232
	.WORD	63170
	.WORD	63161		;200

.SBTTL	The Low speed micro code listing

;
;	This table comes from Diagnostic CZDMGD0
;	It supports ROM part #'s:
;		23-630A9 to 23-637A9
;

LOCOD:	.WORD	63220		;0
	.WORD	63223		;1
	.WORD	63237		;2
	.WORD	63232		;3
	.WORD	61200		;4
	.WORD	61202		;5
	.WORD	3370
	.WORD	63130
	.WORD	76423		;10
	.WORD	63060		;11
	.WORD	101414		;12
	.WORD	100407
	.WORD	3401		;14
	.WORD	63231
	.WORD	10162		;16
	.WORD	626
	.WORD	62234		;20
	.WORD	16403
	.WORD	16402		;22
	.WORD	16406
	.WORD	16407		;24
	.WORD	16401
	.WORD	10210		;26
	.WORD	16455
	.WORD	16461		;30
	.WORD	10067
	.WORD	16471		;32
	.WORD	2471
	.WORD	43236		;34
	.WORD	10022
	.WORD	16424		;36
	.WORD	2424
	.WORD	43235		;40
	.WORD	10240
	.WORD	16642		;42
	.WORD	2642
	.WORD	600		;44
	.WORD	61221
	.WORD	110642		;46
	.WORD	20620
	.WORD	173202		;50
	.WORD	20640
	.WORD	167203		;52
	.WORD	10210
	.WORD	140620		;54
	.WORD	123620		;55
	.WORD	113246		;56
	.WORD	10211
	.WORD	140620		;60
	.WORD	60601
	.WORD	103214		;62
	.WORD	123400
	.WORD	1620		;64
	.WORD	117030		;different than fiche, but matches diag
	.WORD	23660		;66
	.WORD	60520
	.WORD	103105		;70
	.WORD	60610
	.WORD	1620		;72
	.WORD	103047
	.WORD	60521		;74
	.WORD	102447
	.WORD	103447		;76
	.WORD	123420
	.WORD	60400		;100
	.WORD	103047
	.WORD	500		;102
	.WORD	63301
	.WORD	114643		;different than fiche, but matches diag
	.WORD	677
	.WORD	100646		;106
	.WORD	123400
	.WORD	103512		;110
	.WORD	114430		;different than fiche, but matches diag
	.WORD	60520
	.WORD	103606
	.WORD	120400
	.WORD	1620
	.WORD	103066
	.WORD	123400
	.WORD	102532		;120
	.WORD	2655
	.WORD	102127
	.WORD	1620
	.WORD	2723
	.WORD	102527
	.WORD	2702
	.WORD	60601
	.WORD	102133		;130
	.WORD	100447
	.WORD	102143
	.WORD	2461
	.WORD	500
	.WORD	61260
	.WORD	10177
	.WORD	16402
	.WORD	2400		;140
	.WORD	42233
	.WORD	114475		;different than fiche, but matches diag
	.WORD	60721
	.WORD	102133
	.WORD	2461
	.WORD	10017
	.WORD	136500
	.WORD	136520		;150
	.WORD	122560
	.WORD	123000
	.WORD	500
	.WORD	61260
	.WORD	2133
	.WORD	40620
	.WORD	103167
	.WORD	10151		;160
	.WORD	16406
	.WORD	2700
	.WORD	63161
	.WORD	641
	.WORD	3374
	.WORD	110727		;different than fiche, but matches diag
	.WORD	3004
	.WORD	63070		;170
	.WORD	10017
	.WORD	731		;different than fiche, but matches diag
	.WORD	110463
	.WORD	10154
	.WORD	57310
	.WORD	57231
	.WORD	57235
	.WORD	43237		;200

	.END



More information about the Simh mailing list