Closed robjustice closed 3 years ago
Thanks Rob - I will take a look this this coming weekend.
Triage:
*
prompt means that it's vectored to the Monitor's default IRQ or NMI handler.DisplayCardUpdate()
yet... so the rogue NMI occurs in Check6522()
or DetectSubunits()
.play-sc01-using-ssi263
(v0.7) works on his S/S card, and this mb-audit is initially largely the same, then what is the difference?Check6522()
, mb-audit has an extra routine to Check6522Addrlines()
, and suspiciously this is setting IER (Interrupt Enable Reg) to $96.
Check6522IRQ()
Anyway, if I change Check6522Addrlines()
to initially use "CLI" mode (ie. I=0 / interrupts enabled) and try this on my real h/w, then I too get the same exit to monitor for my slot-4 card:
Slot=4, card = "ReactiveMicro MB-C" (after power-on)
Slot=1, card = "Phasor" (after power-on)
Then after CTRL+RESET, I still get the same values for both cards.
btw, reading $C400 (ORB), then $C40D becomes $01... then reading $C401 (ORA), then $C40D becomes $00. This is correct as the data-sheet says that reading ORB/ORA will clear these IFR bits.
NB. After a CTRL+OA+RESET, then $C40D reads as $11, and $C48D reads as $19. So perhaps some noise that randomly sets these CB1(b4)/CB2(b3)/CA1(b0) IFR bits. And probably best to avoid enabling these IER bits!
@robjustice - when you get a chance, can you try v0.3-beta here. Thanks.
That works, and it now gets past the detection and displays: ... 4 S/S S/S V
However :-( , then, i get failed test: SC01
Test: 31:00:00 Expected:00 Actual:01
ok, i see this is related to the duration of the speech. I had made it a bit faster previously, but must have bumped the adjustment back. If i set it a bit faster it passes this test ok and reaches the hit ctrl-reset for the reset tests.
Yes, that's it. I will remove the timed check (or at least make it a very long timeout), so that this passes however you have the card's potentiometer set for its speech rate.
Hi @robjustice - this new build here (v0.4-beta) should remedy the short timeout on the SC-01 phrase playback.
I've extended the timeout to 42s, but it's conceivable that your manual potentiometer setting could make the speech even slower than this! But I figure that if anyone sets the speech rate this slow, then it's user error.
And when you get passed the reset tests, there's a manual tone test (keys 4,5,6 for your S/S card). Then finally a report of the number of tests passed.
I tested v0.4-beta and that's working well. If I set the manual pot to the slowest, its passing ok, I think you have a good margin in there! I did try the tone test and that's working ok.
I did notice another small issue with the tone test, i'll raise it separately.
Thanks @robjustice for all your help in testing the various iterations of this mb-audit
code. Without real h/w it's very difficult to get things right. I hope this test suite will be useful in providing confidence in your h/w or diagnosing future h/w issues.
Using version v0.2, and a Sound Speech I in a IIe, exits to monitor after the initial check. I get this output: