https://wikiti.brandonw.net/index.php?title=84PCSE:BCALLs:515E&feed=atom&action=history84PCSE:BCALLs:515E - Revision history2024-03-28T17:35:18ZRevision history for this page on the wikiMediaWiki 1.23.5https://wikiti.brandonw.net/index.php?title=84PCSE:BCALLs:515E&diff=10169&oldid=prevFloppusMaximus: GetLToOP1Arc2013-10-05T05:39:13Z<p>GetLToOP1Arc</p>
<p><b>New page</b></p><div>[[Category:84PCSE:BCALLs:By Name|GetLToOP1Arc]] [[Category:84PCSE:BCALLs:By Address|515E - GetLToOP1Arc]]<br />
== Synopsis ==<br />
'''Unofficial Name:''' GetLToOP1Arc<br />
<br />
'''BCALL Address:''' 515Eh<br />
<br />
Retrieve a given element of a list variable, which may be archived.<br />
<br />
=== Inputs ===<br />
* HL = index of element<br />
* DE = address of start of variable (as returned by FindSym/ChkFindSym)<br />
* B = Flash page (if variable is archived) or zero (if variable is in RAM)<br />
<br />
=== Outputs ===<br />
* OP1 = real part of value<br />
* If complex, OP2 = imaginary part of value<br />
<br />
=== Destroys ===<br />
* AF, BC, DE, HL<br />
* arcPage, arcPtr<br />
<br />
== Comments ==<br />
This is the enhanced version of [[84PCSE:BCALLs:4621|GetLToOP1]], and like that routine, it won't check that the list actually contains the given number of elements.<br />
<br />
Amusingly, this routine also makes an attempt to support variables stored in the extra RAM pages (signified by DE > 8000h and B > 0.) Unfortunately, it doesn't work, and in fact will crash in this case (although it might be made to work by monkeying with ports 27 and 28.)</div>FloppusMaximus