Re: Digging in the 9010A (Z80) base's code...

From: John Robertson <jrr_at_flippers.com>
Date: Wed May 22 2002 - 01:30:26 EDT

<html>
Ah, NMI is part of the WatchDog RESET for the 9010. If the Keyboard Strobe isn't clearing U31 every few ms, then U31 RESETs the peripherals, and sends NMI (0066h) to the CPU.<br><br>
<font size=4>Fluke 9010A Memory locations for various functions.<br>
ROM 0000-BFFF<br>
RAM C000-FFFF<br>
(1)0000h I/O-0 00 Read Fuse Blown &amp; Event counter (Read)<br>
(1)0020h I/O-1 Reset Sig generator and event counter (write any data)<br>
(1)0040h I/O-2 Reads Low byte of the Probe Signature (Read)<br>
(1)0060h I/O-3 Reads High byte of the Probe Signature (Read)<br>
(1)0080h-(1)0081h I/O-4 Keyboard/Watchdog Clear (W/R)<br>
(1)00A0h-(1)00A1h I/O-5 Mag Tape <br>
(1)00C0h-(1)00C3h I/O-6 Pod/Probe I/O<br>
(1)00E0h-(1)00E1h I/O-7 RS-232<br><br>
Update to loop below...<br><br>
</font>John :-#)#<br><br>
At 12:41 AM 22/05/2002 -0700, TechToolsList@flippers.com wrote:<br>
<blockquote type=cite class=cite cite>Another tidbit, the 'Waiting for Key Press' loop also checks if the Probe FUSE is blown. But it doesn't seem to trip the NMI (0066h) while still strobing the keyboard I/O. Need to dig further...<br><br>
John :-#)#<br><br>
At 11:39 PM 21/05/2002 -0700, John Robertson wrote:<br>
<blockquote type=cite class=cite cite>Well, I was working on the code for the 9010 and came up with an idea, why not log what happens with a single read. So now I'm getting info on the memory locations. for example it turns out that the display uses memory locations: F577h to F596h (32 characters):<br><br>
<font size=4>Fluke 9010A Memory locations for various functions.<br><br>
ROM<br>
U21&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display Ram&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; DATA<br>
85A4h&nbsp;&nbsp;&nbsp;&nbsp; F577h 1st position for display R (52)<br>
85A5h&nbsp;&nbsp;&nbsp;&nbsp; F578h 2nd position display&nbsp;&nbsp;&nbsp; E (45)<br>
85A6h&nbsp;&nbsp;&nbsp;&nbsp; F579h 3rd<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A (41)<br>
85A7h&nbsp;&nbsp;&nbsp;&nbsp; F57Ah 4th<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; D (44)<br>
85A8h&nbsp;&nbsp;&nbsp;&nbsp; F57Bh 5th<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (space - 20)<br>
85A9h&nbsp;&nbsp;&nbsp;&nbsp; F57Ch 6th<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; @ (40)<br>
85AAh&nbsp;&nbsp;&nbsp; F57Dh 7th<x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (space - 20)<br>
The data byte (location of read) is now read from U21 starting at 8623h<br>
in reverse order.<br><br>
I'll get more out as I figure it out...it seems that locations F345h and F346h are the Signature data locations...(thanks David F)<br><br>
FF95h - Position pointer for display (incremented by 1 for every character added above)<br><br>
-------------------------------------------------------------------------<br>
This is the wait cycle of the 9010 when nothing is happening:<br><br>
</font><font face="Courier New, Courier" size=4>STATE&nbsp;&nbsp; PC&nbsp;&nbsp; DISASSEMBLY&nbsp;&nbsp; BUS ACTIVITY&nbsp; <br>
(start or at least what I call the start - it's an endless loop...)&nbsp; <br>
00489 76D0 JR&nbsp;&nbsp; Z,7707-$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00491 7707 LD&nbsp;&nbsp; C,00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00493 7709 JP&nbsp;&nbsp; BE84&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00496 BE84 LD&nbsp;&nbsp; IX,SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00498 BE86 POP&nbsp; IX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF53&gt;60 FF54&gt;FF <br>
00502 BE88 POP&nbsp; HL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF55&gt;B0 FF56&gt;73 <br>
00505 BE89 POP&nbsp; AF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF57&gt;52 FF58&gt;73 <br>
00508 BE8A JP&nbsp;&nbsp; (HL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00509 73B0 LD&nbsp;&nbsp; A,C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00510 73B1 OR&nbsp;&nbsp; A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00511 73B2 JR&nbsp;&nbsp; NZ,73E5-$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00513 73B4 JR&nbsp;&nbsp; 73AA-$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00515 73AA LD&nbsp;&nbsp; L,(IX+04)&nbsp; FF64&gt;52&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00519 73AD CALL 767C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF58&lt;73 FF57&lt;B0 <br>
00524 767C RST&nbsp; 20H&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF56&lt;76 FF55&lt;7D <br>
00527 0020 JP&nbsp;&nbsp; BE77&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00530 BE77 POP&nbsp; DE&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF55&gt;7D FF56&gt;76 <br>
00533 BE78 EX&nbsp;&nbsp; (SP),HL&nbsp;&nbsp;&nbsp; FF57&gt;B0 FF58&gt;73 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF58&lt;73 FF57&lt;52 <br>
00538 BE79 PUSH HL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF56&lt;73 FF55&lt;B0 <br>
00541 BE7A PUSH IX&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF54&lt;FF FF53&lt;60 <br>
00545 BE7C LD&nbsp;&nbsp; IX,0000&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00549 BE80 ADD&nbsp; IX,SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00551 BE82 EX&nbsp;&nbsp; DE,HL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00552 BE83 JP&nbsp;&nbsp; (HL)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00553 767D LD&nbsp;&nbsp; HL,FFC7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00556 7680 ADD&nbsp; HL,SP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00557 7681 LD&nbsp;&nbsp; SP,HL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00562 7685 CP&nbsp;&nbsp; 7F&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00564 7687 JR&nbsp;&nbsp; Z,768E-$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00566 768E LD&nbsp;&nbsp; L,00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00568 7690 CALL BA5C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF19&lt;76 FF18&lt;93 <br>
00573 BA5C LD&nbsp;&nbsp; C,L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></blockquote></blockquote><br>
<blockquote type=cite class=cite cite><blockquote type=cite class=cite cite><font face="Courier New, Courier" size=4>00574 BA5D IN&nbsp;&nbsp; C,(C)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 00&gt;80&nbsp;&nbsp; (Has the Fuse Blown - 08h if fuse open)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></blockquote></blockquote><br>
<blockquote type=cite class=cite cite><blockquote type=cite class=cite cite><font face="Courier New, Courier" size=4>00577 BA5F LD&nbsp;&nbsp; B,00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00579 BA61 RET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF18&gt;93 FF19&gt;76 <br>
00582 7693 LD&nbsp;&nbsp; A,C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00583 7694 AND&nbsp; 80&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00585 7696 LD&nbsp;&nbsp; C,A&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00586 7697 JR&nbsp;&nbsp; NZ,76C9-$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00588 76C9 LD&nbsp;&nbsp; L,81&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00590 76CB CALL BA5C&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF19&lt;76 FF18&lt;CE <br>
00595 BA5C LD&nbsp;&nbsp; C,L&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font></blockquote></blockquote><br>
<blockquote type=cite class=cite cite><blockquote type=cite class=cite cite><font face="Courier New, Courier" size=4>00596 BA5D IN&nbsp;&nbsp; C,(C)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 81&gt;08&nbsp;&nbsp;&nbsp; (Keyboard Entry Flag)&nbsp;&nbsp;&nbsp; </font></blockquote></blockquote><br>
<blockquote type=cite class=cite cite><blockquote type=cite class=cite cite><font face="Courier New, Courier" size=4>00599 BA5F LD&nbsp;&nbsp; B,00&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
00601 BA61 RET&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; FF18&gt;CE FF19&gt;76 <br>
00604 76CE BIT&nbsp; 00,C&nbsp;&nbsp;&nbsp; <br>
(repeat from the top - 00489)<br><br>
Well, I'm getting tired...not a Z80 guru by a long shot.<br><br>
John :-#)#</font></blockquote></blockquote></html>
Received on Wed May 22 01:30:26 2002

This archive was generated by hypermail 2.1.8 : Tue Dec 02 2003 - 18:40:44 EST