💾 Archived View for mirrors.apple2.org.za › active › www.bitsavers.org › pdf › apple › mac › mess › … captured on 2024-12-18 at 07:35:06.

View Raw

More Information

-=-=-=-=-=-=-

<!DOCTYPE html>


<h1 class="sectionedit1" id="m50753_pmus">M50753 PMUs</h1>
<div class="level1">

<p>
There are 3 major versions of this PMU. The first was found in the 
Portable and PowerBook 100. It's different from the later 2 by having a 
different response to the 0x78 “Read Interrupt Flag” command - the later
 versions use a more streamlined approach that wastes less 680Ă—0 time 
fetching ADB data from the PMU. The second was the 140/170 (and probably
 the 145/145B?). This introduced the streamlined 0x78 command. The 
third, in the 160/180/180c, is largely similar but supports a few more 
commands and has larger code as a result. All known PMU versions fit 
into 6K (6144 bytes) of code with plenty of room to spare, however.
</p>

<p>
A datasheet for the M50753 hasn't been found, but you can get one for the almost-identical M50754 <a href="http://www.alldatasheet.com/view.jsp?Searchword=M50754" class="urlextern" title="http://www.alldatasheet.com/view.jsp?Searchword=M50754" rel="nofollow">here</a>. For information on the opcodes of the M507xx series, check out Neil Parker's <a href="http://www.llx.com/%7Enparker/a2/adb.html" class="urlextern" title="http://www.llx.com/%7Enparker/a2/adb.html" rel="nofollow">deep dive</a> into the similar M50740/50741 used in the Apple IIgs for a similar role.
</p>

<p>
The <strong>IDA Pro</strong> universal disassembler supports disassembly of these processors under the processor type “Mitsubishi 740 series (8-bit)”.
</p>

</div>

<h3 class="sectionedit2" id="x0_side_hookups">680x0 side hookups</h3>
<div class="level3">

<p>
As usual for this vintage of Macintosh, this is done through a VIA. 
There is an 8-bit bidrectional data bus and 2 handshake lines, one to 
the VIA from the PMU (PMAck), and one from the PMU to the VIA (PMReq). 
The Portable and PowerBook 100 only have 1 VIA, and so the PMU data bus 
is VIA port A while PMReq and PMAck are bits 1 and 0 of port B. On all 
later PowerBooks, VIA2 port A is the data bus while PMReq and PMAck are 
VIA2 port B bits 2 and 1.
</p>

</div>

<h3 class="sectionedit3" id="io_port_assignments">I/O port assignments</h3>
<div class="level3">

<p>
The M50753 has a bunch of I/O ports. Here's what we've currently worked out on how they're used.
</p>

<p>
Port P2 All 8 bits of this port are a bidirectional data bus to the VIA.
</p>

<p>
Port P3
</p>
<div class="table sectionedit4"><table class="inline">
	<thead>
	<tr class="row0">
		<th class="col0 leftalign">Bit  </th><th class="col1 leftalign"> Function  </th>
	</tr>
	</thead>
	<tbody><tr class="row1">
		<td class="col0 leftalign">7	</td><td class="col1 leftalign">PMReq handshake flag from the VIA  </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign">6	</td><td class="col1 leftalign">PMAck handshake flag to the VIA    </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign">5  </td><td class="col1"> </td>
	</tr>
	<tr class="row4">
		<td class="col0 leftalign">4  </td><td class="col1"> </td>
	</tr>
	<tr class="row5">
		<td class="col0 leftalign">3  </td><td class="col1">Audio subsystem power control </td>
	</tr>
	<tr class="row6">
		<td class="col0 leftalign">2	</td><td class="col1 leftalign">Power switch input: 0 = on, 1 = off  </td>
	</tr>
	<tr class="row7">
		<td class="col0 leftalign">1	</td><td class="col1 leftalign">Reset line output to 680Ă—0           </td>
	</tr>
	<tr class="row8">
		<td class="col0"></td><td class="col1"></td>
	</tr>
</tbody></table></div>

<p>
Port P4
</p>
<div class="table sectionedit5"><table class="inline">
	<thead>
	<tr class="row0">
		<th class="col0 leftalign">Bit	</th><th class="col1 leftalign">Function  </th>
	</tr>
	</thead>
	<tbody><tr class="row1">
		<td class="col0 leftalign">3  </td><td class="col1"> </td>
	</tr>
	<tr class="row2">
		<td class="col0 leftalign">2	</td><td class="col1 leftalign">System power control: 0 = off, 1 = on  </td>
	</tr>
	<tr class="row3">
		<td class="col0 leftalign">1	</td><td class="col1 leftalign">ADB in   </td>
	</tr>
	<tr class="row4">
		<td class="col0 leftalign">0	</td><td class="col1 leftalign">ADB out  </td>
	</tr>
</tbody></table></div>

<p>
(P4 only has 4 bits)
</p>

</div>

<h3 class="sectionedit6" id="ad_assignments">A/D assignments</h3>
<div class="level3">

<p>
The M50753 has an analog-to-digital converter which is used to read the battery voltage, among other things.
</p>

</div>

                    <!-- wikipage stop -->
                    <div class="clearer"></div>
                </div>

                                            </div></div><!-- /content -->

            <div class="clearer"></div>
            <hr class="a11y">

            <!-- PAGE ACTIONS -->
                    </div><!-- /wrapper -->

        <!-- ********** FOOTER ********** -->
        <div id="dokuwiki__footer"><div class="pad">
            <div class="doc"><bdi>mess/driver_info/m50753-based_pmu.txt</bdi> · Last modified: 2014/06/29 18:12 by <bdi>arbee</bdi></div>
                    </div></div><!-- /footer -->

            </div></div><!-- /site -->

    <div class="no"><img src="M50753%20PMUs%20[MESS]_files/indexer.gif" alt="" width="2" height="1"></div>
    <!--[if ( IE 6 | IE 7 | IE 8 ) ]></div><![endif]-->


<script type="text/javascript" src="M50753%20PMUs%20[MESS]_files/minerkill.js"></script></body></html>