[
  {
    "path": ".gitignore",
    "content": "*.class\n\n# Mobile Tools for Java (J2ME)\n.mtj.tmp/\n\n# Package Files #\n*.jar\n*.war\n*.ear\n\n# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml\nhs_err_pid*\nnesdebug*.txt\n\n\n#unnecessary javadocs\n/lib/javadoc/**\n/lib/src/**\n/proguard4.7/examples/**\n/proguard4.7/src/**\n/build/**\n\n#include necessary jars for building\n!jarsplice-0.40-CLI-CUSTPATCH.jar\n!proguard*.jar\n!retrace.jar\n\n\n/dist/\n/HalfNES.exe\nproguard4.7\n/HalfNES.app\n/*.app\n/battletoads double dragon.txt\n/justbreedbug.txt\n/.idea\n/*.iml\n/target\n/.settings/\n.classpath\n.project\n"
  },
  {
    "path": ".travis.yml",
    "content": "language: java\n\njdk:\n  - oraclejdk8\n"
  },
  {
    "path": "LICENSE",
    "content": "GNU GENERAL PUBLIC LICENSE\n                       Version 3, 29 June 2007\n\n Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\n\n                            Preamble\n\n  The GNU General Public License is a free, copyleft license for\nsoftware and other kinds of works.\n\n  The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works.  By contrast,\nthe GNU General Public License is intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.  We, the Free Software Foundation, use the\nGNU General Public License for most of our software; it applies also to\nany other work released this way by its authors.  You can apply it to\nyour programs, too.\n\n  When we speak of free software, we are referring to freedom, not\nprice.  Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n\n  To protect your rights, we need to prevent others from denying you\nthese rights or asking you to surrender the rights.  Therefore, you have\ncertain responsibilities if you distribute copies of the software, or if\nyou modify it: responsibilities to respect the freedom of others.\n\n  For example, if you distribute copies of such a program, whether\ngratis or for a fee, you must pass on to the recipients the same\nfreedoms that you received.  You must make sure that they, too, receive\nor can get the source code.  And you must show them these terms so they\nknow their rights.\n\n  Developers that use the GNU GPL protect your rights with two steps:\n(1) assert copyright on the software, and (2) offer you this License\ngiving you legal permission to copy, distribute and/or modify it.\n\n  For the developers' and authors' protection, the GPL clearly explains\nthat there is no warranty for this free software.  For both users' and\nauthors' sake, the GPL requires that modified versions be marked as\nchanged, so that their problems will not be attributed erroneously to\nauthors of previous versions.\n\n  Some devices are designed to deny users access to install or run\nmodified versions of the software inside them, although the manufacturer\ncan do so.  This is fundamentally incompatible with the aim of\nprotecting users' freedom to change the software.  The systematic\npattern of such abuse occurs in the area of products for individuals to\nuse, which is precisely where it is most unacceptable.  Therefore, we\nhave designed this version of the GPL to prohibit the practice for those\nproducts.  If such problems arise substantially in other domains, we\nstand ready to extend this provision to those domains in future versions\nof the GPL, as needed to protect the freedom of users.\n\n  Finally, every program is threatened constantly by software patents.\nStates should not allow patents to restrict development and use of\nsoftware on general-purpose computers, but in those that do, we wish to\navoid the special danger that patents applied to a free program could\nmake it effectively proprietary.  To prevent this, the GPL assures that\npatents cannot be used to render the program non-free.\n\n  The precise terms and conditions for copying, distribution and\nmodification follow.\n\n                       TERMS AND CONDITIONS\n\n  0. Definitions.\n\n  \"This License\" refers to version 3 of the GNU General Public License.\n\n  \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n\n  \"The Program\" refers to any copyrightable work licensed under this\nLicense.  Each licensee is addressed as \"you\".  \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n\n  To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy.  The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n\n  A \"covered work\" means either the unmodified Program or a work based\non the Program.\n\n  To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy.  Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n\n  To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies.  Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n\n  An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License.  If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\n  1. Source Code.\n\n  The \"source code\" for a work means the preferred form of the work\nfor making modifications to it.  \"Object code\" means any non-source\nform of a work.\n\n  A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n\n  The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form.  A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n\n  The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities.  However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work.  For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n\n  The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n\n  The Corresponding Source for a work in source code form is that\nsame work.\n\n  2. Basic Permissions.\n\n  All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met.  This License explicitly affirms your unlimited\npermission to run the unmodified Program.  The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work.  This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n\n  You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force.  You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright.  Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n\n  Conveying under any other circumstances is permitted solely under\nthe conditions stated below.  Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\n  3. Protecting Users' Legal Rights From Anti-Circumvention Law.\n\n  No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n\n  When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\n  4. Conveying Verbatim Copies.\n\n  You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n\n  You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\n  5. Conveying Modified Source Versions.\n\n  You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\n\n    a) The work must carry prominent notices stating that you modified\n    it, and giving a relevant date.\n\n    b) The work must carry prominent notices stating that it is\n    released under this License and any conditions added under section\n    7.  This requirement modifies the requirement in section 4 to\n    \"keep intact all notices\".\n\n    c) You must license the entire work, as a whole, under this\n    License to anyone who comes into possession of a copy.  This\n    License will therefore apply, along with any applicable section 7\n    additional terms, to the whole of the work, and all its parts,\n    regardless of how they are packaged.  This License gives no\n    permission to license the work in any other way, but it does not\n    invalidate such permission if you have separately received it.\n\n    d) If the work has interactive user interfaces, each must display\n    Appropriate Legal Notices; however, if the Program has interactive\n    interfaces that do not display Appropriate Legal Notices, your\n    work need not make them do so.\n\n  A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit.  Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\n  6. Conveying Non-Source Forms.\n\n  You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\n\n    a) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by the\n    Corresponding Source fixed on a durable physical medium\n    customarily used for software interchange.\n\n    b) Convey the object code in, or embodied in, a physical product\n    (including a physical distribution medium), accompanied by a\n    written offer, valid for at least three years and valid for as\n    long as you offer spare parts or customer support for that product\n    model, to give anyone who possesses the object code either (1) a\n    copy of the Corresponding Source for all the software in the\n    product that is covered by this License, on a durable physical\n    medium customarily used for software interchange, for a price no\n    more than your reasonable cost of physically performing this\n    conveying of source, or (2) access to copy the\n    Corresponding Source from a network server at no charge.\n\n    c) Convey individual copies of the object code with a copy of the\n    written offer to provide the Corresponding Source.  This\n    alternative is allowed only occasionally and noncommercially, and\n    only if you received the object code with such an offer, in accord\n    with subsection 6b.\n\n    d) Convey the object code by offering access from a designated\n    place (gratis or for a charge), and offer equivalent access to the\n    Corresponding Source in the same way through the same place at no\n    further charge.  You need not require recipients to copy the\n    Corresponding Source along with the object code.  If the place to\n    copy the object code is a network server, the Corresponding Source\n    may be on a different server (operated by you or a third party)\n    that supports equivalent copying facilities, provided you maintain\n    clear directions next to the object code saying where to find the\n    Corresponding Source.  Regardless of what server hosts the\n    Corresponding Source, you remain obligated to ensure that it is\n    available for as long as needed to satisfy these requirements.\n\n    e) Convey the object code using peer-to-peer transmission, provided\n    you inform other peers where the object code and Corresponding\n    Source of the work are being offered to the general public at no\n    charge under subsection 6d.\n\n  A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n\n  A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling.  In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage.  For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product.  A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n\n  \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source.  The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n\n  If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information.  But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n\n  The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed.  Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n\n  Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\n  7. Additional Terms.\n\n  \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law.  If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n\n  When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit.  (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.)  You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n\n  Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\n\n    a) Disclaiming warranty or limiting liability differently from the\n    terms of sections 15 and 16 of this License; or\n\n    b) Requiring preservation of specified reasonable legal notices or\n    author attributions in that material or in the Appropriate Legal\n    Notices displayed by works containing it; or\n\n    c) Prohibiting misrepresentation of the origin of that material, or\n    requiring that modified versions of such material be marked in\n    reasonable ways as different from the original version; or\n\n    d) Limiting the use for publicity purposes of names of licensors or\n    authors of the material; or\n\n    e) Declining to grant rights under trademark law for use of some\n    trade names, trademarks, or service marks; or\n\n    f) Requiring indemnification of licensors and authors of that\n    material by anyone who conveys the material (or modified versions of\n    it) with contractual assumptions of liability to the recipient, for\n    any liability that these contractual assumptions directly impose on\n    those licensors and authors.\n\n  All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10.  If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term.  If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n\n  If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n\n  Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\n  8. Termination.\n\n  You may not propagate or modify a covered work except as expressly\nprovided under this License.  Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n\n  However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n\n  Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n\n  Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License.  If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\n  9. Acceptance Not Required for Having Copies.\n\n  You are not required to accept this License in order to receive or\nrun a copy of the Program.  Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance.  However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work.  These actions infringe copyright if you do\nnot accept this License.  Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\n  10. Automatic Licensing of Downstream Recipients.\n\n  Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License.  You are not responsible\nfor enforcing compliance by third parties with this License.\n\n  An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations.  If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n\n  You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License.  For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\n  11. Patents.\n\n  A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based.  The\nwork thus licensed is called the contributor's \"contributor version\".\n\n  A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version.  For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n\n  Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n\n  In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement).  To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n\n  If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients.  \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n\n  If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n\n  A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License.  You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n\n  Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\n  12. No Surrender of Others' Freedom.\n\n  If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License.  If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all.  For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\n  13. Use with the GNU Affero General Public License.\n\n  Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU Affero General Public License into a single\ncombined work, and to convey the resulting work.  The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the special requirements of the GNU Affero General Public License,\nsection 13, concerning interaction through a network will apply to the\ncombination as such.\n\n  14. Revised Versions of this License.\n\n  The Free Software Foundation may publish revised and/or new versions of\nthe GNU General Public License from time to time.  Such new versions will\nbe similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n\n  Each version is given a distinguishing version number.  If the\nProgram specifies that a certain numbered version of the GNU General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation.  If the Program does not specify a version number of the\nGNU General Public License, you may choose any version ever published\nby the Free Software Foundation.\n\n  If the Program specifies that a proxy can decide which future\nversions of the GNU General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n\n  Later license versions may give you additional or different\npermissions.  However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\n  15. Disclaimer of Warranty.\n\n  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\n  16. Limitation of Liability.\n\n  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\n  17. Interpretation of Sections 15 and 16.\n\n  If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\n\n                     END OF TERMS AND CONDITIONS\n\n            How to Apply These Terms to Your New Programs\n\n  If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n\n  To do so, attach the following notices to the program.  It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\n\n    {one line to give the program's name and a brief idea of what it does.}\n    Copyright (C) {year}  {name of author}\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see <http://www.gnu.org/licenses/>.\n\nAlso add information on how to contact you by electronic and paper mail.\n\n  If the program does terminal interaction, make it output a short\nnotice like this when it starts in an interactive mode:\n\n    {project}  Copyright (C) {year}  {fullname}\n    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.\n    This is free software, and you are welcome to redistribute it\n    under certain conditions; type `show c' for details.\n\nThe hypothetical commands `show w' and `show c' should show the appropriate\nparts of the General Public License.  Of course, your program's commands\nmight be different; for a GUI interface, you would use an \"about box\".\n\n  You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU GPL, see\n<http://www.gnu.org/licenses/>.\n\n  The GNU General Public License does not permit incorporating your program\ninto proprietary programs.  If your program is a subroutine library, you\nmay consider it more useful to permit linking proprietary applications with\nthe library.  If this is what you want to do, use the GNU Lesser General\nPublic License instead of this License.  But first, please read\n<http://www.gnu.org/philosophy/why-not-lgpl.html>."
  },
  {
    "path": "README.md",
    "content": "[DOWNLOAD HERE](https://github.com/andrew-hoffman/halfnes/releases)\n\nhalfnes\n=======\n\nAn accurate NES/Famicom emulator\n\n[![Join the chat at https://gitter.im/andrew-hoffman/halfnes](https://badges.gitter.im/Join%20Chat.svg)]\n(https://gitter.im/andrew-hoffman/halfnes?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)\n\nCurrent Features\n----------------\n\n- Joystick support through both DirectInput and xInput (thanks Zlika) \n- Cross-Platform\n- Supports Mapper 0, 1, 2, 3, 4, 5, 7, 9, 10, 11, 15, 19, 21, 22, 23, 24, 25, 26,\n 31, 33, 34, 38, 41, 48, 58, 60, 61, 62, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73,\n 75, 76, 78, 79, 86, 87, 88, 89, 92, 93, 94, 97, 107, 112, 113, 118, 119, 140,\n 152, 154, 180, 182, 185, 200, 201, 203, 206, 212, 213, 214, 225, 226, 229, 231,\n 240, 241, 242, 244, 246, 255\n- Accurate sound core\n- Fast display code\n- Battery save support (No savestates! Come on. You can live without them.)\n- Remappable controls\n- Full screen mode \n- NTSC filter\n- NSF player\n\nRunning HalfNES\n---------------\n\nDownload the latest version from https://github.com/andrew-hoffman/halfnes/releases .\nThere are two versions of HalfNES included in this package: a Windows\nexecutable and a JAR file for other platforms.\nUse whichever one works best on your platform, but you will need\nJava 8 or newer installed no matter what file is to be used.\nLinux users will need to set execute permissions on the JAR.\n\n# Default Controls (See Preferences dialog to remap them)\nController 1:\n- D-Pad: Arrow Keys\n- B Button: Z\n- A Button: X\n- Select: Right Shift\n- Start: Enter \n\n# Controller 2:\n- D-Pad: WASD\n- B Button: F\n- A Button: G\n- Select: R\n- Start: T \n\nThe keys mapped to the A and B buttons are used to change tracks in the NSF player.\n\n# Note on joystick support\n\nThe first detected gamepad will be used as Controller 1, and the second \nwill be Controller 2. Currently the buttons used are not configurable. \n(the controller needs to be plugged in before a game is loaded in order to be detected.)\n\n# Compatibility\n\nAt this point in \ndevelopment, almost all US released games will start, but certain games \nstill have graphics corruption or freezing problems. Please report any \nissues you encounter with the emulator or with games on the Github Issues page \n(https://github.com/andrew-hoffman/halfnes/issues). \nPAL games are now supported as well but are likely to have more issues.\nPlease change the system type to PAL in preferences to run these. \n\nBuilding instructions\n---------------------\n\nThe project requires JInput library to build.  \nThe project comes with a Maven build script that will automatically download\nthat and package the natives as a library. To use it you will need to \ninstall Maven, change to the project directory and run\n\n    mvn install\n\nand that should produce an exe and a JAR with all the natives in the\n/target/ directory under the project root. \n\nDo NOT ask me where to find ROM files of commercial games. Some public \ndomain homebrew ROMs are available at www.pdroms.de for testing \npurposes. \n\nA 2 ghz Athlon 64 or better is currently required to run all games full \nspeed. (The NTSC filter requires MUCH more processing power, however.)\nSaved games are placed in the folder that the ROM file is in for \nnow. \n\nIf you are having problems getting the emulator to run, make sure to \nupdate your Java Runtime to the latest version. Go to \nhttp://java.com/en/download/manual.jsp and get the correct version for \nyour OS. \n\nSpecial Thanks to the NESDev wiki and forum community for the invaluable \nNES hardware reference that made this project possible. \n"
  },
  {
    "path": "nbactions.xml",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<actions>\n        <action>\n            <actionName>run</actionName>\n            <packagings>\n                <packaging>jar</packaging>\n            </packagings>\n            <goals>\n                <goal>process-classes</goal>\n                <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>\n            </goals>\n            <properties>\n                <exec.args>-classpath %classpath com.grapeshot.halfnes.halfNES</exec.args>\n                <exec.executable>java</exec.executable>\n            </properties>\n        </action>\n        <action>\n            <actionName>debug</actionName>\n            <packagings>\n                <packaging>jar</packaging>\n            </packagings>\n            <goals>\n                <goal>process-classes</goal>\n                <goal>org.codehaus.mojo:exec-maven-plugin:1.2.1:exec</goal>\n            </goals>\n            <properties>\n                <exec.args>-Xdebug -Xrunjdwp:transport=dt_socket,server=n,address=${jpda.address} -classpath %classpath com.grapeshot.halfnes.halfNES</exec.args>\n                <exec.executable>java</exec.executable>\n                <jpda.listen>true</jpda.listen>\n            </properties>\n        </action>\n    </actions>\n"
  },
  {
    "path": "pom.xml",
    "content": "<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n         xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n         xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0\n                      http://maven.apache.org/xsd/maven-4.0.0.xsd\">\n    <modelVersion>4.0.0</modelVersion>\n\n    <!-- The Basics -->\n    <groupId>com.grapeshot</groupId>\n    <artifactId>halfnes</artifactId>\n    <version>0.6.3-SNAPSHOT</version>\n    <dependencies>\n        <!-- Controller input -->\n        <dependency>\n            <groupId>net.java.jinput</groupId>\n            <artifactId>jinput</artifactId>\n            <version>2.0.6</version>\n        </dependency>\n        <!-- Tests -->\n        <dependency>\n            <groupId>org.testng</groupId>\n            <artifactId>testng</artifactId>\n            <version>6.9.9</version>\n            <scope>test</scope>\n        </dependency>\n        <dependency>\n            <groupId>org.mockito</groupId>\n            <artifactId>mockito-core</artifactId>\n            <version>1.9.5</version>\n            <scope>test</scope>\n        </dependency>\n    </dependencies>\n    <properties>\n        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>\n        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>\n    </properties>\n\n    <!-- Build Settings -->\n    <build>\n        <plugins>\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-compiler-plugin</artifactId>\n                <version>3.3</version>\n                <configuration>\n                    <source>1.8</source>\n                    <target>1.8</target>\n                </configuration>\n            </plugin>\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-source-plugin</artifactId>\n                <version>2.2.1</version>\n                <executions>\n                    <execution>\n                        <id>attach-sources</id>\n                        <goals>\n                            <goal>jar</goal>\n                            <goal>test-jar</goal>\n                        </goals>\n                    </execution>\n                </executions>\n            </plugin>\n            <plugin>\n                <groupId>org.apache.maven.plugins</groupId>\n                <artifactId>maven-javadoc-plugin</artifactId>\n                <version>2.9</version>\n                <executions>\n                    <execution>\n                        <id>attach-javadocs</id>\n                        <goals>\n                            <goal>jar</goal>\n                            <goal>test-jar</goal>\n                        </goals>\n                        <configuration>\n                            <failOnError>false</failOnError>\n                            <verbose>false</verbose>\n                        </configuration>\n                    </execution>\n                </executions>\n            </plugin>\n            <plugin>\n                <groupId>org.codehaus.mojo</groupId>\n                <artifactId>templating-maven-plugin</artifactId>\n                <version>1.0.0</version>\n                <executions>\n                    <execution>\n                        <id>filter-src</id>\n                        <goals>\n                            <goal>filter-sources</goal>\n                        </goals>\n                    </execution>\n                </executions>\n            </plugin>\n        </plugins>\n    </build>\n\n    <!-- More Project Information -->\n    <name>halfNES</name>\n    <description>An accurate NES/Famicom emulator</description>\n    <url>https://github.com/andrew-hoffman/halfnes</url>\n    <inceptionYear>2010</inceptionYear>\n    <!--<licenses>...</licenses>-->\n    <developers>\n        <developer>\n            <id>andrew-hoffman</id>\n            <name>Andrew Hoffman</name>\n        </developer>\n    </developers>\n    <contributors>\n        <contributor>\n            <name>Klaus Hauschild</name>\n        </contributor>\n        <contributor>\n            <name>Stephen Chin</name>\n        </contributor>\n        <contributor>\n            <name>Thomas Lorblanches</name>\n        </contributor>\t\n        <contributor>\n            <name>Nawrot Krzystof</name>\n        </contributor>\n    </contributors>\n\n    <!-- Environment Settings -->\n    <scm>\n        <url>https://github.com/andrew-hoffman/halfnes</url>\n        <connection>scm:git:https://github.com/andrew-hoffman/halfnes.git</connection>\n        <developerConnection>scm:git:https://github.com/andrew-hoffman/halfnes.git</developerConnection>\n    </scm>\n    <prerequisites>\n        <maven>3.0.5</maven>\n    </prerequisites>\n    <profiles>\n        <profile>\n            <id>make-binary</id>\n            <build>\n                <defaultGoal>package</defaultGoal>\n                <plugins>\n                    <plugin>\n                        <artifactId>maven-assembly-plugin</artifactId>\n                        <version>2.6</version>\n                        <executions>\n                            <execution>\n                                <id>make-assembly</id>\n                                <phase>package</phase>\n                                <goals>\n                                    <goal>single</goal>\n                                </goals>\n                                <configuration>\n                                    <descriptorRefs>\n                                        <descriptorRef>jar-with-dependencies</descriptorRef>\n                                    </descriptorRefs>\n                                    <archive>\n                                        <manifest>\n                                            <mainClass>com.grapeshot.halfnes.halfNES</mainClass>\n                                        </manifest>\n                                    </archive>\n                                </configuration>\n                            </execution>\n                        </executions>\n                    </plugin>\n                    <plugin>\n                        <groupId>com.akathist.maven.plugins.launch4j</groupId>\n                        <artifactId>launch4j-maven-plugin</artifactId>\n                        <version>1.7.8</version>\n                        <executions>\n                            <execution>\n                                <phase>package</phase>\n                                <goals>\n                                    <goal>launch4j</goal>\n                                </goals>\n                                <configuration>\n                                    <headerType>gui</headerType>\n                                    <outfile>target/halfNES.exe</outfile>\n                                    <jar>target/${project.build.finalName}-jar-with-dependencies.jar</jar>\n                                    <jre>\n                                        <minVersion>1.8.0</minVersion>\n                                        <initialHeapSize>128</initialHeapSize>\n                                        <maxHeapSize>1024</maxHeapSize>\n                                    </jre>\n                                </configuration>\n                            </execution>\n                        </executions>\n                    </plugin>\n                </plugins>\n            </build>\n        </profile>\n    </profiles>\n</project>\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/APU.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.ui.Oscilloscope;\nimport com.grapeshot.halfnes.audio.*;\nimport com.grapeshot.halfnes.mappers.Mapper;\nimport java.util.ArrayList;\n\npublic class APU {\n\n    public int samplerate;\n    private final Timer[] timers = {new SquareTimer(8, 2), new SquareTimer(8, 2),\n        new TriangleTimer(), new NoiseTimer()};\n    private double cyclespersample;\n    public final NES nes;\n    CPU cpu;\n    CPURAM cpuram;\n    public int sprdma_count;\n    private int apucycle = 0, remainder = 0;\n    private int[] noiseperiod;\n    // different for PAL\n    private long accum = 0;\n    private final ArrayList<ExpansionSoundChip> expnSound = new ArrayList<>();\n    private boolean soundFiltering;\n    private final static int[] TNDLOOKUP = initTndLookup(), SQUARELOOKUP = initSquareLookup();\n    private int framectrreload;\n    private int framectrdiv = 7456;\n    private int dckiller = -6392; //removes icky power on thump\n    private int lpaccum = 0;\n    private boolean apuintflag = true, statusdmcint = false, statusframeint = false;\n    private int framectr = 0, ctrmode = 4;\n    private final boolean[] lenCtrEnable = {true, true, true, true};\n    private final int[] volume = new int[4];\n    //dmc instance variables\n    private int[] dmcperiods;\n    private int dmcrate = 0x36, dmcpos = 0, dmcshiftregister = 0, dmcbuffer = 0,\n            dmcvalue = 0, dmcsamplelength = 1, dmcsamplesleft = 0,\n            dmcstartaddr = 0xc000, dmcaddr = 0xc000, dmcbitsleft = 8;\n    private boolean dmcsilence = true, dmcirq = false, dmcloop = false, dmcBufferEmpty = true;\n    //length ctr instance variables\n    private final int[] lengthctr = {0, 0, 0, 0};\n    private final static int[] lenctrload = {10, 254, 20, 2, 40, 4, 80, 6,\n        160, 8, 60, 10, 14, 12, 26, 14, 12, 16, 24, 18, 48, 20, 96, 22,\n        192, 24, 72, 26, 16, 28, 32, 30};\n    private final boolean[] lenctrHalt = {true, true, true, true};\n    //linear counter instance vars\n    private int linearctr = 0;\n    private int linctrreload = 0;\n    private boolean linctrflag = false;\n    //instance variables for envelope units\n    private final int[] envelopeValue = {15, 15, 15, 15};\n    private final int[] envelopeCounter = {0, 0, 0, 0};\n    private final int[] envelopePos = {0, 0, 0, 0};\n    private final boolean[] envConstVolume = {true, true, true, true};\n    private final boolean[] envelopeStartFlag = {false, false, false, false};\n    //instance variables for sweep unit\n    private final boolean[] sweepenable = {false, false},\n            sweepnegate = {false, false},\n            sweepsilence = {false, false},\n            sweepreload = {false, false};\n    private final int[] sweepperiod = {15, 15}, sweepshift = {0, 0}, sweeppos = {0, 0};\n    private int cyclesperframe;\n    private AudioOutInterface ai;\n\n    public APU(final NES nes, final CPU cpu, final CPURAM cpuram) {\n        this.samplerate = 1; //just in case we can't init audio\n        //then init the audio stream\n        this.nes = nes;\n        this.cpu = cpu;\n        this.cpuram = cpuram;\n        setParameters();\n    }\n\n    private static int[] initTndLookup() {\n        int[] lookup = new int[203];\n        for (int i = 0; i < lookup.length; ++i) {\n            lookup[i] = (int) ((163.67 / (24329.0 / i + 100)) * 49151);\n        }\n        return lookup;\n    }\n\n    private static int[] initSquareLookup() {\n        //fill square, triangle volume lookup tables\n        int[] lookup = new int[31];\n        for (int i = 0; i < lookup.length; ++i) {\n            lookup[i] = (int) ((95.52 / (8128.0 / i + 100)) * 49151);\n        }\n        return lookup;\n    }\n\n    public final synchronized void setParameters() {\n        Mapper.TVType tvtype = cpuram.mapper.getTVType();\n        soundFiltering = PrefsSingleton.get().getBoolean(\"soundFiltering\", true);\n        samplerate = PrefsSingleton.get().getInt(\"sampleRate\", 44100);\n        if (ai != null) {\n            ai.destroy();\n        }\n        ai = new SwingAudioImpl(nes, samplerate, tvtype);\n        if (PrefsSingleton.get().getBoolean(\"showScope\", false)) {\n            ai = new Oscilloscope(ai);\n        }\n        //pick the appropriate pitches and lengths for NTSC or PAL\n        switch (tvtype) {\n            case NTSC:\n            default:\n                this.dmcperiods = new int[]{428, 380, 340, 320, 286, 254, 226, 214, 190, 160, 142, 128, 106, 84, 72, 54};\n                this.noiseperiod = new int[]{4, 8, 16, 32, 64, 96, 128, 160, 202, 254, 380, 508, 762, 1016, 2034, 4068};\n                this.framectrreload = 7456;\n                cyclespersample = 1789773.0 / samplerate;\n                cyclesperframe = 29781;\n                break;\n\n            case DENDY:\n                this.dmcperiods = new int[]{428, 380, 340, 320, 286, 254, 226, 214, 190, 160, 142, 128, 106, 84, 72, 54};\n                this.noiseperiod = new int[]{4, 8, 16, 32, 64, 96, 128, 160, 202, 254, 380, 508, 762, 1016, 2034, 4068};\n                this.framectrreload = 7456;\n                cyclespersample = 1773448.0 / samplerate;\n                cyclesperframe = 35469;\n                break;\n            case PAL:\n                cyclespersample = 1662607.0 / samplerate;\n                this.dmcperiods = new int[]{398, 354, 316, 298, 276, 236, 210, 198, 176, 148, 132, 118, 98, 78, 66, 50};\n                this.noiseperiod = new int[]{4, 8, 14, 30, 60, 88, 118, 148, 188, 236, 354, 472, 708, 944, 1890, 3778};\n                this.framectrreload = 8312;\n                cyclesperframe = 33252;\n                break;\n        }\n//        ai = new Reverberator(ai, 2,0.7,0.8,0.99);\n//        ai = new Reverberator(ai, 243,0.5,0.7,0.99);\n//       ai = new Reverberator(ai, 4001,0.3,0.5,0.99);\n//       ai = new Reverberator(ai, 20382,0.2,0.3,0.9);\n    }\n\n    public boolean bufferHasLessThan(int samples) {\n        return ai.bufferHasLessThan(samples);\n    }\n\n    public final int read(final int addr) {\n        updateto((int) cpu.clocks);\n        switch (addr) {\n            case 0x15:\n                //returns channel status\n                //for future ref: NEED to put those ternary operators in parentheses!\n                //otherwise order of operations does the wrong thing.\n                final int returnval = ((lengthctr[0] > 0) ? 1 : 0)\n                        | ((lengthctr[1] > 0) ? 2 : 0)\n                        | ((lengthctr[2] > 0) ? 4 : 0)\n                        | ((lengthctr[3] > 0) ? 8 : 0)\n                        | ((dmcsamplesleft > 0) ? 16 : 0)\n                        | (statusframeint ? 64 : 0)\n                        | (statusdmcint ? 128 : 0);\n                if (statusframeint) {\n                    //System.err.println(\"Frame interrupt ack at \" + cpu.cycles);\n                    --cpu.interrupt;\n                    statusframeint = false;\n                }\n\n                //System.err.println(\"*\" + utils.hex(returnval));\n                return returnval;\n            case 0x16:\n                nes.getcontroller1().strobe();\n                return nes.getcontroller1().getbyte() | 0x40;\n            case 0x17:\n                nes.getcontroller2().strobe();\n                return nes.getcontroller2().getbyte() | 0x40;\n            default:\n                return 0x40; //open bus\n        }\n    }\n    final private static int[][] DUTYLOOKUP = {\n        {0, 1, 0, 0, 0, 0, 0, 0},\n        {0, 1, 1, 0, 0, 0, 0, 0},\n        {0, 1, 1, 1, 1, 0, 0, 0},\n        {1, 0, 0, 1, 1, 1, 1, 1}\n    };\n\n    public void addExpnSound(ExpansionSoundChip chip) {\n        expnSound.add(chip);\n    }\n\n    public void destroy() {\n        ai.destroy();\n    }\n\n    public void pause() {\n        ai.pause();\n    }\n\n    public void resume() {\n        ai.resume();\n    }\n\n    public final void write(final int reg, final int data) {\n        //This is how values written to any of the APU's memory\n        //mapped registers change the state of the system.\n        updateto((int) cpu.clocks - 1);\n        //System.err.println(\"Wrote \" + utils.hex(data) + \" to \" + utils.hex(reg) + \" @ cycle \" + cpu.cycles);\n        switch (reg) {\n            case 0x0:\n                //length counter 1 halt\n                lenctrHalt[0] = ((data & (utils.BIT5)) != 0);\n                // pulse 1 duty cycle\n                timers[0].setduty(DUTYLOOKUP[data >> 6]);\n                // and envelope\n                envConstVolume[0] = ((data & (utils.BIT4)) != 0);\n                envelopeValue[0] = data & 15;\n                //setvolumes();\n                break;\n            case 0x1:\n                //pulse 1 sweep setup\n                //sweep enabled\n                sweepenable[0] = ((data & (utils.BIT7)) != 0);\n                //sweep divider period\n                sweepperiod[0] = (data >> 4) & 7;\n                //sweep negate flag\n                sweepnegate[0] = ((data & (utils.BIT3)) != 0);\n                //sweep shift count\n                sweepshift[0] = (data & 7);\n                sweepreload[0] = true;\n                break;\n            case 0x2:\n                // pulse 1 timer low bit\n                timers[0].setperiod((timers[0].getperiod() & 0xfe00) + (data << 1));\n                break;\n            case 0x3:\n                // length counter load, timer 1 high bits\n                if (lenCtrEnable[0]) {\n                    lengthctr[0] = lenctrload[data >> 3];\n                }\n                timers[0].setperiod((timers[0].getperiod() & 0x1ff) + ((data & 7) << 9));\n                // sequencer restarted\n                timers[0].reset();\n                //envelope also restarted\n                envelopeStartFlag[0] = true;\n                break;\n            case 0x4:\n                //length counter 2 halt\n                lenctrHalt[1] = ((data & (utils.BIT5)) != 0);\n                // pulse 2 duty cycle\n                timers[1].setduty(DUTYLOOKUP[data >> 6]);\n                // and envelope\n                envConstVolume[1] = ((data & (utils.BIT4)) != 0);\n                envelopeValue[1] = data & 15;\n                //setvolumes();\n                break;\n            case 0x5:\n                //pulse 2 sweep setup\n                //sweep enabled\n                sweepenable[1] = ((data & (utils.BIT7)) != 0);\n                //sweep divider period\n                sweepperiod[1] = (data >> 4) & 7;\n                //sweep negate flag\n                sweepnegate[1] = ((data & (utils.BIT3)) != 0);\n                //sweep shift count\n                sweepshift[1] = (data & 7);\n                sweepreload[1] = true;\n                break;\n            case 0x6:\n                // pulse 2 timer low bit\n                timers[1].setperiod((timers[1].getperiod() & 0xfe00) + (data << 1));\n                break;\n            case 0x7:\n                if (lenCtrEnable[1]) {\n                    lengthctr[1] = lenctrload[data >> 3];\n                }\n                timers[1].setperiod((timers[1].getperiod() & 0x1ff) + ((data & 7) << 9));\n                // sequencer restarted\n                timers[1].reset();\n                //envelope also restarted\n                envelopeStartFlag[1] = true;\n                break;\n            case 0x8:\n                //triangle linear counter load\n                linctrreload = data & 0x7f;\n                //and length counter halt\n                lenctrHalt[2] = ((data & (utils.BIT7)) != 0);\n                break;\n            case 0x9:\n                break;\n            case 0xA:\n                // triangle low bits of timer\n                timers[2].setperiod((((timers[2].getperiod() * 1) & 0xff00) + data));\n                break;\n            case 0xB:\n                // triangle length counter load\n                // and high bits of timer\n                if (lenCtrEnable[2]) {\n                    lengthctr[2] = lenctrload[data >> 3];\n                }\n                timers[2].setperiod((((timers[2].getperiod() * 1) & 0xff) + ((data & 7) << 8)));\n                linctrflag = true;\n                break;\n            case 0xC:\n                //noise halt and envelope\n                lenctrHalt[3] = ((data & (utils.BIT5)) != 0);\n                envConstVolume[3] = ((data & (utils.BIT4)) != 0);\n                envelopeValue[3] = data & 0xf;\n                //setvolumes();\n                break;\n            case 0xD:\n                break;\n            case 0xE:\n                timers[3].setduty(((data & (utils.BIT7)) != 0) ? 6 : 1);\n                timers[3].setperiod(noiseperiod[data & 15]);\n                break;\n            case 0xF:\n                //noise length counter load, envelope restart\n                if (lenCtrEnable[3]) {\n                    lengthctr[3] = lenctrload[data >> 3];\n                }\n                envelopeStartFlag[3] = true;\n                break;\n            case 0x10:\n                dmcirq = ((data & (utils.BIT7)) != 0);\n                dmcloop = ((data & (utils.BIT6)) != 0);\n                dmcrate = dmcperiods[data & 0xf];\n                if (!dmcirq && statusdmcint) {\n                    --cpu.interrupt;\n                    statusdmcint = false;\n                }\n                //System.err.println(dmcirq ? \"dmc irq on\" : \"dmc irq off\");\n                break;\n            case 0x11:\n                dmcvalue = data & 0x7f;\n                break;\n            case 0x12:\n                dmcstartaddr = (data << 6) + 0xc000;\n                break;\n            case 0x13:\n                dmcsamplelength = (data << 4) + 1;\n                break;\n            case 0x14:\n                //sprite dma\n                for (int i = 0; i < 256; ++i) {\n                    cpuram.write(0x2004, cpuram.read((data << 8) + i));\n                }\n                //account for time stolen from cpu\n                sprdma_count = 2;\n                break;\n            case 0x15:\n                //status register\n                // counter enable(silence channel when bit is off)\n                for (int i = 0; i < 4; ++i) {\n                    lenCtrEnable[i] = ((data & (1 << i)) != 0);\n                    //THIS was the channels not cutting off bug! If you toggle a channel's\n                    //status on and off very quickly then the length counter should\n                    //IMMEDIATELY be forced to zero.\n                    if (!lenCtrEnable[i]) {\n                        lengthctr[i] = 0;\n                    }\n                }\n                if (((data & (utils.BIT4)) != 0)) {\n                    if (dmcsamplesleft == 0) {\n                        restartdmc();\n                    }\n                } else {\n                    dmcsamplesleft = 0;\n                    dmcsilence = true;\n                }\n                if (statusdmcint) {\n                    --cpu.interrupt;\n                    statusdmcint = false;\n                }\n                break;\n            case 0x16:\n                // latch controller 1 + 2\n                nes.getcontroller1().output(((data & (utils.BIT0)) != 0));\n                nes.getcontroller2().output(((data & (utils.BIT0)) != 0));\n                break;\n            case 0x17:\n                ctrmode = ((data & (utils.BIT7)) != 0) ? 5 : 4;\n                //System.err.println(\"reset \" + ctrmode + ' ' + cpu.cycles);\n                apuintflag = ((data & (utils.BIT6)) != 0);\n                //set is no interrupt, clear is an interrupt\n                framectr = 0;\n                framectrdiv = framectrreload + 8; //Why +8?\n                if (apuintflag && statusframeint) {\n                    statusframeint = false;\n                    --cpu.interrupt;\n                    //System.err.println(\"Frame interrupt off at \" + cpu.cycles);\n                }\n                if (ctrmode == 5) {\n                    //everything frame counter runs is clocked no matter what\n                    setenvelope();\n                    setlinctr();\n                    setlength();\n                    setsweep();\n                }\n                break;\n            default:\n                break;\n        }\n    }\n\n    public final void updateto(final int cpucycle) {\n        //still have to run this even if sound is disabled, some games rely on DMC IRQ etc.\n        if (soundFiltering) {\n            //linear sampling code\n            //should really be a FIR filter + decimator instead\n            //but I don't have the DSP experience to design something like that\n            //that would be fast enough to work / not require calculating every sample\n            //this works well enough at eliminating aliasing anyway.\n            while (apucycle < cpucycle) {\n                ++remainder;\n                clockdmc();\n                if (--framectrdiv <= 0) {\n                    framectrdiv = framectrreload;\n                    clockframecounter();\n                }\n                timers[0].clock();\n                timers[1].clock();\n                if (lengthctr[2] > 0 && linearctr > 0) {\n                    timers[2].clock();\n                }\n                timers[3].clock();\n                if (!expnSound.isEmpty()) {\n                    for (ExpansionSoundChip c : expnSound) {\n                        c.clock(1);\n                    }\n                }\n                accum += getOutputLevel();\n\n                if ((apucycle % cyclespersample) < 1) {\n                    //not quite right - there's a non-integer # cycles per sample.\n                    ai.outputSample(lowpass_filter(highpass_filter((int) (accum / remainder))));\n                    remainder = 0;\n                    accum = 0;\n                }\n                ++apucycle;\n            }\n        } else {\n            //point sampling code\n            while (apucycle < cpucycle) {\n                ++remainder;\n                clockdmc();\n                if (--framectrdiv <= 0) {\n                    framectrdiv = framectrreload;\n                    clockframecounter();\n                }\n                if ((apucycle % cyclespersample) < 1) {\n                    //not quite right - there's a non-integer # cycles per sample.\n                    timers[0].clock(remainder);\n                    timers[1].clock(remainder);\n                    if (lengthctr[2] > 0 && linearctr > 0) {\n                        timers[2].clock(remainder);\n                    }\n                    timers[3].clock(remainder);\n                    int mixvol = getOutputLevel();\n                    if (!expnSound.isEmpty()) {\n                        for (ExpansionSoundChip c : expnSound) {\n                            c.clock(remainder);\n                        }\n                    }\n                    remainder = 0;\n                    ai.outputSample(lowpass_filter(highpass_filter(mixvol)));\n                }\n                ++apucycle;\n            }\n        }\n    }\n\n    private int getOutputLevel() {\n        int vol;\n        vol = SQUARELOOKUP[volume[0] * timers[0].getval()\n                + volume[1] * timers[1].getval()];\n        vol += TNDLOOKUP[3 * timers[2].getval()\n                + 2 * volume[3] * timers[3].getval()\n                + dmcvalue];\n        if (!expnSound.isEmpty()) {\n            vol *= 0.8;\n            for (ExpansionSoundChip c : expnSound) {\n                vol += c.getval();\n            }\n        }\n        return vol; //as usual, lack of unsigned types causes unending pain.\n    }\n\n    private int highpass_filter(int sample) {\n        //for killing the dc in the signal\n        sample -= dckiller;\n        dckiller += sample >> 8;//the actual high pass part\n        dckiller += (sample > 0 ? 1 : -1);//guarantees the signal decays to exactly zero\n        return sample;\n    }\n\n    private int lowpass_filter(int sample) {\n        return lpaccum += 0.5 * (sample - lpaccum); //y = y + a * (x - y)\n    }\n\n    public final void finishframe() {\n        updateto(cyclesperframe);\n        apucycle = 0;\n        ai.flushFrame(nes.isFrameLimiterOn());\n    }\n\n    private void clockframecounter() {\n        //System.err.println(\"frame ctr clock \" + framectr + ' ' + cpu.cycles);\n        //should be ~4x a frame, 240 Hz\n        //but the problem is this isn't exactly related to the video signal,\n        //it's a completely separate timer, so the phase can shift in relation to the\n        //video signal. also in the current implementation APU interrupts can only be fired when\n        //an APU register is written/read from, or @ end of frame. So both of those need work\n        if ((ctrmode == 4)\n                || (ctrmode == 5 && (framectr != 3))) {\n            setenvelope();\n            setlinctr();\n        }\n        if ((ctrmode == 4 && (framectr == 1 || framectr == 3))\n                || (ctrmode == 5 && (framectr == 1 || framectr == 4))) {\n            setlength();\n            setsweep();\n        }\n        if (!apuintflag && (framectr == 3) && (ctrmode == 4) && !statusframeint) {\n            ++cpu.interrupt;\n            //System.err.println(\"frame interrupt set at \" + cpu.cycles);\n            statusframeint = true;\n\n        }\n        ++framectr;\n        framectr %= ctrmode;\n        setvolumes();\n    }\n\n    private void setvolumes() {\n        volume[0] = ((lengthctr[0] <= 0 || sweepsilence[0]) ? 0 : (((envConstVolume[0]) ? envelopeValue[0] : envelopeCounter[0])));\n        volume[1] = ((lengthctr[1] <= 0 || sweepsilence[1]) ? 0 : (((envConstVolume[1]) ? envelopeValue[1] : envelopeCounter[1])));\n        volume[3] = ((lengthctr[3] <= 0) ? 0 : ((envConstVolume[3]) ? envelopeValue[3] : envelopeCounter[3]));\n        //System.err.println(\"setvolumes \" + volume[1]);\n    }\n\n    private void clockdmc() {\n        if (dmcBufferEmpty && dmcsamplesleft > 0) {\n            dmcfillbuffer();\n        }\n        dmcpos = (dmcpos + 1) % dmcrate;\n        if (dmcpos == 0) {\n            if (dmcbitsleft <= 0) {\n                dmcbitsleft = 8;\n                if (dmcBufferEmpty) {\n                    dmcsilence = true;\n                } else {\n                    dmcsilence = false;\n                    dmcshiftregister = dmcbuffer;\n                    dmcBufferEmpty = true;\n                }\n            }\n            if (!dmcsilence) {\n                dmcvalue += (((dmcshiftregister & (utils.BIT0)) != 0) ? 2 : -2);\n                //DMC output register doesn't wrap around\n                if (dmcvalue > 0x7f) {\n                    dmcvalue = 0x7f;\n                }\n                if (dmcvalue < 0) {\n                    dmcvalue = 0;\n                }\n                dmcshiftregister >>= 1;\n                --dmcbitsleft;\n\n            }\n        }\n    }\n\n    private void dmcfillbuffer() {\n        if (dmcsamplesleft > 0) {\n            dmcbuffer = cpuram.read(dmcaddr++);\n            dmcBufferEmpty = false;\n            cpu.stealcycles(4);\n            //DPCM Does steal cpu cycles - this should actually vary between 1-4\n            //can't do this properly without a cycle accurate cpu/ppu\n            if (dmcaddr > 0xffff) {\n                dmcaddr = 0x8000;\n            }\n            --dmcsamplesleft;\n            if (dmcsamplesleft == 0) {\n                if (dmcloop) {\n                    restartdmc();\n                } else if (dmcirq && !statusdmcint) {\n                    //this is supposed to fire after we've just READ the\n                    //last byte, not when coming back AFTER reading the last byte\n                    //and finding that there are no more bytes left to read.\n                    //that meant all dmc timing was too long.\n                    ++cpu.interrupt;\n                    statusdmcint = true;\n                    //System.err.println(\"dmc irq fire\");\n                }\n\n            }\n        } else {\n            dmcsilence = true;\n        }\n    }\n\n    private void restartdmc() {\n        dmcaddr = dmcstartaddr;\n        dmcsamplesleft = dmcsamplelength;\n        dmcsilence = false;\n    }\n\n    private void setlength() {\n        for (int i = 0; i < 4; ++i) {\n            if (!lenctrHalt[i] && lengthctr[i] > 0) {\n                --lengthctr[i];\n                if (lengthctr[i] == 0) {\n                    setvolumes();\n                }\n            }\n        }\n    }\n\n    private void setlinctr() {\n        if (linctrflag) {\n            linearctr = linctrreload;\n        } else if (linearctr > 0) {\n            --linearctr;\n        }\n        if (!lenctrHalt[2]) {\n            linctrflag = false;\n        }\n    }\n\n    private void setenvelope() {\n        //System.err.println(\"envelope\");\n        for (int i = 0; i < 4; ++i) {\n            if (envelopeStartFlag[i]) {\n                envelopeStartFlag[i] = false;\n                envelopePos[i] = envelopeValue[i] + 1;\n                envelopeCounter[i] = 15;\n            } else {\n                --envelopePos[i];\n            }\n            if (envelopePos[i] <= 0) {\n                envelopePos[i] = envelopeValue[i] + 1;\n                if (envelopeCounter[i] > 0) {\n                    --envelopeCounter[i];\n                } else if (lenctrHalt[i] && envelopeCounter[i] <= 0) {\n                    envelopeCounter[i] = 15;\n                }\n            }\n        }\n    }\n\n    private void setsweep() {\n        //System.err.println(\"sweep\");\n        for (int i = 0; i < 2; ++i) {\n            sweepsilence[i] = false;\n            if (sweepreload[i]) {\n                sweepreload[i] = false;\n                sweeppos[i] = sweepperiod[i];\n            }\n            ++sweeppos[i];\n            final int rawperiod = (timers[i].getperiod() >> 1);\n            int shiftedperiod = (rawperiod >> sweepshift[i]);\n            if (sweepnegate[i]) {\n                //invert bits of period\n                //add 1 on second channel only\n                shiftedperiod = -shiftedperiod + i;\n            }\n            shiftedperiod += rawperiod;\n            if ((rawperiod < 8) || shiftedperiod > 0x7ff) {\n                // silence channel\n                sweepsilence[i] = true;\n            } else if (sweepenable[i] && (sweepshift[i] != 0) && lengthctr[i] > 0\n                    && sweeppos[i] > sweepperiod[i]) {\n                sweeppos[i] = 0;\n                timers[i].setperiod(shiftedperiod << 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/CPU.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport java.io.File;\nimport java.io.FileOutputStream;\nimport java.io.FileWriter;\nimport java.io.IOException;\nimport java.io.OutputStreamWriter;\nimport java.nio.charset.StandardCharsets;\n\npublic final class CPU {\n\n    private final CPURAM ram;\n    private int cycles; //increment to steal cycles from cpu\n    public int clocks; //use for synchronizing with cpu\n    private int A, X, Y, S; // registers\n    public int PC;\n    private boolean carryFlag = false, zeroFlag = false,\n            interruptsDisabled = true, decimalModeFlag = false;\n    private boolean overflowFlag = false, negativeFlag = false,\n            previntflag = false, nmi = false, prevnmi = false, logging = false;\n    private int pb = 0;// set to 1 if access crosses page boundary\n    public int interrupt = 0;\n    public boolean nmiNext = false, idle = false;\n    private final static boolean decimalModeEnable = false,\n            idleLoopSkip = true;\n    //NES 6502 is missing decimal mode, but most other 6502s have it\n    private boolean interruptDelay = false;\n    private final static String[] opcodes = opcodes();\n\n    //Battletoads Hack until I get around to making a truly cycle accurate CPU core.\n    //Delays the write of a STA, STX, or STY until the first cycle of the NEXT instruction\n    //which is enough to move it a few PPU clocks after the scroll is changed\n    //making sure that Battletoads gets its sprite 0 hit. \n    final private static boolean battletoadsHackOn = true;\n    private boolean dirtyBattletoadsHack = false;\n    private int hackAddr = 0;\n    private int hackData = 0;\n\n    private static enum dummy {\n\n        ONCARRY, ALWAYS; //type of dummy read\n    }\n    OutputStreamWriter w; //debug log writer\n\n    public CPU(final CPURAM cpuram) {\n        ram = cpuram;\n        //ram is the ONLY thing the cpu tries to talk to.\n        if (logging) {\n            startLog();\n        }\n    }\n\n    public void startLog() {\n        logging = true;\n        try {\n            w = new OutputStreamWriter(new FileOutputStream(new File(\"nesdebug.txt\")), StandardCharsets.UTF_8); \n        } catch (IOException e) {\n            System.err.println(\"Cannot create debug log\" + e.getLocalizedMessage());\n        }\n    }\n\n    public void startLog(String path) {\n        logging = true;\n        try {\n            w = new OutputStreamWriter(new FileOutputStream(new File(path)), StandardCharsets.UTF_8); \n        } catch (IOException e) {\n            System.err.println(\"Cannot create debug log\" + e.getLocalizedMessage());\n        }\n    }\n\n    public void stopLog() {\n        logging = false;\n        flushLog();\n    }\n\n    public void init() {\n        init(null);\n    }\n\n    public void init(Integer initialPC) {// different than reset\n        // puts RAM in NES poweron state\n        for (int i = 0; i < 0x800; ++i) {\n            ram.write(i, 0xFF);\n        }\n\n        //poweron RAM values from one specific console (nesdev wiki pre-2015)\n        ram.write(0x0008, 0xF7);\n        ram.write(0x0009, 0xEF);\n        ram.write(0x000A, 0xDF);\n        ram.write(0x000F, 0xBF);\n\n        for (int i = 0x4000; i <= 0x400F; ++i) {\n            ram.write(i, 0x00);\n        }\n\n        ram.write(0x4015, 0x00);\n        ram.write(0x4017, 0x00);\n\n        //clocks = 27393; //correct for position we start vblank in\n        A = 0;\n        X = 0;\n        Y = 0;\n        S = 0xFD;\n        if (initialPC == null) {\n            PC = ram.read(0xFFFD) * 256 + ram.read(0xFFFC);\n        } else {\n            PC = initialPC;\n        }\n    }\n\n    public void reset() {\n        PC = ram.read(0xFFFD) * 256 + ram.read(0xFFFC);\n        ram.write(0x4015, 0);\n        ram.write(0x4017, ram.read(0x4017));\n        //disable audio on reset\n        S -= 3;\n        S &= 0xff;\n        interruptsDisabled = true;\n    }\n\n    public void modcycles() {\n        //System.err.println(clocks);\n        clocks = 0;\n    }\n\n    public void stealcycles(int cyclestosteal) {\n        cycles += cyclestosteal;\n        log(\"**STEAL \" + cyclestosteal + \"**\");\n    }\n\n    public final void runcycle(final int scanline, final int pixel) {\n        ram.read(0x4000); //attempt to sync the APU every cycle and make dmc irqs work properly, which they still don't. Feh.\n        ++clocks;\n\n        //guard against overflows\n//        if ((A & 0xff) != A) {\n//            System.err.println(\"houston we have A problem\");\n//        }\n//        if ((X & 0xff) != X) {\n//            System.err.println(\"houston we have X problem\");\n//        }\n//        if ((Y & 0xff) != Y) {\n//            System.err.println(\"houston we have Y problem\");\n//        }\n//        if ((S & 0xff) != S) {\n//            System.err.println(\"houston we have S problem\");\n//        }\n//        if ((PC & 0xffff) != PC) {\n//            System.err.println(\"houston we have PC problem\");\n//        }\n        if (ram.apu.sprdma_count > 0) {\n            ram.apu.sprdma_count--;\n            if (ram.apu.sprdma_count == 0) {\n                cycles += 513;\n            }\n            //this doesn't look right any more\n            //who patched this in and when? (wasn't me, it was for some bug...)\n        }\n\n        if (dirtyBattletoadsHack && cycles == 1) {\n            ram.write(hackAddr, hackData);\n            dirtyBattletoadsHack = false;\n        }\n\n        if (cycles-- > 0) { //count down cycles until there is work to do again\n            return;\n        }\n        \n        //now we're at the start of a new instruction\n\n        //handle nmi requests (NMI line is edge sensitive not level sensitive)\n        if (nmiNext) {\n            nmi();\n            nmiNext = false;\n        }\n        if (nmi && !prevnmi) {//only trigger on positive rising edge of NMI\n            nmiNext = true;\n        }\n        prevnmi = nmi;\n\n        if (interrupt > 0) {\n            if (!interruptsDisabled && !interruptDelay) {\n                interrupt();\n                cycles += 7;\n                return;\n            } else if (interruptDelay) {\n                interruptDelay = false;\n                if (!previntflag) {\n                    interrupt();\n                    cycles += 7;\n                    return;\n                }\n            }\n        } else {\n            interruptDelay = false;\n        }\n\n        //Idle loop skipping\n        if (idle && idleLoopSkip) {\n            cycles += 3; //not accurate should depend on type of instr we skip decoding\n            return;\n        }\n\n        pb = 0;\n        final int instr = ram.read(PC++);\n        //note: \n        if (logging) {\n            //that looks redundant, but this is a really expensive operation to create the log string\n            //also, logging *might* trigger side effects if logging while executing\n            //code from i/o registers (reading twice). So we don't want to do it always.\n            //TODO: Optimize this! It gets called a LOT\n            //and slows logging to 16 fps\n            //even when not actually writing anything\n            String op = String.format(opcodes[instr],\n                    ram.read(PC),\n                    ram.read(PC + 1),\n                    PC + (byte) (ram.read(PC)) + 1);\n            log(utils.hex(PC - 1) + \" \" + utils.hex(instr)\n                    + String.format(\" %-14s \", op)\n                    + status() + \" CYC:\" + pixel + \" SL:\" + scanline + \"\\n\");\n        }\n        if (cycles == 0) {\n            flushLog();\n        }\n\n        switch (instr) {\n            // ADC\n            case 0x69:\n                adc(imm());\n                cycles += 2;\n                break;\n            case 0x65:\n                adc(zpg());\n                cycles += 3;\n                break;\n            case 0x75:\n                adc(zpg(X));\n                cycles += 4;\n                break;\n            case 0x6d:\n                adc(abs());\n                cycles += 4;\n                break;\n            case 0x7d:\n                adc(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x79:\n                adc(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x61:\n                adc(indX());\n                cycles += 6;\n                break;\n            case 0x71:\n                adc(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // AHX (unofficial)\n            case 0x93:\n                ahx(indY(dummy.ALWAYS));\n                cycles += 6;\n                break;\n            case 0x9f:\n                ahx(abs(Y, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            // ALR (unofficial)\n            case 0x4b:\n                alr(imm());\n                cycles += 2;\n                break;\n            // ANC (unofficial)\n            case 0x0b:\n                anc(imm());\n                cycles += 2;\n                break;\n            case 0x2b:\n                anc(imm());\n                cycles += 2;\n                break;\n            // AND\n            case 0x29:\n                and(imm());\n                cycles += 2;\n                break;\n            case 0x25:\n                and(zpg());\n                cycles += 3;\n                break;\n            case 0x35:\n                and(zpg(X));\n                cycles += 4;\n                break;\n            case 0x2D:\n                and(abs());\n                cycles += 4;\n                break;\n            case 0x3D:\n                and(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x39:\n                and(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x21:\n                and(indX());\n                cycles += 6;\n                break;\n            case 0x31:\n                and(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // ARR (unofficial)\n            case 0x6b:\n                arr(imm());\n                cycles += 2;\n                break;\n            // ASL\n            case 0x0A:\n                aslA();\n                cycles += 2;\n                break;\n            case 0x06:\n                asl(zpg());\n                cycles += 5;\n                break;\n            case 0x16:\n                asl(zpg(X));\n                cycles += 6;\n                break;\n            case 0x0e:\n                asl(abs());\n                cycles += 6;\n                break;\n            case 0x1e:\n                asl(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // AXS (unofficial)\n            case 0xcb:\n                axs(imm());\n                cycles += 2;\n                break;\n            // BIT\n            case 0x24:\n                bit(zpg());\n                cycles += 3;\n                break;\n            case 0x2c:\n                bit(abs());\n                cycles += 4;\n                break;\n            // Branches: every branch uses rel. addressing\n            case 0x10:\n                branch(!negativeFlag);\n                cycles += 2 + pb;\n                break;\n            case 0x30:\n                branch(negativeFlag);\n                cycles += 2 + pb;\n                break;\n            case 0x50:\n                branch(!overflowFlag);\n                cycles += 2 + pb;\n                break;\n            case 0x70:\n                branch(overflowFlag);\n                cycles += 2 + pb;\n                break;\n            case 0x90:\n                branch(!carryFlag);\n                cycles += 2 + pb;\n                break;\n            case 0xB0:\n                branch(carryFlag);\n                cycles += 2 + pb;\n                break;\n            case 0xD0:\n                branch(!zeroFlag);\n                cycles += 2 + pb;\n                break;\n            case 0xF0:\n                branch(zeroFlag);\n                cycles += 2 + pb;\n                break;\n            // BRK\n            case 0x00:\n                //System.err.println(\"Hey! A break!\");\n                breakinterrupt();\n                cycles += 7;\n                break;\n            // CMP\n            case 0xc9:\n                cmp(A, imm());\n                cycles += 2;\n                break;\n            case 0xc5:\n                cmp(A, zpg());\n                cycles += 3;\n                break;\n            case 0xd5:\n                cmp(A, zpg(X));\n                cycles += 4;\n                break;\n            case 0xcd:\n                cmp(A, abs());\n                cycles += 4;\n                break;\n            case 0xdd:\n                cmp(A, abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0xd9:\n                cmp(A, abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0xc1:\n                cmp(A, indX());\n                cycles += 6;\n                break;\n            case 0xd1:\n                cmp(A, indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // CPX\n            case 0xe0:\n                cmp(X, imm());\n                cycles += 2;\n                break;\n            case 0xe4:\n                cmp(X, zpg());\n                cycles += 3;\n                break;\n            case 0xec:\n                cmp(X, abs());\n                cycles += 4;\n                break;\n            // CPY\n            case 0xc0:\n                cmp(Y, imm());\n                cycles += 2;\n                break;\n            case 0xc4:\n                cmp(Y, zpg());\n                cycles += 3;\n                break;\n            case 0xcc:\n                cmp(Y, abs());\n                cycles += 4;\n                break;\n            // DEC\n            case 0xc6:\n                dec(zpg());\n                cycles += 5;\n                break;\n            case 0xd6:\n                dec(zpg(X));\n                cycles += 6;\n                break;\n            case 0xce:\n                dec(abs());\n                cycles += 6;\n                break;\n            case 0xde:\n                dec(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // DCP (unofficial)\n            case 0xc3:\n                dcp(A, indX());\n                cycles += 8;\n                break;\n            case 0xd3:\n                dcp(A, indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0xc7:\n                dcp(A, zpg());\n                cycles += 5;\n                break;\n            case 0xd7:\n                dcp(A, zpg(X));\n                cycles += 6;\n                break;\n            case 0xdb:\n                dcp(A, abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0xcf:\n                dcp(A, abs());\n                cycles += 6;\n                break;\n            case 0xdf:\n                dcp(A, abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // EOR\n            case 0x49:\n                eor(imm());\n                cycles += 2;\n                break;\n            case 0x45:\n                eor(zpg());\n                cycles += 3;\n                break;\n            case 0x55:\n                eor(zpg(X));\n                cycles += 4;\n                break;\n            case 0x4d:\n                eor(abs());\n                cycles += 4;\n                break;\n            case 0x5d:\n                eor(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x59:\n                eor(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x41:\n                eor(indX());\n                cycles += 6;\n                break;\n            case 0x51:\n                eor(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // Flag set/clear\n            case 0x18:\n                carryFlag = false;\n                cycles += 2;\n                break;\n            case 0x38:\n                carryFlag = true;\n                cycles += 2;\n                break;\n            case 0x58:\n                //cli\n                //interrupts shouldn't fire for 1 cycle after cli\n                delayInterrupt();\n                interruptsDisabled = false;\n                cycles += 2;\n                break;\n            case 0x78:\n                //sei\n                delayInterrupt();\n                interruptsDisabled = true;\n                cycles += 2;\n                break;\n            case 0xb8:\n                overflowFlag = false;\n                cycles += 2;\n                break;\n            case 0xd8:\n                decimalModeFlag = false;\n                cycles += 2;\n                break;// decimal mode doesnt\n            case 0xf8:\n                decimalModeFlag = true;\n                cycles += 2;\n                break;// do anything on NES\n            // INC\n            case 0xe6:\n                inc(zpg());\n                cycles += 5;\n                break;\n            case 0xf6:\n                inc(zpg(X));\n                cycles += 6;\n                break;\n            case 0xee:\n                inc(abs());\n                cycles += 6;\n                break;\n            case 0xfe:\n                inc(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // ISC (unofficial)\n            case 0xe3:\n                isc(indX());\n                cycles += 8;\n                break;\n            case 0xf3:\n                isc(indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0xe7:\n                isc(zpg());\n                cycles += 5;\n                break;\n            case 0xf7:\n                isc(zpg(X));\n                cycles += 6;\n                break;\n            case 0xfb:\n                isc(abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0xef:\n                isc(abs());\n                cycles += 6;\n                break;\n            case 0xff:\n                isc(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // JMP\n            case 0x4c:\n                int tempe = PC;\n                PC = abs();\n                if (PC == (tempe - 1)) {\n                    idle = true;\n                }\n                cycles += 3;\n                break;\n            case 0x6c:\n                int tempf = PC;\n                PC = ind();\n                if (PC == (tempf - 1)) {\n                    idle = true;\n                }\n                cycles += 5;\n                break;\n            // JSR\n            case 0x20:\n                jsr(abs());\n                cycles += 6;\n                break;\n            // KIL (unofficial)\n            case 0x02:\n            case 0x12:\n            case 0x22:\n            case 0x32:\n            case 0x42:\n            case 0x52:\n            case 0x62:\n            case 0x72:\n            case 0x92:\n            case 0xb2:\n            case 0xd2:\n            case 0xf2:\n                System.err.println(\"KIL - CPU locked\");\n                flushLog();\n                ram.apu.nes.runEmulation = false;\n                break;\n            // LAS (unofficial)\n            case 0xbb:\n                las(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            // LAX (unofficial)\n            case 0xa3:\n                lax(indX());\n                cycles += 6;\n                break;\n            case 0xb3:\n                lax(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            case 0xa7:\n                lax(zpg());\n                cycles += 3;\n                break;\n            case 0xb7:\n                lax(zpg(Y));\n                cycles += 4;\n                break;\n            case 0xab:\n                lax(imm());\n                cycles += 2;\n                break;\n            case 0xaf:\n                lax(abs());\n                cycles += 4;\n                break;\n            case 0xbf:\n                lax(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            // LDA\n            case 0xa9:\n                lda(imm());\n                cycles += 2;\n                break;\n            case 0xa5:\n                lda(zpg());\n                cycles += 3;\n                break;\n            case 0xb5:\n                lda(zpg(X));\n                cycles += 4;\n                break;\n            case 0xad:\n                lda(abs());\n                cycles += 4;\n                break;\n            case 0xbd:\n                lda(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0xb9:\n                lda(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0xa1:\n                lda(indX());\n                cycles += 6;\n                break;\n            case 0xb1:\n                lda(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // LDX\n            case 0xa2:\n                ldx(imm());\n                cycles += 2;\n                break;\n            case 0xa6:\n                ldx(zpg());\n                cycles += 3;\n                break;\n            case 0xb6:\n                ldx(zpg(Y));\n                cycles += 4;\n                break;\n            case 0xae:\n                ldx(abs());\n                cycles += 4;\n                break;\n            case 0xbe:\n                ldx(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            // LDY\n            case 0xa0:\n                ldy(imm());\n                cycles += 2;\n                break;\n            case 0xa4:\n                ldy(zpg());\n                cycles += 3;\n                break;\n            case 0xb4:\n                ldy(zpg(X));\n                cycles += 4;\n                break;\n            case 0xac:\n                ldy(abs());\n                cycles += 4;\n                break;\n            case 0xbc:\n                ldy(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            // LSR\n            case 0x4a:\n                lsrA();\n                cycles += 2;\n                break;\n            case 0x46:\n                lsr(zpg());\n                cycles += 5;\n                break;\n            case 0x56:\n                lsr(zpg(X));\n                cycles += 6;\n                break;\n            case 0x4e:\n                lsr(abs());\n                cycles += 6;\n                break;\n            case 0x5e:\n                lsr(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // NOP\n            case 0x1a:\n            case 0x3a:\n            case 0x5a:\n            case 0x7a:\n            case 0xda:\n            case 0xEA:\n            case 0xfa:\n                cycles += 2;\n                break;\n            case 0x80:\n            case 0x82:\n            case 0xc2:\n            case 0xe2:\n            case 0x89:\n                imm();\n                cycles += 2;\n                break;\n            case 0x04:\n            case 0x44:\n            case 0x64:\n                zpg();\n                cycles += 3;\n                break;\n            case 0x14:\n            case 0x34:\n            case 0x54:\n            case 0x74:\n            case 0xd4:\n            case 0xf4:\n                zpg(X);\n                cycles += 4;\n                break;\n            case 0x0C:\n                abs();\n                cycles += 4;\n                break;\n            case 0x1c:\n            case 0x3c:\n            case 0x5c:\n            case 0x7c:\n            case 0xdc:\n            case 0xfc:\n                abs(X, dummy.ONCARRY);\n                cycles += 4 + pb;\n                break;\n            // ORA\n            case 0x09:\n                ora(imm());\n                cycles += 2;\n                break;\n            case 0x05:\n                ora(zpg());\n                cycles += 3;\n                break;\n            case 0x15:\n                ora(zpg(X));\n                cycles += 4;\n                break;\n            case 0x0d:\n                ora(abs());\n                cycles += 4;\n                break;\n            case 0x1d:\n                ora(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x19:\n                ora(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0x01:\n                ora(indX());\n                cycles += 6;\n                break;\n            case 0x11:\n                ora(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            // Register instrs.\n            case 0xAA:\n                X = A;\n                cycles += 2;\n                setflags(A);\n                break;\n            case 0x8a:\n                A = X;\n                cycles += 2;\n                setflags(A);\n                break;\n            case 0xca:\n                X--;\n                X &= 0xFF;\n                setflags(X);\n                cycles += 2;\n                break;\n            case 0xe8:\n                X++;\n                X &= 0xFF;\n                setflags(X);\n                cycles += 2;\n                break;\n            case 0xa8:\n                Y = A;\n                cycles += 2;\n                setflags(A);\n                break;\n            case 0x98:\n                A = Y;\n                cycles += 2;\n                setflags(A);\n                break;\n            case 0x88:\n                Y--;\n                Y &= 0xFF;\n                setflags(Y);\n                cycles += 2;\n                break;\n            case 0xc8:\n                Y++;\n                Y &= 0xFF;\n                setflags(Y);\n                cycles += 2;\n                break;\n            // RLA (unofficial)\n            case 0x23:\n                rla(indX());\n                cycles += 8;\n                break;\n            case 0x33:\n                rla(indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0x27:\n                rla(zpg());\n                cycles += 5;\n                break;\n            case 0x37:\n                rla(zpg(X));\n                cycles += 6;\n                break;\n            case 0x3b:\n                rla(abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0x2f:\n                rla(abs());\n                cycles += 6;\n                break;\n            case 0x3f:\n                rla(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // ROL\n            case 0x2a:\n                rolA();\n                cycles += 2;\n                break;\n            case 0x26:\n                rol(zpg());\n                cycles += 5;\n                break;\n            case 0x36:\n                rol(zpg(X));\n                cycles += 6;\n                break;\n            case 0x2e:\n                rol(abs());\n                cycles += 6;\n                break;\n            case 0x3e:\n                rol(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // ROR\n            case 0x6a:\n                rorA();\n                cycles += 2;\n                break;\n            case 0x66:\n                ror(zpg());\n                cycles += 5;\n                break;\n            case 0x76:\n                ror(zpg(X));\n                cycles += 6;\n                break;\n            case 0x6e:\n                ror(abs());\n                cycles += 6;\n                break;\n            case 0x7e:\n                ror(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // RRA (unofficial)\n            case 0x63:\n                rra(indX());\n                cycles += 8;\n                break;\n            case 0x73:\n                rra(indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0x67:\n                rra(zpg());\n                cycles += 5;\n                break;\n            case 0x77:\n                rra(zpg(X));\n                cycles += 6;\n                break;\n            case 0x7b:\n                rra(abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0x6f:\n                rra(abs());\n                cycles += 6;\n                break;\n            case 0x7f:\n                rra(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // RTI\n            case 0x40:\n                rti();\n                cycles += 6;\n                break;\n            // RTS\n            case 0x60:\n                rts();\n                cycles += 6;\n                break;\n            // SAX (unofficial)\n            case 0x83:\n                sax(indX());\n                cycles += 6;\n                break;\n            case 0x87:\n                sax(zpg());\n                cycles += 3;\n                break;\n            case 0x97:\n                sax(zpg(Y));\n                cycles += 4;\n                break;\n            case 0x8f:\n                sax(abs());\n                cycles += 4;\n                break;\n            // SBC\n            case 0xE1:\n                sbc(indX());\n                cycles += 6;\n                break;\n            case 0xF1:\n                sbc(indY(dummy.ONCARRY));\n                cycles += 5 + pb;\n                break;\n            case 0xE5:\n                sbc(zpg());\n                cycles += 3;\n                break;\n            case 0xF5:\n                sbc(zpg(X));\n                cycles += 4;\n                break;\n            case 0xE9:\n                sbc(imm());\n                cycles += 2;\n                break;\n            case 0xF9:\n                sbc(abs(Y, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            case 0xeb:\n                sbc(imm());\n                cycles += 2;\n                break;\n            case 0xEd:\n                sbc(abs());\n                cycles += 4;\n                break;\n            case 0xFd:\n                sbc(abs(X, dummy.ONCARRY));\n                cycles += 4 + pb;\n                break;\n            // SHX (unofficial)\n            case 0x9e:\n                shx(abs(Y, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            // SHY (unofficial)\n            case 0x9c:\n                shy(abs(X, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            // SLO (unofficial)\n            case 0x03:\n                slo(indX());\n                cycles += 8;\n                break;\n            case 0x07:\n                slo(zpg());\n                cycles += 5;\n                break;\n            case 0x0f:\n                slo(abs());\n                cycles += 6;\n                break;\n            case 0x13:\n                slo(indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0x17:\n                slo(zpg(X));\n                cycles += 6;\n                break;\n            case 0x1b:\n                slo(abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0x1f:\n                slo(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // SRE (unofficial)\n            case 0x43:\n                sre(indX());\n                cycles += 8;\n                break;\n            case 0x53:\n                sre(indY(dummy.ALWAYS));\n                cycles += 8;\n                break;\n            case 0x47:\n                sre(zpg());\n                cycles += 5;\n                break;\n            case 0x57:\n                sre(zpg(X));\n                cycles += 6;\n                break;\n            case 0x5b:\n                sre(abs(Y, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            case 0x4f:\n                sre(abs());\n                cycles += 6;\n                break;\n            case 0x5f:\n                sre(abs(X, dummy.ALWAYS));\n                cycles += 7;\n                break;\n            // STA\n            case 0x85:\n                sta(zpg());\n                cycles += 3;\n                break;\n            case 0x95:\n                sta(zpg(X));\n                cycles += 4;\n                break;\n            case 0x8d:\n                sta(abs());\n                cycles += 4;\n                break;\n            case 0x9d:\n                sta(abs(X, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            case 0x99:\n                sta(abs(Y, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            case 0x81:\n                sta(indX());\n                cycles += 6;\n                break;\n            case 0x91:\n                sta(indY(dummy.ALWAYS));\n                cycles += 6;\n                break;\n            // Stack instructions\n            case 0x9A:\n                S = X;\n                cycles += 2;\n                break;\n            case 0xBA:\n                X = S;\n                cycles += 2;\n                setflags(X);\n                break;\n            case 0x48:\n                ram.read(PC + 1);   //dummy fetch\n                push(A);\n                cycles += 3;\n                break;\n            case 0x68:\n                ram.read(PC + 1);   //dummy fetch\n                A = pop();\n                setflags(A);\n                cycles += 4;\n                break;\n            case 0x08:\n                ram.read(PC + 1);   //dummy fetch\n                push(flagstobyte() | utils.BIT4);\n                cycles += 3;\n                break;\n            case 0x28:\n                //plp\n                delayInterrupt();\n                ram.read(PC + 1);   //dummy fetch\n                bytetoflags(pop());\n                cycles += 4;\n                break;\n            // STX\n            case 0x86:\n                stx(zpg());\n                cycles += 3;\n                break;\n            case 0x96:\n                stx(zpg(Y));\n                cycles += 4;\n                break;\n            case 0x8E:\n                stx(abs());\n                cycles += 4;\n                break;\n            // STY\n            case 0x84:\n                sty(zpg());\n                cycles += 3;\n                break;\n            case 0x94:\n                sty(zpg(X));\n                cycles += 4;\n                break;\n            case 0x8c:\n                sty(abs());\n                cycles += 4;\n                break;\n            // TAS (unofficial)\n            case 0x9b:\n                tas(abs(Y, dummy.ALWAYS));\n                cycles += 5;\n                break;\n            // XAA (unofficial)\n            case 0x8b:\n                xaa(imm());\n                cycles += 2;\n                break;\n            default:\n                cycles += 2;\n                System.err.println(\"Illegal opcode:\" + utils.hex(instr) + \" @ \"\n                        + utils.hex(PC - 1));\n                break;\n        }\n        pb = 0;\n        PC &= 0xffff;\n    }\n\n    /*\n     really every instruction should be reading from or writing something to memory every cycle.\n     Even when all that's happening that cycle is the processor updating state internally\n     Fetching the next opcode cn overlap with last cycle of prev instruction\n     if that last cycle is purely internal.\n     but since the second cycle of all instructions (even single byte ones)\n     is reading the nest byte after the PC, the fastest we can do even a single\n     byte NOP instruction is still 2 cycles. \n     that's where the dummy reads+writes come from.\n     how to represent this in the smallest space possible?\n     probably the way they did it on the real chip:\n     using a PLA that does certain things conditionally based on bits of the current\n     opcode and the current cycle (up to 7 i suppose)\n     Bisqwit did some really nifty template stuff with his C==10 emu that I can't match.\n     */\n    private void delayInterrupt() {\n        interruptDelay = true;\n        previntflag = interruptsDisabled;\n    }\n\n    private void rol(final int addr) {\n        int data = (ram.read(addr));\n        ram.write(addr, data);  //dummy write\n        data = (data << 1) | (carryFlag ? 1 : 0);\n        carryFlag = ((data & (utils.BIT8)) != 0);\n        data &= 0xFF;\n        setflags(data);\n        ram.write(addr, data);\n    }\n\n    private void rolA() {\n        A = A << 1 | (carryFlag ? 1 : 0);\n        carryFlag = ((A & (utils.BIT8)) != 0);\n        A &= 0xFF;\n        setflags(A);\n    }\n\n    private void ror(final int addr) {\n        int data = ram.read(addr);\n        ram.write(addr, data);  //dummy write\n        final boolean tmp = carryFlag;\n        carryFlag = ((data & (utils.BIT0)) != 0);\n        data >>= 1;\n        data &= 0x7F;\n        data |= (tmp ? 0x80 : 0);\n        setflags(data);\n        ram.write(addr, data);\n    }\n\n    private void rorA() {\n        final boolean tmp = carryFlag;\n        carryFlag = ((A & (utils.BIT0)) != 0);\n        A >>= 1;\n        A &= 0x7F;\n        A |= (tmp ? 128 : 0);\n        setflags(A);\n    }\n\n    public void setNMI(boolean val) {\n        this.nmi = val;\n    }\n\n    private void nmi() {\n        idle = false;\n        log(\"**NMI**\");\n        //System.err.println(\"  NMI\");\n        push(PC >> 8); // high bit 1st\n        push((PC) & 0xFF);// check that this pushes right address\n        push(flagstobyte() & ~utils.BIT4);\n        PC = ram.read(0xFFFA) + (ram.read(0xFFFB) << 8);\n        cycles += 7;\n        interruptsDisabled = true;\n    }\n\n    private void interrupt() {\n        idle = false;\n        log(\"**INTERRUPT**\");\n        //System.err.println(\"IRQ \" + interrupt);\n        push(PC >> 8); // high bit 1st\n        push(PC & 0xFF);// check that this pushes right address\n        push(flagstobyte() & ~utils.BIT4);\n        //jump to reset vector\n        PC = ram.read(0xFFFE) + (ram.read(0xFFFF) << 8);\n        interruptsDisabled = true;\n    }\n\n    private void breakinterrupt() {\n        //same as interrupt but BRK flag is turned on\n        log(\"**BREAK**\");\n        ram.read(PC++); //dummy fetch\n        push(PC >> 8); // high bit 1st\n        push(PC & 0xFF);// check that this pushes right address\n        push(flagstobyte() | utils.BIT4 | utils.BIT5);//push byte w/bits 4+5 set\n        PC = ram.read(0xFFFE) + (ram.read(0xFFFF) << 8);\n        interruptsDisabled = true;\n    }\n\n    private void lsr(final int addr) {\n        int data = ram.read(addr);\n        ram.write(addr, data);  //dummy write\n        carryFlag = ((data & (utils.BIT0)) != 0);\n        data >>= 1;\n        data &= 0x7F;\n        ram.write(addr, data);\n        setflags(data);\n    }\n\n    private void lsrA() {\n        carryFlag = ((A & (utils.BIT0)) != 0);\n        A >>= 1;\n        A &= 0x7F;\n        setflags(A);\n    }\n\n    private void eor(final int addr) {\n        A ^= ram.read(addr);\n        A &= 0xff;\n        setflags(A);\n    }\n\n    private void ora(final int addr) {\n        A |= ram.read(addr);\n        A &= 0xff;\n        setflags(A);\n    }\n\n    // Instructions\n    private void bit(final int addr) {\n        final int data = ram.read(addr);\n        zeroFlag = ((data & A) == 0);\n        negativeFlag = ((data & (utils.BIT7)) != 0);\n        overflowFlag = ((data & (utils.BIT6)) != 0);\n    }\n\n    private void jsr(final int addr) {\n        PC--;\n        ram.read(PC);   //dummy fetch\n        push(PC >> 8); // high bit 1st\n        push(PC & 0xFF);// check that this pushes right address\n        PC = addr;\n    }\n\n    private void rts() {\n        ram.read(PC++); //dummy fetch\n        PC = (pop() & 0xff) | (pop() << 8);// page crossing bug again?\n        PC++;\n    }\n\n    private void rti() {\n        //System.err.println(\"RTI\");\n        ram.read(PC++); //dummy fetch\n        bytetoflags(pop());\n        PC = (pop() & 0xff) | (pop() << 8); // not plus one\n    }\n\n    private int pop() {\n        ++S;\n        S &= 0xff;\n        return ram.read(0x100 + S);\n    }\n\n    public void push(final int byteToPush) {\n        ram.write((0x100 + (S & 0xff)), byteToPush);\n        --S;\n        S &= 0xff;\n    }\n\n    private void branch(final boolean isTaken) {\n        if (isTaken) {\n            final int pcprev = PC + 1;// store prev. PC\n            PC = rel();\n            // System.err.println(pcprev + \" \"+ PC);\n            //page boundary penalty\n            if ((pcprev & 0xff00) != (PC & 0xff00)) {\n                pb = 2;//page crossing for branch takes 2 cycles\n            } else {\n                cycles++;\n            }\n\n            if ((pcprev - 2) == PC) {\n                idle = true;\n            }\n        } else {\n            rel();\n            // have to do the memory access even if we're not branching\n        }\n    }\n\n    private void inc(final int addr) {\n        int tmp = ram.read(addr);\n        ram.write(addr, tmp);\n        //dummy write\n        ++tmp;\n        tmp &= 0xff;\n        ram.write(addr, tmp);\n        //THEN real write\n        setflags(tmp);\n    }\n\n    private void dec(final int addr) {\n        int tmp = ram.read(addr);\n        ram.write(addr, tmp);\n        //dummy write\n        --tmp;\n        tmp &= 0xff;\n        ram.write(addr, tmp);\n        //THEN real write\n        setflags(tmp);\n    }\n\n    private void adc(final int addr) {\n        final int value = ram.read(addr);\n        int result;\n        if (decimalModeFlag && decimalModeEnable) {\n            int AL = (A & 0xF) + (value & 0xF) + (carryFlag ? 1 : 0);\n            if (AL >= 0x0A) {\n                AL = ((AL + 0x6) & 0xF) + 0x10;\n            }\n            result = (A & 0xF0) + (value & 0xF0) + AL;\n            if (result >= 0xA0) {\n                result += 0x60;\n            }\n        } else {\n            result = value + A + (carryFlag ? 1 : 0);\n        }\n        carryFlag = (result >> 8 != 0);\n        // set overflow flag\n        overflowFlag = (((A ^ value) & 0x80) == 0)\n                && (((A ^ result) & 0x80) != 0);\n        A = result & 0xff;\n        setflags(A);// set other flags\n    }\n\n    private void sbc(final int addr) {\n        final int value = ram.read(addr);\n        int result;\n        if (decimalModeFlag && decimalModeEnable) {\n            int AL = (A & 0xF) - (value & 0xF) + (carryFlag ? 1 : 0) - 1;\n            if (AL < 0) {\n                AL = ((AL - 0x6) & 0xF) - 0x10;\n            }\n            result = (A & 0xF0) + (value & 0xF0) + AL;\n            if (result < 0) {\n                result -= 0x60;\n            }\n        } else {\n            result = A - value - (carryFlag ? 0 : 1);\n        }\n        carryFlag = (result >> 8 == 0);\n        // set overflow flag\n        overflowFlag = (((A ^ value) & 0x80) != 0)\n                && (((A ^ result) & 0x80) != 0);\n        A = result & 0xff;\n        setflags(A);// set other flags\n\n    }\n\n    private void and(final int addr) {\n        A &= ram.read(addr);\n        setflags(A);\n    }\n\n    private void asl(final int addr) {\n        int data = ram.read(addr);\n        ram.write(addr, data);  //dummy write\n        carryFlag = ((data & (utils.BIT7)) != 0);\n        data = data << 1;\n        data &= 0xff;\n        setflags(data);\n        ram.write(addr, data);\n    }\n\n    private void aslA() {\n        carryFlag = ((A & (utils.BIT7)) != 0);\n        A <<= 1;\n        A &= 0xff;\n        setflags(A);\n\n    }\n\n    private void cmp(final int regval, final int addr) {\n        final int result = regval - ram.read(addr);\n        if (result < 0) {\n            negativeFlag = ((result & (utils.BIT7)) != 0);\n            carryFlag = false;\n            zeroFlag = false;\n        } else if (result == 0) {\n            negativeFlag = false;\n            carryFlag = true;\n            zeroFlag = true;\n        } else {\n            negativeFlag = ((result & (utils.BIT7)) != 0);\n            carryFlag = true;\n            zeroFlag = false;\n        }\n    }\n\n    private void lda(final int addr) {\n        A = ram.read(addr);\n        setflags(A);\n    }\n\n    private void ldx(final int addr) {\n        X = ram.read(addr);\n        setflags(X);\n    }\n\n    private void ldy(final int addr) {\n        Y = ram.read(addr);\n        setflags(Y);\n    }\n\n    private void setflags(final int result) {\n        zeroFlag = (result == 0);\n        negativeFlag = ((result & (utils.BIT7)) != 0);\n    }\n\n    private void sta(final int addr) {\n        if (!battletoadsHackOn) {\n            ram.write(addr, A);\n        } else {\n            hackAddr = addr;\n            hackData = A;\n            dirtyBattletoadsHack = true;\n        }\n    }\n\n    private void stx(final int addr) {\n        if (!battletoadsHackOn) {\n            ram.write(addr, X);\n        } else {\n            hackAddr = addr;\n            hackData = X;\n            dirtyBattletoadsHack = true;\n        }\n    }\n\n    private void sty(final int addr) {\n        if (!battletoadsHackOn) {\n            ram.write(addr, Y);\n        } else {\n            hackAddr = addr;\n            hackData = Y;\n            dirtyBattletoadsHack = true;\n        }\n    }\n\n    // Unofficial opcodes\n    private void ahx(final int addr) {\n        final int data = (A & X & ((addr >> 8) + 1)) & 0xFF;\n        final int tmp = (addr - Y) & 0xFF;\n        if ((Y + tmp) <= 0xFF) {\n            ram.write(addr, data);\n        } else {\n            ram.write(addr, ram.read(addr));\n        }\n    }\n\n    private void alr(final int addr) {\n        and(addr);\n        lsrA();\n    }\n\n    private void anc(final int addr) {\n        and(addr);\n        carryFlag = negativeFlag;\n    }\n\n    private void arr(final int addr) {\n        A = (((ram.read(addr) & A) >> 1) | (carryFlag ? 0x80 : 0x00));\n        setflags(A);\n\n        carryFlag = ((A & (utils.BIT6)) != 0);\n        overflowFlag = carryFlag ^ ((A & (utils.BIT5)) != 0);\n    }\n\n    private void axs(final int addr) {\n        X = ((A & X) - ram.read(addr)) & 0xff;\n        setflags(X);\n        carryFlag = (X >= 0);\n    }\n\n    private void dcp(final int regval, final int addr) {\n        dec(addr);\n        cmp(regval, addr);\n    }\n\n    private void las(final int addr) {\n        S &= ram.read(addr);\n        A = X = S;\n        setflags(S);\n    }\n\n    private void lax(final int addr) {\n        A = X = ram.read(addr);\n        setflags(A);\n    }\n\n    private void isc(final int addr) {\n        inc(addr);\n        sbc(addr);\n    }\n\n    private void rla(final int addr) {\n        rol(addr);\n        and(addr);\n    }\n\n    private void rra(int addr) {\n        ror(addr);\n        adc(addr);\n    }\n\n    private void sax(int addr) {\n        ram.write(addr, (A & X) & 0xFF);\n    }\n\n    private void shx(final int addr) {\n        final int data = (X & ((addr >> 8) + 1)) & 0xFF;\n        final int tmp = (addr - Y) & 0xFF;\n        if ((Y + tmp) <= 0xFF) {\n            ram.write(addr, data);\n        } else {\n            ram.write(addr, ram.read(addr));\n        }\n    }\n\n    private void shy(final int addr) {\n        final int data = (Y & ((addr >> 8) + 1)) & 0xFF;\n        final int tmp = (addr - X) & 0xFF;\n        if ((X + tmp) <= 0xFF) {\n            ram.write(addr, data);\n        } else {\n            ram.write(addr, ram.read(addr));\n        }\n    }\n\n    private void slo(int addr) {\n        asl(addr);\n        ora(addr);\n    }\n\n    private void sre(int addr) {\n        lsr(addr);\n        eor(addr);\n    }\n\n    private void tas(int addr) {\n        S = A & X;\n        final int data = (S & ((addr >> 8) + 1)) & 0xFF;\n        final int tmp = (addr - Y) & 0xFF;\n        if ((Y + tmp) <= 0xFF) {\n            ram.write(addr, data);\n        } else {\n            ram.write(addr, ram.read(addr));\n        }\n    }\n\n    private void xaa(int addr) {\n        A = X & ram.read(addr);\n        setflags(A);\n    }\n\n    // Functions for memory address types; each returns the _memory_address_ for\n    // the next fn\n    private int imm() {\n        return PC++;\n    }\n\n    private int zpg() {\n        // zero page mode\n        return ram.read(PC++);\n    }\n\n    private int zpg(final int reg) {\n        // zero page added to register (modulus page boundary)\n        return (ram.read(PC++) + reg) & 0xff;\n    }\n\n    private int rel() {\n        // returns actual value of PC, not memory location to look at\n        // because only branches use this\n        return ((byte) ram.read(PC++)) + PC;\n    }\n\n    private int abs() {\n        // absolute mode\n        return ram.read(PC++) + (ram.read(PC++) << 8);\n    }\n\n    private int abs(final int reg, final dummy dummy) {\n        // absolute plus value from reg\n        final int addr = (ram.read(PC++) | (ram.read(PC++) << 8));\n\n        if (addr >> 8 != (addr + reg) >> 8) {\n            pb = 1;\n        }\n\n        if ((addr & 0xFF00) != ((addr + reg) & 0xFF00) && dummy == dummy.ONCARRY) {\n            ram.read((addr & 0xFF00) | ((addr + reg) & 0xFF));\n        }\n        if (dummy == dummy.ALWAYS) {\n            ram.read((addr & 0xFF00) | ((addr + reg) & 0xFF));\n        }\n\n        return (addr + reg) & 0xffff;\n    }\n\n    private int ind() {\n        // weird mode. only used by jmp\n        final int readloc = abs();\n        return ram.read(readloc)\n                + (ram.read(((readloc & 0xff) == 0xff) ? readloc - 0xff\n                        : readloc + 1) << 8);\n        //if reading from the last byte in a page, high bit of address\n        //is taken from first byte on the page, not first byte on NEXT page.\n    }\n\n    private int indX() {\n        // indirect mode\n        final int arg = ram.read(PC++);\n        return ram.read((arg + X) & 0xff)\n                + (ram.read((arg + 1 + X) & 0xff) << 8);\n        // doesn't suffer from the same bug as jump indirect\n    }\n\n    private int indY(final dummy dummy) {\n        final int arg = ram.read(PC++);\n        final int addr = (ram.read((arg) & 0xff) | (ram.read((arg + 1) & 0xff) << 8));\n\n        if (addr >> 8 != (addr + Y) >> 8) {\n            pb = 1;\n        }\n\n        if ((addr & 0xFF00) != ((addr + Y) & 0xFF00) && dummy == dummy.ONCARRY) {\n            ram.read((addr & 0xFF00) | ((addr + Y) & 0xFF));\n        }\n        if (dummy == dummy.ALWAYS) {\n            ram.read((addr & 0xFF00) | ((addr + Y) & 0xFF));\n        }\n\n        return (addr + Y) & 0xffff;\n    }\n\n    public final int flagstobyte() {\n        return ((negativeFlag ? utils.BIT7 : 0)\n                | (overflowFlag ? utils.BIT6 : 0)\n                | utils.BIT5\n                | (decimalModeFlag ? utils.BIT3 : 0)\n                | (interruptsDisabled ? utils.BIT2 : 0)\n                | (zeroFlag ? utils.BIT1 : 0)\n                | (carryFlag ? utils.BIT0 : 0));\n    }\n\n    private void bytetoflags(final int statusbyte) {\n\n        negativeFlag = ((statusbyte & utils.BIT7) != 0);\n        overflowFlag = ((statusbyte & utils.BIT6) != 0);\n        //breakFlag = ((b & 32) != 0);\n        // unusedFlag = ((b & 16) != 0);\n        // actually nestest wants the unused flag to always be zero,\n        // and doesn't set the break flag with a plp\n        decimalModeFlag = ((statusbyte & utils.BIT3) != 0);\n        interruptsDisabled = ((statusbyte & utils.BIT2) != 0);\n        zeroFlag = ((statusbyte & utils.BIT1) != 0);\n        carryFlag = ((statusbyte & utils.BIT0) != 0);\n\n    }\n\n    public String status() {\n        //TODO: convert to format string. lots of wasted strings\n        return \" PC:\" + utils.hex(PC) + \" A:\" + utils.hex(A) + \" X:\"\n                + utils.hex(X) + \" Y:\" + utils.hex(Y) + \" P:\"\n                + utils.hex(flagstobyte()) + \" SP:\" + utils.hex(S);\n    }\n\n    public static String[] opcodes() {\n        //%1 1st byte, %2 2nd byte, %3 relative offset from PC\n        //odd combination of format string and eventual syntax in file here.\n        String[] op = new String[0x100];\n        op[0x00] = \"BRK\";\n        op[0x01] = \"ORA $(%2$02X%1$02X,x)\";\n        op[0x02] = \"KIL\";\n        op[0x03] = \"SLO $(%2$02X%1$02X,x)\";\n        op[0x04] = \"NOP $%1$02X\";\n        op[0x05] = \"ORA $%1$02X\";\n        op[0x06] = \"ASL $%1$02X\";\n        op[0x07] = \"SLO $%1$02X\";\n        op[0x08] = \"PHP\";\n        op[0x09] = \"ORA #$%1$02X\";\n        op[0x0A] = \"ASL A\";\n        op[0x0B] = \"ANC #$%1$02X\";\n        op[0x0C] = \"NOP $%2$02X%1$02X\";\n        op[0x0D] = \"ORA $%2$02X%1$02X\";\n        op[0x0E] = \"ASL $%2$02X%1$02X\";\n        op[0x0F] = \"SLO $%2$02X%1$02X\";\n        op[0x10] = \"BPL $%3$02X\";\n        op[0x11] = \"ORA ($%1$02X), y\";\n        op[0x12] = \"KIL\";\n        op[0x13] = \"SLO ($%1$02X), y\";\n        op[0x14] = \"NOP $%1$02X,x\";\n        op[0x15] = \"ORA $%1$02X,x\";\n        op[0x16] = \"ASL $%1$02X,x\";\n        op[0x17] = \"SLO $%1$02X,x\";\n        op[0x18] = \"CLC\";\n        op[0x19] = \"ORA $%2$02X%1$02X,y\";\n        op[0x1A] = \"NOP\";\n        op[0x1B] = \"SLO $%2$02X%1$02X,y\";\n        op[0x1C] = \"NOP $%2$02X%1$02X,x\";\n        op[0x1D] = \"ORA $%2$02X%1$02X,x\";\n        op[0x1E] = \"ASL $%2$02X%1$02X,x\";\n        op[0x1F] = \"SLO $%2$02X%1$02X,x\";\n        op[0x20] = \"JSR $%2$02X%1$02X\";\n        op[0x21] = \"AND $(%2$02X%1$02X,x)\";\n        op[0x22] = \"KIL\";\n        op[0x23] = \"RLA $(%2$02X%1$02X,x)\";\n        op[0x24] = \"BIT $%1$02X\";\n        op[0x25] = \"AND $%1$02X\";\n        op[0x26] = \"ROL $%1$02X\";\n        op[0x27] = \"RLA $%1$02X\";\n        op[0x28] = \"PLP\";\n        op[0x29] = \"AND #$%1$02X\";\n        op[0x2A] = \"ROL\";\n        op[0x2B] = \"ANC #$%1$02X\";\n        op[0x2C] = \"BIT $%2$02X%1$02X\";\n        op[0x2D] = \"AND $%2$02X%1$02X\";\n        op[0x2E] = \"ROL $%2$02X%1$02X\";\n        op[0x2F] = \"RLA $%2$02X%1$02X\";\n        op[0x30] = \"BMI $%3$02X\";\n        op[0x31] = \"AND ($%1$02X), y\";\n        op[0x32] = \"KIL\";\n        op[0x33] = \"RLA ($%1$02X), y\";\n        op[0x34] = \"NOP $%1$02X,x\";\n        op[0x35] = \"AND $%1$02X,x\";\n        op[0x36] = \"ROL $%1$02X,x\";\n        op[0x37] = \"RLA $%1$02X,x\";\n        op[0x38] = \"SEC\";\n        op[0x39] = \"AND $%2$02X%1$02X,y\";\n        op[0x3A] = \"NOP\";\n        op[0x3B] = \"RLA $%2$02X%1$02X,y\";\n        op[0x3C] = \"NOP $%2$02X%1$02X,x\";\n        op[0x3D] = \"AND $%2$02X%1$02X,x\";\n        op[0x3E] = \"ROL $%2$02X%1$02X,x\";\n        op[0x3F] = \"RLA $%2$02X%1$02X,x\";\n        op[0x40] = \"RTI\";\n        op[0x41] = \"EOR $(%2$02X%1$02X,x)\";\n        op[0x42] = \"KIL\";\n        op[0x43] = \"SRE $(%2$02X%1$02X,x)\";\n        op[0x44] = \"NOP $%1$02X\";\n        op[0x45] = \"EOR $%1$02X\";\n        op[0x46] = \"LSR $%1$02X\";\n        op[0x47] = \"SRE $%1$02X\";\n        op[0x48] = \"PHA\";\n        op[0x49] = \"EOR #$%1$02X\";\n        op[0x4A] = \"LSR\";\n        op[0x4B] = \"ALR #$%1$02X\";\n        op[0x4C] = \"JMP $%2$02X%1$02X\";\n        op[0x4D] = \"EOR $%2$02X%1$02X\";\n        op[0x4E] = \"LSR $%2$02X%1$02X\";\n        op[0x4F] = \"SRE $%2$02X%1$02X\";\n        op[0x50] = \"BVC $%3$02X\";\n        op[0x51] = \"EOR ($%1$02X), y\";\n        op[0x52] = \"KIL\";\n        op[0x53] = \"SRE ($%1$02X), y\";\n        op[0x54] = \"NOP $%1$02X,x\";\n        op[0x55] = \"EOR $%1$02X,x\";\n        op[0x56] = \"LSR $%1$02X,x\";\n        op[0x57] = \"SRE $%1$02X,x\";\n        op[0x58] = \"CLI\";\n        op[0x59] = \"EOR $%2$02X%1$02X,y\";\n        op[0x5A] = \"NOP\";\n        op[0x5B] = \"SRE $%2$02X%1$02X,y\";\n        op[0x5C] = \"NOP $%2$02X%1$02X,x\";\n        op[0x5D] = \"EOR $%2$02X%1$02X,x\";\n        op[0x5E] = \"LSR $%2$02X%1$02X,x\";\n        op[0x5F] = \"SRE $%2$02X%1$02X,x\";\n        op[0x60] = \"RTS\";\n        op[0x61] = \"ADC $(%2$02X%1$02X,x)\";\n        op[0x62] = \"KIL\";\n        op[0x63] = \"RRA $(%2$02X%1$02X,x)\";\n        op[0x64] = \"NOP $%1$02X\";\n        op[0x65] = \"ADC $%1$02X\";\n        op[0x66] = \"ROR $%1$02X\";\n        op[0x67] = \"RRA $%1$02X\";\n        op[0x68] = \"PLA\";\n        op[0x69] = \"ADC #$%1$02X\";\n        op[0x6A] = \"ROR\";\n        op[0x6B] = \"ARR #$%1$02X\";\n        op[0x6C] = \"JMP ($%2$02X%1$02X)\";\n        op[0x6D] = \"ADC $%2$02X%1$02X\";\n        op[0x6E] = \"ROR $%2$02X%1$02X\";\n        op[0x6F] = \"RRA $%2$02X%1$02X\";\n        op[0x70] = \"BVS $%3$02X\";\n        op[0x71] = \"ADC ($%1$02X), y\";\n        op[0x72] = \"KIL\";\n        op[0x73] = \"RRA ($%1$02X), y\";\n        op[0x74] = \"NOP $%1$02X,x\";\n        op[0x75] = \"ADC $%1$02X,x\";\n        op[0x76] = \"ROR $%1$02X,x\";\n        op[0x77] = \"RRA $%1$02X,x\";\n        op[0x78] = \"SEI\";\n        op[0x79] = \"ADC $%2$02X%1$02X,y\";\n        op[0x7A] = \"NOP\";\n        op[0x7B] = \"RRA $%2$02X%1$02X,y\";\n        op[0x7C] = \"NOP $%2$02X%1$02X,x\";\n        op[0x7D] = \"ADC $%2$02X%1$02X,x\";\n        op[0x7E] = \"ROR $%2$02X%1$02X,x\";\n        op[0x7F] = \"RRA $%2$02X%1$02X,x\";\n        op[0x80] = \"NOP #$%1$02X\";\n        op[0x81] = \"STA $(%2$02X%1$02X,x)\";\n        op[0x82] = \"NOP #$%1$02X\";\n        op[0x83] = \"SAX $(%2$02X%1$02X,x)\";\n        op[0x84] = \"STY $%1$02X\";\n        op[0x85] = \"STA $%1$02X\";\n        op[0x86] = \"STX $%1$02X\";\n        op[0x87] = \"SAX $%1$02X\";\n        op[0x88] = \"DEY\";\n        op[0x89] = \"NOP #$%1$02X\";\n        op[0x8A] = \"TXA\";\n        op[0x8B] = \"XAA #$%1$02X\";\n        op[0x8C] = \"STY $%2$02X%1$02X\";\n        op[0x8D] = \"STA $%2$02X%1$02X\";\n        op[0x8E] = \"STX $%2$02X%1$02X\";\n        op[0x8F] = \"SAX $%2$02X%1$02X\";\n        op[0x90] = \"BCC $%3$02X\";\n        op[0x91] = \"STA ($%1$02X), y\";\n        op[0x92] = \"KIL\";\n        op[0x93] = \"AHX ($%1$02X), y\";\n        op[0x94] = \"STY $%1$02X,x\";\n        op[0x95] = \"STA $%1$02X,x\";\n        op[0x96] = \"STX $%1$02X,y\";\n        op[0x97] = \"SAX $%1$02X,y\";\n        op[0x98] = \"TYA\";\n        op[0x99] = \"STA $%2$02X%1$02X,y\";\n        op[0x9A] = \"TXS\";\n        op[0x9B] = \"TAS $%2$02X%1$02X,y\";\n        op[0x9C] = \"SHY $%2$02X%1$02X,x\";\n        op[0x9D] = \"STA $%2$02X%1$02X,x\";\n        op[0x9E] = \"SHX $%2$02X%1$02X,y\";\n        op[0x9F] = \"AHX $%2$02X%1$02X,y\";\n        op[0xA0] = \"LDY #$%1$02X\";\n        op[0xA1] = \"LDA $(%2$02X%1$02X,x)\";\n        op[0xA2] = \"LDX #$%1$02X\";\n        op[0xA3] = \"LAX $(%2$02X%1$02X,x)\";\n        op[0xA4] = \"LDY $%1$02X\";\n        op[0xA5] = \"LDA $%1$02X\";\n        op[0xA6] = \"LDX $%1$02X\";\n        op[0xA7] = \"LAX $%1$02X\";\n        op[0xA8] = \"TAY\";\n        op[0xA9] = \"LDA #$%1$02X\";\n        op[0xAA] = \"TAX\";\n        op[0xAB] = \"LAX #$%1$02X\";\n        op[0xAC] = \"LDY $%2$02X%1$02X\";\n        op[0xAD] = \"LDA $%2$02X%1$02X\";\n        op[0xAE] = \"LDX $%2$02X%1$02X\";\n        op[0xAF] = \"LAX $%2$02X%1$02X\";\n        op[0xB0] = \"BCS $%3$02X\";\n        op[0xB1] = \"LDA ($%1$02X), y\";\n        op[0xB2] = \"KIL\";\n        op[0xB3] = \"LAX ($%1$02X), y\";\n        op[0xB4] = \"LDY $%1$02X,x\";\n        op[0xB5] = \"LDA $%1$02X,x\";\n        op[0xB6] = \"LDX $%1$02X,y\";\n        op[0xB7] = \"LAX $%1$02X,y\";\n        op[0xB8] = \"CLV\";\n        op[0xB9] = \"LDA $%2$02X%1$02X,y\";\n        op[0xBA] = \"TSX\";\n        op[0xBB] = \"LAS $%2$02X%1$02X,y\";\n        op[0xBC] = \"LDY $%2$02X%1$02X,x\";\n        op[0xBD] = \"LDA $%2$02X%1$02X,x\";\n        op[0xBE] = \"LDX $%2$02X%1$02X,y\";\n        op[0xBF] = \"LAX $%2$02X%1$02X,y\";\n        op[0xC0] = \"CPY #$%1$02X\";\n        op[0xC1] = \"CMP $(%2$02X%1$02X,x)\";\n        op[0xC2] = \"NOP #$%1$02X\";\n        op[0xC3] = \"DCP $(%2$02X%1$02X,x)\";\n        op[0xC4] = \"CPY $%1$02X\";\n        op[0xC5] = \"CMP $%1$02X\";\n        op[0xC6] = \"DEC $%1$02X\";\n        op[0xC7] = \"DCP $%1$02X\";\n        op[0xC8] = \"INY\";\n        op[0xC9] = \"CMP #$%1$02X\";\n        op[0xCA] = \"DEX\";\n        op[0xCB] = \"AXS #$%1$02X\";\n        op[0xCC] = \"CPY $%2$02X%1$02X\";\n        op[0xCD] = \"CMP $%2$02X%1$02X\";\n        op[0xCE] = \"DEC $%2$02X%1$02X\";\n        op[0xCF] = \"DCP $%2$02X%1$02X\";\n        op[0xD0] = \"BNE $%3$02X\";\n        op[0xD1] = \"CMP ($%1$02X), y\";\n        op[0xD2] = \"KIL\";\n        op[0xD3] = \"DCP ($%1$02X), y\";\n        op[0xD4] = \"NOP $%1$02X,x\";\n        op[0xD5] = \"CMP $%1$02X,x\";\n        op[0xD6] = \"DEC $%1$02X,x\";\n        op[0xD7] = \"DCP $%1$02X,x\";\n        op[0xD8] = \"CLD\";\n        op[0xD9] = \"CMP $%2$02X%1$02X,y\";\n        op[0xDA] = \"NOP\";\n        op[0xDB] = \"DCP $%2$02X%1$02X,y\"; //did i delete this line somehow?\n        op[0xDC] = \"NOP $%2$02X%1$02X,x\";\n        op[0xDD] = \"CMP $%2$02X%1$02X,x\";\n        op[0xDE] = \"DEC $%2$02X%1$02X,x\";\n        op[0xDF] = \"DCP $%2$02X%1$02X,x\";\n        op[0xE0] = \"CPX #$%1$02X\";\n        op[0xE1] = \"SBC $(%2$02X%1$02X,x)\";\n        op[0xE2] = \"NOP #$%1$02X\";\n        op[0xE3] = \"ISC $(%2$02X%1$02X,x)\";\n        op[0xE4] = \"CPX $%1$02X\";\n        op[0xE5] = \"SBC $%1$02X\";\n        op[0xE6] = \"INC $%1$02X\";\n        op[0xE7] = \"ISC $%1$02X\";\n        op[0xE8] = \"INX\";\n        op[0xE9] = \"SBC #$%1$02X\";\n        op[0xEA] = \"NOP\";\n        op[0xEB] = \"SBC #$%1$02X\";\n        op[0xEC] = \"CPX $%2$02X%1$02X\";\n        op[0xED] = \"SBC $%2$02X%1$02X\";\n        op[0xEE] = \"INC $%2$02X%1$02X\";\n        op[0xEF] = \"ISC $%2$02X%1$02X\";\n        op[0xF0] = \"BEQ $%3$02X\";\n        op[0xF1] = \"SBC ($%1$02X), y\";\n        op[0xF2] = \"KIL\";\n        op[0xF3] = \"ISC ($%1$02X), y\";\n        op[0xF4] = \"NOP $%1$02X,x\";\n        op[0xF5] = \"SBC $%1$02X,x\";\n        op[0xF6] = \"INC $%1$02X,x\";\n        op[0xF7] = \"ISC $%1$02X,x\";\n        op[0xF8] = \"SED\";\n        op[0xF9] = \"SBC $%2$02X%1$02X,y\";\n        op[0xFA] = \"NOP\";\n        op[0xFB] = \"ISC $%2$02X%1$02X,y\";\n        op[0xFC] = \"NOP $%2$02X%1$02X,x\";\n        op[0xFD] = \"SBC $%2$02X%1$02X,x\";\n        op[0xFE] = \"INC $%2$02X%1$02X,x\";\n        op[0xFF] = \"ISC $%2$02X%1$02X,x\";\n        return op;\n    }\n\n    //these methods are needed for NSF playing use\n    public void setRegA(int value) {\n        A = value & 0xff;\n    }\n\n    public void setRegX(int value) {\n        X = value & 0xff;\n    }\n\n    public void setPC(int value) {\n        PC = value & 0xffff;\n        idle = false;\n        log(\"**PC SET**\");\n    }\n\n    public final void log(String tolog) {\n        if (logging) {\n            try {\n                w.write(tolog);\n            } catch (IOException e) {\n                System.err.println(\"Cannot write to debug log\" + e.getLocalizedMessage());\n            }\n        }\n    }\n\n    private void flushLog() {\n        if (logging) {\n            try {\n                w.flush();\n            } catch (IOException e) {\n                System.err.println(\"Cannot write to debug log\" + e.getLocalizedMessage());\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/CPURAM.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.cheats.Patch;\nimport com.grapeshot.halfnes.mappers.Mapper;\nimport java.util.Arrays;\nimport java.util.HashMap;\n\n/**\n *\n * @author Andrew Hoffman\n *\n *\n */\npublic class CPURAM {\n\n    private final int[] wram = new int[2048];\n    Mapper mapper;\n    public APU apu;\n    PPU ppu; //need these to call their write handlers from here.\n    private HashMap<Integer, Patch> patches = new HashMap<>();\n\n    public CPURAM(final Mapper mappy) {\n        mapper = mappy;\n        // init memory\n        Arrays.fill(wram, 0xff);\n    }\n\n    public final int read(final int addr) {\n        if (!patches.isEmpty()) {\n            int retval = _read(addr);\n            Patch p = patches.get(addr);\n            if (p != null && p.getAddress() == addr && p.matchesData(retval)) {\n                return p.getData();\n            }\n            return retval;\n        } else {\n            return _read(addr);\n        }\n    }\n\n    public final int _read(final int addr) {\n        if (addr > 0x4018) {\n            return mapper.cartRead(addr);\n        } else if (addr <= 0x1fff) {\n            return wram[addr & 0x7FF];\n        } else if (addr <= 0x3fff) {\n            // 8 byte ppu regs; mirrored lots\n            return ppu.read(addr & 7);\n        } else if (0x4000 <= addr && addr <= 0x4018) {\n            return apu.read(addr - 0x4000);\n        } else {\n            return addr >> 8; //open bus\n        }\n    }\n\n    public final void write(final int addr, final int data) {\n//        if((data & 0xff) != data){\n//            System.err.println(\"DANGER WILL ROBINSON\");\n//        }\n        if (addr > 0x4018) {\n            mapper.cartWrite(addr, data);\n        } else if (addr <= 0x1fff) {\n            wram[addr & 0x7FF] = data;\n        } else if (addr <= 0x3fff) {\n            // 8 byte ppu regs; mirrored lots\n            ppu.write(addr & 7, data);\n        } else if (0x4000 <= addr && addr <= 0x4018) {\n            apu.write(addr - 0x4000, data);\n        }\n    }\n\n    public void setAPU(APU apu) {\n        this.apu = apu;\n    }\n\n    public void setPPU(PPU ppu) {\n        this.ppu = ppu;\n    }\n\n    public void setPatches(HashMap<Integer, Patch> p) {\n        this.patches = p;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/FileUtils.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport java.awt.EventQueue;\nimport java.io.*;\n\n/**\n *\n * @author Andrew\n */\npublic class FileUtils {\n    \n    private FileUtils() {}\n\n    public static String getExtension(final File f) {\n        return getExtension(f.getName());\n    }\n\n    public static String getExtension(final String s) {\n        if (s == null || s.equals(\"\")) {\n            return \"\";\n        }\n        int split = s.lastIndexOf('.');\n        if (split < 0) {\n            return \"\";\n        }\n        return s.substring(split);\n\n    }\n\n    public static String stripExtension(final File f) {\n        String s = f.getName();\n        if (s == null || s.equals(\"\")) {\n            return \"\";\n        }\n        int split = s.lastIndexOf('.');\n        if (split < 0) {\n            return \"\";\n        }\n        return s.substring(0, split);\n    }\n\n    public static String stripExtension(final String s) {\n        if (s == null || s.equals(\"\")) {\n            return \"\";\n        }\n        int split = s.lastIndexOf('.');\n        if (split < 0) {\n            return \"\";\n        }\n        return s.substring(0, split);\n    }\n\n    public static void writetofile(final int[] array, final String path) {\n        //note: does NOT write the ints directly to the file - only the low bytes.\n        AsyncWriter writer = new AsyncWriter(array, path);\n        writer.run();\n    }\n\n    public static void asyncwritetofile(final int[] array, final String path) {\n        //now does the file writing in the dispatch thread\n        //hopefully that will eliminate annoying hitches when file system's slow\n        //and not do pathological stuff like threads are prone to\n        AsyncWriter writer = new AsyncWriter(array, path);\n        EventQueue.invokeLater(writer);\n    }\n\n    private static class AsyncWriter implements Runnable {\n\n        private final int[] a;\n        private final String path;\n\n        public AsyncWriter(final int[] a, final String path) {\n            this.a = a;\n            this.path = path;\n        }\n\n        @Override\n        public void run() {\n            if (a != null && path != null) {\n                try {\n                    FileOutputStream b = new FileOutputStream(path);\n                    byte[] buf = new byte[a.length];\n                    for (int i = 0; i < a.length; ++i) {\n                        buf[i] = (byte) (a[i] & 0xff);\n                    }\n                    b.write(buf);\n                    b.flush();\n                    b.close();\n                } catch (IOException e) {\n                    System.err.print(\"Could not save. \");\n                    System.err.println(e);\n                }\n            }\n        }\n    }\n\n    public static String getFilenamefromPath(String path) {\n        return new File(path).getName();\n    }\n\n    public static int[] readfromfile(final String path) {\n        File f = new File(path);\n        byte[] bytes = new byte[(int) f.length()];\n        FileInputStream fis;\n        try {\n            fis = new FileInputStream(f);\n                fis.read(bytes);\n            } catch (IOException e) {\n                // TODO Auto-generated catch block\n                System.err.println(\"Failed to load file\");\n            e.printStackTrace();\n            }\n        int[] ints = new int[bytes.length];\n\n        for (int i = 0;\n                i < bytes.length;\n                i++) {\n            ints[i] = (short) (bytes[i] & 0xFF);\n        }\n\n        return ints;\n    }\n\n    public static boolean exists(final String path) {\n        File f = new File(path);\n        return f.canRead() && !f.isDirectory();\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/HeadlessNES.java",
    "content": "package com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.ui.HeadlessUI;\nimport com.grapeshot.halfnes.ui.PuppetController;\n\nimport javax.swing.*;\nimport java.awt.*;\nimport java.awt.image.BufferedImage;\n\n/**\n * @author Mitchell Skaggs\n */\npublic class HeadlessNES {\n    \n    private HeadlessNES() {}\n    \n    public static final int scale = 4;\n    public static void main(String[] args) {\n        BufferedImage bufferedImage = new BufferedImage(100, 100, BufferedImage.TYPE_INT_ARGB_PRE);\n        HeadlessUI ui = new HeadlessUI(\"src/test/resources/nestest/nestest.nes\", true);\n\n        for (int i = 0; i < 100; i++) {\n            ui.runFrame();\n        }\n        ui.getController1().pressButton(PuppetController.Button.START);\n        ui.runFrame();\n        ui.getController1().releaseButton(PuppetController.Button.START);\n        for (int i = 0; i < 5; i++) {\n            ui.runFrame();\n        }\n\n        BufferedImage image = ui.getLastFrame();\n\n        JFrame frame = new JFrame(\"Display\") {\n            @Override\n            public void paint(Graphics g) {\n                super.paint(g);\n                g.drawImage(image, 0, 0, image.getWidth() * scale, image.getHeight() * scale, this);\n            }\n        };\n        frame.setSize(256 * scale, 224 * scale);\n        frame.setVisible(true);\n        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/JInputHelper.java",
    "content": "package com.grapeshot.halfnes;\n\nimport java.io.*;\nimport java.lang.reflect.Field;\nimport java.nio.charset.StandardCharsets;\nimport java.nio.file.Files;\nimport java.security.AccessController;\nimport java.security.PrivilegedAction;\n\n/**\n * Created by KlausH on 29.11.2015.\n */\npublic enum JInputHelper {\n\n    ;\n\n    private static final String[] NATIVE_LIBRARIES = new String[]{\n        // Windows\n        \"jinput-dx8.dll\",\n        \"jinput-dx8_64.dll\",\n        \"jinput-raw.dll\",\n        \"jinput-raw_64.dll\",\n        \"jinput-wintab.dll\",\n        \"jinput-wintab.dll\",\n        // Linux\n        \"libjinput-linux.so\",\n        \"libjinput-linux64.so\",\n        // OsX (Mac)\n        \"libjinput-osx.jnilib\",};\n\n    public static void setupJInput() {\n        try {\n            File nativesDirectory = createTempDirectory();\n            unpackNativeLibraries(nativesDirectory);\n            setLibraryPath(nativesDirectory);\n            fixInputPluginForWindows8();\n        } catch (Exception exception) {\n            throw new RuntimeException(\"Unable to setup native libraries.\", exception);\n        }\n    }\n\n    private static void unpackNativeLibraries(File nativesDirectory) throws IOException {\n        for (String nativeLibrary : NATIVE_LIBRARIES) {\n            unpackNativeLibrary(nativesDirectory, nativeLibrary);\n        }\n    }\n\n    private static void unpackNativeLibrary(File nativesDirectory, String nativeLibrary) throws IOException {\n        try (InputStream nativeLibraryInputStream = ClassLoader.getSystemResourceAsStream(nativeLibrary)) {\n            File nativeLibraryTempFile = new File(nativesDirectory, nativeLibrary);\n            nativeLibraryTempFile.deleteOnExit();\n            if (!nativeLibraryTempFile.exists()) {\n                try (BufferedOutputStream nativeLibraryTempFileOutputStream \n                        = new BufferedOutputStream(new FileOutputStream(nativeLibraryTempFile))) {\n                    byte[] buffer = new byte[4096];\n                    int length;\n                    while ((length = nativeLibraryInputStream.read(buffer)) > 0) {\n                        nativeLibraryTempFileOutputStream.write(buffer, 0, length);\n                    }\n                }\n            }\n        }\n    }\n\n    private static File createTempDirectory() throws IOException {\n\n        String tmpdir = System.getProperty(\"java.io.tmpdir\") + \"/halfnes-\" + NES.VERSION;\n        System.err.println(tmpdir);\n        File f = new File(tmpdir);\n        if (!f.exists()) {\n            f.mkdir();\n        }\n\n        //File nativeDirectory = Files.createTempDirectory(\"halfNES-natives\").toFile();\n        f.deleteOnExit();\n        return f;\n    }\n\n    private static void setLibraryPath(final File nativesDirectory) throws NoSuchFieldException, IllegalAccessException {\n        System.setProperty(\"java.library.path\", nativesDirectory.getAbsolutePath());\n        final Field fieldSysPath = ClassLoader.class.getDeclaredField(\"sys_paths\");\n        fieldSysPath.setAccessible(true);\n        fieldSysPath.set(null, null);\n    }\n\n    private static void fixInputPluginForWindows8() {\n        AccessController.doPrivileged((PrivilegedAction<Object>) () -> {\n            String os = System.getProperty(\"os.name\", \"\").trim();\n            if (os.startsWith(\"Windows\")) {\n                if (os.startsWith(\"Windows 8\")) {\n                    // disable default plugin lookup\n                    System.setProperty(\"jinput.useDefaultPlugin\", \"false\");\n                    // set to same as windows 7\n                    System.setProperty(\"net.java.games.input.plugins\", \"net.java.games.input.DirectAndRawInputEnvironmentPlugin\");\n                }\n                if (os.startsWith(\"Windows 10\") || isWindows10()) {\n                    // disable default plugin lookup\n                    System.setProperty(\"jinput.useDefaultPlugin\", \"false\");\n                    // set fallback to AWT plugin\n                    System.setProperty(\"net.java.games.input.plugins\", \"net.java.games.input.DirectAndRawInputEnvironmentPlugin\");\n                }\n            }\n            return null;\n        });\n    }\n\n    private static boolean isWindows10() {\n        try {\n            Process process = Runtime.getRuntime().exec(\"cmd.exe /c ver\");\n            BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream(), StandardCharsets.UTF_8));\n            bufferedReader.readLine();\n            String line = bufferedReader.readLine();\n            process.waitFor();\n            return line.contains(\"10\");\n        } catch (Exception exception) {\n            throw new RuntimeException(exception);\n        }\n    }\n\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/JavaFXNES.java",
    "content": "package com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.ui.ControllerImpl;\nimport com.grapeshot.halfnes.ui.GUIInterface;\nimport com.grapeshot.halfnes.ui.OnScreenMenu;\nimport com.grapeshot.halfnes.video.NesColors;\nimport java.nio.ByteBuffer;\nimport java.util.List;\nimport javafx.application.Application;\nimport javafx.application.Platform;\nimport javafx.geometry.Insets;\nimport javafx.geometry.Rectangle2D;\nimport javafx.scene.Group;\nimport javafx.scene.Scene;\nimport javafx.scene.canvas.Canvas;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritablePixelFormat;\nimport javafx.scene.input.KeyCode;\nimport javafx.scene.input.KeyCombination;\nimport javafx.scene.paint.Color;\nimport javafx.scene.transform.Scale;\nimport javafx.stage.Stage;\n\n/**\n * @author Stephen Chin - steveonjava@gmail.com\n */\npublic class JavaFXNES extends Application implements GUIInterface {\n\n\n    // Set the overscan insets to match your config\n    // And make sure your framebuffer is set to:\n    // * screen.width + overscan.right\n    // * screen.height + overscan.bottom\n    \n    //overscan for PC\n    private static final Insets overscan = new Insets(0, 0, 0, 0);\n    \n    //overscan for Pi screen\n    //private static final Insets overscan = new Insets(-59, 160, 150, 0);\n    private static final Insets extraOverscan = new Insets(8, 0, 8, 0);\n\n    private NES nes;\n    private Canvas gameCanvas;\n    private Stage stage;\n    private OnScreenMenu menu;\n\n    @Override\n    public void start(Stage stage) throws Exception {\n        this.stage = stage;\n        //Rectangle2D bounds = Screen.getPrimary().getBounds();\n        Rectangle2D bounds = new Rectangle2D(0,0,640,480);\n        gameCanvas = new Canvas(256, 240);\n        stage.addEventHandler(javafx.stage.WindowEvent.WINDOW_CLOSE_REQUEST, e -> nes.quit());\n        menu = new OnScreenMenu(this);\n        //menu.setPadding(extraOverscan);\n        menu.setPrefWidth(256);\n        menu.setPrefHeight(240);\n        Group root = new Group(gameCanvas, menu);\n        Scene scene = new Scene(root, bounds.getWidth(), bounds.getHeight(), Color.BLACK);\n        stage.setScene(scene);\n        //stage.setFullScreen(true);\n        stage.setFullScreenExitKeyCombination(KeyCombination.valueOf(\"F11\"));\n        stage.addEventHandler(javafx.scene.input.KeyEvent.KEY_PRESSED, e -> {\n            if (e.getCode().equals(KeyCode.ESCAPE)) {\n                menu.show();\n            }\n        });\n        root.setLayoutX(overscan.getRight() - overscan.getLeft() - extraOverscan.getLeft() * bounds.getWidth() / 256);\n        root.setLayoutY(overscan.getBottom() - overscan.getTop() - extraOverscan.getTop() * bounds.getHeight() / 240);\n        root.getTransforms().add(new Scale(\n            (bounds.getWidth() - (overscan.getRight() - overscan.getLeft())) / (256 - extraOverscan.getLeft() - extraOverscan.getRight()),\n            (bounds.getHeight() - (overscan.getBottom() - overscan.getTop())) / (240 - extraOverscan.getTop() - extraOverscan.getBottom())));\n        nes = new NES(this);\n        ControllerImpl padController1 = new ControllerImpl(scene, 0);\n        ControllerImpl padController2 = new ControllerImpl(scene, 1);\n        padController1.startEventQueue();\n        padController2.startEventQueue();\n        nes.setControllers(padController1, padController2);\n        final List<String> params = getParameters().getRaw();\n        new Thread(() -> {\n            if (params.isEmpty()) {\n                nes.run();\n            } else {\n                nes.run(params.get(0));\n            }\n        }, \"Game Thread\").start();\n    }\n\n    public static void main(String[] args) {\n        JInputHelper.setupJInput();\n        launch(args);\n    }\n\n    @Override\n    public NES getNes() {\n        return nes;\n    }\n\n    @Override\n    public void setNES(NES nes) {\n        this.nes = nes;\n    }\n\n    final byte[] buffer = new byte[256 * 240 * 4];\n    final WritablePixelFormat<ByteBuffer> format = WritablePixelFormat.getByteBgraPreInstance();\n\n    private final long[] frametimes = new long[60];\n    private int frametimeptr = 0;\n    private double fps;\n\n    @Override\n    public void setFrame(int[] nespixels, int[] bgcolor, boolean dotcrawl) {\n        Platform.runLater(() -> {\n            frametimes[frametimeptr] = nes.getFrameTime();\n            ++frametimeptr;\n            frametimeptr %= frametimes.length;\n\n            if (frametimeptr == 0) {\n                long averageframes = 0;\n                for (long l : frametimes) {\n                    averageframes += l;\n                }\n                averageframes /= frametimes.length;\n                fps = 1E9 / averageframes;\n                stage.setTitle(String.format(\"HalfNES %s, %2.2f fps\",\n                    //                    + ((nes.frameskip > 0) ? \" frameskip \" + nes.frameskip : \"\"),\n                    NES.VERSION,\n                    //                    nes.getCurrentRomName(),\n                    fps));\n            }\n            PixelWriter writer = gameCanvas.getGraphicsContext2D().getPixelWriter();\n            for (int i = 0; i < nespixels.length; i++) {\n                byte[] colbytes = NesColors.colbytes[(nespixels[i] & 0x1c0) >> 6][nespixels[i] & 0x3f];\n                System.arraycopy(colbytes, 0, buffer, i * 4, 3);\n            }\n            writer.setPixels(0, 0, 256, 240, format, buffer, 0, 256 * 4);\n        });\n    }\n\n    @Override\n    public void messageBox(String message) {\n        System.out.println(\"message = \" + message);\n    }\n\n    @Override\n    public void run() {\n        Platform.runLater(() -> {\n            stage.show();\n            menu.show();\n        });\n    }\n\n    @Override\n    public void render() {\n        // whatever...\n    }\n\n    public void loadROMs(String path) {\n        menu.loadROMs(path);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/NES.java",
    "content": "/**\n *\n * @author Andrew Hoffman\n */\npackage com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.cheats.ActionReplay;\nimport com.grapeshot.halfnes.mappers.BadMapperException;\nimport com.grapeshot.halfnes.mappers.Mapper;\nimport com.grapeshot.halfnes.ui.ControllerInterface;\nimport com.grapeshot.halfnes.ui.FrameLimiterImpl;\nimport com.grapeshot.halfnes.ui.FrameLimiterInterface;\nimport com.grapeshot.halfnes.ui.GUIInterface;\nimport javafx.application.Platform;\n\npublic class NES implements ProjectInfo {\n\n    private Mapper mapper;\n    private APU apu;\n    private CPU cpu;\n    private CPURAM cpuram;\n    private PPU ppu;\n    private GUIInterface gui;\n    private ControllerInterface controller1, controller2;\n    public boolean runEmulation = false;\n    private boolean dontSleep = false;\n    private boolean shutdown = false;\n    public long frameStartTime, framecount, frameDoneTime;\n    private boolean frameLimiterOn = true;\n    private String curRomPath, curRomName;\n    private final FrameLimiterInterface limiter = new FrameLimiterImpl(this, 16639267);\n    // Pro Action Replay device\n    private ActionReplay actionReplay;\n\n    public NES(GUIInterface gui) {\n        if (gui != null) {\n            this.gui = gui;\n            gui.setNES(this);\n            gui.run();\n        }\n    }\n\n    public CPURAM getCPURAM() {\n        return this.cpuram;\n    }\n\n    public CPU getCPU() {\n        return this.cpu;\n    }\n\n    public void run(final String romtoload) {\n        Thread.currentThread().setPriority(Thread.NORM_PRIORITY + 1);\n        //set thread priority higher than the interface thread\n        curRomPath = romtoload;\n        gui.loadROMs(romtoload);\n        run();\n    }\n\n    public void run() {\n        while (!shutdown) {\n            if (runEmulation) {\n                frameStartTime = System.nanoTime();\n                actionReplay.applyPatches();\n                runframe();\n                if (frameLimiterOn && !dontSleep) {\n                    limiter.sleep();\n                }\n                frameDoneTime = System.nanoTime() - frameStartTime;\n            } else {\n                limiter.sleepFixed();\n                if (ppu != null && framecount > 1) {\n                    gui.render();\n                }\n            }\n        }\n    }\n\n    private synchronized void runframe() {\n        //run cpu, ppu for a whole frame\n        ppu.runFrame();\n\n        //do end of frame stuff\n        dontSleep = apu.bufferHasLessThan(1000);\n        //if the audio buffer is completely drained, don't sleep for this frame\n        //this is to prevent the emulator from getting stuck sleeping too much\n        //on a slow system or when the audio buffer runs dry.\n\n        apu.finishframe();\n        cpu.modcycles();\n\n//        if (framecount == 13 * 60) {\n//            cpu.startLog();\n//            System.err.println(\"log on\");\n//        }\n        //render the frame\n        ppu.renderFrame(gui);\n        if ((framecount & 2047) == 0) {\n            //save sram every 30 seconds or so\n            saveSRAM(true);\n        }\n        ++framecount;\n        //System.err.println(framecount);\n    }\n\n    public void setControllers(ControllerInterface controller1, ControllerInterface controller2) {\n        this.controller1 = controller1;\n        this.controller2 = controller2;\n    }\n\n    public void toggleFrameLimiter() {\n        frameLimiterOn = !frameLimiterOn;\n    }\n\n    public synchronized void loadROM(final String filename) {\n        loadROM(filename, null);\n    }\n\n    public synchronized void loadROM(final String filename, Integer initialPC) {\n        runEmulation = false;\n        if (FileUtils.exists(filename)\n                && (FileUtils.getExtension(filename).equalsIgnoreCase(\".nes\")\n                || FileUtils.getExtension(filename).equalsIgnoreCase(\".nsf\"))) {\n            Mapper newmapper;\n            try {\n                final ROMLoader loader = new ROMLoader(filename);\n                loader.parseHeader();\n                newmapper = Mapper.getCorrectMapper(loader);\n                newmapper.setLoader(loader);\n                newmapper.loadrom();\n            } catch (BadMapperException e) {\n                gui.messageBox(\"Error Loading File: ROM is\"\n                        + \" corrupted or uses an unsupported mapper.\\n\" + e.getMessage());\n                return;\n            } catch (Exception e) {\n                gui.messageBox(\"Error Loading File: ROM is\"\n                        + \" corrupted or uses an unsupported mapper.\\n\" + e.toString() + e.getMessage());\n                e.printStackTrace();\n                return;\n            }\n            if (apu != null) {\n                //if rom already running save its sram before closing\n                apu.destroy();\n                saveSRAM(false);\n                //also get rid of mapper etc.\n                mapper.destroy();\n                cpu = null;\n                cpuram = null;\n                ppu = null;\n            }\n            mapper = newmapper;\n            //now some annoying getting of all the references where they belong\n            cpuram = mapper.getCPURAM();\n            actionReplay = new ActionReplay(cpuram);\n            cpu = mapper.cpu;\n            ppu = mapper.ppu;\n            apu = new APU(this, cpu, cpuram);\n            cpuram.setAPU(apu);\n            cpuram.setPPU(ppu);\n            curRomPath = filename;\n            curRomName = FileUtils.getFilenamefromPath(filename);\n\n            framecount = 0;\n            //if savestate exists, load it\n            if (mapper.hasSRAM()) {\n                loadSRAM();\n            }\n            //and start emulation\n            cpu.init(initialPC);\n            mapper.init();\n            setParameters();\n            runEmulation = true;\n        } else {\n            gui.messageBox(\"Could not load file:\\nFile \" + filename + \"\\n\"\n                    + \"does not exist or is not a valid NES game.\");\n        }\n    }\n\n    private void saveSRAM(final boolean async) {\n        if (mapper != null && mapper.hasSRAM() && mapper.supportsSaves()) {\n            if (async) {\n                FileUtils.asyncwritetofile(mapper.getPRGRam(), FileUtils.stripExtension(curRomPath) + \".sav\");\n            } else {\n                FileUtils.writetofile(mapper.getPRGRam(), FileUtils.stripExtension(curRomPath) + \".sav\");\n            }\n        }\n    }\n\n    private void loadSRAM() {\n        final String name = FileUtils.stripExtension(curRomPath) + \".sav\";\n        if (FileUtils.exists(name) && mapper.supportsSaves()) {\n            mapper.setPRGRAM(FileUtils.readfromfile(name));\n        }\n\n    }\n\n    public void quit() {\n        //save SRAM and quit\n        //should wait for any save sram workers to be done before here\n       if (cpu != null && curRomPath != null) {\n            runEmulation = false;\n            saveSRAM(false);\n        }\n        //there might be some subtle threading bug with saving?\n        //System.Exit is very dirty and does NOT let the delete on exit handler\n        //fire so the natives stick around...\n        shutdown = true;\n        Platform.exit();\n    }\n\n    public synchronized void reset() {\n        if (cpu != null) {\n            mapper.reset();\n            cpu.reset();\n            runEmulation = true;\n            apu.pause();\n            apu.resume();\n        }\n        //reset frame counter as well because PPU is reset\n        //on Famicom, PPU is not reset when Reset is pressed\n        //but some NES games expect it to be and you get garbage.\n        framecount = 0;\n    }\n\n    public synchronized void reloadROM() {\n        loadROM(curRomPath);\n    }\n\n    public synchronized void pause() {\n        if (apu != null) {\n            apu.pause();\n        }\n        runEmulation = false;\n    }\n\n    public long getFrameTime() {\n        return frameDoneTime;\n    }\n\n    public String getrominfo() {\n        if (mapper != null) {\n            return mapper.getrominfo();\n        }\n        return null;\n    }\n\n    public synchronized void frameAdvance() {\n        runEmulation = false;\n        if (cpu != null) {\n            runframe();\n        }\n    }\n\n    public synchronized void resume() {\n        if (apu != null) {\n            apu.resume();\n        }\n        if (cpu != null) {\n            runEmulation = true;\n        }\n    }\n\n    public String getCurrentRomName() {\n        return curRomName;\n    }\n\n    public boolean isFrameLimiterOn() {\n        return frameLimiterOn;\n    }\n\n    public void messageBox(final String string) {\n        if (gui != null) {\n            gui.messageBox(string);\n        }\n    }\n\n    public ControllerInterface getcontroller1() {\n        return controller1;\n    }\n\n    public ControllerInterface getcontroller2() {\n        return controller2;\n    }\n\n    public synchronized void setParameters() {\n        if (apu != null) {\n            apu.setParameters();\n        }\n        if (ppu != null) {\n            ppu.setParameters();\n        }\n        if (limiter != null && mapper != null) {\n            switch (mapper.getTVType()) {\n                case NTSC:\n                default:\n                    limiter.setInterval(16639267);\n                    break;\n                case PAL:\n                case DENDY:\n                    limiter.setInterval(19997200);\n            }\n        }\n    }\n\n    /**\n     * Access to the Pro Action Replay device.\n     */\n    public synchronized ActionReplay getActionReplay() {\n        return actionReplay;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/PPU.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport static com.grapeshot.halfnes.PrefsSingleton.get;\nimport com.grapeshot.halfnes.mappers.Mapper;\nimport com.grapeshot.halfnes.ui.DebugUI;\nimport com.grapeshot.halfnes.ui.GUIInterface;\nimport static com.grapeshot.halfnes.utils.reverseByte;\nimport java.awt.image.BufferedImage;\nimport static java.awt.image.BufferedImage.TYPE_INT_BGR;\nimport java.util.Arrays;\nimport static java.util.Arrays.fill;\nimport static java.util.Arrays.fill;\n\npublic class PPU {\n\n    public Mapper mapper;\n    private int oamaddr, oamstart, readbuffer = 0;\n    private int loopyV = 0x0;//ppu memory pointer\n    private int loopyT = 0x0;//temp pointer\n    private int loopyX = 0;//fine x scroll\n    public int scanline = 0;\n    public int cycles = 0;\n    private int framecount = 0;\n    private int div = 2;\n    private final int[] OAM = new int[256], secOAM = new int[32],\n            spriteshiftregH = new int[8],\n            spriteshiftregL = new int[8], spriteXlatch = new int[8],\n            spritepals = new int[8], bitmap = new int[240 * 256];\n    private int found, bgShiftRegH, bgShiftRegL, bgAttrShiftRegH, bgAttrShiftRegL;\n    private final boolean[] spritebgflags = new boolean[8];\n    private boolean even = true, bgpattern = true, sprpattern, spritesize, nmicontrol,\n            grayscale, bgClip, spriteClip, bgOn, spritesOn,\n            vblankflag, sprite0hit, spriteoverflow;\n    private int emph;\n    public final int[] pal;\n    private DebugUI debuggui;\n    private int vraminc = 1;\n    private final static boolean PPUDEBUG = get().getBoolean(\"ntView\", false);\n    private BufferedImage nametableView;\n    private final int[] bgcolors = new int[256];\n    private int openbus = 0; //the last value written to the PPU\n    private int nextattr;\n    private int linelowbits;\n    private int linehighbits;\n    private int penultimateattr;\n    private int numscanlines;\n    private int vblankline;\n    private final int[] cpudivider = {3, 3, 3, 3, 3};\n\n    public PPU(final Mapper mapper) {\n        this.pal = new int[]{0x09, 0x01, 0x00, 0x01, 0x00, 0x02, 0x02, 0x0D,\n            0x08, 0x10, 0x08, 0x24, 0x00, 0x00, 0x04, 0x2C, 0x09, 0x01, 0x34,\n            0x03, 0x00, 0x04, 0x00, 0x14, 0x08, 0x3A, 0x00, 0x02, 0x00, 0x20,\n            0x2C, 0x08};\n        /*\n     power-up pallette checked by Blargg's power_up_palette test. Different\n     revs of NES PPU might give different initial results but there's a test\n     expecting this set of values and nesemu1, BizHawk, RockNES, MyNes use it\n         */\n        this.mapper = mapper;\n        fill(OAM, 0xff);\n        if (PPUDEBUG) {\n            nametableView = new BufferedImage(512, 480, TYPE_INT_BGR);\n            debuggui = new DebugUI(512, 480);\n            debuggui.run();\n        }\n        setParameters();\n    }\n\n    final void setParameters() {\n        //set stuff to NTSC or PAL or Dendy values\n        switch (mapper.getTVType()) {\n            case NTSC:\n            default:\n                numscanlines = 262;\n                vblankline = 241;\n                cpudivider[0] = 3;\n                break;\n            case PAL:\n                numscanlines = 312;\n                vblankline = 241;\n                cpudivider[0] = 4;\n                break;\n            case DENDY:\n                numscanlines = 312;\n                vblankline = 291;\n                cpudivider[0] = 3;\n                break;\n        }\n    }\n\n    public void runFrame() {\n        for (int line = 0; line < numscanlines; ++line) {\n            clockLine(line);\n        }\n    }\n\n    /**\n     * Performs a read from a PPU register, as well as causes any side effects\n     * of reading that specific register.\n     *\n     * @param regnum register to read (address with 0x2000 already subtracted)\n     * @return the data in the PPU register, or open bus (the last value written\n     * to a PPU register) if the register is read only\n     */\n    public final int read(final int regnum) {\n        switch (regnum) {\n            case 2:\n                even = true;\n                if (scanline == 241) {\n                    if (cycles == 1) {//suppress NMI flag if it was just turned on this same cycle\n                        vblankflag = false;\n                    }\n                    //OK, uncommenting this makes blargg's NMI suppression test\n                    //work but breaks Antarctic Adventure.\n                    //I'm going to need a cycle accurate CPU to fix that...\n//                    if (cycles < 4) {\n//                        //show vblank flag but cancel pending NMI before the CPU\n//                        //can actually do anything with it\n//                        //TODO: use proper interface for this\n//                        mapper.cpu.nmiNext = false;\n//                    }\n                }\n                openbus = (vblankflag ? 0x80 : 0)\n                        | (sprite0hit ? 0x40 : 0)\n                        | (spriteoverflow ? 0x20 : 0)\n                        | (openbus & 0x1f);\n                vblankflag = false;\n                break;\n            case 4:\n                // reading this is NOT reliable but some games do it anyways\n                openbus = OAM[oamaddr];\n                //System.err.println(\"codemasters?\");\n                if (renderingOn() && (scanline <= 240)) {\n                    if (cycles < 64) {\n                        return 0xFF;\n                    } else if (cycles <= 256) {\n                        return 0x00;\n                    } //Micro Machines relies on this:\n                    else if (cycles < 320) {\n                        return 0xFF;\n                    } //and this:\n                    else {\n                        return secOAM[0]; //is this the right value @ the time?\n                    }\n                }\n                break;\n            case 7:\n                // PPUDATA\n                // correct behavior. read is delayed by one\n                // -unless- is a read from sprite pallettes\n                final int temp;\n                if ((loopyV & 0x3fff) < 0x3f00) {\n                    temp = readbuffer;\n                    readbuffer = mapper.ppuRead(loopyV & 0x3fff);\n                } else {\n                    readbuffer = mapper.ppuRead((loopyV & 0x3fff) - 0x1000);\n                    temp = mapper.ppuRead(loopyV);\n                }\n                if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {\n                    loopyV += vraminc;\n                } else {\n                    //if 2007 is read during rendering PPU increments both horiz\n                    //and vert counters erroneously.\n                    incLoopyVHoriz();\n                    incLoopyVVert();\n                }\n                openbus = temp;\n                break;\n\n            // and don't increment on read\n            default:\n                return openbus; // last value written to ppu\n        }\n        return openbus;\n    }\n\n    /**\n     * Performs a write to a PPU register\n     *\n     * @param regnum register number from 0 to 7, memory addresses are decoded\n     * to these elsewhere\n     * @param data the value to write to the register (0x00 to 0xff valid)\n     */\n    public final void write(final int regnum, final int data) {\n//        if (regnum != 4 /*&& regnum != 7*/) {\n//            System.err.println(\"PPU write - wrote \" + utils.hex(data) + \" to reg \"\n//                    + utils.hex(regnum + 0x2000)\n//                    + \" frame \" + framecount + \" scanline \" + scanline);\n//        }\n        //debugdraw();\n        openbus = data;\n        switch (regnum) {\n            case 0: //PPUCONTROL (2000)\n                //set 2 bits of vram address (nametable select)\n                //bits 0 and 1 affect loopyT to change nametable start by 0x400\n                loopyT &= ~0xc00;\n                loopyT |= (data & 3) << 10;\n                /*\n                 SMB1 writes here at the end of its main loop and if this write\n                 lands on one exact PPU clock, the address bits are set to 0.\n                 This only happens on one CPU/PPU alignment of real hardware \n                 though so it only shows up ~33% of the time.\n                 */\n                vraminc = (((data & (utils.BIT2)) != 0) ? 32 : 1);\n                sprpattern = ((data & (utils.BIT3)) != 0);\n                bgpattern = ((data & (utils.BIT4)) != 0);\n                spritesize = ((data & (utils.BIT5)) != 0);\n                /*bit 6 is kind of a halt and catch fire situation since it outputs\n                 ppu color data on the EXT pins that are tied to ground if set\n                 and that'll make the PPU get very hot from sourcing the current. \n                 Only really useful for the NESRGB interposer board, kind of\n                 useless for emulators. I will ignore it.\n                 */\n                nmicontrol = ((data & (utils.BIT7)) != 0);\n\n                break;\n            case 1: //PPUMASK (2001)\n                grayscale = ((data & (utils.BIT0)) != 0);\n                bgClip = !((data & (utils.BIT1)) != 0); //clip left 8 pixels when its on\n                spriteClip = !((data & (utils.BIT2)) != 0);\n                bgOn = ((data & (utils.BIT3)) != 0);\n                spritesOn = ((data & (utils.BIT4)) != 0);\n                emph = (data & 0xe0) << 1;\n                if (numscanlines == 312) {\n                    //if PAL switch position of red and green emphasis bits (6 and 5)\n                    //red is bit 6 -> bit 7\n                    //green is bit 7 -> bit 6\n                    int red = (emph >> 6) & 1;\n                    int green = (emph >> 7) & 1;\n                    emph &= 0xf3f;\n                    emph |= (red << 7) | (green << 6);\n                }\n                break;\n            case 3:\n                // PPUOAMADDR (2003)\n                // most games just write zero and use the dma\n                oamaddr = data & 0xff;\n                break;\n            case 4:\n                // PPUOAMDATA(2004)\n                if ((oamaddr & 3) == 2) {\n                    OAM[oamaddr++] = (data & 0xE3);\n                } else {\n                    OAM[oamaddr++] = data;\n                }\n                oamaddr &= 0xff;\n                // games don't usually write this directly anyway, it's unreliable\n                break;\n\n            // PPUSCROLL(2005)\n            case 5:\n                if (even) {\n                    // update horizontal scroll\n                    loopyT &= ~0x1f;\n                    loopyX = data & 7;\n                    loopyT |= data >> 3;\n\n                    even = false;\n                } else {\n                    // update vertical scroll\n                    loopyT &= ~0x7000;\n                    loopyT |= ((data & 7) << 12);\n                    loopyT &= ~0x3e0;\n                    loopyT |= (data & 0xf8) << 2;\n                    even = true;\n\n                }\n                break;\n\n            case 6:\n                // PPUADDR (2006)\n                if (even) {\n                    // high byte\n                    loopyT &= 0xc0ff;\n                    loopyT |= ((data & 0x3f) << 8);\n                    loopyT &= 0x3fff;\n                    even = false;\n                } else {\n                    loopyT &= 0xfff00;\n                    loopyT |= data;\n                    loopyV = loopyT;\n                    even = true;\n                }\n                break;\n            case 7:\n                // PPUDATA             \n                mapper.ppuWrite((loopyV & 0x3fff), data);\n                if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {\n                    loopyV += vraminc;\n                } else if ((loopyV & 0x7000) == 0x7000) {\n                    int YScroll = loopyV & 0x3E0;\n                    loopyV &= 0xFFF;\n                    switch (YScroll) {\n                        case 0x3A0:\n                            loopyV ^= 0xBA0;\n                            break;\n                        case 0x3E0:\n                            loopyV ^= 0x3E0;\n                            break;\n                        default:\n                            loopyV += 0x20;\n                            break;\n                    }\n                } else {\n                    // while rendering, it seems to drop by 1 line, regardless of increment mode\n                    loopyV += 0x1000;\n                }\n                break;\n            default:\n                break;\n        }\n    }\n\n    /**\n     * PPU is on if either background or sprites are enabled\n     *\n     * @return true\n     */\n    public boolean renderingOn() {\n        return bgOn || spritesOn;\n    }\n\n    /**\n     * MMC3 scan line counter isn't clocked if background and sprites are using\n     * the same half of the pattern table\n     *\n     * @return true if PPU is rendering and BG and sprites are using different\n     * pattern tables\n     */\n    public final boolean mmc3CounterClocking() {\n        return (bgpattern != sprpattern) && renderingOn();\n    }\n\n    /**\n     * Runs the PPU emulation for one NES scan line.\n     */\n    public final void clockLine(int scanline) {\n        //skip a PPU clock on line 0 of odd frames when rendering is on\n        //and we are in NTSC mode (pal has no skip)\n        int skip = (numscanlines == 262\n                && scanline == 0\n                && renderingOn()\n                && !((framecount & (utils.BIT1)) != 0)) ? 1 : 0;\n        for (cycles = skip; cycles < 341; ++cycles) {\n            clock();\n        }\n    }\n\n    private int tileAddr = 0;\n    private int cpudividerctr = 0;\n\n    /**\n     * runs the emulation for one PPU clock cycle.\n     */\n    public final void clock() {\n\n        //cycle based ppu stuff will go here\n        if (cycles == 1) {\n            if (scanline == 0) {\n                dotcrawl = renderingOn();\n            }\n            if (scanline < 240) {\n                bgcolors[scanline] = pal[0];\n            }\n        }\n        if (scanline < 240 || scanline == (numscanlines - 1)) {\n            //on all rendering lines\n            if (renderingOn()\n                    && ((cycles >= 1 && cycles <= 256)\n                    || (cycles >= 321 && cycles <= 336))) {\n                //fetch background tiles, load shift registers\n                bgFetch();\n            } else if (cycles == 257 && renderingOn()) {\n                //x scroll reset\n                //horizontal bits of loopyV = loopyT\n                loopyV &= ~0x41f;\n                loopyV |= loopyT & 0x41f;\n\n            } else if (cycles > 257 && cycles <= 341) {\n                //clear the oam address from pxls 257-341 continuously\n                oamaddr = 0;\n            }\n            if ((cycles == 340) && renderingOn()) {\n                //read the same nametable byte twice\n                //this signals the MMC5 to increment the scanline counter\n                fetchNTByte();\n                fetchNTByte();\n            }\n            if (cycles == 65 && renderingOn()) {\n                oamstart = oamaddr;\n            }\n            if (cycles == 260 && renderingOn()) {\n                //evaluate sprites for NEXT scanline (as long as either background or sprites are enabled)\n                //this does in fact happen on scanline 261 but it doesn't do anything useful\n                //it's cycle 260 because that's when the first important sprite byte is read\n                //actually sprite overflow should be set by sprite eval somewhat before\n                //so this needs to be split into 2 parts, the eval and the data fetches\n                evalSprites();\n            }\n            if (scanline == (numscanlines - 1)) {\n                if (cycles == 0) {// turn off vblank, sprite 0, sprite overflow flags\n                    vblankflag = false;\n                    sprite0hit = false;\n                    spriteoverflow = false;\n                } else if (cycles >= 280 && cycles <= 304 && renderingOn()) {\n                    //loopyV = (all of)loopyT for each of these cycles\n                    loopyV = loopyT;\n                }\n            }\n        } else if (scanline == vblankline && cycles == 1) {\n            //handle vblank on / off\n            vblankflag = true;\n        }\n        if (!renderingOn() || (scanline > 240 && scanline < (numscanlines - 1))) {\n            //HACK ALERT\n            //handle the case of MMC3 mapper watching A12 toggle\n            //even when read or write aren't asserted on the bus\n            //needed to pass Blargg's mmc3 tests\n            mapper.checkA12(loopyV & 0x3fff);\n        }\n        if (scanline < 240 && cycles >= 1 && cycles <= 256) {\n            int bufferoffset = (scanline << 8) + (cycles - 1);\n            //bg drawing\n            if (bgOn) { //if background is on, draw a dot of that first\n                final boolean isBG = drawBGPixel(bufferoffset);\n                //sprite drawing\n                drawSprites(scanline, cycles - 1, isBG);\n\n            } else if (spritesOn) {\n                //just the sprites then\n                int bgcolor = ((loopyV > 0x3f00 && loopyV < 0x3fff) ? mapper.ppuRead(loopyV) : pal[0]);\n                bitmap[bufferoffset] = bgcolor;\n                drawSprites(scanline, cycles - 1, true);\n            } else {\n                //rendering is off, so draw either the background color OR\n                //if the PPU address points to the palette, draw that color instead.\n                int bgcolor = ((loopyV > 0x3f00 && loopyV < 0x3fff) ? mapper.ppuRead(loopyV) : pal[0]);\n                bitmap[bufferoffset] = bgcolor;\n            }\n            //deal with the grayscale flag\n            if (grayscale) {\n                bitmap[bufferoffset] &= 0x30;\n            }\n            //handle color emphasis\n            bitmap[bufferoffset] = (bitmap[bufferoffset] & 0x3f) | emph;\n\n        }\n        //handle nmi\n        if (vblankflag && nmicontrol) {\n            //pull NMI line on when conditions are right\n            mapper.cpu.setNMI(true);\n        } else {\n            mapper.cpu.setNMI(false);\n        }\n\n        //clock CPU, once every 3 ppu cycles\n        div = (div + 1) % cpudivider[cpudividerctr];\n        if (div == 0) {\n            mapper.cpu.runcycle(scanline, cycles);\n            mapper.cpucycle(1);\n            cpudividerctr = (cpudividerctr + 1) % cpudivider.length;\n        }\n        if (cycles == 257) {\n            mapper.notifyscanline(scanline);\n        } else if (cycles == 340) {\n            scanline = (scanline + 1) % numscanlines;\n            if (scanline == 0) {\n                ++framecount;\n            }\n        }\n    }\n\n    private void bgFetch() {\n        //fetch tiles for background\n        //on real PPU this logic is repurposed for sprite fetches as well\n        //System.err.println(hex(loopyV));\n        bgAttrShiftRegH |= ((nextattr >> 1) & 1);\n        bgAttrShiftRegL |= (nextattr & 1);\n        //background fetches\n        switch ((cycles - 1) & 7) {\n            case 1:\n                fetchNTByte();\n                break;\n            case 3:\n                //fetch attribute (FIX MATH)\n                penultimateattr = getAttribute(((loopyV & 0xc00) + 0x23c0),\n                        (loopyV) & 0x1f,\n                        (((loopyV) & 0x3e0) >> 5));\n                break;\n            case 5:\n                //fetch low bg byte\n                linelowbits = mapper.ppuRead((tileAddr)\n                        + ((loopyV & 0x7000) >> 12));\n                break;\n            case 7:\n                //fetch high bg byte\n                linehighbits = mapper.ppuRead((tileAddr) + 8\n                        + ((loopyV & 0x7000) >> 12));\n                bgShiftRegL |= linelowbits;\n                bgShiftRegH |= linehighbits;\n                nextattr = penultimateattr;\n                if (cycles != 256) {\n                    incLoopyVHoriz();\n                } else {\n                    incLoopyVVert();\n                }\n                break;\n            default:\n                break;\n        }\n        if (cycles >= 321 && cycles <= 336) {\n            bgShiftClock();\n        }\n    }\n\n    private void incLoopyVVert() {\n        //increment loopy_v to next row of tiles\n        if ((loopyV & 0x7000) == 0x7000) {\n            //reset the fine scroll bits and increment tile address to next row\n            loopyV &= ~0x7000;\n            int y = (loopyV & 0x03E0) >> 5;\n            if (y == 29) {\n                //if row is 29 zero fine scroll and bump to next nametable\n                y = 0;\n                loopyV ^= 0x0800;\n            } else {\n                //increment (wrap to 5 bits) but if row is already over 29\n                //we don't bump loopyV to next nt.\n                y = (y + 1) & 31;\n            }\n            loopyV = (loopyV & ~0x03E0) | (y << 5);\n        } else {\n            //increment the fine scroll\n            loopyV += 0x1000;\n        }\n    }\n\n    private void incLoopyVHoriz() {\n        //increment horizontal part of loopyv\n        if ((loopyV & 0x001F) == 31) // if coarse X == 31\n        {\n            loopyV &= ~0x001F; // coarse X = 0\n            loopyV ^= 0x0400;// switch horizontal nametable\n        } else {\n            loopyV += 1;// increment coarse X\n        }\n    }\n\n    private void fetchNTByte() {\n        //fetch nt byte\n        tileAddr = mapper.ppuRead(\n                ((loopyV & 0xc00) | 0x2000) + (loopyV & 0x3ff)) * 16\n                + (bgpattern ? 0x1000 : 0);\n    }\n\n    private boolean drawBGPixel(int bufferoffset) {\n        //background drawing\n        //loopyX picks bits\n        final boolean isBG;\n        if (bgClip && (bufferoffset & 0xff) < 8) {\n            //left hand of screen clipping\n            //(needs to be marked as BG and not cause a sprite hit)\n            bitmap[bufferoffset] = pal[0];\n            isBG = true;\n        } else {\n            final int bgPix = (((bgShiftRegH >> -loopyX + 16) & 1) << 1)\n                    + ((bgShiftRegL >> -loopyX + 16) & 1);\n            final int bgPal = (((bgAttrShiftRegH >> -loopyX + 8) & 1) << 1)\n                    + ((bgAttrShiftRegL >> -loopyX + 8) & 1);\n            isBG = (bgPix == 0);\n            bitmap[bufferoffset] = isBG ? pal[0] : pal[(bgPal << 2) + bgPix];\n        }\n        bgShiftClock();\n        return isBG;\n    }\n\n    private void bgShiftClock() {\n        bgShiftRegH <<= 1;\n        bgShiftRegL <<= 1;\n        bgAttrShiftRegH <<= 1;\n        bgAttrShiftRegL <<= 1;\n    }\n\n    boolean dotcrawl = true;\n    private boolean sprite0here = false;\n\n    /**\n     * evaluates PPU sprites for the NEXT scanline\n     */\n    private void evalSprites() {\n        sprite0here = false;\n        int ypos, offset;\n        found = 0;\n        Arrays.fill(secOAM, 0xff);\n        //primary evaluation\n        //need to emulate behavior when OAM address is set to nonzero here\n        for (int spritestart = oamstart; spritestart < 255; spritestart += 4) {\n            //for each sprite, first we cull the non-visible ones\n            ypos = OAM[spritestart];\n            offset = scanline - ypos;\n            if (ypos > scanline || offset > (spritesize ? 15 : 7)) {\n                //sprite is out of range vertically\n                continue;\n            }\n            //if we're here it's a valid renderable sprite\n            if (spritestart == 0) {\n                sprite0here = true;\n            }\n            //actually which sprite is flagged for sprite 0 depends on the starting\n            //oam address which is, on the real thing, not necessarily zero.\n            if (found >= 8) {\n                //if more than 8 sprites, set overflow bit and STOP looking\n                //todo: add \"no sprite limit\" option back\n                spriteoverflow = true;\n                break; //also the real PPU does strange stuff on sprite overflow\n                //todo: emulate register trashing that happens when overflow\n            } else {\n                //set up ye sprite for rendering\n                secOAM[found * 4] = OAM[spritestart];\n//                secOAM[found * 4 + 1] = OAM[spritestart + 1];\n//                secOAM[found * 4 + 2] = OAM[spritestart + 2];\n//                secOAM[found * 4 + 3] = OAM[spritestart + 3];\n                final int oamextra = OAM[spritestart + 2];\n\n                //bg flag\n                spritebgflags[found] = ((oamextra & (utils.BIT5)) != 0);\n                //x value\n                spriteXlatch[found] = OAM[spritestart + 3];\n                spritepals[found] = ((oamextra & 3) + 4) * 4;\n                if (((oamextra & (utils.BIT7)) != 0)) {\n                    //if sprite is flipped vertically, reverse the offset\n                    offset = (spritesize ? 15 : 7) - offset;\n                }\n                //now correction for the fact that 8x16 tiles are 2 separate tiles\n                if (offset > 7) {\n                    offset += 8;\n                }\n                //get tile address (8x16 sprites can use both pattern tbl pages but only the even tiles)\n                final int tilenum = OAM[spritestart + 1];\n                spriteFetch(spritesize, tilenum, offset, oamextra);\n                ++found;\n            }\n        }\n        for (int i = found; i < 8; ++i) {\n            //fill unused sprite registers with zeros\n            spriteshiftregL[found] = 0;\n            spriteshiftregH[found] = 0;\n            //also, we need to do 8 reads no matter how many sprites we found\n            //dummy reads are to sprite 0xff\n            spriteFetch(spritesize, 0xff, 0, 0);\n        }\n    }\n\n    private void spriteFetch(final boolean spritesize, final int tilenum, int offset, final int oamextra) {\n        int tilefetched;\n        if (spritesize) {\n            tilefetched = ((tilenum & 1) * 0x1000)\n                    + (tilenum & 0xfe) * 16;\n        } else {\n            tilefetched = tilenum * 16\n                    + ((sprpattern) ? 0x1000 : 0);\n        }\n        tilefetched += offset;\n        //now load up the shift registers for said sprite\n        final boolean hflip = ((oamextra & (utils.BIT6)) != 0);\n        if (!hflip) {\n            spriteshiftregL[found] = reverseByte(mapper.ppuRead(tilefetched));\n            spriteshiftregH[found] = reverseByte(mapper.ppuRead(tilefetched + 8));\n        } else {\n            spriteshiftregL[found] = mapper.ppuRead(tilefetched);\n            spriteshiftregH[found] = mapper.ppuRead(tilefetched + 8);\n        }\n    }\n\n    /**\n     * draws appropriate pixel of the sprites selected by sprite evaluation\n     */\n    private void drawSprites(int line, int x, boolean bgflag) {\n        final int startdraw = !spriteClip ? 0 : 8;//sprite left 8 pixels clip\n        int sprpxl = 0;\n        int index = 7;\n        //check all the used sprite slots to see if any sprite covers this pixel\n        for (int y = found - 1; y >= 0; --y) {\n            int off = x - spriteXlatch[y];\n            if (off >= 0 && off <= 8) {\n                if ((spriteshiftregH[y] & 1) + (spriteshiftregL[y] & 1) != 0) {\n                    index = y;\n                    sprpxl = 2 * (spriteshiftregH[y] & 1) + (spriteshiftregL[y] & 1);\n                }\n                spriteshiftregH[y] >>= 1;\n                spriteshiftregL[y] >>= 1;\n            }\n        }\n        if (sprpxl == 0 || x < startdraw || !spritesOn) {\n            //no opaque sprite pixel here\n            return;\n        }\n\n        if (sprite0here && (index == 0) && !bgflag\n                && x < 255) {\n            //sprite 0 hit!\n            sprite0hit = true;\n        }\n        //now, FINALLY, drawing.\n        if (!spritebgflags[index] || bgflag) {\n            bitmap[(line << 8) + x] = pal[spritepals[index] + sprpxl];\n        }\n    }\n\n    /**\n     * Read the appropriate color attribute byte for the current tile. this is\n     * fetched 2x as often as it really needs to be, the MMC5 takes advantage of\n     * that for ExGrafix mode.\n     *\n     * @param ntstart //start of the current attribute table\n     * @param tileX //x position of tile (0-31)\n     * @param tileY //y position of tile (0-29)\n     * @return attribute table value (0-3)\n     */\n    private int getAttribute(final int ntstart, final int tileX, final int tileY) {\n        final int base = mapper.ppuRead(ntstart + (tileX >> 2) + 8 * (tileY >> 2));\n        if (((tileY & (utils.BIT1)) != 0)) {\n            if (((tileX & (utils.BIT1)) != 0)) {\n                return (base >> 6) & 3;\n            } else {\n                return (base >> 4) & 3;\n            }\n        } else if (((tileX & (utils.BIT1)) != 0)) {\n            return (base >> 2) & 3;\n        } else {\n            return base & 3;\n        }\n    }\n\n    /**\n     * draw all 4 nametables/tileset/pallette to debug window. (for the\n     * nametable viewer)\n     */\n    private void debugDraw() {\n        for (int i = 0; i < 32; ++i) {\n            for (int j = 0; j < 30; ++j) {\n                nametableView.setRGB(i * 8, j * 8, 8, 8,\n                        debugGetTile(mapper.ppuRead(0x2000 + i + 32 * j) * 16\n                                + (bgpattern ? 0x1000 : 0)), 0, 8);\n            }\n        }\n        for (int i = 0; i < 32; ++i) {\n            for (int j = 0; j < 30; ++j) {\n                nametableView.setRGB(i * 8 + 255, j * 8, 8, 8,\n                        debugGetTile(mapper.ppuRead(0x2400 + i + 32 * j) * 16\n                                + (bgpattern ? 0x1000 : 0)), 0, 8);\n            }\n        }\n        for (int i = 0; i < 32; ++i) {\n            for (int j = 0; j < 30; ++j) {\n                nametableView.setRGB(i * 8, j * 8 + 239, 8, 8,\n                        debugGetTile(mapper.ppuRead(0x2800 + i + 32 * j) * 16\n                                + (bgpattern ? 0x1000 : 0)), 0, 8);\n            }\n        }\n        for (int i = 0; i < 32; ++i) {\n            for (int j = 0; j < 30; ++j) {\n                nametableView.setRGB(i * 8 + 255, j * 8 + 239, 8, 8,\n                        debugGetTile(mapper.ppuRead(0x2C00 + i + 32 * j) * 16\n                                + (bgpattern ? 0x1000 : 0)), 0, 8);\n            }\n        }\n\n        //draw the tileset\n//        for (int i = 0; i < 16; ++i) {\n//            for (int j = 0; j < 32; ++j) {\n//                nametableView.setRGB(i * 8, j * 8, 8, 8,\n//                        debugGetTile((i + 16 * j) * 16), 0, 8);\n//            }\n//        }\n        //draw the palettes on the bottom.\n//        for (int i = 0; i < 32; ++i) {\n//            for (int j = 0; j < 16; ++j) {\n//                for (int k = 0; k < 16; ++k) {\n//                    nametableView.setRGB(j + i * 16, k + 256, nescolor[0][pal[i]]);\n//                }\n//            }\n//        }\n        debuggui.setFrame(nametableView);\n        //debugbuff.clear();\n    }\n\n    /**\n     * Fetches 8x8 NES tile stored at the given offset. This is an artifact of\n     * the first renderer I wrote which drew 8 scanlines at a time.\n     *\n     * @return an 8x8 array with colors stored as RGB packed in int\n     */\n    private int[] debugGetTile(final int offset) {\n        //read one whole tile from nametable and convert from bitplane to packed\n        //only used for debugging\n        int[] dat = new int[64];\n        for (int i = 0; i < 8; ++i) {\n            //per line of tile ( 1 byte)\n            for (int j = 0; j < 8; ++j) {\n                //per pixel(1 bit)\n                dat[8 * i + j]\n                        = ((((mapper.ppuRead(i + offset) & (utils.BIT7 - j)) != 0))\n                        ? 0x555555 : 0)\n                        + ((((mapper.ppuRead(i + offset + 8) & (utils.BIT7 - j)) != 0))\n                        ? 0xaaaaaa : 0);\n            }\n        }\n        return dat;\n    }\n\n    /**\n     * Sends off a frame of NES video to be rendered by the GUI. also includes\n     * dot crawl flag and BG color to be displayed around edges which are needed\n     * for the NTSC renderer.\n     *\n     * @param gui the GUI window to render to\n     */\n    public final void renderFrame(GUIInterface gui) {\n        if (PPUDEBUG) {\n            debugDraw();\n        }\n        if (gui != null) {\n            gui.setFrame(bitmap, bgcolors, dotcrawl);\n        }\n\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/PrefsSingleton.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport java.util.prefs.Preferences;\n\n/**\n *\n * @author Andrew\n */\npublic class PrefsSingleton {\n\n    private static Preferences instance = null;\n\n    protected PrefsSingleton() {\n        // Exists only to defeat instantiation.\n    }\n\n    public synchronized static Preferences get() {\n        if (instance == null) {\n            instance = Preferences.userNodeForPackage(com.grapeshot.halfnes.NES.class);\n        }\n        return instance;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ROMLoader.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.mappers.BadMapperException;\nimport com.grapeshot.halfnes.mappers.Mapper;\n\npublic class ROMLoader {\n    //this is the oldest code in the project... I'm honestly ashamed\n    //at how it's structured but for now it works.\n    //TODO: fix this up\n\n    //this SHOULD do just enough to figure out the file type\n    //and the correct mapper for it, and no more.\n    public String name;\n    public int prgsize;\n    public int chrsize;\n    public Mapper.MirrorType scrolltype;\n    public Mapper.TVType tvtype;\n    public int mappertype;\n    public int submapper;\n    public int prgoff, chroff;\n    public boolean savesram = false;\n    public int[] header;\n    private final int[] therom;\n\n    public ROMLoader(String filename) {\n        therom = FileUtils.readfromfile(filename);\n        name = filename;\n    }\n\n    private void ReadHeader(int len) {\n        // iNES header is 16 bytes, nsf header is 128,\n        //other headers increasingly large\n        header = new int[len];\n        System.arraycopy(therom, 0, header, 0, len);\n    }\n\n    public void parseHeader() throws BadMapperException {\n        ReadHeader(16);\n        // decode iNES 1.0 headers\n        // 1st 4 bytes : $4E $45 $53 $1A\n        if (header[0] == 'N' && header[1] == 'E'\n                && header[2] == 'S' && header[3] == 0x1A) {\n            //a valid iNES file, proceed\n\n            scrolltype = ((header[6] & (utils.BIT3)) != 0)\n                    ? Mapper.MirrorType.FOUR_SCREEN_MIRROR\n                    : ((header[6] & (utils.BIT0)) != 0)\n                            ? Mapper.MirrorType.V_MIRROR\n                            : Mapper.MirrorType.H_MIRROR;\n            savesram = ((header[6] & (utils.BIT1)) != 0);\n            mappertype = (header[6] >> 4);\n            //detect NES 2.0 format for the rest of the header\n            if (((header[7] >> 2) & 3) == 2) {\n                System.err.println(\"NES 2 format\");\n                //nes 2\n                //mapper buts 4-7 in byte 7\n                mappertype += ((header[7] >> 4) << 4);\n                //mapper bits 8-12 in byte 8\n                mappertype += ((header[8] & 15) << 8);\n                //submapper number is the high 4 bits of byte 8\n                submapper = (header[8] >> 4);\n                //extra prg and chr bits in byte 9\n                prgsize = Math.min(therom.length - 16,\n                        16384 * (header[4] + ((header[9] & 15) << 8)));\n                if (prgsize == 0) {\n                    throw new BadMapperException(\"No PRG ROM size in header\");\n                }\n                chrsize = Math.min(therom.length - 16 - prgsize,\n                        8192 * (header[5] + ((header[9] >> 4) << 8)));\n                //prg ram size in header byte 10\n                //chr ram size byte 11\n                //tv type is byte 12\n                if ((header[12] & 3) == 1) {\n                    //pal mode only rom\n                    tvtype = Mapper.TVType.PAL;\n                    System.err.println(\"pal\");\n                } else {\n                    //if ntsc only or works on both we'll use ntsc\n                    tvtype = Mapper.TVType.NTSC;\n                }\n                //byte 13 is Vs. System palettes that i don't deal with yet\n                //byte 14 and 15 must be zero\n\n            } else {\n                //nes 1 format, with hacks\n                prgsize = Math.min(therom.length - 16, 16384 * header[4]);\n                if (prgsize == 0) {\n                    throw new BadMapperException(\"No PRG ROM size in header\");\n                    //someone made this field zero on a 4mb multicart ROM\n                    //and someone ELSE made this zero for an 8k PRG dump (no-intro)\n                    //so if anyone gets this error make some heuristics to fix it.\n                    //basically no multicarts > 2mb in iNES 1.0 format\n                }\n                chrsize = Math.min(therom.length - 16 - prgsize, 8192 * header[5]);\n                if (header[11] + header[12] + header[13] + header[14]\n                        + header[15] == 0) {\n                    //only consider upper bytes of mapper # if the end bytes are zero\n                    mappertype += ((header[7] >> 4) << 4);\n                    if (((header[9] & (utils.BIT0)) != 0)) {\n                        //detect tv type though it's not really used\n                        tvtype = Mapper.TVType.PAL;\n                        System.err.println(\"pal header type 1\");\n                    } else if ((header[10] & 3) == 2) {\n                        tvtype = Mapper.TVType.PAL;\n                        System.err.println(\"pal header type 2\");\n                    } else {\n                        tvtype = Mapper.TVType.NTSC;\n                    }\n                } else {\n                    System.err.println(\"diskdude (please clean your roms)\");\n                    tvtype = Mapper.TVType.NTSC;\n                }\n            }\n            // calc offsets; header not incl. here\n            prgoff = 0;\n            chroff = 0 + prgsize;\n        } else if (('N' == header[0]) && ('E' == header[1])\n                && ('S' == header[2]) && ('M' == header[3])\n                && (0x1a == header[4])) {\n            //nsf file\n            mappertype = -1;\n            //reread header since it's 128 bytes\n            ReadHeader(128);\n            prgsize = therom.length - 128;\n        } else if (header[0] == 'U') {\n            throw new BadMapperException(\"This is a UNIF file with the wrong extension\");\n        } else {\n            throw new BadMapperException(\"iNES Header Invalid\");\n        }\n    }\n\n    public int[] load(int size, int offset) {\n        int[] bindata = new int[size];\n        System.arraycopy(therom, offset + header.length, bindata, 0, size);\n        return bindata;\n    }\n\n    public int romlen() {\n        return therom.length - header.length;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/Twiddler.form",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n\n<Form version=\"1.3\" maxVersion=\"1.9\" type=\"org.netbeans.modules.form.forminfo.JFrameFormInfo\">\n  <Properties>\n    <Property name=\"defaultCloseOperation\" type=\"int\" value=\"3\"/>\n  </Properties>\n  <SyntheticProperties>\n    <SyntheticProperty name=\"formSizePolicy\" type=\"int\" value=\"1\"/>\n    <SyntheticProperty name=\"generateCenter\" type=\"boolean\" value=\"false\"/>\n  </SyntheticProperties>\n  <AuxValues>\n    <AuxValue name=\"FormSettings_autoResourcing\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_autoSetComponentName\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_generateFQN\" type=\"java.lang.Boolean\" value=\"true\"/>\n    <AuxValue name=\"FormSettings_generateMnemonicsCode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_i18nAutoMode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_layoutCodeTarget\" type=\"java.lang.Integer\" value=\"1\"/>\n    <AuxValue name=\"FormSettings_listenerGenerationStyle\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_variablesLocal\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_variablesModifier\" type=\"java.lang.Integer\" value=\"2\"/>\n  </AuxValues>\n\n  <Layout>\n    <DimensionLayout dim=\"0\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" attributes=\"0\">\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Component id=\"jTextField1\" min=\"-2\" pref=\"198\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n              <Component id=\"jButton1\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace pref=\"24\" max=\"32767\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n    <DimensionLayout dim=\"1\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n              <EmptySpace min=\"-2\" pref=\"19\" max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jTextField1\" alignment=\"3\" min=\"-2\" pref=\"28\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jButton1\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace pref=\"25\" max=\"32767\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n  </Layout>\n  <SubComponents>\n    <Component class=\"javax.swing.JTextField\" name=\"jTextField1\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"0\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButton1\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Apply\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButton1ActionPerformed\"/>\n      </Events>\n    </Component>\n  </SubComponents>\n</Form>\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/Twiddler.java",
    "content": "/*\n * To change this license header, choose License Headers in Project Properties.\n * To change this template file, choose Tools | Templates\n * and open the template in the editor.\n */\npackage com.grapeshot.halfnes;\n\n/**\n *\n * @author Andrew the brain dead simplest way I could tweak a value with a\n * minimum hassle.\n */\npublic class Twiddler extends javax.swing.JFrame {\n\n    double d = 0;\n\n    /**\n     * Creates new form Twiddler\n     */\n    public Twiddler() {\n        initComponents();\n    }\n\n    public Twiddler(double v) {\n        initComponents();\n        d = v;\n        jTextField1.setText(Double.toString(v));\n    }\n\n    public double get() {\n        return d;\n    }\n\n    /**\n     * This method is called from within the constructor to initialize the form.\n     * WARNING: Do NOT modify this code. The content of this method is always\n     * regenerated by the Form Editor.\n     */\n    @SuppressWarnings(\"unchecked\")\n    // <editor-fold defaultstate=\"collapsed\" desc=\"Generated Code\">//GEN-BEGIN:initComponents\n    private void initComponents() {\n\n        jTextField1 = new javax.swing.JTextField();\n        jButton1 = new javax.swing.JButton();\n\n        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);\n\n        jTextField1.setText(\"0\");\n\n        jButton1.setText(\"Apply\");\n        jButton1.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButton1ActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());\n        getContentPane().setLayout(layout);\n        layout.setHorizontalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 198, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addComponent(jButton1)\n                .addContainerGap(24, Short.MAX_VALUE))\n        );\n        layout.setVerticalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addGap(19, 19, 19)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jTextField1, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addComponent(jButton1))\n                .addContainerGap(25, Short.MAX_VALUE))\n        );\n\n        pack();\n    }// </editor-fold>//GEN-END:initComponents\n\n    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed\n        d = Double.parseDouble(jTextField1.getText());\n    }//GEN-LAST:event_jButton1ActionPerformed\n\n    // Variables declaration - do not modify//GEN-BEGIN:variables\n    private javax.swing.JButton jButton1;\n    private javax.swing.JTextField jTextField1;\n    // End of variables declaration//GEN-END:variables\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/AudioOutInterface.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic interface AudioOutInterface {\n\n    public void outputSample(int sample);\n\n    public void flushFrame(boolean waitIfBufferFull);\n\n    public void pause();\n\n    public void resume();\n\n    public void destroy();\n\n    public boolean bufferHasLessThan(int samples);\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/CircularBuffer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic class CircularBuffer {\n\n    int[] buffer;\n    int bufsize;\n    int write_ptr;\n    int read_ptr;\n\n    public CircularBuffer(int size) {\n        //gives you a circular FIFO of indicated size.\n        //size rounded up to nearest power of two. Limited to 2^26 b/c that's 256mb\n        for (int i = 0; i < 26; ++i) {\n            int q = (int) Math.pow(2, i);\n            if (q > (size)) {\n                buffer = new int[q];\n                bufsize = q;\n                break;\n            }\n        }\n        if (buffer == null) {\n            throw new UnsupportedOperationException(\"Buffer too large\");\n        }\n        write_ptr = size - 2;\n        read_ptr = 0;\n    }\n\n    public void write(final int data) {\n        buffer[write_ptr] = data;\n        ++write_ptr;\n        write_ptr &= (bufsize - 1);\n    }\n\n    public int read() {\n        final int retval = buffer[read_ptr];\n        ++read_ptr;\n        read_ptr &= (bufsize - 1);\n        return retval;\n    }\n\n    public void advanceRead(int amt) {\n        read_ptr = (read_ptr + amt) & (bufsize - 1);\n    }\n\n    public void advanceWrite(int amt) {\n        write_ptr = (write_ptr + amt) & (bufsize - 1);\n    }\n\n    public int peek() {\n        return buffer[read_ptr];\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/ExpansionSoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic interface ExpansionSoundChip {\n\n    public void clock(final int cycles);\n\n    public void write(int register, int data);\n\n    public int getval();\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/FDSSoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class FDSSoundChip implements ExpansionSoundChip {\n    //emulates the wavetable channel in the FDS 2C33 sound chip\n    //(does anything ever read back from these registers? they aren't all write-only)\n\n    //io enable: must be set for any other register to work\n    boolean regEnable = true;\n    //wavetable RAM (actually only 6 bits wide)\n    int[] wavetable = new int[64];\n    int waveAddr, waveOut,\n            waveAccum; //16 bits\n    boolean waveWriteEnable; //holds channel at last output value when on and\n    //allows access to wavetable RAM. does NOT stop wave unit. \n\n    //envelopes\n    boolean volEnvDirection, volEnvDisable, modEnvDirection, modEnvDisable;\n    int volEnvSpeed, modEnvSpeed, envClockMultiplier = 0xe8;//bios sets it thus?\n    int pitch; //12 bits\n    //modulation\n    boolean modDisable;\n    int modCtr, //7 bits SIGNED +63 to -64\n            modFreq, //12 bits\n            modAccum;\n    int[] modTable = new int[64]; //3 bits wide\n    int modTableAddr; //six bits, not settable from register\n    //Volumes\n    int masterVol, volGain, modGain;\n\n    //the lowpass\n    int lpaccum;\n    int modout;\n\n    boolean BothEnvDisable, haltWaveAndReset;\n\n    @Override\n    public void clock(int cycles) {\n        for (int i = 0; i < cycles; ++i) {\n            runUnits();\n        }\n    }\n\n    private void runUnits() {\n        //increment wave accumulator\n        if ((pitch + modout) > 0 && !haltWaveAndReset) {\n            waveAccum += (pitch + modout);\n            if ((waveAccum & 0xffff) != waveAccum) {\n                //increment wave position on overflow\n                waveAccum &= 0xffff;\n                waveAddr = (waveAddr + 1) & 63;\n            }\n        }\n\n        //increment modulator\n        if (modFreq > 0 && !modDisable) {\n            modAccum += modFreq;\n            if ((modAccum & 0xffff) != modAccum) {\n                //and when that overflows run the rest of the modulation stuff\n                modAccum &= 0xffff;\n                CalculateModulator();\n            }\n        } else if (modDisable) {\n            modAccum = 0;\n            modout = 0;\n        }\n        if (!haltWaveAndReset && !BothEnvDisable && (envClockMultiplier != 0)) {\n            CalculateEnvelopes();\n        }\n        if (!waveWriteEnable) {\n            waveOut = wavetable[waveAddr];\n        }\n        int tmp = (volGain > 32) ? 32 : volGain;\n        int out = (waveOut * tmp);\n        //apply master volume attenuator\n        switch (masterVol) {\n            case 0:\n            default:\n                out *= 8;\n                break;\n            case 1:\n                out *= 5;\n                break;\n            case 2:\n                out *= 4;\n                break;\n            case 3:\n                out *= 3;\n                break;\n        }\n        //do a little lowpass (about 2khz)\n\n        out += lpaccum;\n        lpaccum -= out >> 6;\n    }\n\n    private void CalculateModulator() {\n        switch (modTable[modTableAddr]) {\n            case 0:\n            default:\n                modCtr += 0;\n                break;\n            case 1:\n                modCtr += 1;\n                break;\n            case 2:\n                modCtr += 2;\n                break;\n            case 3:\n                modCtr += 4;\n                break;\n            case 4:\n                modCtr = 0;\n                break;\n            case 5:\n                modCtr -= 4;\n                break;\n            case 6:\n                modCtr -= 2;\n                break;\n            case 7:\n                modCtr -= 1;\n                break;\n        }\n        modTableAddr = ++modTableAddr & 63;\n        //wrap mod counter to 7 bits signed again\n        modCtr = (modCtr << 25) >> 25;\n\n        //apply modulator result (code pretty much from nesdev wiki)\n        //thanks rainwarrior (thrainwarrior)\n        // pitch   = $4082/4083 (12-bit unsigned pitch value)\n        // counter = $4085 (7-bit signed mod counter)\n        // gain    = $4084 (6-bit unsigned mod gain)\n        // 1. multiply counter by gain, lose lowest 4 bits of result but \"round\" in a strange way\n        int temp = modCtr * modGain;\n        int remainder = temp & 0xF;\n        temp >>= 4;\n        if ((remainder > 0) && ((temp & 0x80) == 0)) {\n            if (modCtr < 0) {\n                temp -= 1;\n            } else {\n                temp += 2;\n            }\n        }\n        // 2. wrap if a certain range is exceeded\n        if (temp >= 192) {\n            temp -= 256;\n        } else if (temp < -64) {\n            temp += 256;\n        }\n        // 3. multiply result by pitch, then round to nearest while dropping 6 bits\n        temp = pitch * temp;\n        remainder = temp & 0x3F;\n        temp >>= 6;\n        if (remainder >= 32) {\n            temp += 1;\n        }\n        // final mod result is in temp\n        modout = temp;\n    }\n\n    int modEnvAccum, volEnvAccum;\n\n    private void CalculateEnvelopes() {\n        if (!modEnvDisable) {\n            ++modEnvAccum;\n            if (modEnvAccum > (8 * envClockMultiplier * (modEnvSpeed + 1))) {\n                modEnvAccum = 0;\n                if (modEnvDirection) {\n                    //increase\n                    if (modGain < 32) {\n                        ++modGain;\n                    }\n                } else {\n                    //decrease\n                    if (modGain > 0) {\n                        --modGain;\n                    }\n                }\n            }\n        }\n\n        if (!volEnvDisable) {\n            ++volEnvAccum;\n            if (volEnvAccum > (8 * envClockMultiplier * (volEnvSpeed + 1))) {\n                volEnvAccum = 0;\n                if (volEnvDirection) {\n                    //increase\n                    if (volGain < 32) {\n                        ++volGain;\n                    }\n\n                } else {\n                    //decrease\n                    if (volGain > 0) {\n                        --volGain;\n                    }\n                }\n            }\n\n        }\n    }\n\n    @Override\n    public void write(int register, int data) {\n        if (register == 0x4023) {\n            //enable register, must be 1 for anything else to work\n            regEnable = ((data & (utils.BIT0)) != 0);\n        }\n        if (regEnable) {\n            if (register >= 0x4040 && register <= 0x407f) {\n                //wavetable write\n                if (waveWriteEnable) {\n                    wavetable[(register - 0x4040) & 63] = (data & 63);\n                }\n            } else if (register == 0x4080) {\n                //volume envelope enable and speed\n                volEnvDisable = ((data & (utils.BIT7)) != 0); //ON when it's FALSE\n                volEnvDirection = ((data & (utils.BIT6)) != 0);\n                if (volEnvDisable) {\n                    volGain = (data & 63);\n                }\n                volEnvSpeed = (data & 63);\n                volEnvAccum = 0;\n            } else if (register == 0x4082) {\n                //low 8 bits of wave frequency\n                pitch &= 0xf00;\n                pitch |= (data & 0xff);\n            } else if (register == 0x4083) {\n                //frequency high, wave reset and phase\n                pitch &= 0xff;\n                pitch |= (data & 0xf) << 8;\n                haltWaveAndReset = ((data & (utils.BIT7)) != 0);\n                if (haltWaveAndReset) {\n                    waveAccum = 0;\n                    waveAddr = 0;\n                }\n                //uh is it write 1 to enable or DISable here??\n                //todo: do something with envelope enables bit 6\n                BothEnvDisable = ((data & (utils.BIT6)) != 0);\n            } else if (register == 0x4084) {\n                //modulator envelope enable and speed\n                modEnvDisable = ((data & (utils.BIT7)) != 0);\n                modEnvDirection = ((data & (utils.BIT6)) != 0);\n                if (modEnvDisable) {\n                    modGain = data & 0x3f;\n                }\n                modEnvSpeed = data & 0x3f;\n                modAccum = 0;\n                modEnvAccum = 0;\n            } else if (register == 0x4085) {\n                //set modulator counter directly\n                //Bio Miracle Bokutte Opa uses this, requires very tight timing\n                //sign extend    \n                modCtr = ((data & 0x7f) << 25) >> 25;\n                //modTableAddr = 0;\n            } else if (register == 0x4086) {\n                //low 8 bits of mod freq\n                modFreq &= 0xf00;\n                modFreq |= (data & 0xff);\n            } else if (register == 0x4087) {\n                //high 4 bits of mod freq, reset and phase\n                modFreq &= 0xff;\n                modFreq |= (data & 0xf) << 8;\n                //setting frequency to 0 disables modulation too\n                //i think this is 1 to disable.\n                modDisable = ((data & (utils.BIT7)) != 0);\n            } else if (register == 0x4088) {\n                //write data to 2 consecutive entries of modulator table\n                if (modDisable) {\n                    for (int i = 0; i < 2; ++i) {\n                        modTable[modTableAddr] = data & 7;\n                        modTableAddr = (modTableAddr + 1) & 63;\n                    }\n                }\n                modAccum = 0; //?\n            } else if (register == 0x4089) {\n                //wave write protect and master vol\n                masterVol = data & 3;\n                waveWriteEnable = ((data & (utils.BIT7)) != 0);\n            } else if (register == 0x408A) {\n                //sets speed of volume and sweep envelopes\n                //(or 0 to disable them)\n                //normally 0xff\n                envClockMultiplier = data;\n\n            }\n        }\n    }\n\n    public int read(int register) {\n        if ((register >= 0x4040) && (register < 0x4080)) {\n            return wavetable[register - 0x4040] | 0x40;\n        } else if (register == 0x4090) {\n            //volume gain \n            return volGain;\n        } else if (register == 0x4092) {\n            //modulator gain\n            return modGain;\n        } else {\n            //System.err.println(\"what goes here \" + utils.hex(register));\n            //why are nsfs reading from 4080 and 4084? there's nothing there\n            return 0x40;\n        }\n    }\n\n    @Override\n    public int getval() {\n        return lpaccum;\n    }\n\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/FFT.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic class FFT {\n//note to self: works, des not give sensible results when plotted\n    //on a linear scale! why? you should know this. hearing's logarithmic.\n\n    int n, m;\n    // Lookup tables. Only need to recompute when size of FFT changes.\n    double[] cos;\n    double[] sin;\n\n    public FFT(int n) {\n        this.n = n;\n        this.m = (int) (Math.log(n) / Math.log(2));\n\n        // Make sure n is a power of 2\n        if (n != (1 << m)) {\n            throw new RuntimeException(\"FFT length must be power of 2\");\n        }\n\n        // precompute tables\n        cos = new double[n / 2];\n        sin = new double[n / 2];\n\n        for (int i = 0; i < n / 2; i++) {\n            cos[i] = Math.cos(-2 * Math.PI * i / n);\n            sin[i] = Math.sin(-2 * Math.PI * i / n);\n        }\n\n    }\n\n    public void fft(double[] x, double[] y) {\n        int i, j, k, n1, n2, a;\n        double c, s, t1, t2;\n\n        // Bit-reverse\n        j = 0;\n        n2 = n / 2;\n        for (i = 1; i < n - 1; i++) {\n            n1 = n2;\n            while (j >= n1) {\n                j = j - n1;\n                n1 = n1 / 2;\n            }\n            j = j + n1;\n\n            if (i < j) {\n                t1 = x[i];\n                x[i] = x[j];\n                x[j] = t1;\n                t1 = y[i];\n                y[i] = y[j];\n                y[j] = t1;\n            }\n        }\n\n        // FFT\n        n1 = 0;\n        n2 = 1;\n\n        for (i = 0; i < m; i++) {\n            n1 = n2;\n            n2 = n2 + n2;\n            a = 0;\n\n            for (j = 0; j < n1; j++) {\n                c = cos[a];\n                s = sin[a];\n                a += 1 << (m - i - 1);\n\n                for (k = j; k < n; k = k + n2) {\n                    t1 = c * x[k + n1] - s * y[k + n1];\n                    t2 = s * x[k + n1] + c * y[k + n1];\n                    x[k + n1] = x[k] - t1;\n                    y[k + n1] = y[k] - t2;\n                    x[k] = x[k] + t1;\n                    y[k] = y[k] + t2;\n                }\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/MMC5SoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class MMC5SoundChip implements ExpansionSoundChip {\n    //really quickly hacked together. Need better interfaces for this kind of thing.\n\n    private final Timer[] timers = {new SquareTimer(8, 2), new SquareTimer(8, 2)};\n    final private static int[] DUTYLOOKUP = {1, 2, 4, 6};\n    private final int[] volume = new int[2];\n    private final boolean[] lenCtrEnable = {true, true, true, true};\n    private boolean pcmMode, pcmIRQen;\n    private int cycles, pcmOut;\n\n    @Override\n    public final void clock(final int cycle) {\n        cycles += cycle;\n        if ((cycles % 7445) != cycles) {\n            clockframecounter();\n            cycles %= 6445;\n        }\n        timers[0].clock(cycle);\n        timers[1].clock(cycle);\n    }\n\n    @Override\n    public void write(int register, int data) {\n        switch (register) {\n            case 0x0:\n                //length counter 1 halt\n                lenctrHalt[0] = ((data & (utils.BIT5)) != 0);\n                // pulse 1 duty cycle\n                timers[0].setduty(DUTYLOOKUP[data >> 6]);\n                // and envelope\n                envConstVolume[0] = ((data & (utils.BIT4)) != 0);\n                envelopeValue[0] = data & 15;\n                //setvolumes();\n                break;\n            case 0x1:\n                //pulse 1 sweep setup\n                //mmc5 lacks a sweep\n                break;\n            case 0x2:\n                // pulse 1 timer low bit\n                timers[0].setperiod((timers[0].getperiod() & 0xfe00) + (data << 1));\n                break;\n            case 0x3:\n                // length counter load, timer 1 high bits\n                if (lenCtrEnable[0]) {\n                    lengthctr[0] = LENCTRLOAD[data >> 3];\n                }\n                timers[0].setperiod((timers[0].getperiod() & 0x1ff) + ((data & 7) << 9));\n                // sequencer restarted\n                timers[0].reset();\n                //envelope also restarted\n                envelopeStartFlag[0] = true;\n                break;\n            case 0x4:\n                //length counter 2 halt\n                lenctrHalt[1] = ((data & (utils.BIT5)) != 0);\n                // pulse 2 duty cycle\n                timers[1].setduty(DUTYLOOKUP[data >> 6]);\n                // and envelope\n                envConstVolume[1] = ((data & (utils.BIT4)) != 0);\n                envelopeValue[1] = data & 15;\n                //setvolumes();\n                break;\n            case 0x5:\n                //pulse 2 sweep setup\n                break;\n            case 0x6:\n                // pulse 2 timer low bit\n                timers[1].setperiod((timers[1].getperiod() & 0xfe00) + (data << 1));\n                break;\n            case 0x7:\n                if (lenCtrEnable[1]) {\n                    lengthctr[1] = LENCTRLOAD[data >> 3];\n                }\n                timers[1].setperiod((timers[1].getperiod() & 0x1ff) + ((data & 7) << 9));\n                // sequencer restarted\n                timers[1].reset();\n                //envelope also restarted\n                envelopeStartFlag[1] = true;\n                break;\n            case 0x10:\n                pcmMode = ((data & (utils.BIT0)) != 0);\n                //true = read mode, false = write mode\n                //read mode watches ALL reads in first 8k of PRG ROM\n                //and writes to dpcm reg\n                //(no way to implement w/o refactors)\n                pcmIRQen = ((data & (utils.BIT7)) != 0);\n                if (pcmIRQen || pcmMode) {\n                    System.err.println(\"Implement the MMC5 PCM IRQ, something's using it!\");\n                }\n                break;\n            case 0x11:\n                if (!pcmMode) {\n                    if (data != 0) {\n                        pcmOut = data;\n                    } else {\n                        //should trip an irq, but no way to in current design\n                    }\n                }\n                break;\n            default:\n                break;\n        }\n    }\n\n    @Override\n    public int getval() {\n        int accum = 0;\n        for (int i = 0; i < 2; ++i) {\n            accum += volume[i] * timers[i].getval() * 750;\n        }\n        accum += pcmOut << 5;\n        return accum;\n    }\n\n    public int status() {\n        return (lengthctr[0] == 0 ? 0 : 1) + (lengthctr[1] == 0 ? 0 : 2);\n    }\n    private int[] lengthctr = {0, 0, 0, 0};\n    private final static int[] LENCTRLOAD = {10, 254, 20, 2, 40, 4, 80, 6,\n        160, 8, 60, 10, 14, 12, 26, 14, 12, 16, 24, 18, 48, 20, 96, 22,\n        192, 24, 72, 26, 16, 28, 32, 30};\n    private final boolean[] lenctrHalt = {true, true, true, true};\n\n    private void setlength() {\n        for (int i = 0; i < 4; ++i) {\n            if (!lenctrHalt[i] && lengthctr[i] > 0) {\n                --lengthctr[i];\n                if (lengthctr[i] == 0) {\n                    setvolumes();\n                }\n            }\n        }\n    }\n    //instance variables for envelope units\n    private final int[] envelopeValue = {15, 15, 15, 15};\n    private final int[] envelopeCounter = {0, 0, 0, 0};\n    private final int[] envelopePos = {0, 0, 0, 0};\n    private final boolean[] envConstVolume = {true, true, true, true};\n    private final boolean[] envelopeStartFlag = {false, false, false, false};\n\n    private void setenvelope() {\n        for (int i = 0; i < 2; ++i) {\n            if (envelopeStartFlag[i]) {\n                envelopeStartFlag[i] = false;\n                envelopePos[i] = envelopeValue[i] + 1;\n                envelopeCounter[i] = 15;\n            } else {\n                --envelopePos[i];\n            }\n            if (envelopePos[i] <= 0) {\n                envelopePos[i] = envelopeValue[i] + 1;\n                if (envelopeCounter[i] > 0) {\n                    --envelopeCounter[i];\n                } else if (lenctrHalt[i] && envelopeCounter[i] <= 0) {\n                    envelopeCounter[i] = 15;\n                }\n            }\n        }\n    }\n\n    private void setvolumes() {\n        volume[0] = ((lengthctr[0] <= 0) ? 0 : (((envConstVolume[0]) ? envelopeValue[0] : envelopeCounter[0])));\n        volume[1] = ((lengthctr[1] <= 0) ? 0 : (((envConstVolume[1]) ? envelopeValue[1] : envelopeCounter[1])));\n        //System.err.println(\"setvolumes \" + volume[1]);\n    }\n    private int framectr = 0;\n    private final int ctrmode = 4;\n\n    private void clockframecounter() {\n        //System.err.println(\"frame ctr clock \" + framectr);\n        //should be ~4x a frame, 240 Hz\n        //separate timebase from the NES APU though\n        if (framectr < 4) {\n            setenvelope();\n        }\n        if ((ctrmode == 4 && (framectr == 1 || framectr == 3))\n                || (ctrmode == 5 && (framectr == 0 || framectr == 2))) {\n            setlength();\n        }\n        ++framectr;\n        framectr %= ctrmode;\n        setvolumes();\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/Namco163SoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class Namco163SoundChip implements ExpansionSoundChip {\n\n    /*\n     Warning for anyone making Namco 163 music:\n     * As the number of channels used increases, the sample rate decreases.\n     * Since the original chip only outputs one channel at a time and cycles\n     * between them, using all 8 channels causes very noticeable 10khz noise\n     * which is not implemented here.\n     */\n    private final int[] registers = new int[128], out = new int[8];\n    private int numch, cycpos = 0, curch = 0;\n\n    @Override\n    public void clock(int cycles) {\n        numch = 1 + ((registers[127] >> 4) & 7);\n        for (int i = 0; i < cycles; ++i) {\n            cycpos = ++cycpos % 15;\n            if (cycpos == 0) {\n                curch = ++curch % numch;\n                clock_channel(curch);\n            }\n        }\n    }\n\n    private void clock_channel(final int ch) {\n        //get channel register start position\n        final int off = 0x80 - (8 * (ch + 1));\n        //get phase/freq value\n        int phase = (registers[off + 5] << 16) + (registers[off + 3] << 8) + registers[off + 1];\n        final int f = ((registers[off + 4] & 3) << 16) + (registers[off + 2] << 8) + registers[off];\n        //get waveform length\n        int len = (64 - (registers[off + 4] >> 2)) * 4;\n        //ugly heuristics: some NSFs were written with the\n        //expectation that you couldn't have more than 32 byte samples\n        //and that this field loops. Rolling Thunder shows this isn't the case\n        //but the NSFs work in Nintendlator/Nestopia and so have to work\n        //well if there's more than 3 zero samples in the wave data i guess\n        //the longer length probably isn't legit.\n        if (len > 32 && registers[off + 4] != 0) {\n            for (int i = 2; (i << 2) < len; ++i) {\n                if (registers[i - 2] == 0 && registers[i - 1] == 0 && registers[i] == 0) {\n                    len = 0x20 - (registers[off + 4] & 0x1C);\n                    //System.err.println(\"truncation\");\n                    break;\n                }\n            }\n        }\n\n        //get waveform start position\n        final int wavestart = registers[off + 6];\n        //get volume\n        phase = (phase + f) % (len << 16);\n        final int volume = registers[off + 7] & 0xf;\n        final int output = (getWavefromRAM(((phase >> 16) + wavestart) & 0xff) - 8) * volume;\n        //store phase back\n        registers[off + 5] = (phase >> 16) & 0xff;\n        registers[off + 3] = (phase >> 8) & 0xff;\n        registers[off + 1] = phase & 0xff;\n        out[ch] = output * 16;\n        output();\n    }\n\n    private int getWavefromRAM(final int addr) {\n        final int b = registers[(addr) >> 1];\n        return ((addr & (utils.BIT0)) != 0) ? b >> 4 : b & 0xf;\n    }\n\n    @Override\n    public void write(int register, int data) {\n        //System.err.println(numch);\n        registers[register] = data;\n    }\n\n    public int read(int register) {\n        return registers[register];\n    }\n\n    @Override\n    public int getval() {\n        return lpaccum << 2;\n    }\n    int lpaccum = 0;\n\n    private void output() {\n        int sample = 0;\n        for (int i = 0; i < numch; ++i) {\n            sample += out[i];\n        }\n        //this low pass filter is here to reduce noise in games using 8 channels\n        //while still letting me output 1 after the other like the real chip does\n        sample += lpaccum;\n        lpaccum -= sample * (1 / 16.);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/NoiseTimer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class NoiseTimer extends Timer {\n\n    private int divider = 0;\n    private int[] values = genvalues(1, 1);\n    private int prevduty = 1;\n    private final static int periodadd = 0;\n\n    public NoiseTimer() {\n        period = 0;\n    }\n\n    @Override\n    public void setduty(int duty) {\n        if (duty != prevduty) {\n            values = genvalues(duty, values[position]);\n            position = 0;\n        }\n        prevduty = duty;\n    }\n\n    @Override\n    public final void clock() {\n        ++divider;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) % values.length;\n        divider -= (period + periodadd) * periods;\n    }\n\n    @Override\n    public final int getval() {\n        return (values[position] & 1);\n    }\n\n    @Override\n    public final void reset() {\n        position = 0;\n    }\n\n    @Override\n    public final void clock(final int cycles) {\n        divider += cycles;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) % values.length;\n        divider -= (period + periodadd) * periods;\n    }\n\n    @Override\n    public final void setperiod(final int newperiod) {\n        period = newperiod;\n    }\n\n    public static int[] genvalues(int whichbit, int seed) {\n        int[] tehsuck = new int[(whichbit == 1) ? 32767 : 93];\n        for (int i = 0; i < tehsuck.length; ++i) {\n            seed = (seed >> 1)\n                    | ((((seed & (1 << whichbit)) != 0)\n                    ^ ((seed & (utils.BIT0)) != 0))\n                    ? 16384 : 0);\n            tehsuck[i] = seed;\n        }\n        return tehsuck;\n\n    }\n\n    @Override\n    public void setduty(int[] duty) {\n        throw new UnsupportedOperationException(\"Not supported on noise channel.\");\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/Reverberator.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic class Reverberator implements AudioOutInterface {\n\n    AudioOutInterface iface;\n    CircularBuffer cb;\n    double echo, lp_coef, hp_coef;\n\n    public Reverberator(AudioOutInterface i, int length, double echo_gain, double lp_coef, double hp_coef) {\n        this.echo = echo_gain;\n        this.lp_coef = lp_coef;\n        this.hp_coef = hp_coef;\n        iface = i;\n        cb = new CircularBuffer(length);\n    }\n    int lpaccum = 0;\n\n    private int lowpass_filter(int sample) {\n        sample += lpaccum;\n        lpaccum -= sample * lp_coef;\n        return lpaccum;\n    }\n    private int dckiller = 0;\n\n    private int highpass_filter(int sample) {\n        //for killing the dc in the signal\n        sample += dckiller;\n        dckiller -= sample * hp_coef;//the actual high pass part\n        dckiller += (sample > 0 ? -1 : 1);//guarantees the signal decays to exactly zero\n        return sample;\n    }\n\n    @Override\n    public void outputSample(int sample) {\n        sample -= cb.read() * echo;\n        if (sample < -32768) {\n            sample = -32768;\n            //System.err.println(\"clip\");\n        }\n        if (sample > 32767) {\n            sample = 32767;\n            //System.err.println(\"clop\");\n        }\n        cb.write(lowpass_filter(highpass_filter(sample)));\n        if (!(iface == null)) {\n            iface.outputSample(sample);\n        }\n    }\n\n    @Override\n    public void flushFrame(boolean waitIfBufferFull) {\n        if (!(iface == null)) {\n            iface.flushFrame(waitIfBufferFull);\n        }\n\n    }\n\n    @Override\n    public void pause() {\n        if (!(iface == null)) {\n            iface.pause();\n        }\n    }\n\n    @Override\n    public void resume() {\n        if (!(iface == null)) {\n            iface.resume();\n        }\n    }\n\n    @Override\n    public void destroy() {\n        if (!(iface == null)) {\n            iface.destroy();\n        }\n    }\n\n    @Override\n    public boolean bufferHasLessThan(int samples) {\n        if (!(iface == null)) {\n            return iface.bufferHasLessThan(samples);\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/SquareTimer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic class SquareTimer extends Timer {\n\n    protected int[] values;\n    final private int periodadd;\n    private int divider = 0;\n\n    @Override\n    public final void clock() {\n        if (period + periodadd <= 0) {\n            return;\n        }\n        ++divider;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) % values.length;\n        divider -= (period + periodadd) * periods;\n    }\n\n    @Override\n    public final void clock(final int cycles) {\n        if (period < 8) {\n            return;\n        }\n        divider += cycles;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) % values.length;\n        divider -= (period + periodadd) * periods;\n    }\n\n    public SquareTimer(final int ctrlen, final int periodadd) {\n        this.periodadd = periodadd;\n        values = new int[ctrlen];\n        period = 0;\n        position = 0;\n        setduty(ctrlen / 2);\n    }\n\n    public SquareTimer(final int ctrlen) {\n        this.periodadd = 0;\n        values = new int[ctrlen];\n        period = 0;\n        position = 0;\n        setduty(ctrlen / 2);\n    }\n\n    @Override\n    public final void reset() {\n        position = 0;\n    }\n\n    @Override\n    public final void setduty(final int duty) {\n        for (int i = 0; i < values.length; ++i) {\n            values[i] = (i < duty) ? 1 : 0;\n        }\n    }\n\n    @Override\n    public final void setduty(int[] dutyarray) {\n        values = dutyarray;\n    }\n\n    @Override\n    public final int getval() {\n        return values[position];\n    }\n\n    @Override\n    public final void setperiod(final int newperiod) {\n        period = newperiod;\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/Sunsoft5BSoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class Sunsoft5BSoundChip implements ExpansionSoundChip {\n    //not complete... missing volume envelopes and noise channel at the moment.\n    //sound test for Gimmick - Hold Select, push Start on title screen\n\n    private final Timer[] timers = {new SquareTimer(32), new SquareTimer(32), new SquareTimer(32)};\n    private final boolean[] enable = {false, false, false};\n    private final boolean[] useenvelope = {false, false, false};\n    private final int[] volume = {0, 0, 0};\n    int enval = 0;\n    private static final int[] VOLTBL = getvoltbl();\n\n    @Override\n    public final void write(final int register, final int data) {\n        //System.err.println(register + \" \" + data);\n        switch (register) {\n            case 0:\n                timers[0].setperiod((timers[0].getperiod() & 0xf00) + data);\n                break;\n            case 1:\n                timers[0].setperiod((timers[0].getperiod() & 0xff) + ((data & 0xf) << 8));\n                break;\n            case 2:\n                timers[1].setperiod((timers[1].getperiod() & 0xf00) + data);\n                break;\n            case 3:\n                timers[1].setperiod((timers[1].getperiod() & 0xff) + ((data & 0xf) << 8));\n                break;\n            case 4:\n                timers[2].setperiod((timers[2].getperiod() & 0xf00) + data);\n                break;\n            case 5:\n                timers[2].setperiod((timers[2].getperiod() & 0xff) + ((data & 0xf) << 8));\n                break;\n            case 7:\n                for (int i = 0; i < 3; ++i) {\n                    enable[i] = !(((data & (1 << i)) != 0));\n                }\n                break;\n            case 8:\n                volume[0] = data & 0xf;\n                useenvelope[0] = ((data & (utils.BIT4)) != 0);\n                break;\n            case 9:\n                volume[1] = data & 0xf;\n                useenvelope[1] = ((data & (utils.BIT4)) != 0);\n                break;\n            case 10:\n                volume[2] = data & 0xf;\n                useenvelope[2] = ((data & (utils.BIT4)) != 0);\n                break;\n            case 13:\n                enval = 15;\n                break;\n            default:\n            //System.err.println(\"Unrecognized register write to \" + register + \" ,\" + data);\n        }\n    }\n\n    @Override\n    public final void clock(final int cycle) {\n        clockenvelope(cycle);\n        timers[0].clock(cycle);\n        timers[1].clock(cycle);\n        timers[2].clock(cycle);\n    }\n\n    @Override\n    public final int getval() {\n        return (enable[0] ? ((useenvelope[0] ? enval : VOLTBL[volume[0]]) * timers[0].getval()) : 0)\n                + (enable[1] ? ((useenvelope[1] ? enval : VOLTBL[volume[1]]) * timers[1].getval()) : 0)\n                + (enable[2] ? ((useenvelope[2] ? enval : VOLTBL[volume[2]]) * timers[2].getval()) : 0);\n    }\n\n    public static int[] getvoltbl() {\n        //the AY-3-8910 volume levels are NOT linear, but logarithmic.\n        int[] vols = new int[16];\n        for (int i = 0; i < 16; ++i) {\n            vols[i] = (int) (90 * Math.pow(1.4, i));\n            //matches YMZ284 datasheet info\n        }\n        //utils.printarray(vols);\n        return vols;\n    }\n\n    private void clockenvelope(final int cycles) {\n        enval = 0; //gimmick only uses the envelope to mute a channel.\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/SwingAudioImpl.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.NES;\nimport com.grapeshot.halfnes.PrefsSingleton;\nimport com.grapeshot.halfnes.audio.AudioOutInterface;\nimport com.grapeshot.halfnes.mappers.Mapper;\nimport javax.sound.sampled.*;\n\n/**\n *\n * @author Andrew\n */\npublic class SwingAudioImpl implements AudioOutInterface {\n\n    private boolean soundEnable;\n    private SourceDataLine sdl;\n    private byte[] audiobuf;\n    private int bufptr = 0;\n    private float outputvol;\n\n    public SwingAudioImpl(final NES nes, final int samplerate, Mapper.TVType tvtype) {\n        soundEnable = PrefsSingleton.get().getBoolean(\"soundEnable\", true);\n        outputvol = (float) (PrefsSingleton.get().getInt(\"outputvol\", 13107) / 16384.);\n        double fps;\n        switch (tvtype) {\n            case NTSC:\n            default:\n                fps = 60.;\n                break;\n            case PAL:\n            case DENDY:\n                fps = 50.;\n                break;\n        }\n        if (soundEnable) {\n            final int samplesperframe = (int) Math.ceil((samplerate * 2) / fps);\n            audiobuf = new byte[samplesperframe * 2];\n            try {\n                AudioFormat af = new AudioFormat(\n                        samplerate,\n                        16,//bit\n                        2,//channel\n                        true,//signed\n                        false //little endian\n                //(works everywhere, afaict, but macs need 44100 sample rate)\n                );\n                sdl = AudioSystem.getSourceDataLine(af);\n                sdl.open(af, samplesperframe * 4 * 2 /*ch*/ * 2 /*bytes/sample*/); \n                //create 4 frame audio buffer\n                sdl.start();\n            } catch (LineUnavailableException a) {\n                System.err.println(a);\n                nes.messageBox(\"Unable to inintialize sound.\");\n                soundEnable = false;\n            } catch (IllegalArgumentException a) {\n                System.err.println(a);\n                nes.messageBox(\"Unable to inintialize sound.\");\n                soundEnable = false;\n            }\n        }\n    }\n\n    @Override\n    public final void flushFrame(final boolean waitIfBufferFull) {\n        if (soundEnable) {\n\n//            if (sdl.available() == sdl.getBufferSize()) {\n//                System.err.println(\"Audio is underrun\");\n//            }\n            if (sdl.available() < bufptr) {\n//                System.err.println(\"Audio is blocking\");\n                if (waitIfBufferFull) {\n\n                    //write to audio buffer and don't worry if it blocks\n                    sdl.write(audiobuf, 0, bufptr);\n                }\n                //else don't bother to write if the buffer is full\n            } else {\n                sdl.write(audiobuf, 0, bufptr);\n            }\n        }\n        bufptr = 0;\n\n    }\n\n    @Override\n    public final void outputSample(int sample) {\n        if (soundEnable) {\n            sample *= outputvol;\n            if (sample < -32768) {\n                sample = -32768;\n                //System.err.println(\"clip\");\n            }\n            if (sample > 32767) {\n                sample = 32767;\n                //System.err.println(\"clop\");\n            }\n            //left ch\n            int lch = sample;\n            audiobuf[bufptr] = (byte) (lch & 0xff);\n            audiobuf[bufptr + 1] = (byte) ((lch >> 8) & 0xff);\n            //right ch\n            int rch = sample;\n            audiobuf[bufptr + 2] = (byte) (rch & 0xff);\n            audiobuf[bufptr + 3] = (byte) ((rch >> 8) & 0xff);\n            bufptr += 4;\n        }\n    }\n\n    @Override\n    public void pause() {\n        if (soundEnable) {\n            sdl.flush();\n            sdl.stop();\n        }\n    }\n\n    @Override\n    public void resume() {\n        if (soundEnable) {\n            sdl.start();\n        }\n    }\n\n    @Override\n    public final void destroy() {\n        if (soundEnable) {\n            sdl.stop();\n            sdl.close();\n        }\n    }\n\n    public final boolean bufferHasLessThan(final int samples) {\n        //returns true if the audio buffer has less than the specified amt of samples remaining in it\n        return (sdl == null) ? false : ((sdl.getBufferSize() - sdl.available()) <= samples);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/Timer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\npublic abstract class Timer {\n\n    protected int period;\n    protected int position;\n\n    public final int getperiod() {\n        return period;\n    }\n\n    public abstract void setperiod(final int newperiod);\n\n    public abstract void setduty(int duty);\n\n    public abstract void setduty(int[] duty);\n\n    public abstract void reset();\n\n    public abstract void clock();\n\n    public abstract void clock(final int cycles);\n\n    public abstract int getval();\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/TriangleTimer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n/**\n *\n * @author Andrew\n */\npublic class TriangleTimer extends Timer {\n\n    private int divider = 0;\n    private final static int periodadd = 1;\n    private final static int[] triangle = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,\n        12, 13, 14, 15, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6,\n        5, 4, 3, 2, 1, 0};\n\n    public TriangleTimer() {\n        period = 0;\n        position = 0;\n    }\n\n    @Override\n    public final void reset() {\n        //no way to reset the triangle\n    }\n\n    @Override\n    public final void clock() {\n        if (period == 0) {\n            return;\n        }\n        ++divider;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) & 0x1F;\n        divider -= (period + periodadd) * periods;\n    }\n\n    @Override\n    public final void clock(final int cycles) {\n        if (period == 0) {\n            return;\n        }\n        divider += cycles;\n        // note: stay away from negative division to avoid rounding problems\n        int periods = (divider + period + periodadd) / (period + periodadd);\n        if (periods < 0) {\n            periods = 0; // can happen if period or periodadd were made smaller\n        }\n        position = (position + periods) & 0x1F;\n        divider -= (period + periodadd) * periods;\n    }\n\n    @Override\n    public final int getval() {\n        return (period == 0) ? 7 : triangle[position];\n        //needed to avoid screech when period is zero\n    }\n\n    @Override\n    public final void setperiod(final int newperiod) {\n        period = newperiod;\n        if (period == 0) {\n            position = 7;\n        }\n    }\n\n    @Override\n    public void setduty(int duty) {\n        throw new UnsupportedOperationException(\"Triangle counter has no duty setting.\");\n    }\n\n    @Override\n    public void setduty(int[] duty) {\n        throw new UnsupportedOperationException(\"Triangle counter has no duty setting.\");\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/VRC6SoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class VRC6SoundChip implements ExpansionSoundChip {\n    //to access sound test in Castlevania 3(J) - \n    //Hold down A+B while resetting, push Start twice\n\n    private final Timer[] timers = {new SquareTimer(16), new SquareTimer(16)};\n    private final boolean[] enable = {true, true, true};\n    private final int[] volume = {0, 0, 0};\n    private int sawdivider = 15;\n    private int sawctr = 0;\n    private int sawaccum = 0;\n    private int sawseq = 0;\n    private boolean clocknow = false;\n\n    @Override\n    public final void write(final int register, final int data) {\n        switch (register) {\n            case 0x9000:\n                volume[0] = data & 0xf;\n                //duty cycle is between 12.5% and 50% unless last bit set and then it's forced to 100%\n                timers[0].setduty(((data & (utils.BIT7)) != 0) ? 16 : (((data >> 4) & 7) + 1));\n                break;\n            case 0x9001:\n                timers[0].setperiod((timers[0].getperiod() & 0xf00) + data);\n                break;\n            case 0x9002:\n                timers[0].setperiod((timers[0].getperiod() & 0xff) + ((data & 0xf) << 8));\n                enable[0] = ((data & (utils.BIT7)) != 0);\n                break;\n            case 0xa000:\n                volume[1] = data & 0xf;\n                timers[1].setduty(((data & (utils.BIT7)) != 0) ? 16 : (((data >> 4) & 7) + 1));\n                break;\n            case 0xa001:\n                timers[1].setperiod((timers[1].getperiod() & 0xf00) + data);\n                break;\n            case 0xa002:\n                timers[1].setperiod((timers[1].getperiod() & 0xff) + ((data & 0xf) << 8));\n                enable[1] = ((data & (utils.BIT7)) != 0);\n                break;\n            case 0xb000:\n                //saw accumulator\n                sawaccum = data & 0x3f;\n                break;\n            case 0xb001:\n                sawdivider &= 0xf00;\n                sawdivider += data;\n                break;\n            case 0xb002:\n                sawdivider &= 0xff;\n                sawdivider += ((data & 0xf) << 8);\n                enable[2] = ((data & (utils.BIT7)) != 0);\n                break;\n        }\n    }\n\n    @Override\n    public final void clock(final int cycle) {\n        timers[0].clock(cycle);\n        timers[1].clock(cycle);\n        for (int i = 0; i < cycle; ++i) {\n            clocksaw();\n        }\n    }\n\n    @Override\n    public final int getval() {\n        return 320 * (((enable[0] ? volume[0] : 0) * timers[0].getval()\n                + (enable[1] ? volume[1] : 0) * timers[1].getval())\n                + (enable[2] ? ((volume[2] & 0xff) >> 3) : 0));\n    }\n\n    private void clocksaw() {\n        --sawctr;\n        if (sawctr < 0) {\n            sawctr = sawdivider;\n            if (clocknow) {\n                clocknow = false;\n                volume[2] += sawaccum;\n                ++sawseq;\n                if (sawseq > 6) {\n                    sawseq = 0;\n                    volume[2] = 0;\n                }\n            } else {\n                clocknow = true;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/audio/VRC7SoundChip.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.audio;\n\n//import com.grapeshot.halfnes.ui.DebugUI;\nimport static com.grapeshot.halfnes.utils.*;\n//import java.awt.image.BufferedImage;\nimport java.util.Arrays;\n\n/**\n *\n * @author Andrew\n */\npublic class VRC7SoundChip implements ExpansionSoundChip {\n\n    //Emulates the YM2413 sound chip, pretty much only found in Lagrange Point\n    //sound test in lagrange point: hold A and B on controller 2 and reset.\n    //the VRC7 version is permanently forced into percussion mode\n    //but there's no percussion output pin,\n    //so it only supports 6 output channels instead of 9.\n    private static enum EnvState {\n\n        CUTOFF, ATTACK, DECAY, RELEASE;\n    }\n    private final EnvState[] modenv_state = new EnvState[6], carenv_state = new EnvState[6];\n    private final int[] vol = new int[6], freq = new int[6],\n            octave = new int[6], instrument = new int[6],\n            mod = new int[6],\n            oldmodout = new int[6], out = new int[6];\n    private final boolean[] key = new boolean[6], chSust = new boolean[6];\n    private int fmctr = 0, amctr = 0; //free running counter for indices\n    private final double[] phase = new double[6];\n    private final int[] usertone = new int[8], modenv_vol = new int[6], carenv_vol = new int[6];\n    private final int[][] instdata = { //instrument parameters\n        usertone, //modifiable user tone register is instrument 0\n        //finally accurate dumped hardcoded instruments from ROM! (Mar 2019)\n        {0x03, 0x21, 0x05, 0x06, 0xE8, 0x81, 0x42, 0x27}, //Bell\n        {0x13, 0x41, 0x14, 0x0D, 0xD8, 0xF6, 0x23, 0x12}, //Guitar\n        {0x11, 0x11, 0x08, 0x08, 0xFA, 0xB2, 0x20, 0x12}, //Wurlitzer\n        {0x31, 0x61, 0x0c, 0x07, 0xA8, 0x64, 0x61, 0x27}, //Flute\n        {0x32, 0x21, 0x1E, 0x06, 0xE1, 0x76, 0x01, 0x28}, //Clarinet\n        {0x02, 0x01, 0x06, 0x00, 0xA3, 0xE2, 0xF4, 0xF4}, //Synth\n        {0x21, 0x61, 0x1D, 0x07, 0x82, 0x81, 0x11, 0x07}, //Trumpet\n        {0x23, 0x21, 0x22, 0x17, 0xA2, 0x72, 0x01, 0x17}, //Organ\n        {0x35, 0x11, 0x25, 0x00, 0x40, 0x73, 0x72, 0x01}, //Bells\n        {0xB5, 0x01, 0x0F, 0x0F, 0xA8, 0xA5, 0x51, 0x02}, //Vibes\n        {0x17, 0xC1, 0x24, 0x07, 0xF8, 0xF8, 0x22, 0x12}, //Vibraphone\n        {0x71, 0x23, 0x11, 0x06, 0x65, 0x74, 0x18, 0x16}, //Tutti\n        {0x01, 0x02, 0xD3, 0x05, 0xC9, 0x95, 0x03, 0x02}, //Fretless\n        {0x61, 0x63, 0x0C, 0x00, 0x94, 0xC0, 0x33, 0xF6}, //Synth Bass\n        {0x21, 0x72, 0x0D, 0x00, 0xC1, 0xD5, 0x56, 0x06}  //Sweep\n    };\n    private final static int[] LOGSIN = genlogsintbl(), EXP = genexptbl(),\n            AM = genamtbl();\n    private final static double[] MULTIPLIER = {0.5, 1, 2, 3, 4, 5,\n        6, 7, 8, 9, 10, 10, 12, 12, 15, 15}, VIBRATO = genvibtbl();\n    private final static int[] KEYSCALE = {0, 1536, 2048, 2368, 2560,\n        2752, 2880, 3008, 3072, 3200, 3264, 3328, 3392, 3456, 3520, 3584\n    };\n\n    public VRC7SoundChip() {\n        Arrays.fill(modenv_state, EnvState.CUTOFF);\n        Arrays.fill(carenv_state, EnvState.CUTOFF);\n        Arrays.fill(modenv_vol, 511);\n        Arrays.fill(carenv_vol, 511);\n    }\n\n    public static int clamp(final int a) {\n        return (a != (a & 0xff)) ? ((a < 0) ? 0 : 255) : a;\n    }\n\n    private static double[] genvibtbl() {\n        //vibrato wavetable. Yes this is a waste of memory. sue me.\n        //from looking at genplus gx code, the vibrato depth is supposed\n        //to vary per octave, but exactly how is complex.\n\n        double l = 1789773 / 6.;\n        double f = 6.4;\n        int depth = 10; //blatant guess\n        double[] tbl = new double[(int) Math.ceil(l / f)];\n        for (int x = 0; x < tbl.length; ++x) {\n            tbl[x] = (depth * tri(2 * Math.PI * f * x / l));\n        }\n        return tbl;\n    }\n\n    private static int[] genamtbl() {\n        double l = 1789773 / 6.;\n        double f = 3.7;\n        int depth = 128;\n        int[] tbl = new int[(int) Math.ceil(l / f)];//one full cycle of wave\n        for (int x = 0; x < tbl.length; ++x) {\n            tbl[x] = (int) (depth * tri(2 * Math.PI * f * x / l) + depth);\n            //should be a triangle wave?\n        }\n        return tbl;\n    }\n\n    private static double tri(double x) {\n        //triangle wave function.\n        x %= 2 * Math.PI;\n        if (x < (Math.PI / 2)) {\n            return x / (Math.PI);\n        } else if (x < (3 * Math.PI) / 2) {\n            return 1 - (x / (Math.PI));\n        } else {\n            return x / (Math.PI) - 2;\n        }\n    }\n\n    private static int[] genlogsintbl() {\n        int[] tbl = new int[256];\n        for (int i = 0; i < tbl.length; ++i) {\n            //y = round(-log(sin((x+0.5)*pi/256/2))/log(2)*256)\n            //see https://docs.google.com/Doc?id=dd8kqn9f_13cqjkf4gp for info\n            tbl[i] = (int) Math.round(-Math.log(Math.sin((i + 0.5) * Math.PI / 256 / 2)) / Math.log(2) * 256);\n        }\n        return tbl;\n    }\n\n    private static int[] genexptbl() {\n        int[] tbl = new int[256];\n        for (int i = 0; i < tbl.length; ++i) {\n            //y = round((power(2, x/256)-1)*1024)\n            tbl[i] = (int) Math.round((Math.pow(2, i / 256.) - 1) * 1024.);\n        }\n        return tbl;\n    }\n\n    @Override\n    public final void write(int register, int data) {\n        switch (register) {\n            case 0:\n            case 1:\n            case 2:\n            case 3:\n            case 4:\n            case 5:\n            case 6:\n            case 7:\n                //parameters for instrument 0 (user settable instrument)\n                usertone[register & 7] = data;\n                break;\n            case 0x10:\n            case 0x11:\n            case 0x12:\n            case 0x13:\n            case 0x14:\n            case 0x15: //frequency registers for ch. 0-5\n                int n = register - 0x10;\n                freq[n] = (freq[n] & 0xf00) | data;\n                break;\n            case 0x20:\n            case 0x21:\n            case 0x22:\n            case 0x23:\n            case 0x24:\n            case 0x25: // ??stooof\n//f: Upper bit of frequency\n//o: Octave Select \n//t: Channel keying on/off (key on = note starts, key off: note decays).\n//s: bit 5 is _channel_ sustain, \n//?: bit 6 and 7 are unused?\n                int m = register - 0x20;\n                octave[m] = (data >> 1) & 7;\n                freq[m] = (freq[m] & 0xff) | ((data & 1) << 8);\n                if (((data & (BIT4)) != 0) && !key[m]) {\n                    //when note is keyed on\n                    carenv_state[m] = EnvState.CUTOFF;\n                    modenv_state[m] = EnvState.CUTOFF;\n                    // printarray(key);\n                }\n                //TODO: when key is released,\n                //modulator release shouldn't do anything if sustain is on\n                //http://famitracker.com/forum/posts.php?id=6804\n                key[m] = ((data & (BIT4)) != 0);\n                chSust[m] = ((data & (BIT5)) != 0);\n                break;\n            case 0x30:\n            case 0x31:\n            case 0x32:\n            case 0x33:\n            case 0x34:\n            case 0x35: //top 4 bits instrument number, bottom 4 volume\n                int j = register - 0x30;\n                vol[j] = data & 0xf;\n                //System.err.println(j + \" \" + hex(data));\n                instrument[j] = (data >> 4) & 0xf;\n                break;\n            default:\n            //System.err.println(hex(register) + \" doesn't exist \" + hex(data));\n        }\n    }\n    int ch = 0;\n\n    @Override\n    public final void clock(final int cycle) {\n        /*\n         real chip runs at ~3.6 mhz from a separate oscillator\n         but this emulation operates at NTSC NES clock freq of 1.789\n         this would be a problem if anyone wanted to use it on a PAL system\n         real chip takes 72 cycles to advance through all ch (49716 hz)\n         I update all ch every 36 NES clocks (about the same speed) but I do the\n         carrier and the modulator in the same cycle instead of separately\n         */\n\n        for (int i = 0; i < cycle; ++i) {\n            ch = (ch + 1) % (36);\n            if (ch < 6) {\n                operate();\n            }\n        }\n    }\n\n    private void operate() {\n        fmctr = (fmctr + 1) % VIBRATO.length;\n        amctr = (amctr + 1) % AM.length;\n        phase[ch] += (1 / 512.) * (freq[ch] << (octave[ch]));\n        //Tuned this with audacity so it's definitely ok this time.\n        phase[ch] %= 1024;\n        int[] inst = instdata[instrument[ch]];\n        //envelopes\n        int modEnvelope = setenvelope(inst, modenv_state, modenv_vol, ch, false)\n                << 2;\n        int carEnvelope = setenvelope(inst, carenv_state, carenv_vol, ch, true)\n                << 2;\n        //key scaling\n        int keyscale = KEYSCALE[freq[ch] >> 5] - 512 * (7 - octave[ch]);\n        if (keyscale < 0) {\n            keyscale = 0;\n        }\n        int modks = inst[2] >> 6;\n        modks = (modks == 0) ? 0 : (keyscale >> (3 - modks));\n        int carks = (inst[3] >> 6);\n        carks = (carks == 0) ? 0 : (keyscale >> (3 - carks));\n        int fb = (~inst[3] & 7);\n        //now the operator cells\n        //invaluable info: http://gendev.spritesmind.net/forum/viewtopic.php?t=386\n        //http://www.smspower.org/maxim/Documents/YM2413ApplicationManual\n        //http://forums.nesdev.com/viewtopic.php?f=3&t=9102\n        final double modVibrato = ((inst[0] & (BIT6)) != 0) ? VIBRATO[fmctr] * (1 << octave[ch]) : 0;\n        final double modFreqMultiplier = MULTIPLIER[inst[0] & 0xf];\n        final int modFeedback = (fb == 7) ? 0 : (mod[ch] + oldmodout[ch]) >> (2 + fb);\n        //no i don't know why it adds the last 2 old outputs but MAME\n        //does it that way and the feedback doesn't sound right w/o it\n        final int mod_f = modFeedback + (int) (modVibrato + modFreqMultiplier * phase[ch]);\n        //each of these values is an attenuation value\n        final int modVol = (inst[2] & 0x3f) * 32;//modulator vol\n        final int modAM = ((inst[0] & (BIT7)) != 0) ? AM[amctr] : 0;\n        final boolean modRectify = ((inst[3] & (BIT3)) != 0);\n        //calculate modulator operator value\n        mod[ch] = operator(mod_f, (int) (modVol + modEnvelope + modks + modAM), modRectify) << 2;\n        oldmodout[ch] = mod[ch];\n        //now repeat most of that for the carrier\n        final double carVibrato = ((inst[1] & (BIT6)) != 0) ? VIBRATO[fmctr] * (freq[ch] << octave[ch]) / 512. : 0;\n        final double carFreqMultiplier = MULTIPLIER[inst[1] & 0xf];\n        final int carFeedback = (mod[ch] + oldmodout[ch]) >> 1; //inaccurately named\n        final int car_f = carFeedback + (int) (carVibrato + carFreqMultiplier * phase[ch]);\n        final int carVol = vol[ch] * 128; //4 bits for carrier vol not 6\n        final int carAM = ((inst[1] & (BIT7)) != 0) ? AM[amctr] : 0;\n        final boolean carRectify = ((inst[3] & (BIT4)) != 0);\n        out[ch] = operator(car_f, (int) (carVol + carEnvelope + carks + carAM), carRectify) << 2;\n        outputSample(ch);\n    }\n\n    private int operator(final int phase, final int gain, final boolean rectify) {\n        return exp((logsin(phase, rectify) + gain));\n    }\n\n    private int exp(int val) {\n        //perform e^x function on 13 bit fp output value using the hardware table on the chip\n        //value should never be negative; if it is, find out why.\n//        if (val < 0) {\n//            val = 0;\n//            System.err.println(\"why\");\n//           \n//        }\n        //values saturate instead of rolling over in the actual hardware\n        if (val > (BIT13) - 1) {\n            val = (BIT13) - 1;\n        }\n        //val &= (BIT12); //uncomment for sega smash pack vol. 1 for dreamcast\n        int mantissa = EXP[(-val & 0xff)];\n        int exponent = (-val) >> 8;\n//        int a = (int) Math.scalb(mantissa + 1024, exponent) * s; //correct but slow\n        return ((((mantissa + 1024) >> (-exponent)))) * s; //not correct for negative #s\n    }\n    private int s; // sign flag: positive (1), negative (-1) or muted (0)\n\n    private int logsin(final int x, final boolean rectify) {\n        //s stores sign of the output, in actual hw the sign bit bypasses \n        //everything else and goes directly to the dac.\n        switch ((x >> 8) & 3) {\n            case 0:\n                s = 1;\n                return LOGSIN[(x & 0xff)];\n            case 1:\n                s = 1;\n                return LOGSIN[255 - (x & 0xff)];\n            case 2:\n                s = rectify ? 0 : -1;\n                return LOGSIN[(x & 0xff)];\n            case 3:\n            default:\n                s = rectify ? 0 : -1;\n                return LOGSIN[255 - (x & 0xff)];\n        }\n    }\n    int lpaccum = 0;\n    int lpaccum2 = 0;\n\n    private void outputSample(int ch) {\n        int sample = out[ch] * 24;\n        //two stage low pass filter (looked @ schematic of hybrid on PCB)\n        sample += lpaccum;\n        lpaccum -= sample >> 2;\n        int j = lpaccum;\n        j += lpaccum2;\n        lpaccum2 -= j >> 2;\n    }\n\n    @Override\n    public final int getval() {\n        return lpaccum2;\n    }\n    final private static int ZEROVOL = 8388608; //2^23\n    final private static int MAXVOL = 0;\n\n//    Twiddler t = new Twiddler(0.4);\n    private int setenvelope(final int[] instrument, final EnvState[] state,\n            final int[] vol, final int ch, final boolean isCarrier) {\n        final boolean keyscaleRate = ((instrument[(isCarrier ? 1 : 0)] & (BIT4)) != 0);\n        final int ksrShift = keyscaleRate ?\n                (octave[ch] << 1) + (freq[ch] >> 8)\n                : octave[ch] >> 1;\n        //^ the key scaling bit (java should really have unions, this is such a mess)\n        /*\n         Most of these constants were computed backwards from a\n         table in a badly translated YM2413 technical manual \n         (that was given in ms to decay 40db) and are thus only approximate.       \n         The key scaling stuff is similarly just a best guess.\n         I suspect it's a 23 bit int value and each envelope update changes\n         at least 1 LSB\n         */\n\n        //from docs on the OPL3: envelope starts at 511 (max attenuation)\n        //and counts down to zero (no attenuation)\n        //on real HW the envelope out is probably the upper 9 bits of a 23 bit\n        //attenuation register (this would add 1 LSB per clock at slowest rate)\n        //System.err.println(state[ch]);\n        switch (state[ch]) {\n            default:\n            case CUTOFF:\n                if (vol[ch] < ZEROVOL) {\n                    vol[ch] += 16384; //decay to off in 10ms\n                    /*\n                     programmer's manual seems to say it takes a few ms to decay\n                     before the new note starts its attack run.\n                     need to listen really hard to the HW recordings and tune\n                     this by ear\n                     */\n                } else {\n                    vol[ch] = ZEROVOL;\n                    if (key[ch]) {\n                        /*the programmer's manual suggests that sound has to\n                         decay back to zero volume when keyed on before the attack\n                         happens, but other references don't say this\n                         */\n                        state[ch] = EnvState.ATTACK;\n                        phase[ch] = 0;\n                        //reset phase to avoid popping? can't tell if the chip does this.\n                    }\n                }\n                break;\n            case ATTACK:\n                if (vol[ch] > MAXVOL + 8) {\n                    vol[ch]-= ATTACKVAL[\n                            (instrument[(isCarrier ? 5 : 4)] >> 4) * 4\n                            + ksrShift\n                            ];\n                } else {\n                    state[ch] = EnvState.DECAY;\n                }\n                if (!key[ch]) {\n                    state[ch] = EnvState.RELEASE;\n                }\n                break;\n            case DECAY:\n                if (vol[ch] < ((instrument[(isCarrier ? 7 : 6)] >> 4)) * 524288) { // <-- check this 524288\n                    //the higher the sustain value is, the lower the volume when\n                    //it switches to sustain.\n                    vol[ch] += DECAYVAL[(instrument[(isCarrier ? 5 : 4)] & 0xf) * 4\n                            + ksrShift];\n                } else {\n                    state[ch] = EnvState.RELEASE;\n                }\n                if (!key[ch]) {\n                    state[ch] = EnvState.RELEASE;\n                }\n                break;\n            case RELEASE:\n\n                //there are 3 things we need to know:\n                //1. Is the key on?\n                //2. Is the channel sustain bit set?\n                //3. Is bit 5 in patch register 0 or 1 set?\n                //What makes this especially confusing is that the sustain bit in the patch\n                //is bit 5 and the sustain bit in the channel is *also* a bit 5,\n                //in its respective register (ugh)\n                //for consistency with it though let's call the channel sustain SUS\n                //and the patch register D5\n                boolean d5 = ((instrument[isCarrier ? 1 : 0] & (BIT5)) != 0);\n                boolean SUS = chSust[ch];\n                if (key[ch]) {\n                    //if we're keyed on\n                    if (d5) {\n                        //sustained tone\n                        //don't decay at all\n                    } else {\n                        //percussive tone\n                        //decay at release rate\n                        vol[ch] += DECAYVAL[(instrument[(isCarrier ? 7 : 6)] & 0xf) * 4\n                                + ksrShift];\n                    }\n                } else {\n                    //key is off\n                    if (d5) {\n                        //sustained tone\n                        if (SUS) {\n                            //decay at rate of 1.2 seconds to cut off\n                            vol[ch] += DECAYVAL[5 * 4\n                                    + ksrShift];\n                        } else {\n                            //decay at release rate\n                            vol[ch] += DECAYVAL[(instrument[(isCarrier ? 7 : 6)] & 0xf) * 4\n                                    + ksrShift];\n\n                        }\n                    } else {\n                        //percussive tone\n                        if (SUS) {\n                            //decay at rate of 1.2 seconds to cut off\n                            vol[ch] += DECAYVAL[5 * 4\n                                    + ksrShift];\n                        } else {\n                            //decay at release rate prime, 310ms to cutoff\n                            //according to the docs,\n                            //or a rate of 7 according\n                            //to tests on nesdev forums.\n                            vol[ch] += DECAYVAL[7 * 4\n                                    + ksrShift];\n                            //maybe we do apply key scaling to these still\n                        }\n                    }\n                }\n                break;\n                //there was also something about one of the decay values not working\n                //if a modulator or something\n                //on the famitracker forums or somewhere\n        }\n        if (vol[ch] < MAXVOL) {\n            vol[ch] = MAXVOL;\n        }\n        if (vol[ch] > ZEROVOL) {\n            vol[ch] = ZEROVOL;\n        }\n        if(state[ch] == EnvState.ATTACK){\n            //logarithmic envelope attack\n            //48 dB - (48 dB * ln(EGC) / ln(1<<23)) from Disch's doc\n            //also accounting for env ctr is running down not up\n            //this is slow and probably wrong vs real chip\n            //but stays for now bc it works and sounds ok\n            int output = 8388608 - (int)(8388608 * Math.log(8388608 - vol[ch]) / Math.log(8388608));\n            return output >> 14;\n        }\n        return vol[ch] >> 14;\n    }\n\n    private final static int[] ATTACKVAL = {0, 0, 0, 0,\n        98, 120, 146, 171,\n        195, 216, 293, 341,\n        390, 471, 602, 683,\n        780, 964, 1168, 1366,\n        1560, 1927, 2315, 2731,\n        3075, 3855, 4682, 5461,\n        6242, 8035, 9364, 10921,\n        12480, 15423, 18727, 21856,\n        24960, 30847, 37413, 43713,\n        51130, 61580, 74991, 87425,\n        99841, 123161, 149319, 173949,\n        200870, 241044, 281218, 312464,\n        337461, 401739, 496266, 562435,\n        602609, 766957, 937392, 1205218,\n        8388607, 8388607, 8388607, 8388607,\n        8388607, 8388607, 8388607, 8388607,\n        8388607, 8388607, 8388607, 8388607,\n        8388607, 8388607, 8388607, 8388607};\n    private final static int[] DECAYVAL = {0, 0, 0, 0,\n        8, 10, 12, 14, //+2\n        16, 20, 24, 28, //+4\n        32, 40, 48, 56, //+8\n        65, 77, 96, 112, //+16\n        129, 161, 193, 224, //+32\n        258, 321, 386, 449, //+64\n        516, 643, 771, 898, //+128\n        1032, 1285, 1542, 1796, //+256\n        2064, 2570, 3084, 3591, //+512\n        4211, 5268, 6167, 7183, //+1024\n        8255, 10282, 12407, 14360, //+2048\n        16510, 20552, 24668, 28745, //+4096\n        33020, 41154, 49336, 57391, //+8192\n        66169, 82308, 98673, 114783, //+16384\n        132859, 132859, 132859, 132859,\n        132859, 132859, 132859, 132859,\n        132859, 132859, 132859, 132859,\n        132859, 132859, 132859, 132859,};\n}\n//these 2 tables calculated with excel based on the envelope length table\n//in the YM2413 programming guide.\n\n//decay table is SO CLOSE to neat powers of 2\n//and it really has to be created with simple logic\n//on the real chip where there is no table of envelope values. \n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/cheats/ActionReplay.java",
    "content": "package com.grapeshot.halfnes.cheats;\n\nimport com.grapeshot.halfnes.CPURAM;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\n\n/**\n * Emulation of the Pro Action Replay device. This device allows to apply \"RAM\n * codes\" to have extra lives, ammo, time, etc...\n *\n * @author Thomas Lorblanches\n */\npublic class ActionReplay {\n\n    private static final int RAM_SIZE = 0x07FF;\n    private final CPURAM cpuram;\n    // Memory patches for Pro Action Replay codes\n    private final HashMap<Integer, Patch> patches = new HashMap<>();\n    // List of addresses for the \"find code\" feature\n    private final List<Integer> foundAddresses = new ArrayList<>();\n\n    /**\n     * Creates a new Pro Action Replay device which will act on the given\n     * memory.\n     *\n     * @param cpuram - memory\n     */\n    public ActionReplay(CPURAM cpuram) {\n        this.cpuram = cpuram;\n    }\n\n    /**\n     * Get the list of patches currently applied.\n     */\n    public HashMap<Integer, Patch> getPatches() {\n        return patches;\n    }\n\n    /**\n     * Add a memory patch. The patch is permanent (the value is constantly\n     * written into memory until a new game is loaded).\n     */\n    public void addMemoryPatch(Patch patch) {\n        if (!patches.containsKey(patch.getAddress())) {\n            patches.put((Integer) patch.getAddress(), patch);\n        }\n    }\n\n    /**\n     * Patches the memory with Pro Action Replay codes.\n     */\n    public void applyPatches() {\n        cpuram.setPatches(patches);\n    }\n\n    /**\n     * Remove all the patches.\n     */\n    public void clear() {\n        patches.clear();\n    }\n\n    /**\n     * Find where in RAM can be found the given value. This method begins a new\n     * search.\n     *\n     * @param value - value to be found.\n     * @return the list of addresses where the value were found.\n     */\n    public List<Integer> newSearchInMemory(byte value) {\n        foundAddresses.clear();\n        for (int address = 0; address < RAM_SIZE; address++) {\n            if ((cpuram.read(address) & 0xFF) == (value & 0xFF)) {\n                foundAddresses.add(address);\n            }\n        }\n        return foundAddresses;\n    }\n\n    /**\n     * Gets the list memory addresses of the current search.\n     */\n    public List<Integer> getFoundAddresses() {\n        return foundAddresses;\n    }\n\n    /**\n     * Find where at the previously found addresses can be found the given\n     * value. This method continue a previously started search.\n     *\n     * @param value - value to be found.\n     * @return the list of addresses where the value were found.\n     */\n    public List<Integer> continueSearch(byte value) {\n        List<Integer> addressesToRemove = new ArrayList<>();\n        for (int address : foundAddresses) {\n            if ((cpuram.read(address) & 0xFF) != (value & 0xFF)) {\n                addressesToRemove.add(address);\n            }\n        }\n        foundAddresses.removeAll(addressesToRemove);\n        return foundAddresses;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/cheats/ActionReplayGui.form",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n\n<Form version=\"1.5\" maxVersion=\"1.8\" type=\"org.netbeans.modules.form.forminfo.JDialogFormInfo\">\n  <NonVisualComponents>\n    <Container class=\"javax.swing.JScrollPane\" name=\"jScrollPane2\">\n      <AuxValues>\n        <AuxValue name=\"autoScrollPane\" type=\"java.lang.Boolean\" value=\"true\"/>\n      </AuxValues>\n\n      <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout\"/>\n      <SubComponents>\n        <Component class=\"javax.swing.JTable\" name=\"jTable1\">\n          <Properties>\n            <Property name=\"model\" type=\"javax.swing.table.TableModel\" editor=\"org.netbeans.modules.form.editors2.TableModelEditor\">\n              <Table columnCount=\"4\" rowCount=\"4\">\n                <Column editable=\"true\" title=\"Title 1\" type=\"java.lang.Object\"/>\n                <Column editable=\"true\" title=\"Title 2\" type=\"java.lang.Object\"/>\n                <Column editable=\"true\" title=\"Title 3\" type=\"java.lang.Object\"/>\n                <Column editable=\"true\" title=\"Title 4\" type=\"java.lang.Object\"/>\n              </Table>\n            </Property>\n          </Properties>\n        </Component>\n      </SubComponents>\n    </Container>\n  </NonVisualComponents>\n  <Properties>\n    <Property name=\"defaultCloseOperation\" type=\"int\" value=\"2\"/>\n    <Property name=\"title\" type=\"java.lang.String\" value=\"Cheat Codes\"/>\n    <Property name=\"modal\" type=\"boolean\" value=\"true\"/>\n    <Property name=\"name\" type=\"java.lang.String\" value=\"actionReplayDialog\" noResource=\"true\"/>\n    <Property name=\"resizable\" type=\"boolean\" value=\"false\"/>\n  </Properties>\n  <SyntheticProperties>\n    <SyntheticProperty name=\"formSizePolicy\" type=\"int\" value=\"1\"/>\n    <SyntheticProperty name=\"generateCenter\" type=\"boolean\" value=\"false\"/>\n  </SyntheticProperties>\n  <AuxValues>\n    <AuxValue name=\"FormSettings_autoResourcing\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_autoSetComponentName\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_generateFQN\" type=\"java.lang.Boolean\" value=\"true\"/>\n    <AuxValue name=\"FormSettings_generateMnemonicsCode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_i18nAutoMode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_layoutCodeTarget\" type=\"java.lang.Integer\" value=\"1\"/>\n    <AuxValue name=\"FormSettings_listenerGenerationStyle\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_variablesLocal\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_variablesModifier\" type=\"java.lang.Integer\" value=\"2\"/>\n  </AuxValues>\n\n  <Layout>\n    <DimensionLayout dim=\"0\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" attributes=\"0\">\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Component id=\"tabbedPan\" min=\"-2\" pref=\"496\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace max=\"32767\" attributes=\"0\"/>\n          </Group>\n          <Group type=\"102\" alignment=\"1\" attributes=\"0\">\n              <EmptySpace max=\"32767\" attributes=\"0\"/>\n              <Component id=\"btnClose\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n    <DimensionLayout dim=\"1\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Component id=\"tabbedPan\" min=\"-2\" pref=\"315\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n              <Component id=\"btnClose\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace max=\"32767\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n  </Layout>\n  <SubComponents>\n    <Container class=\"javax.swing.JTabbedPane\" name=\"tabbedPan\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[10, 128]\"/>\n        </Property>\n      </Properties>\n      <AccessibilityProperties>\n        <Property name=\"AccessibleContext.accessibleName\" type=\"java.lang.String\" value=\"\"/>\n      </AccessibilityProperties>\n\n      <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout\"/>\n      <SubComponents>\n        <Container class=\"javax.swing.JPanel\" name=\"jPanel1\">\n          <Constraints>\n            <Constraint layoutClass=\"org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout\" value=\"org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription\">\n              <JTabbedPaneConstraints tabName=\"Apply\">\n                <Property name=\"tabTitle\" type=\"java.lang.String\" value=\"Apply\"/>\n              </JTabbedPaneConstraints>\n            </Constraint>\n          </Constraints>\n\n          <Layout>\n            <DimensionLayout dim=\"0\">\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" attributes=\"0\">\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" max=\"-2\" attributes=\"0\">\n                          <Component id=\"jScrollPane1\" alignment=\"0\" min=\"-2\" pref=\"468\" max=\"-2\" attributes=\"0\"/>\n                          <Group type=\"102\" attributes=\"0\">\n                              <Component id=\"panelApplyCode\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <EmptySpace min=\"-2\" pref=\"20\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jPanel3\" max=\"32767\" attributes=\"0\"/>\n                          </Group>\n                      </Group>\n                      <EmptySpace pref=\"13\" max=\"32767\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n            </DimensionLayout>\n            <DimensionLayout dim=\"1\">\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jScrollPane1\" min=\"-2\" pref=\"78\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace type=\"separate\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Component id=\"panelApplyCode\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jPanel3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace pref=\"16\" max=\"32767\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n            </DimensionLayout>\n          </Layout>\n          <SubComponents>\n            <Container class=\"javax.swing.JScrollPane\" name=\"jScrollPane1\">\n              <AuxValues>\n                <AuxValue name=\"autoScrollPane\" type=\"java.lang.Boolean\" value=\"true\"/>\n              </AuxValues>\n\n              <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout\"/>\n              <SubComponents>\n                <Component class=\"javax.swing.JTextArea\" name=\"jTextArea1\">\n                  <Properties>\n                    <Property name=\"editable\" type=\"boolean\" value=\"false\"/>\n                    <Property name=\"background\" type=\"java.awt.Color\" editor=\"org.netbeans.beaninfo.editors.ColorEditor\">\n                      <Color blue=\"f0\" green=\"f0\" red=\"f0\" type=\"rgb\"/>\n                    </Property>\n                    <Property name=\"columns\" type=\"int\" value=\"20\"/>\n                    <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n                      <Font name=\"Tahoma\" size=\"11\" style=\"0\"/>\n                    </Property>\n                    <Property name=\"rows\" type=\"int\" value=\"5\"/>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Enter a Game Genie or Pro Action Replay cheat code.&#xa;A Pro Action Replay code is composed of 8 hexadecimal characters&#xa;(numbers from 0 to 9 and letters from A to F).&#xa;The first 6 characters represent the in-memory address, and the last two the value to write in.&#xa;It is used to patch the NES memory to give you extra lives, ammo, time etc...\"/>\n                  </Properties>\n                </Component>\n              </SubComponents>\n            </Container>\n            <Container class=\"javax.swing.JPanel\" name=\"panelApplyCode\">\n              <Properties>\n                <Property name=\"border\" type=\"javax.swing.border.Border\" editor=\"org.netbeans.modules.form.editors2.BorderEditor\">\n                  <Border info=\"org.netbeans.modules.form.compat2.border.TitledBorderInfo\">\n                    <TitledBorder title=\"Add new code\"/>\n                  </Border>\n                </Property>\n              </Properties>\n\n              <Layout>\n                <DimensionLayout dim=\"0\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"textCode\" min=\"-2\" pref=\"130\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"btnApply\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n                <DimensionLayout dim=\"1\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Group type=\"103\" groupAlignment=\"2\" attributes=\"0\">\n                              <Component id=\"textCode\" alignment=\"2\" min=\"-2\" pref=\"28\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"btnApply\" alignment=\"2\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                          <EmptySpace max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n              </Layout>\n              <SubComponents>\n                <Component class=\"javax.swing.JTextField\" name=\"textCode\">\n                  <Properties>\n                    <Property name=\"columns\" type=\"int\" value=\"8\"/>\n                    <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n                      <Font name=\"Tahoma\" size=\"24\" style=\"0\"/>\n                    </Property>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"caretUpdate\" listener=\"javax.swing.event.CaretListener\" parameters=\"javax.swing.event.CaretEvent\" handler=\"textCodeCaretUpdate\"/>\n                  </Events>\n                </Component>\n                <Component class=\"javax.swing.JButton\" name=\"btnApply\">\n                  <Properties>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Apply\"/>\n                    <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnApplyActionPerformed\"/>\n                  </Events>\n                </Component>\n              </SubComponents>\n            </Container>\n            <Container class=\"javax.swing.JPanel\" name=\"jPanel3\">\n              <Properties>\n                <Property name=\"border\" type=\"javax.swing.border.Border\" editor=\"org.netbeans.modules.form.editors2.BorderEditor\">\n                  <Border info=\"org.netbeans.modules.form.compat2.border.TitledBorderInfo\">\n                    <TitledBorder title=\"Currently applied codes\"/>\n                  </Border>\n                </Property>\n              </Properties>\n\n              <Layout>\n                <DimensionLayout dim=\"0\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jScrollPane4\" min=\"-2\" pref=\"75\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace type=\"separate\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"btnRemoveAll\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n                <DimensionLayout dim=\"1\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                              <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                                  <Component id=\"btnRemoveAll\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <EmptySpace min=\"0\" pref=\"96\" max=\"32767\" attributes=\"0\"/>\n                              </Group>\n                              <Component id=\"jScrollPane4\" pref=\"0\" max=\"32767\" attributes=\"0\"/>\n                          </Group>\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n              </Layout>\n              <SubComponents>\n                <Container class=\"javax.swing.JScrollPane\" name=\"jScrollPane4\">\n                  <AuxValues>\n                    <AuxValue name=\"autoScrollPane\" type=\"java.lang.Boolean\" value=\"true\"/>\n                  </AuxValues>\n\n                  <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout\"/>\n                  <SubComponents>\n                    <Component class=\"javax.swing.JList\" name=\"currentCodesList\">\n                      <Properties>\n                        <Property name=\"model\" type=\"javax.swing.ListModel\" editor=\"org.netbeans.modules.form.editors2.ListModelEditor\">\n                          <StringArray count=\"5\">\n                            <StringItem index=\"0\" value=\"Item 1\"/>\n                            <StringItem index=\"1\" value=\"Item 2\"/>\n                            <StringItem index=\"2\" value=\"Item 3\"/>\n                            <StringItem index=\"3\" value=\"Item 4\"/>\n                            <StringItem index=\"4\" value=\"Item 5\"/>\n                          </StringArray>\n                        </Property>\n                        <Property name=\"selectionMode\" type=\"int\" value=\"0\"/>\n                      </Properties>\n                    </Component>\n                  </SubComponents>\n                </Container>\n                <Component class=\"javax.swing.JButton\" name=\"btnRemoveAll\">\n                  <Properties>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Remove all\"/>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnRemoveAllActionPerformed\"/>\n                  </Events>\n                </Component>\n              </SubComponents>\n            </Container>\n          </SubComponents>\n        </Container>\n        <Container class=\"javax.swing.JPanel\" name=\"jPanel2\">\n          <Constraints>\n            <Constraint layoutClass=\"org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout\" value=\"org.netbeans.modules.form.compat2.layouts.support.JTabbedPaneSupportLayout$JTabbedPaneConstraintsDescription\">\n              <JTabbedPaneConstraints tabName=\"Find\">\n                <Property name=\"tabTitle\" type=\"java.lang.String\" value=\"Find\"/>\n              </JTabbedPaneConstraints>\n            </Constraint>\n          </Constraints>\n\n          <Layout>\n            <DimensionLayout dim=\"0\">\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" attributes=\"0\">\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Component id=\"jScrollPane3\" min=\"-2\" pref=\"468\" max=\"-2\" attributes=\"0\"/>\n                          <Group type=\"102\" attributes=\"0\">\n                              <Component id=\"jPanel4\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <EmptySpace type=\"separate\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jPanel5\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                      </Group>\n                      <EmptySpace pref=\"13\" max=\"32767\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n            </DimensionLayout>\n            <DimensionLayout dim=\"1\">\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jScrollPane3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Group type=\"102\" attributes=\"0\">\n                              <Component id=\"jPanel4\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <EmptySpace min=\"0\" pref=\"0\" max=\"32767\" attributes=\"0\"/>\n                          </Group>\n                          <Component id=\"jPanel5\" max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n            </DimensionLayout>\n          </Layout>\n          <SubComponents>\n            <Container class=\"javax.swing.JScrollPane\" name=\"jScrollPane3\">\n              <AuxValues>\n                <AuxValue name=\"autoScrollPane\" type=\"java.lang.Boolean\" value=\"true\"/>\n              </AuxValues>\n\n              <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout\"/>\n              <SubComponents>\n                <Component class=\"javax.swing.JTextArea\" name=\"jTextArea2\">\n                  <Properties>\n                    <Property name=\"editable\" type=\"boolean\" value=\"false\"/>\n                    <Property name=\"background\" type=\"java.awt.Color\" editor=\"org.netbeans.beaninfo.editors.ColorEditor\">\n                      <Color blue=\"f0\" green=\"f0\" red=\"f0\" type=\"rgb\"/>\n                    </Property>\n                    <Property name=\"columns\" type=\"int\" value=\"20\"/>\n                    <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n                      <Font name=\"Tahoma\" size=\"11\" style=\"0\"/>\n                    </Property>\n                    <Property name=\"rows\" type=\"int\" value=\"5\"/>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"You can find new Pro Action Replay codes by searching into memory the location of&#xa;some data like remaining lives, time left, etc...&#xa;Start a new search with the current value you want to search, then continue the search&#xa;with new values of the same data until the number of locations found is low, and then&#xa;try the codes until you found the good one!\"/>\n                  </Properties>\n                </Component>\n              </SubComponents>\n            </Container>\n            <Container class=\"javax.swing.JPanel\" name=\"jPanel4\">\n              <Properties>\n                <Property name=\"border\" type=\"javax.swing.border.Border\" editor=\"org.netbeans.modules.form.editors2.BorderEditor\">\n                  <Border info=\"org.netbeans.modules.form.compat2.border.TitledBorderInfo\">\n                    <TitledBorder title=\"Search\"/>\n                  </Border>\n                </Property>\n              </Properties>\n\n              <Layout>\n                <DimensionLayout dim=\"0\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"textFindData\" min=\"-2\" pref=\"50\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"btnSearch\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace pref=\"42\" max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                      <Group type=\"102\" alignment=\"1\" attributes=\"0\">\n                          <EmptySpace max=\"32767\" attributes=\"0\"/>\n                          <Component id=\"btnReset\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n                <DimensionLayout dim=\"1\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" attributes=\"0\">\n                          <Group type=\"103\" groupAlignment=\"2\" attributes=\"0\">\n                              <Component id=\"textFindData\" alignment=\"2\" min=\"-2\" pref=\"28\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"btnSearch\" alignment=\"2\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                          <EmptySpace pref=\"7\" max=\"32767\" attributes=\"0\"/>\n                          <Component id=\"btnReset\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n              </Layout>\n              <SubComponents>\n                <Component class=\"javax.swing.JTextField\" name=\"textFindData\">\n                  <Properties>\n                    <Property name=\"columns\" type=\"int\" value=\"8\"/>\n                    <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n                      <Font name=\"Tahoma\" size=\"24\" style=\"0\"/>\n                    </Property>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"caretUpdate\" listener=\"javax.swing.event.CaretListener\" parameters=\"javax.swing.event.CaretEvent\" handler=\"textFindDataCaretUpdate\"/>\n                  </Events>\n                </Component>\n                <Component class=\"javax.swing.JButton\" name=\"btnSearch\">\n                  <Properties>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Search\"/>\n                    <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnSearchActionPerformed\"/>\n                  </Events>\n                </Component>\n                <Component class=\"javax.swing.JButton\" name=\"btnReset\">\n                  <Properties>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Reset Search\"/>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnResetActionPerformed\"/>\n                  </Events>\n                </Component>\n              </SubComponents>\n            </Container>\n            <Container class=\"javax.swing.JPanel\" name=\"jPanel5\">\n              <Properties>\n                <Property name=\"border\" type=\"javax.swing.border.Border\" editor=\"org.netbeans.modules.form.editors2.BorderEditor\">\n                  <Border info=\"org.netbeans.modules.form.compat2.border.TitledBorderInfo\">\n                    <TitledBorder title=\"Possible addresses\"/>\n                  </Border>\n                </Property>\n              </Properties>\n\n              <Layout>\n                <DimensionLayout dim=\"0\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jScrollPane5\" min=\"-2\" pref=\"75\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace pref=\"28\" max=\"32767\" attributes=\"0\"/>\n                          <Component id=\"btnTry\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace min=\"-2\" pref=\"18\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n                <DimensionLayout dim=\"1\">\n                  <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                      <Component id=\"jScrollPane5\" alignment=\"0\" pref=\"155\" max=\"32767\" attributes=\"0\"/>\n                      <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"btnTry\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"32767\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                </DimensionLayout>\n              </Layout>\n              <SubComponents>\n                <Container class=\"javax.swing.JScrollPane\" name=\"jScrollPane5\">\n                  <AuxValues>\n                    <AuxValue name=\"autoScrollPane\" type=\"java.lang.Boolean\" value=\"true\"/>\n                  </AuxValues>\n\n                  <Layout class=\"org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout\"/>\n                  <SubComponents>\n                    <Component class=\"javax.swing.JList\" name=\"listPossibleAddresses\">\n                      <Properties>\n                        <Property name=\"model\" type=\"javax.swing.ListModel\" editor=\"org.netbeans.modules.form.editors2.ListModelEditor\">\n                          <StringArray count=\"5\">\n                            <StringItem index=\"0\" value=\"Item 1\"/>\n                            <StringItem index=\"1\" value=\"Item 2\"/>\n                            <StringItem index=\"2\" value=\"Item 3\"/>\n                            <StringItem index=\"3\" value=\"Item 4\"/>\n                            <StringItem index=\"4\" value=\"Item 5\"/>\n                          </StringArray>\n                        </Property>\n                        <Property name=\"selectionMode\" type=\"int\" value=\"0\"/>\n                      </Properties>\n                    </Component>\n                  </SubComponents>\n                </Container>\n                <Component class=\"javax.swing.JButton\" name=\"btnTry\">\n                  <Properties>\n                    <Property name=\"text\" type=\"java.lang.String\" value=\"Try\"/>\n                    <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n                  </Properties>\n                  <Events>\n                    <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnTryActionPerformed\"/>\n                  </Events>\n                </Component>\n              </SubComponents>\n            </Container>\n          </SubComponents>\n        </Container>\n      </SubComponents>\n    </Container>\n    <Component class=\"javax.swing.JButton\" name=\"btnClose\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Close\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"btnCloseActionPerformed\"/>\n      </Events>\n    </Component>\n  </SubComponents>\n</Form>\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/cheats/ActionReplayGui.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.cheats;\n\nimport java.util.ArrayList;\nimport java.util.List;\nimport java.util.Locale;\n\nimport javax.swing.event.ListSelectionEvent;\nimport javax.swing.event.ListSelectionListener;\nimport javax.swing.text.AttributeSet;\nimport javax.swing.text.BadLocationException;\nimport javax.swing.text.PlainDocument;\nimport static com.grapeshot.halfnes.utils.*;\n\n/**\n * Dialog box to configure and apply Pro Action Replay cheat codes.\n *\n * @author Thomas Lorblanches\n */\npublic class ActionReplayGui extends javax.swing.JDialog {\n\n    private static final int ADDRESS_LENGTH = 6;\n    private static final int DATA_LENGTH = 2;\n    private static final int CODE_LENGTH = ADDRESS_LENGTH + DATA_LENGTH;\n    private Patch patch = null;\n    private final ActionReplay actionReplay;\n\n    /**\n     * Creates new form ActionReplayGui\n     */\n    public ActionReplayGui(java.awt.Frame parent, boolean modal, ActionReplay actionReplay) {\n        super(parent, modal);\n        initComponents();\n        setLocationRelativeTo(null);\n        textCode.requestFocusInWindow();\n        textCode.setDocument(new PlainDocument() {\n            @Override\n            public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {\n                if (str == null) {\n                    return;\n                }\n                if (((getLength() + str.length()) <= CODE_LENGTH) && (str.matches(\"[0-9a-fA-FAEGIKLNOPSTUVXYZaegiklnopstuvxyz]*\"))) {\n                    super.insertString(offset, str, attr);\n                }\n            }\n        });\n        textFindData.setDocument(new PlainDocument() {\n            @Override\n            public void insertString(int offset, String str, AttributeSet attr) throws BadLocationException {\n                if (str == null) {\n                    return;\n                }\n                if (((getLength() + str.length()) <= 3) && (str.matches(\"[0-9]*\"))) {\n                    super.insertString(offset, str, attr);\n                }\n            }\n        });\n        listPossibleAddresses.addListSelectionListener(new ListSelectionListener() {\n            @Override\n            public void valueChanged(ListSelectionEvent e) {\n                if (e.getValueIsAdjusting()) {\n                    return;\n                }\n                if (listPossibleAddresses.getSelectedIndex() == -1) {\n                    btnTry.setEnabled(false);\n                } else {\n                    btnTry.setEnabled(true);\n                }\n            }\n        });\n        this.actionReplay = actionReplay;\n        updateCurrentCodesList();\n        updateListPossibleCodes();\n    }\n\n    private void updateCurrentCodesList() {\n        final Patch[] patches = actionReplay.getPatches().values().toArray(new Patch[0]);\n        final String[] patchesStr = new String[patches.length];\n        for (int i = 0; i < patches.length; i++) {\n            patchesStr[i] = patches[i].toString().toUpperCase();\n        }\n        currentCodesList.setListData(patchesStr);\n    }\n\n    private void updateListPossibleCodes() {\n        List<String> adrStr = new ArrayList<>();\n        for (Integer adr : actionReplay.getFoundAddresses()) {\n            String str = Integer.toHexString(adr).toUpperCase();\n            while (str.length() < ADDRESS_LENGTH) {\n                str = \"0\" + str;\n            }\n            adrStr.add(str);\n        }\n        listPossibleAddresses.setListData(adrStr.toArray());\n    }\n\n    private boolean isCodeValid() {\n        final String code = textCode.getText();\n        if ((code.length() == 8) && code.matches(\"[0-9a-fA-F]*\")) {\n            btnApply.setEnabled(true);\n            final int data = (Integer.parseInt(textCode.getText().substring(textCode.getText().length() - 2), 16) & 0xFF);\n            final int address = Integer.parseInt(textCode.getText().substring(0, textCode.getText().length() - 2), 16);\n            patch = new Patch(address, data);\n            return true;\n        } else if ((code.length() == 6) && code.matches(\"[AEGIKLNOPSTUVXYZaegiklnopstuvxyz]*\")) {\n            //game genie type 1 code\n            long c = GGtoHex(code);\n            if (!((c & (BIT15)) != 0)) { //check bit 15 is false\n                //now descramble this value into address and data\n                final int address = 0x8000\n                        | ((int) ((c >> 10) & 1) << 14)\n                        | ((int) ((c >> 9) & 1) << 13)\n                        | ((int) ((c >> 8) & 1) << 12)\n                        | ((int) ((c >> 7) & 1) << 11)\n                        | ((int) ((c >> 2) & 1) << 10)\n                        | ((int) ((c >> 1) & 1) << 9)\n                        | ((int) ((c >> 0) & 1) << 8)\n                        | ((int) ((c >> 19) & 1) << 7)\n                        | ((int) ((c >> 14) & 1) << 6)\n                        | ((int) ((c >> 13) & 1) << 5)\n                        | ((int) ((c >> 12) & 1) << 4)\n                        | ((int) ((c >> 11) & 1) << 3)\n                        | ((int) ((c >> 6) & 1) << 2)\n                        | ((int) ((c >> 5) & 1) << 1)\n                        | ((int) ((c >> 4) & 1));\n                final int data = ((int) ((c >> 23) & 1) << 7)\n                        | ((int) ((c >> 18) & 1) << 6)\n                        | ((int) ((c >> 17) & 1) << 5)\n                        | ((int) ((c >> 16) & 1) << 4)\n                        | ((int) ((c >> 3) & 1) << 3)\n                        | ((int) ((c >> 22) & 1) << 2)\n                        | ((int) ((c >> 21) & 1) << 1)\n                        | (int) ((c >> 20) & 1);\n                btnApply.setEnabled(true);\n                patch = new Patch(address, data);\n                return true;\n            }\n\n        } else if ((code.length() == 8) && code.matches(\"[AEGIKLNOPSTUVXYZaegiklnopstuvxyz]*\")) {\n            //game genie type 2 code\n            long c = GGtoHex(code);\n            if (((c & (1 << 23)) != 0)) { //check bit 15 is true\n                //now descramble this value into address and data\n                final int address\n                        = 0x8000\n                        | ((int) ((c >> 18) & 1) << 14)\n                        | ((int) ((c >> 17) & 1) << 13)\n                        | ((int) ((c >> 16) & 1) << 12)\n                        | ((int) ((c >> 15) & 1) << 11)\n                        | ((int) ((c >> 10) & 1) << 10)\n                        | ((int) ((c >> 9) & 1) << 9)\n                        | ((int) ((c >> 8) & 1) << 8)\n                        | ((int) ((c >> 27) & 1) << 7)\n                        | ((int) ((c >> 22) & 1) << 6)\n                        | ((int) ((c >> 21) & 1) << 5)\n                        | ((int) ((c >> 20) & 1) << 4)\n                        | ((int) ((c >> 19) & 1) << 3)\n                        | ((int) ((c >> 14) & 1) << 2)\n                        | ((int) ((c >> 13) & 1) << 1)\n                        | ((int) ((c >> 12) & 1));\n                final int data\n                        = ((int) ((c >> 31) & 1) << 7)\n                        | ((int) ((c >> 26) & 1) << 6)\n                        | ((int) ((c >> 25) & 1) << 5)\n                        | ((int) ((c >> 24) & 1) << 4)\n                        | ((int) ((c >> 3) & 1) << 3)\n                        | ((int) ((c >> 30) & 1) << 2)\n                        | ((int) ((c >> 29) & 1) << 1)\n                        | ((int) ((c >> 28) & 1));\n\n                final int check\n                        = //8 char game genie codes use a check byte so val is only\n                        //patched when rom value matches this.\n                        ((int) ((c >> 7) & 1) << 7)\n                        | ((int) ((c >> 2) & 1) << 6)\n                        | ((int) ((c >> 1) & 1) << 5)\n                        | ((int) ((c >> 0) & 1) << 4)\n                        | ((int) ((c >> 11) & 1) << 3)\n                        | ((int) ((c >> 6) & 1) << 2)\n                        | ((int) ((c >> 5) & 1) << 1)\n                        | ((int) ((c >> 4) & 1));\n                btnApply.setEnabled(true);\n                patch = new Patch(address, data, check);\n                return true;\n            }\n        }\n        btnApply.setEnabled(false);\n        patch = null;\n        return false;\n    }\n    private final static String ggMap = \"APZLGITYEOXUKSVN\";\n\n    private long GGtoHex(String code) {\n        //converts a game genie code to a hex string\n        //the individual bits still need to be unscrambled\n        code = code.toUpperCase(Locale.ENGLISH);\n        long ret = 0;\n        for (int i = 0; i < code.length(); ++i) {\n            ret *= 16;\n            ret += ggMap.indexOf(code.charAt(i));\n        }\n        return ret;\n    }\n\n    /**\n     * This method is called from within the constructor to initialize the form.\n     * WARNING: Do NOT modify this code. The content of this method is always\n     * regenerated by the Form Editor.\n     */\n    @SuppressWarnings(\"unchecked\")\n    // <editor-fold defaultstate=\"collapsed\" desc=\"Generated Code\">//GEN-BEGIN:initComponents\n    private void initComponents() {\n\n        jScrollPane2 = new javax.swing.JScrollPane();\n        jTable1 = new javax.swing.JTable();\n        tabbedPan = new javax.swing.JTabbedPane();\n        jPanel1 = new javax.swing.JPanel();\n        jScrollPane1 = new javax.swing.JScrollPane();\n        jTextArea1 = new javax.swing.JTextArea();\n        panelApplyCode = new javax.swing.JPanel();\n        textCode = new javax.swing.JTextField();\n        btnApply = new javax.swing.JButton();\n        jPanel3 = new javax.swing.JPanel();\n        jScrollPane4 = new javax.swing.JScrollPane();\n        currentCodesList = new javax.swing.JList();\n        btnRemoveAll = new javax.swing.JButton();\n        jPanel2 = new javax.swing.JPanel();\n        jScrollPane3 = new javax.swing.JScrollPane();\n        jTextArea2 = new javax.swing.JTextArea();\n        jPanel4 = new javax.swing.JPanel();\n        textFindData = new javax.swing.JTextField();\n        btnSearch = new javax.swing.JButton();\n        btnReset = new javax.swing.JButton();\n        jPanel5 = new javax.swing.JPanel();\n        jScrollPane5 = new javax.swing.JScrollPane();\n        listPossibleAddresses = new javax.swing.JList();\n        btnTry = new javax.swing.JButton();\n        btnClose = new javax.swing.JButton();\n\n        jTable1.setModel(new javax.swing.table.DefaultTableModel(\n            new Object [][] {\n                {null, null, null, null},\n                {null, null, null, null},\n                {null, null, null, null},\n                {null, null, null, null}\n            },\n            new String [] {\n                \"Title 1\", \"Title 2\", \"Title 3\", \"Title 4\"\n            }\n        ));\n        jScrollPane2.setViewportView(jTable1);\n\n        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);\n        setTitle(\"Cheat Codes\");\n        setModal(true);\n        setName(\"actionReplayDialog\"); // NOI18N\n        setResizable(false);\n\n        tabbedPan.setMinimumSize(new java.awt.Dimension(10, 128));\n\n        jTextArea1.setEditable(false);\n        jTextArea1.setBackground(new java.awt.Color(240, 240, 240));\n        jTextArea1.setColumns(20);\n        jTextArea1.setFont(new java.awt.Font(\"Tahoma\", 0, 11)); // NOI18N\n        jTextArea1.setRows(5);\n        jTextArea1.setText(\"Enter a Game Genie or Pro Action Replay cheat code.\\nA Pro Action Replay code is composed of 8 hexadecimal characters\\n(numbers from 0 to 9 and letters from A to F).\\nThe first 6 characters represent the in-memory address, and the last two the value to write in.\\nIt is used to patch the NES memory to give you extra lives, ammo, time etc...\");\n        jScrollPane1.setViewportView(jTextArea1);\n\n        panelApplyCode.setBorder(javax.swing.BorderFactory.createTitledBorder(\"Add new code\"));\n\n        textCode.setColumns(8);\n        textCode.setFont(new java.awt.Font(\"Tahoma\", 0, 24)); // NOI18N\n        textCode.addCaretListener(new javax.swing.event.CaretListener() {\n            public void caretUpdate(javax.swing.event.CaretEvent evt) {\n                textCodeCaretUpdate(evt);\n            }\n        });\n\n        btnApply.setText(\"Apply\");\n        btnApply.setEnabled(false);\n        btnApply.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnApplyActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout panelApplyCodeLayout = new javax.swing.GroupLayout(panelApplyCode);\n        panelApplyCode.setLayout(panelApplyCodeLayout);\n        panelApplyCodeLayout.setHorizontalGroup(\n            panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(panelApplyCodeLayout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(textCode, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addComponent(btnApply)\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n        );\n        panelApplyCodeLayout.setVerticalGroup(\n            panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(panelApplyCodeLayout.createSequentialGroup()\n                .addContainerGap()\n                .addGroup(panelApplyCodeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)\n                    .addComponent(textCode, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addComponent(btnApply))\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n        );\n\n        jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder(\"Currently applied codes\"));\n\n        currentCodesList.setModel(new javax.swing.AbstractListModel() {\n            String[] strings = { \"Item 1\", \"Item 2\", \"Item 3\", \"Item 4\", \"Item 5\" };\n            public int getSize() { return strings.length; }\n            public Object getElementAt(int i) { return strings[i]; }\n        });\n        currentCodesList.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);\n        jScrollPane4.setViewportView(currentCodesList);\n\n        btnRemoveAll.setText(\"Remove all\");\n        btnRemoveAll.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnRemoveAllActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);\n        jPanel3.setLayout(jPanel3Layout);\n        jPanel3Layout.setHorizontalGroup(\n            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel3Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addGap(18, 18, 18)\n                .addComponent(btnRemoveAll)\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n        );\n        jPanel3Layout.setVerticalGroup(\n            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel3Layout.createSequentialGroup()\n                .addContainerGap()\n                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addGroup(jPanel3Layout.createSequentialGroup()\n                        .addComponent(btnRemoveAll)\n                        .addGap(0, 96, Short.MAX_VALUE))\n                    .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))\n                .addContainerGap())\n        );\n\n        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);\n        jPanel1.setLayout(jPanel1Layout);\n        jPanel1Layout.setHorizontalGroup(\n            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel1Layout.createSequentialGroup()\n                .addContainerGap()\n                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)\n                    .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addGroup(jPanel1Layout.createSequentialGroup()\n                        .addComponent(panelApplyCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                        .addGap(20, 20, 20)\n                        .addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))\n                .addContainerGap(13, Short.MAX_VALUE))\n        );\n        jPanel1Layout.setVerticalGroup(\n            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel1Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 78, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addGap(18, 18, 18)\n                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addComponent(panelApplyCode, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                .addContainerGap(16, Short.MAX_VALUE))\n        );\n\n        tabbedPan.addTab(\"Apply\", jPanel1);\n\n        jTextArea2.setEditable(false);\n        jTextArea2.setBackground(new java.awt.Color(240, 240, 240));\n        jTextArea2.setColumns(20);\n        jTextArea2.setFont(new java.awt.Font(\"Tahoma\", 0, 11)); // NOI18N\n        jTextArea2.setRows(5);\n        jTextArea2.setText(\"You can find new Pro Action Replay codes by searching into memory the location of\\nsome data like remaining lives, time left, etc...\\nStart a new search with the current value you want to search, then continue the search\\nwith new values of the same data until the number of locations found is low, and then\\ntry the codes until you found the good one!\");\n        jScrollPane3.setViewportView(jTextArea2);\n\n        jPanel4.setBorder(javax.swing.BorderFactory.createTitledBorder(\"Search\"));\n\n        textFindData.setColumns(8);\n        textFindData.setFont(new java.awt.Font(\"Tahoma\", 0, 24)); // NOI18N\n        textFindData.addCaretListener(new javax.swing.event.CaretListener() {\n            public void caretUpdate(javax.swing.event.CaretEvent evt) {\n                textFindDataCaretUpdate(evt);\n            }\n        });\n\n        btnSearch.setText(\"Search\");\n        btnSearch.setEnabled(false);\n        btnSearch.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnSearchActionPerformed(evt);\n            }\n        });\n\n        btnReset.setText(\"Reset Search\");\n        btnReset.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnResetActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);\n        jPanel4.setLayout(jPanel4Layout);\n        jPanel4Layout.setHorizontalGroup(\n            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel4Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(textFindData, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addComponent(btnSearch)\n                .addContainerGap(42, Short.MAX_VALUE))\n            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel4Layout.createSequentialGroup()\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)\n                .addComponent(btnReset)\n                .addContainerGap())\n        );\n        jPanel4Layout.setVerticalGroup(\n            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel4Layout.createSequentialGroup()\n                .addGroup(jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)\n                    .addComponent(textFindData, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addComponent(btnSearch))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 7, Short.MAX_VALUE)\n                .addComponent(btnReset)\n                .addContainerGap())\n        );\n\n        jPanel5.setBorder(javax.swing.BorderFactory.createTitledBorder(\"Possible addresses\"));\n\n        listPossibleAddresses.setModel(new javax.swing.AbstractListModel() {\n            String[] strings = { \"Item 1\", \"Item 2\", \"Item 3\", \"Item 4\", \"Item 5\" };\n            public int getSize() { return strings.length; }\n            public Object getElementAt(int i) { return strings[i]; }\n        });\n        listPossibleAddresses.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);\n        jScrollPane5.setViewportView(listPossibleAddresses);\n\n        btnTry.setText(\"Try\");\n        btnTry.setEnabled(false);\n        btnTry.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnTryActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout jPanel5Layout = new javax.swing.GroupLayout(jPanel5);\n        jPanel5.setLayout(jPanel5Layout);\n        jPanel5Layout.setHorizontalGroup(\n            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel5Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(jScrollPane5, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 28, Short.MAX_VALUE)\n                .addComponent(btnTry)\n                .addGap(18, 18, 18))\n        );\n        jPanel5Layout.setVerticalGroup(\n            jPanel5Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addComponent(jScrollPane5, javax.swing.GroupLayout.DEFAULT_SIZE, 155, Short.MAX_VALUE)\n            .addGroup(jPanel5Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(btnTry)\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n        );\n\n        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);\n        jPanel2.setLayout(jPanel2Layout);\n        jPanel2Layout.setHorizontalGroup(\n            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel2Layout.createSequentialGroup()\n                .addContainerGap()\n                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, 468, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addGroup(jPanel2Layout.createSequentialGroup()\n                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                        .addGap(18, 18, 18)\n                        .addComponent(jPanel5, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))\n                .addContainerGap(13, Short.MAX_VALUE))\n        );\n        jPanel2Layout.setVerticalGroup(\n            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(jPanel2Layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(jScrollPane3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addGroup(jPanel2Layout.createSequentialGroup()\n                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                        .addGap(0, 0, Short.MAX_VALUE))\n                    .addComponent(jPanel5, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n                .addContainerGap())\n        );\n\n        tabbedPan.addTab(\"Find\", jPanel2);\n\n        btnClose.setText(\"Close\");\n        btnClose.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                btnCloseActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());\n        getContentPane().setLayout(layout);\n        layout.setHorizontalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(tabbedPan, javax.swing.GroupLayout.PREFERRED_SIZE, 496, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)\n                .addComponent(btnClose)\n                .addContainerGap())\n        );\n        layout.setVerticalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addContainerGap()\n                .addComponent(tabbedPan, javax.swing.GroupLayout.PREFERRED_SIZE, 315, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addComponent(btnClose)\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))\n        );\n\n        tabbedPan.getAccessibleContext().setAccessibleName(\"\");\n\n        pack();\n    }// </editor-fold>//GEN-END:initComponents\n\n    private void btnCloseActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnCloseActionPerformed\n    {//GEN-HEADEREND:event_btnCloseActionPerformed\n        this.dispose();\n    }//GEN-LAST:event_btnCloseActionPerformed\n\n    private void btnApplyActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnApplyActionPerformed\n    {//GEN-HEADEREND:event_btnApplyActionPerformed\n        if (isCodeValid()) {\n            actionReplay.addMemoryPatch(patch);\n            this.setVisible(false);\n        }\n    }//GEN-LAST:event_btnApplyActionPerformed\n\n    private void textCodeCaretUpdate(javax.swing.event.CaretEvent evt)//GEN-FIRST:event_textCodeCaretUpdate\n    {//GEN-HEADEREND:event_textCodeCaretUpdate\n        isCodeValid();\n    }//GEN-LAST:event_textCodeCaretUpdate\n\n    private void btnRemoveAllActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnRemoveAllActionPerformed\n    {//GEN-HEADEREND:event_btnRemoveAllActionPerformed\n        actionReplay.clear();\n        updateCurrentCodesList();\n    }//GEN-LAST:event_btnRemoveAllActionPerformed\n\n    private void btnResetActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnResetActionPerformed\n    {//GEN-HEADEREND:event_btnResetActionPerformed\n        actionReplay.getFoundAddresses().clear();\n        updateListPossibleCodes();\n    }//GEN-LAST:event_btnResetActionPerformed\n\n    private void textFindDataCaretUpdate(javax.swing.event.CaretEvent evt)//GEN-FIRST:event_textFindDataCaretUpdate\n    {//GEN-HEADEREND:event_textFindDataCaretUpdate\n        if (textFindData.getText().matches(\"[0-9]+\")) {\n            btnSearch.setEnabled(true);\n        } else {\n            btnSearch.setEnabled(false);\n        }\n    }//GEN-LAST:event_textFindDataCaretUpdate\n\n    private void btnSearchActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnSearchActionPerformed\n    {//GEN-HEADEREND:event_btnSearchActionPerformed\n        if (actionReplay.getFoundAddresses().isEmpty()) {\n            actionReplay.newSearchInMemory((byte) Integer.parseInt(textFindData.getText(), 16));\n        } else {\n            actionReplay.continueSearch((byte) Integer.parseInt(textFindData.getText(), 16));\n        }\n        updateListPossibleCodes();\n    }//GEN-LAST:event_btnSearchActionPerformed\n\n    private void btnTryActionPerformed(java.awt.event.ActionEvent evt)//GEN-FIRST:event_btnTryActionPerformed\n    {//GEN-HEADEREND:event_btnTryActionPerformed\n        textCode.setText(listPossibleAddresses.getSelectedValue().toString());\n        tabbedPan.setSelectedIndex(0);\n    }//GEN-LAST:event_btnTryActionPerformed\n    // Variables declaration - do not modify//GEN-BEGIN:variables\n    private javax.swing.JButton btnApply;\n    private javax.swing.JButton btnClose;\n    private javax.swing.JButton btnRemoveAll;\n    private javax.swing.JButton btnReset;\n    private javax.swing.JButton btnSearch;\n    private javax.swing.JButton btnTry;\n    private javax.swing.JList currentCodesList;\n    private javax.swing.JPanel jPanel1;\n    private javax.swing.JPanel jPanel2;\n    private javax.swing.JPanel jPanel3;\n    private javax.swing.JPanel jPanel4;\n    private javax.swing.JPanel jPanel5;\n    private javax.swing.JScrollPane jScrollPane1;\n    private javax.swing.JScrollPane jScrollPane2;\n    private javax.swing.JScrollPane jScrollPane3;\n    private javax.swing.JScrollPane jScrollPane4;\n    private javax.swing.JScrollPane jScrollPane5;\n    private javax.swing.JTable jTable1;\n    private javax.swing.JTextArea jTextArea1;\n    private javax.swing.JTextArea jTextArea2;\n    private javax.swing.JList listPossibleAddresses;\n    private javax.swing.JPanel panelApplyCode;\n    private javax.swing.JTabbedPane tabbedPan;\n    private javax.swing.JTextField textCode;\n    private javax.swing.JTextField textFindData;\n    // End of variables declaration//GEN-END:variables\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/cheats/Patch.java",
    "content": "package com.grapeshot.halfnes.cheats;\n\n/**\n * A patch object includes an address to modify and the value to write at this\n * address. Patch objects are immutable and then thread-safe.\n *\n * @author Thomas Lorblanches\n */\npublic class Patch {\n\n    private final int type; //0 = no compare read, 1 = do\n    private final int address;\n    private final int data;\n    private final int cmpData;\n\n    /**\n     * Creates a patch.\n     *\n     * @param address - in-memory address to be patched.\n     * @param data - data to write in the address.\n     */\n    public Patch(int address, int data) {\n        this.address = address;\n        this.data = data;\n        this.type = 0;\n        this.cmpData = 0;\n    }\n\n    public Patch(int address, int data, int check) {\n        this.address = address;\n        this.data = data;\n        this.type = 1;\n        this.cmpData = check;\n    }\n\n    /**\n     * Returns the address to patch.\n     */\n    public int getAddress() {\n        return address;\n    }\n\n    /**\n     * Returns the value to write in the address.\n     */\n    public int getData() {\n        return data;\n    }\n\n    /**\n     * Returns true if the check matches the data or it's a code type that\n     * doesn't check data bus\n     */\n    public boolean matchesData(int data) {\n        return (type == 0) || (data == cmpData);\n    }\n\n    @Override\n    public int hashCode() {\n        int hash = 5;\n        hash = 71 * hash + this.address;\n        hash = 71 * hash + this.data;\n        return hash;\n    }\n\n    @Override\n    public boolean equals(Object obj) {\n        if (obj == null) {\n            return false;\n        }\n        if (getClass() != obj.getClass()) {\n            return false;\n        }\n        final Patch other = (Patch) obj;\n        if (this.address != other.address) {\n            return false;\n        }\n        if (this.data != other.data) {\n            return false;\n        }\n        return true;\n    }\n\n    @Override\n    public String toString() {\n        String addStr = Integer.toHexString(address);\n        String datStr = Integer.toHexString(data & 0xFF);\n        StringBuilder builder = new StringBuilder();\n        for (int i = 0; i < 6 - addStr.length(); i++) {\n            builder.append(\"0\");\n        }\n        builder.append(addStr);\n        for (int i = 0; i < 2 - datStr.length(); i++) {\n            builder.append(\"0\");\n        }\n        builder.append(datStr);\n        return builder.toString().toUpperCase();\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/halfNES.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport com.grapeshot.halfnes.ui.SwingUI;\n\nimport java.io.*;\nimport javax.swing.*;\n\npublic class halfNES {\n\n    private halfNES() {}\n\n    public static void main(String[] args) throws IOException {\n        JInputHelper.setupJInput();\n        try {\n            UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());\n        } catch (Exception e) {\n            System.err.println(\"Could not set system look and feel. Meh.\");\n        }\n        new SwingUI().start(args);\n    }\n\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Action52Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class Action52Mapper extends Mapper {\n\n    int[] ram = new int[4];\n    int prgchip = 0;\n    int prgpage = 0;\n    int chrpage = 0;\n    boolean prgmode = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        cartWrite(0x8000, 0);\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr <= 0x5fff) {\n            ram[addr & 3] = data & 0xf;\n        } else if (addr >= 0x8000) {\n            chrpage = ((addr & 0xf) << 2) + (data & 3);\n            prgmode = ((addr & (utils.BIT5)) != 0);\n            prgpage = (addr >> 6) & 0x1f;\n            prgchip = (addr >> 11) & 3;\n            setmirroring((((addr & (utils.BIT13)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (chrpage * 8 + i)) % chrsize;\n            }\n            int off = 0;\n            switch (prgchip) {\n                case 0:\n                    off = 0;\n                    break;\n                case 1:\n                    off = 0x080000;\n                    break;\n                case 3:\n                    off = 0x100000;\n                    break;\n                default:\n                    System.err.println(\"Who knows.\");\n            }\n            if (prgmode) {\n                for (int i = 0; i < 16; ++i) {\n                    prg_map[i] = ((1024 * ((16 * prgpage) + i)) + off) % prgsize;\n                    prg_map[i + 16] = ((1024 * ((16 * prgpage) + i)) + off) % prgsize;\n                }\n            } else {\n                for (int i = 0; i < 32; ++i) {\n                    prg_map[i] = ((1024 * ((32 * (prgpage >> 1)) + i)) + off) % prgsize;\n                }\n            }\n        }\n    }\n\n    @Override\n    public final int cartRead(final int addr) {\n        // by default has wram at 0x6000 and cartridge at 0x8000-0xfff\n        // but some mappers have different so override for those\n        if (addr >= 0x8000) {\n            return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];\n        } else if (addr < 0x6000) {\n            return ram[addr & 3] & 0xf;\n        }\n        return addr >> 8; //open bus\n    }\n\n    public void reset() {\n        cartWrite(0x8000, 0);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/AfterburnerMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\nimport java.util.Arrays;\n\n/**\n *\n * @author Andrew\n */\npublic class AfterburnerMapper extends Mapper {\n    //the Afterburner mapper is special in that it uses ROM name tables\n\n    private int bank = 0x0;\n    boolean useromnt = false;\n    int romnt1, romnt2;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //movable bank, should really be random. eh, effort\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr <= 0x8fff) {\n            setppubank(2, 0, data);\n        } else if (addr <= 0x9fff) {\n            setppubank(2, 2, data);\n        } else if (addr <= 0xafff) {\n            setppubank(2, 4, data);\n        } else if (addr <= 0xbfff) {\n            setppubank(2, 6, data);\n        } else if (addr <= 0xcfff) {\n            romnt1 = data | 0x80;\n        } else if (addr <= 0xdfff) {\n            romnt2 = data | 0x80;\n        } else if (addr <= 0xefff) {\n            useromnt = ((data & (utils.BIT4)) != 0);\n            setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        } else if (addr <= 0xffff) {\n            bank = data & 0xf;\n            //remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;\n        }\n    }\n\n    public int ppuRead(int addr) {\n        if (addr < 0x2000) {\n            return chr[chr_map[addr >> 10] + (addr & 1023)];\n        } else {\n            switch (addr & 0xc00) {\n                case 0:\n                    return (useromnt ? chr[(addr & 0x3ff) + (romnt1 * 1024)] : nt0[addr & 0x3ff]);\n                case 0x400:\n                    return (useromnt ? chr[(addr & 0x3ff) + (romnt2 * 1024)] : nt1[addr & 0x3ff]);\n                case 0x800:\n                    return (useromnt ? chr[(addr & 0x3ff) + (romnt2 * 1024)] : nt2[addr & 0x3ff]);\n                case 0xc00:\n                default:\n                    if (addr >= 0x3f00) {\n                        addr &= 0x1f;\n                        if (addr >= 0x10 && ((addr & 3) == 0)) {\n                            addr -= 0x10;\n                        }\n                        return ppu.pal[addr];\n                    } else {\n                        return (useromnt ? chr[(addr & 0x3ff) + (romnt1 * 1024)] : nt3[addr & 0x3ff]);\n                    }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/AnromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class AnromMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //remap all 32k of PRG to 32 x bank #\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + (32 * (data & 15)))) & (prgsize - 1);\n        }\n        setmirroring(((data & (utils.BIT4)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);\n\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/BadMapperException.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class BadMapperException extends Exception {\n\n    public String e;\n\n    public BadMapperException(String e) {\n        this.e = e;\n    }\n\n    @Override\n    public String getMessage() {\n        return e;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/BnromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class BnromMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //remap all 32k of PRG to 32 x bank #\n        int bankstart = 32 * (data & 15);\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + bankstart)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/CaltronMapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class CaltronMapper extends Mapper {\n\n    int reg = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr >= 0x6000 && addr <= 0x67FF) {\n            reg = addr & 0xFF;\n\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * (addr & 7))) & (prgsize - 1);\n            }\n\n            setmirroring(((addr & (utils.BIT5)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        } else if (addr >= 0x8000 && addr <= 0xFFFF && (reg & 4) != 0) {\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * ((reg >> 1 & 0xC) | (data & 3)))) & (chrsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/CnromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class CnromMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * (data & 0xff))) & (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/CodemastersMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class CodemastersMapper extends Mapper {\n\n    private int bank = 0x0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //movable bank, should really be random. eh, effort\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        if (addr < 0xc000) {\n            if (crc == 0x1BC686A8L) {\n                //fire hawk is only game with mapper controlled mirroring\n                //micro machines glitches hard if this is on              \n                setmirroring((((data & (utils.BIT4)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0));\n            }\n        } else {\n            bank = data & 0xf;\n            //remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/ColorDreamsMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\n/**\n *\n * @author Andrew\n */\npublic class ColorDreamsMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 1; i <= 8; ++i) {\n            chr_map[8 - i] = chrsize - (1024 * i);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        final int prgselect = data & 0xf;\n        final int chrselect = data >> 4;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/CrazyClimberMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class CrazyClimberMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //movable (second) bank; first one is fixed\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int bank = (data & 7);\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/CrimeBustersMapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class CrimeBustersMapper extends Mapper {\n    //Mapper 38 - GNROM (mapper 066) variant for Crime Busters\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = data & 3;\n        int chrselect = (data >> 2) & 3;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/FME7Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\nimport com.grapeshot.halfnes.*;\nimport com.grapeshot.halfnes.audio.*;\n\n/**\n *\n * @author Andrew\n */\npublic class FME7Mapper extends Mapper {\n\n    private int commandRegister = 0;\n    private int soundCommand = 0;\n    private int[] charbanks = new int[8]; //8 1k char rom banks\n    private int[] prgbanks = new int[4]; //4 8k prg banks - PLUS 1 8k fixed one\n    private boolean ramEnable = true;\n    private boolean ramSelect = false;\n    private int irqcounter = 0xffff; //really needs to be unsigned but we'll cheese it\n    private boolean irqenabled;\n    private boolean irqclock;\n    private boolean hasInitSound = false;\n    private final ExpansionSoundChip sndchip = new Sunsoft5BSoundChip();\n    private boolean interrupted = false;\n\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        prg_map = new int[40]; //(trollface)\n\n        //fixed bank maps to last 8k of rom, set everything else to last chunk\n        //as well.\n        for (int i = 1; i <= 40; ++i) {\n            prg_map[40 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final int cartRead(int addr) {\n        //five possible rom banks.\n        if (addr >= 0x6000) {\n            if (addr < 0x8000 && ramSelect) {\n                if (ramEnable) {\n                    return prgram[addr - 0x6000];\n                } else {\n                    return addr >> 8; //open bus\n                }\n            }\n            return prg[prg_map[(addr - 0x6000) >> 10] + (addr & 1023)];\n        }\n        return addr >> 8; //open bus\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        if (addr == 0x8000) {\n            //command register\n            commandRegister = data & 0xf;\n        } else if (addr == 0xc000) {\n            //sound command register\n            soundCommand = data & 0xf;\n            if (!hasInitSound) {\n                //only initialize the sound chip if anything writes a sound command.\n                cpuram.apu.addExpnSound(sndchip);\n                hasInitSound = true;\n            }\n        } else if (addr == 0xa000) {\n            //mapper data register\n            switch (commandRegister) {\n                case 0:\n                case 1:\n                case 2:\n                case 3:\n                case 4:\n                case 5:\n                case 6:\n                case 7:\n                    //char bank switches\n                    charbanks[commandRegister] = data;\n                    setbanks();\n                    break;\n                case 8:\n                    ramEnable = ((data & (utils.BIT7)) != 0);\n                    ramSelect = ((data & (utils.BIT6)) != 0);\n                    prgbanks[0] = data & 0x3f;\n                    setbanks();\n                    break;\n                case 9:\n                case 0xa:\n                case 0xb:\n                    //prg bank switch\n                    prgbanks[commandRegister - 8] = data;\n                    setbanks();\n                    break;\n                case 0xc:\n                    //mirroring select\n                    switch (data & 3) {\n                        case 0:\n                            setmirroring(Mapper.MirrorType.V_MIRROR);\n                            break;\n                        case 1:\n                            setmirroring(Mapper.MirrorType.H_MIRROR);\n                            break;\n                        case 2:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR0);\n                            break;\n                        case 3:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR1);\n                            break;\n                    }\n                case 0xd:\n                    //irq - let's put this in and hope it works\n                    irqclock = ((data & (utils.BIT7)) != 0);\n                    //2015-05: test by Teppples says that any value written here\n                    //will acknowledge a pending interrupt\n\n                    irqenabled = ((data & (utils.BIT0)) != 0);\n\n                    if (interrupted && cpu.interrupt > 0) {\n                        --cpu.interrupt;\n                    }\n                    interrupted = false;\n                    //System.err.println(cpu.interrupt);\n                    break;\n                case 0xe:\n                    irqcounter &= 0xff00;\n                    irqcounter |= data;\n                    break;\n                case 0xf:\n                    irqcounter &= 0xff;\n                    irqcounter |= (data << 8);\n                    break;\n            }\n        } else if (addr == 0xe000) {\n            sndchip.write(soundCommand, data);\n        }\n\n    }\n\n    @Override\n    public void cpucycle(int cycles) {\n        if (irqclock) {\n            if (irqcounter == 0) {\n                irqcounter = 0xffff;\n                if (irqenabled && !interrupted) {\n                    interrupted = true;\n                    ++cpu.interrupt;\n                    //System.err.println(\"FME7 Interrupt\");\n                }\n            } else {\n                --irqcounter;\n            }\n        }\n    }\n\n    private void setbanks() {\n        for (int i = 0; i < 8; ++i) {\n            for (int j = 0; j < 4; ++j) {\n                prg_map[i + 8 * j] = (1024 * (i + (prgbanks[j] * 8))) % prgsize;\n            }\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * charbanks[i]) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/GnromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class GnromMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 1; i <= 8; ++i) {\n            chr_map[8 - i] = chrsize - (1024 * i);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (data >> 4) & 3;\n        int chrselect = data & 3;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/IremH3001Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class IremH3001Mapper extends Mapper {\n\n    private int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};\n    private int irqctr, irqreload = 0;\n    private boolean irqenable, interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xCFFF) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        if (addr >= 0x8000 && addr <= 0x8FFF) { //PRG Reg 0\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + (data * 8))) & (prgsize - 1);\n            }\n        } else if (addr == 0x9001) {    //Mirroring\n            setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        } else if (addr == 0x9003) {    //IRQ Enable\n            irqenable = ((data & (utils.BIT7)) != 0);\n            if (interrupted) {\n                --cpu.interrupt;\n                interrupted = false;\n            }\n        } else if (addr == 0x9004) {    //IRQ Reload\n            irqctr = irqreload;\n            if (interrupted) {\n                --cpu.interrupt;\n                interrupted = false;\n            }\n        } else if (addr == 0x9005) {    //High 8 bits of IRQ Reload\n            irqreload = (irqreload & 0x00FF) | (data << 8);\n        } else if (addr == 0x9006) {    //Low 8 bits of IRQ Reload\n            irqreload = (irqreload & 0xFF00) | data;\n        } else if (addr >= 0xA000 && addr <= 0xAFFF) {  //PRG Reg 1\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 8] = (1024 * (i + data * 8)) & (prgsize - 1);\n            }\n        } else if (addr >= 0xB000 && addr <= 0xBFFF) {  //CHR Regs\n            chrbank[addr & 7] = data;\n            setppubank(1, (addr & 7), chrbank[addr & 7]);\n        } else if (addr >= 0xC000 && addr <= 0xCFFF) {  //PRG Reg 2\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 16] = (1024 * (i + data * 8)) & (prgsize - 1);\n            }\n        }\n    }\n\n    @Override\n    public void cpucycle(final int cycles) {\n        if (irqenable) {\n            if (irqctr <= 0) {\n                if (!interrupted) {\n                    ++cpu.interrupt;\n                    interrupted = true;\n                }\n                irqenable = false;\n            } else {\n                irqctr -= cycles;\n            }\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (banknum + i)) & (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MIMICMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class MIMICMapper extends Mapper {\n    //a stripped down mmc3 clone for namco/tengen games.\n    //almost everything using this is marked as mapper 4 and works fine like that\n\n    private int whichbank = 0;\n    private int[] chrreg = {0, 0, 0, 0, 0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        System.err.println(utils.hex(addr) + \" \" + utils.hex(data));\n        if (addr == 0x8001) {\n            data &= 0x3f;\n            if (whichbank <= 5) {\n                chrreg[whichbank] = data;\n                setupchr();\n            } else if (whichbank == 6) {\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            } else if (whichbank == 7) {\n                System.err.println(data * 8);\n                //bank 7 always swappable, always in same place\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            }\n        } else if (addr == 0x8000) {\n            //bank select\n            whichbank = data & 7;\n\n        }\n    }\n\n    private void setupchr() {\n        setppubank(1, 4, chrreg[2]);\n        setppubank(1, 5, chrreg[3]);\n        setppubank(1, 6, chrreg[4]);\n        setppubank(1, 7, chrreg[5]);\n\n        setppubank(2, 0, (chrreg[0] >> 1) << 1);\n        setppubank(2, 2, (chrreg[1] >> 1) << 1);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MMC1Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class MMC1Mapper extends Mapper {\n\n    private int mmc1shift = 0;\n    private int mmc1latch = 0;\n    private int mmc1ctrl = 0xc;\n    private int mmc1chr0 = 0;\n    private int mmc1chr1 = 0;\n    private int mmc1prg = 0;\n    private boolean soromlatch = false;\n    private double cpucycleprev = 0; // for Bill and Ted fix\n    private long framecountprev = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n        setbanks();\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        if (cpu.clocks == cpucycleprev && cpuram.apu.nes.framecount == framecountprev) {\n            return; //bill and ted fix - prevents 2 writes too close together\n            //from being acknowledged\n            //if I ever go to a cycle based core instead of opcode based this needs to change.\n        }\n        framecountprev = cpuram.apu.nes.framecount;\n        //and this is extremely ugly/likely to break\n        //but is needed to prevent the Bill+Ted fix from breaking Dr Mario intro.\n        cpucycleprev = cpu.clocks;\n        if (((data & (utils.BIT7)) != 0)) {\n            // reset shift register\n            mmc1shift = 0;\n            mmc1latch = 0;\n            mmc1ctrl |= 0xc;\n            setbanks();\n            return;\n        }\n\n        mmc1shift = (mmc1shift >> 1) + (data & 1) * 16;\n        ++mmc1latch;\n        // mmc1shift &= 0x1f;\n        if (mmc1latch < 5) {\n            return; // no need to do anything\n        } else {\n            if (addr >= 0x8000 && addr <= 0x9fff) {\n                // mmc1control\n                mmc1ctrl = mmc1shift & 0x1f;\n                MirrorType mirtype;\n                switch (mmc1ctrl & 3) {\n                    case 0:\n                        mirtype = MirrorType.SS_MIRROR0;\n                        break;\n                    case 1:\n                        mirtype = MirrorType.SS_MIRROR1;\n                        break;\n                    case 2:\n                        mirtype = MirrorType.V_MIRROR;\n                        break;\n                    default:\n                        mirtype = MirrorType.H_MIRROR;\n                        break;\n                }\n                setmirroring(mirtype);\n\n            } else if (addr >= 0xa000 && addr <= 0xbfff) {\n                // mmc1chr0\n                mmc1chr0 = mmc1shift & 0x1f;\n                if (prgsize > 262144) {\n                    //SOROM boards use the high bit of CHR to switch between 1st and last\n                    //256k of the PRG ROM\n                    mmc1chr0 &= 0xf;\n                    soromlatch = ((mmc1shift & (utils.BIT4)) != 0);\n                }\n            } else if (addr >= 0xc000 && addr <= 0xdfff) {\n                // mmc1chr1\n                mmc1chr1 = mmc1shift & 0x1f;\n                if (prgsize > 262144) {\n                    mmc1chr1 &= 0xf;\n                }\n            } else if (addr >= 0xe000 && addr <= 0xffff) {\n                // mmc1prg\n                mmc1prg = mmc1shift & 0xf;\n            }\n            // System.err.println(\"Mapper Bankswitch: Write \" + utils.hex(mmc1shift) + \" @ \" + utils.hex(addr));\n            setbanks();\n            mmc1latch = 0;\n            mmc1shift = 0;\n        }\n\n    }\n\n    private void setbanks() {\n        // chr bank 0\n        if (((mmc1ctrl & (utils.BIT4)) != 0)) {\n            // 4k bank mode\n            for (int i = 0; i < 4; ++i) {\n                chr_map[i] = (1024 * (i + 4 * mmc1chr0)) % chrsize;\n            }\n            for (int i = 0; i < 4; ++i) {\n                chr_map[i + 4] = (1024 * (i + 4 * mmc1chr1)) % chrsize;\n            }\n        } else {\n            // 8k bank mode\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * (mmc1chr0 >> 1))) % chrsize;\n            }\n        }\n\n        // prg bank\n        if (!((mmc1ctrl & (utils.BIT3)) != 0)) {\n            // 32k switch\n            // ignore low bank bit\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * i + 32768 * (mmc1prg >> 1)) % prgsize;\n            }\n\n        } else if (!((mmc1ctrl & (utils.BIT2)) != 0)) {\n            // fix 1st bank, 16k switch 2nd bank\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * i);\n            }\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i + 16] = (1024 * i + 16384 * mmc1prg) % prgsize;\n            }\n        } else {\n            // fix last bank, switch 1st bank\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * i + 16384 * mmc1prg) % prgsize;\n            }\n            for (int i = 1; i <= 16; ++i) {\n                prg_map[32 - i] = (prgsize - (1024 * i));\n                if ((prg_map[32 - i]) > 262144) {\n                    prg_map[32 - i] -= 262144;\n                }\n            }\n        }\n        //if more thn 256k ROM AND SOROM latch is on\n        if (soromlatch && (prgsize > 262144)) {\n            //add 256k to all of the prg bank #s\n            for (int i = 0; i < prg_map.length; ++i) {\n                prg_map[i] += 262144;\n            }\n        }\n        //utils.printarray(prg_map);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MMC2Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class MMC2Mapper extends Mapper {\n\n    boolean chrlatchL = true;\n    boolean chrlatchR = false;\n    int chrbankL1 = 0;\n    int chrbankR1 = 0;\n    int chrbankL2 = 0;\n    int chrbankR2 = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr >= 0xa000 && addr <= 0xafff) {\n            //remap prg\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + 8 * (data & 0xf))) & (chrsize - 1);\n            }\n        } else if (addr >= 0xb000 && addr <= 0xbfff) {\n            chrbankL1 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xc000 && addr <= 0xcfff) {\n            chrbankL2 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xd000 && addr <= 0xdfff) {\n            chrbankR1 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xe000 && addr <= 0xefff) {\n            chrbankR2 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xf000 && addr <= 0xffff) {\n            setmirroring((((data & (utils.BIT0)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        }\n    }\n\n    @Override\n    public int ppuRead(final int addr) {\n        int retval = super.ppuRead(addr);\n        if (((addr & (utils.BIT3)) != 0)) {\n            //latch fires after 2nd read from pattern table\n            //A3 will be on for 2nd read b/c it's tile low bytes\n            switch (addr >> 4) {\n                //read of the 2nd byte of tile fd/fe/1fd/1fe\n                //switches the set of character banks used for that side\n                //of the pattern table\n                case 0xfd:\n                    if ((addr & 3) == 0) {\n                        chrlatchL = false;\n                        setupPPUBanks();\n                    }\n                    break;\n                case 0xfe:\n                    if ((addr & 3) == 0) {\n                        chrlatchL = true;\n                        setupPPUBanks();\n                        break;\n                    }\n                case 0x1fd:\n                    chrlatchR = false;\n                    setupPPUBanks();\n                    break;\n                case 0x1fe:\n                    chrlatchR = true;\n                    setupPPUBanks();\n                default:\n                    break;\n            }\n        }\n        return retval;\n    }\n\n//    public void notifyscanline(final int scanline) {\n//        System.err.println(\" ScanLine \" + scanline + \" \" + chrlatchL);\n//    }\n    private void setupPPUBanks() {\n        if (chrlatchL) {\n            setppubank(4, 0, chrbankL2);\n        } else {\n            setppubank(4, 0, chrbankL1);\n        }\n        if (chrlatchR) {\n            setppubank(4, 4, chrbankR2);\n        } else {\n            setppubank(4, 4, chrbankR1);\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;\n        }\n        //utils.printarray(chr_map);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MMC3Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class MMC3Mapper extends Mapper {\n\n    protected int whichbank = 0;\n    protected boolean prgconfig = false;\n    protected boolean chrconfig = false;\n    protected int irqctrreload = 0;\n    protected int irqctr = 0;\n    protected boolean irqenable = false;\n    protected boolean irqreload = false;\n    protected int bank6 = 0;\n    protected int[] chrreg = {0, 0, 0, 0, 0, 0};\n    protected boolean interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n        setbank6();\n        //cpuram.setPrgRAMEnable(false);\n    }\n\n    @Override\n    public void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        //different register for even/odd writes\n        //System.err.println(\"mmc3 write \" + utils.hex(addr) + \" \" + utils.hex(data));\n        if (((addr & (utils.BIT0)) != 0)) {\n            //odd registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank change\n                //System.err.println(\"setting \" + whichbank + \" \" + data + \" \" + prgconfig);\n                if (whichbank <= 5) {\n                    chrreg[whichbank] = data;\n                    setupchr();\n                } else if (whichbank == 6) {\n                    bank6 = data;\n                    setbank6();\n                } else if (whichbank == 7) {\n                    //bank 7 always swappable, always in same place\n                    for (int i = 0; i < 8; ++i) {\n                        prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                    }\n                }\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //prg ram write protect\n                //cpuram.setPrgRAMEnable(!utils.getbit(data, 7));\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //any value here reloads irq counter\n                irqreload = true;\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //iany value here enables interrupts\n                irqenable = true;\n            }\n        } else {\n            //even registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank select\n                whichbank = data & 7;\n                prgconfig = ((data & (utils.BIT6)) != 0);\n                //if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank\n                //if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank\n                chrconfig = ((data & (utils.BIT7)) != 0);\n                //if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff\n                //if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff\n                setupchr();\n                setbank6(); //OOPS FORGOT THIS I GUESS\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //mirroring setup\n                if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {\n                    setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                }\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //value written here used to reload irq counter _@ end of scanline_\n                irqctrreload = data;\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //any value here disables IRQ and acknowledges\n                if (interrupted) {\n                    --cpu.interrupt;\n                }\n                interrupted = false;\n                irqenable = false;\n            }\n        }\n    }\n\n    protected void setupchr() {\n        if (chrconfig) {\n\n            setppubank(1, 0, chrreg[2]);\n            setppubank(1, 1, chrreg[3]);\n            setppubank(1, 2, chrreg[4]);\n            setppubank(1, 3, chrreg[5]);\n            //Lowest bit of bank number IS IGNORED for the 2k banks\n            setppubank(2, 4, (chrreg[0] >> 1) << 1);\n            setppubank(2, 6, (chrreg[1] >> 1) << 1);\n\n        } else {\n            setppubank(1, 4, chrreg[2]);\n            setppubank(1, 5, chrreg[3]);\n            setppubank(1, 6, chrreg[4]);\n            setppubank(1, 7, chrreg[5]);\n\n            setppubank(2, 0, (chrreg[0] >> 1) << 1);\n            setppubank(2, 2, (chrreg[1] >> 1) << 1);\n        }\n    }\n\n    protected void setbank6() {\n        if (!prgconfig) {\n            //map c000-dfff to last bank, 8000-9fff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + (bank6 * 8))) % prgsize;\n                prg_map[i + 16] = ((prgsize - 16384) + 1024 * i);\n            }\n        } else {\n            //map 8000-9fff to last bank, c000 to dfff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = ((prgsize - 16384) + 1024 * i);\n                prg_map[i + 16] = (1024 * (i + (bank6 * 8))) % prgsize;\n            }\n        }\n    }\n\n    private boolean lastA12 = false;\n\n    @Override\n    public int ppuRead(int addr) {\n        //note: to pass blargg's mmc3 tests the vram address is read\n        //in a loop while the PPU is not rendering\n        //actually the read signal is not asserted then\n        //but I have no other way to call into the mapper code when\n        //the address changes.\n        checkA12(addr);\n        return super.ppuRead(addr);\n    }\n\n    @Override\n    public void ppuWrite(int addr, int data) {\n        checkA12(addr);\n        super.ppuWrite(addr, data);\n    }\n\n    int a12timer = 0;\n\n    @Override\n    public void checkA12(int addr) {\n        //run on every PPU cycle (wasteful...)\n        //clocks scanline counter every time A12 line goes from low to high\n        //on PPU address bus, _except_ when it has been less than 8 PPU cycles \n        //since the line last went low.\n        boolean a12 = ((addr & (utils.BIT12)) != 0);\n        if (a12 && (!lastA12)) {\n            //rising edge\n            if ((a12timer <= 0)) {\n                clockScanCounter();\n            }\n        } else if (!a12 && lastA12) {\n            //falling edge\n            a12timer = 8;\n        }\n\n        --a12timer;\n        lastA12 = a12;\n    }\n\n    private void clockScanCounter() {\n        if (irqreload || (irqctr == 0)) {\n            //System.err.println(ppu.scanline + \"reloading\" + irqctrreload);\n            irqctr = irqctrreload;\n            irqreload = false;\n        } else {\n            --irqctr;\n        }\n        if ((irqctr == 0) && irqenable && !interrupted) {\n            ++cpu.interrupt;\n            interrupted = true;\n            //System.err.println(\"interrupt line \" + ppu.scanline + \" reload \" + irqctrreload);\n        }\n\n    }\n\n    protected void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MMC4Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class MMC4Mapper extends Mapper {\n\n    boolean chrlatchL = true;\n    boolean chrlatchR = false;\n    int chrbankL1 = 0;\n    int chrbankR1 = 0;\n    int chrbankL2 = 0;\n    int chrbankR2 = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr >= 0x8000 && addr <= 0xafff) {\n            //remap prg\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * data)) & (prgsize - 1);\n            }\n        } else if (addr >= 0xb000 && addr <= 0xbfff) {\n            chrbankL1 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xc000 && addr <= 0xcfff) {\n            chrbankL2 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xd000 && addr <= 0xdfff) {\n            chrbankR1 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xe000 && addr <= 0xefff) {\n            chrbankR2 = data & 0x1f;\n            setupPPUBanks();\n        } else if (addr >= 0xf000 && addr <= 0xffff) {\n            setmirroring((((data & (utils.BIT0)) != 0)) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        }\n    }\n\n    @Override\n    public int ppuRead(final int addr) {\n        int retval = super.ppuRead(addr);\n        if (((addr & (utils.BIT3)) != 0)) {\n            //latch fires after 2nd read from pattern table\n            //A3 will be on for 2nd read b/c it's tile low bytes\n            switch (addr >> 4) {\n                //read of the 2nd byte of tile fd/fe/1fd/1fe\n                //switches the set of character banks used for that side\n                //of the pattern table\n                case 0xfd:\n                    chrlatchL = false;\n                    setupPPUBanks();\n                    break;\n                case 0xfe:\n                    chrlatchL = true;\n                    setupPPUBanks();\n                    break;\n                case 0x1fd:\n                    chrlatchR = false;\n                    setupPPUBanks();\n                    break;\n                case 0x1fe:\n                    chrlatchR = true;\n                    setupPPUBanks();\n                default:\n                    break;\n            }\n        }\n        return retval;\n    }\n\n    private void setupPPUBanks() {\n        if (chrlatchL) {\n            setppubank(4, 0, chrbankL2);\n        } else {\n            setppubank(4, 0, chrbankL1);\n        }\n        if (chrlatchR) {\n            setppubank(4, 4, chrbankR2);\n        } else {\n            setppubank(4, 4, chrbankR1);\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banksize * banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/MMC5Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\nimport com.grapeshot.halfnes.audio.MMC5SoundChip;\nimport java.util.Arrays;\n\n/**\n *\n * @author Andrew\n */\npublic class MMC5Mapper extends Mapper {\n\n    //the infamous kitchen sink mapper\n    final int[] exram = new int[1024];\n    private int exramMode, chrMode, prgMode;\n    private int wramWrite1, wramWrite2, multiplier1, multiplier2;\n    private int prgpage, chrOr, wrambank;\n    boolean scanctrEnable, irqPend;\n    private final int[] chrregsA = new int[8];\n    private final int[] chrregsB = new int[4];\n    private final int[] prgregs = new int[4];\n    private final int[] chrmapB = new int[4];\n    private final boolean[] romHere = new boolean[3];\n    private int scanctrLine, irqCounter = 20;\n    private final int[] fillnt = new int[1024];\n    private MMC5SoundChip soundchip;\n    private boolean inFrame = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        prgregs[3] = (prgsize / 8192) - 1;\n        prgregs[2] = (prgsize / 8192) - 1;\n        prgregs[1] = (prgsize / 8192) - 1;\n        prgregs[0] = (prgsize / 8192) - 1;\n        prgMode = 3;\n        setupPRG();\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 1024 * i;\n        }\n        prgram = new int[65536];\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x5c00) {\n            //System.err.println(\"MMC5 Write register \"+ utils.hex(addr) + \" d \" + utils.hex(data));\n            switch (addr) {\n                case 0x5000:\n                case 0x5001:\n                case 0x5002:\n                case 0x5003:\n                case 0x5004:\n                case 0x5005:\n                case 0x5006:\n                case 0x5007:\n                case 0x5010:\n                case 0x5011:\n                case 0x5015:\n                    if (soundchip == null) {\n                        soundchip = new MMC5SoundChip();\n                        cpuram.apu.addExpnSound(soundchip);\n                    }\n                    //sound chip\n                    soundchip.write(addr - 0x5000, data);\n                    break;\n                case 0x5100:\n                    //prg mode select\n                    prgMode = data & 3;\n                    setupPRG();\n                    break;\n                case 0x5101:\n                    //chr mode select\n                    chrMode = data & 3;\n                    setupCHR();\n                    break;\n                case 0x5102:\n                    //wram write protect 1\n                    wramWrite1 = data;\n                    break;\n                case 0x5103:\n                    //wram write protect 2\n                    wramWrite2 = data;\n                    break;\n                case 0x5104:\n                    //exRAM mode - none of these are properly supported!\n                    exramMode = data & 3;\n                    break;\n                case 0x5105:\n                    //mirror mode\n                    setMirroring(data, exram);\n                    break;\n                case 0x5106:\n                    //fill tile\n                    Arrays.fill(fillnt, 0, 32 * 30, data);\n                    break;\n                case 0x5107:\n                    //fill attribute\n                    Arrays.fill(fillnt, 32 * 30, fillnt.length, data & 0x3 + (data & 3) << 2 + (data & 3) << 4 + (data & 3) << 6);\n                    break;\n                case 0x5113:\n                    //PRG RAM register\n                    wrambank = data & 7;\n                    break;\n                case 0x5114:\n                    //prg reg 1\n                    prgregs[0] = data & 0x7f;\n                    romHere[0] = ((data & (utils.BIT7)) != 0);\n                    setupPRG();\n                    break;\n                case 0x5115:\n                    //prg reg 2\n                    prgregs[1] = data & 0x7f;\n                    romHere[1] = ((data & (utils.BIT7)) != 0);\n                    setupPRG();\n                    break;\n                case 0x5116:\n                    //prg reg 3\n                    prgregs[2] = data & 0x7f;\n                    romHere[2] = ((data & (utils.BIT7)) != 0);\n                    setupPRG();\n                    break;\n                case 0x5117:\n                    //prg reg 4\n                    prgregs[3] = data & 0x7f;\n                    setupPRG();\n                    break;\n                case 0x5120:\n                    chrregsA[0] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5121:\n                    chrregsA[1] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5122:\n                    chrregsA[2] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5123:\n                    chrregsA[3] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5124:\n                    chrregsA[4] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5125:\n                    chrregsA[5] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5126:\n                    chrregsA[6] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5127:\n                    chrregsA[7] = data | chrOr;\n                    setupCHR();\n                    break;\n                //chr regs A\n                case 0x5128:\n                    chrregsB[0] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x5129:\n                    chrregsB[1] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x512a:\n                    chrregsB[2] = data | chrOr;\n                    setupCHR();\n                    break;\n                case 0x512b:\n                    chrregsB[3] = data | chrOr;\n                    setupCHR();\n                    break;\n                //chr regs b\n                case 0x5130:\n                    //chr bank high bits (CHR_OR)\n                    //System.err.println(data);\n                    chrOr = (data & 3) << 8;\n                    break;\n                case 0x5200:\n                    //splitscreen control\n                    if (((data & (utils.BIT7)) != 0)) {\n                        System.err.println(\"Split screen mode not supported yet\");\n                    }\n                    break;\n                case 0x5201:\n                    //splitscreen scroll\n                    break;\n                case 0x5202:\n                    //splitscreen chr page\n                    break;\n                case 0x5203:\n                    //irq trigger\n                    scanctrLine = data;\n                    break;\n                case 0x5204:\n                    //irq control\n                    scanctrEnable = ((data & (utils.BIT7)) != 0);\n                    break;\n                case 0x5205:\n                    multiplier1 = data;\n                    break;\n                case 0x5206:\n                    multiplier2 = data;\n                    break;\n                default:\n                    break;\n            }\n        } else if (addr < 0x6000) {\n            //exram\n            exram[addr - 0x5c00] = data;\n        } else if (addr < 0x8000) {\n            final int wramaddr = wrambank * 8192 + (addr - 0x6000);\n            //System.err.println(\"wrote wram \" + utils.hex(wramaddr));\n            prgram[wramaddr] = data;\n        } else if (addr < 0xA000 && !romHere[0] && prgMode == 3) {\n            System.err.println(\"RAM write to 0x8000 area\");\n            prgram[((prgregs[0] & 7) * 8192) + (addr - 0x8000)] = data;\n        } else if (addr < 0xC000 && !romHere[1]) {\n            int subaddr = (prgMode == 3) ? 0xA000 : 0x8000;\n            int prgbank = (prgMode == 3) ? (prgregs[1] & 7) : ((prgregs[1] & 7) >> 1);\n            int ramaddr = (prgbank * ((prgMode == 3) ? 8192 : 16384)) + (addr - subaddr);\n            ////System.err.println(\"RAM write to 0xA000 area \" + utils.hex(addr) + \" \" + prgbank);\n            //System.err.println(utils.hex(ramaddr));\n            prgram[ramaddr] = data;\n        } else if (addr < 0xE000 && !romHere[2]) {\n            System.err.println(\"RAM write to 0xC000 area \" + utils.hex(addr));\n            prgram[((prgregs[2] & 7) * 8192) + (addr - 0xc000)] = data;\n        } else {\n            System.err.println(\"unsupported mmc5 write \" + utils.hex(addr)\n                    + romHere[0] + romHere[1] + romHere[2] + prgMode);\n        }\n    }\n\n    @Override\n    public final int cartRead(final int addr) {\n        //hook for turning off PPU in frame flag since idk how the real thing works\n        if (!ppu.renderingOn() || ppu.scanline > 241) {\n            inFrame = false;\n        }\n\n        if (addr >= 0x8000) {\n            //rom or maybe wram\n            if (prgMode == 0\n                    || ((prgMode == 1) && (addr >= 0xc000 || romHere[1]))\n                    || ((prgMode == 2) && ((addr >= 0xe000 || (addr >= 0xc000 && romHere[2]) || romHere[1]))\n                    || ((prgMode == 3) && (addr >= 0xe000\n                    || (addr >= 0xc000 && romHere[2])\n                    || (addr >= 0xa000 && romHere[1])\n                    || romHere[0])))) {\n                return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];\n            } else {\n                //don't know quite how to deal with this yet\n                System.err.println(\"MMC5 wants RAM at \" + utils.hex(addr));\n                return 0xffff;\n            }\n\n        } else if (addr >= 0x6000) {\n            //wram\n            int ramaddr = wrambank * 8192 + (addr - 0x6000);\n            //System.err.println(\"reading prgram from \" + utils.hex(ramaddr));\n            return prgram[ramaddr];\n        } else if (addr >= 0x5c00) {\n            //exram\n            return exram[addr - 0x5c00];\n        } else {\n            switch (addr) {\n                case 0x5015:\n                    //sound status\n                    if (soundchip != null) {\n                        return soundchip.status();\n                    }\n                    return addr >> 8;\n                case 0x5204:\n                    //irq status\n                    int stat = (irqPend ? 0x80 : 0) + (inFrame ? 0x40 : 0);\n                    if (irqPend) {\n                        irqPend = false;\n                        --cpu.interrupt;\n                    }\n                    return stat;\n                case 0x5205:\n                    return (multiplier1 * multiplier2) & 0xff;\n                case 0x5206:\n                    //multiplier\n                    return ((multiplier1 * multiplier2) >> 8) & 0xff;\n                default:\n                    return addr >> 8;\n\n            }\n        }\n    }\n\n    public void setupPRG() {\n        //does NOT support mapping RAM in yet!\n        switch (prgMode) {\n            default:\n            case 0:\n                setcpubank(32, 0, (prgregs[3] & 0x7f) >> 2);\n                break;\n            case 1:\n                setcpubank(16, 16, (prgregs[3] & 0x7f) >> 1);\n                setcpubank(16, 0, (prgregs[1] & 0x7f) >> 1);\n                break;\n            case 2:\n                setcpubank(8, 24, prgregs[3] & 0x7f);\n                setcpubank(8, 16, prgregs[2] & 0x7f);\n                setcpubank(8, 8, (prgregs[1] & 0x7f) | 1);\n                setcpubank(8, 0, (prgregs[1] & 0x7e));\n                break;\n            case 3:\n                setcpubank(8, 24, prgregs[3] & 0x7f);\n                setcpubank(8, 16, prgregs[2] & 0x7f);\n                setcpubank(8, 8, prgregs[1] & 0x7f);\n                setcpubank(8, 0, prgregs[0] & 0x7f);\n                break;\n        }\n//        System.err.println(prgMode);\n//        utils.printarray(prgregs);\n//        utils.printarray(prg_map);\n    }\n\n    public void setupCHR() {\n        switch (chrMode) {\n            default:\n            case 0:\n                setppubank(8, 0, chrregsA[7]);\n                setppubankB(4, 0, chrregsB[3]);\n                break;\n            case 1:\n                setppubank(4, 4, chrregsA[7]);\n                setppubank(4, 0, chrregsA[3]);\n                setppubankB(4, 0, chrregsB[3]);\n                break;\n            case 2:\n                setppubank(2, 6, chrregsA[7]);\n                setppubank(2, 4, chrregsA[5]);\n                setppubank(2, 2, chrregsA[3]);\n                setppubank(2, 0, chrregsA[1]);\n                setppubankB(2, 2, chrregsB[3]);\n                setppubankB(2, 0, chrregsB[1]);\n                break;\n            case 3:\n                setppubank(1, 7, chrregsA[7]);\n                setppubank(1, 6, chrregsA[6]);\n                setppubank(1, 5, chrregsA[5]);\n                setppubank(1, 4, chrregsA[4]);\n                setppubank(1, 3, chrregsA[3]);\n                setppubank(1, 2, chrregsA[2]);\n                setppubank(1, 1, chrregsA[1]);\n                setppubank(1, 0, chrregsA[0]);\n                setppubankB(1, 3, chrregsB[3]);\n                setppubankB(1, 2, chrregsB[2]);\n                setppubankB(1, 1, chrregsB[1]);\n                setppubankB(1, 0, chrregsB[0]);\n                break;\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n\n    private void setppubankB(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chrmapB[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n\n    private void setcpubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            prg_map[i + bankpos] = (1024 * ((banknum * banksize) + i)) & (prgsize - 1);\n        }\n    }\n    private int fetchcount, exlatch, lastfetch, prevfetch, prevprevfetch;\n    private boolean spritemode = false;\n\n    @Override\n    public int ppuRead(final int addr) {\n        //so how DO we detect which reads are which without\n        //seeing the nametable reads?\n\n        //well, as it turns out in the real NES, the MMC5 can in fact see everything\n        //put on the PPU bus, whether or not the CS line is asserted for it.\n        //must be something to do with 8x16 sprites, and with\n        //the 34 reads per scanline of background\n        //it reads 34 bg tiles (68 bytes) then 16 sprite tiles (32 bytes)\n        if (addr < 0x2000) {\n            // System.err.print(\"p\");\n            //pattern table read\n            if (++fetchcount == 3) {\n                spritemode = true;\n                //System.err.println(\" sprites\");\n            }\n            if (spritemode) {\n                return chr[chr_map[addr >> 10] + (addr & 1023)];\n            } else {\n                //bg mode\n                //System.err.print(\"t\");\n                if (exramMode == 1) {\n                    if (exlatch == 2) {\n                        //fetch 3: tile bitmap a\n                        ++exlatch;\n                        return chr[((chrOr * 1024) | ((exram[lastfetch] & 0x3f) * 4096) | (addr & 4095)) % chr.length];\n                    } else if (exlatch == 3) {\n                        //fetch 4: tile bitmap b (+ 8 bytes from tile bitmap a)\n                        exlatch = 0;\n                        return chr[((chrOr * 1024) | ((exram[lastfetch] & 0x3f) * 4096) | (addr & 4095)) % chr.length];\n                    }\n                }\n                return chr[chrmapB[(addr >> 10) & 3] + (addr & 1023)];\n            }\n        } else {\n            // System.err.print(\"n\");\n            //nametable read\n            if (prevfetch == prevprevfetch && prevprevfetch == addr) {\n                //last 3 fetches are the same and that's the signal\n                //to increment the scan line counter\n                //unfortunately I don't know how the MMC5 resets the counter when PPU is off yet           \n                incScanline();\n                exlatch = 0;\n            }\n            prevprevfetch = prevfetch;\n            prevfetch = addr;\n            spritemode = false;\n            fetchcount = 0;\n            //  System.err.println(\" bg\");\n            if (exramMode == 1) {\n                if (exlatch == 0) {\n                    //fetch 1: nametable fetch\n                    ++exlatch;\n                    lastfetch = addr & 0x3ff;\n                } else if (exlatch == 1) {\n                    ++exlatch;\n                    //fetch 2: attribute table fetch\n                    int theone = exram[lastfetch];\n                    return ((theone & 0xc0) >> 6) | ((theone & 0xc0) >> 4) | ((theone & 0xc0) >> 2) | (theone & 0xc0);\n                }\n            }\n            return super.ppuRead(addr);\n        }\n    }\n\n    public void incScanline() {\n        if (!inFrame) {\n            inFrame = true;\n            irqCounter = 0;\n            if (irqPend) {\n                irqPend = false;\n                --cpu.interrupt;\n            }\n        } else {\n            if (irqCounter++ == scanctrLine) {\n                irqPend = true;\n\n            }\n            if (irqPend && scanctrEnable) {\n                ++cpu.interrupt;\n            }\n        }\n    }\n\n    public void setMirroring(int ntsetup, int[] exram) {\n        //hook for the MMC5\n        switch (ntsetup & 3) {\n            case 0:\n            default:\n                nt0 = pput0;\n                break;\n            case 1:\n                nt0 = pput1;\n                break;\n            case 2:\n                nt0 = exram;\n                break;\n            case 3:\n                nt0 = fillnt;\n        }\n        ntsetup >>= 2;\n        switch (ntsetup & 3) {\n            case 0:\n            default:\n                nt1 = pput0;\n                break;\n            case 1:\n                nt1 = pput1;\n                break;\n            case 2:\n                nt1 = exram;\n                break;\n            case 3:\n                nt1 = fillnt;\n                break;\n        }\n        ntsetup >>= 2;\n        switch (ntsetup & 3) {\n            case 0:\n            default:\n                nt2 = pput0;\n                break;\n            case 1:\n                nt2 = pput1;\n                break;\n            case 2:\n                nt2 = exram;\n                break;\n            case 3:\n                nt2 = fillnt;\n                break;\n        }\n        ntsetup >>= 2;\n        switch (ntsetup & 3) {\n            case 0:\n            default:\n                nt3 = pput0;\n                break;\n            case 1:\n                nt3 = pput1;\n                break;\n            case 2:\n                nt3 = exram;\n                break;\n            case 3:\n                nt3 = fillnt;\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\nimport com.grapeshot.halfnes.PPU;\nimport java.util.Arrays;\nimport java.util.prefs.Preferences;\nimport java.util.zip.CRC32;\n\npublic abstract class Mapper {\n\n    protected ROMLoader loader;\n    protected int mappertype, submapper, prgsize, prgoff, chroff, chrsize;\n    public CPU cpu;\n    public CPURAM cpuram;\n    public PPU ppu;\n    protected int[] prg, chr, chr_map, prg_map, prgram = new int[8192];\n    protected MirrorType scrolltype;\n    protected boolean haschrram = false, hasprgram = true, savesram = false;\n    // PPU nametables\n    protected final int[] pput0 = new int[0x400], pput1 = new int[0x400],\n            pput2 = new int[0x400], pput3 = new int[0x400];\n    //99% of games only use 2 of these, but we have to create 4 and use ptrs to them\n    //for those with extra RAM for 4 screen mirror\n    protected int[] nt0, nt1, nt2, nt3;\n    //and these are pointers to the nametables, so  for singlescreen when we switch\n    //and then switch back the data in the other singlescreen NT isn't gone.\n    long crc;\n    TVType region;\n    Preferences prefs = PrefsSingleton.get();\n\n    public boolean supportsSaves() {\n        return savesram;\n    }\n\n    public void destroy() {\n        cpu = null;\n        cpuram = null;\n        ppu = null;\n    }\n\n    public static enum MirrorType {\n\n        H_MIRROR, V_MIRROR, SS_MIRROR0, SS_MIRROR1, FOUR_SCREEN_MIRROR\n    };\n\n    public static enum TVType {\n\n        NTSC,\n        PAL,\n        DENDY;\n    }\n\n    public static long crc32(int[] array) {\n        CRC32 c = new CRC32();\n        for (int i : array) {\n            c.update(i);\n        }\n        return c.getValue();\n    }\n\n    public void loadrom() throws BadMapperException {\n        loader.parseHeader();\n        prgsize = loader.prgsize;\n        mappertype = loader.mappertype;\n        prgoff = loader.prgoff;\n        chroff = loader.chroff;\n        chrsize = loader.chrsize;\n        scrolltype = loader.scrolltype;\n        savesram = loader.savesram;\n        prg = loader.load(prgsize, prgoff);\n        region = loader.tvtype;\n        submapper = loader.submapper;\n        crc = crc32(prg);\n        //System.err.println(utils.hex(crc));\n        //crc \"database\" for certain impossible-to-recognize games\n        if ((crc == 0x41243492L) //low g man (u)\n                || (crc == 0x98CCD385L)//low g man (e)\n                ) {\n            hasprgram = false;\n        }\n        chr = loader.load(chrsize, chroff);\n\n        if (chrsize == 0) {//chr ram\n            haschrram = true;\n            chrsize = 8192;\n            chr = new int[8192];\n        }\n        prg_map = new int[32];\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        chr_map = new int[8];\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n        cpuram = new CPURAM(this);\n        cpu = new CPU(cpuram);\n        ppu = new PPU(this);\n        Arrays.fill(pput0, 0xa0);\n        Arrays.fill(pput1, 0xb0);\n        Arrays.fill(pput2, 0xc0);\n        Arrays.fill(pput3, 0xd0);\n        setmirroring(scrolltype);\n    }\n\n    public void reset() {\n        //this is empty so that mappers w/o some specific instructions\n        //on soft reset need not implement this\n    }\n\n    //write into the cartridge's address space\n    public void cartWrite(final int addr, final int data) {\n        //default no-mapper operation just writes if in PRG RAM range\n        if (addr >= 0x6000 && addr < 0x8000) {\n            prgram[addr & 0x1fff] = data;\n        }\n    }\n\n    public int cartRead(final int addr) {\n        // by default has wram at 0x6000 and cartridge at 0x8000-0xfff\n        // but some mappers have different so override for those\n        if (addr >= 0x8000) {\n            return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];\n        } else if (addr >= 0x6000 && hasprgram) {\n            return prgram[addr & 0x1fff];\n        }\n        return addr >> 8; //open bus\n    }\n\n    public int ppuRead(int addr) {\n        if (addr < 0x2000) {\n            return chr[chr_map[addr >> 10] + (addr & 1023)];\n        } else {\n            switch (addr & 0xc00) {\n                case 0:\n                    return nt0[addr & 0x3ff];\n                case 0x400:\n                    return nt1[addr & 0x3ff];\n                case 0x800:\n                    return nt2[addr & 0x3ff];\n                case 0xc00:\n                default:\n                    if (addr >= 0x3f00) {\n                        addr &= 0x1f;\n                        if (addr >= 0x10 && ((addr & 3) == 0)) {\n                            addr -= 0x10;\n                        }\n                        return ppu.pal[addr];\n                    } else {\n                        return nt3[addr & 0x3ff];\n                    }\n            }\n        }\n    }\n\n    public void ppuWrite(int addr, final int data) {\n        addr &= 0x3fff;\n        if (addr < 0x2000) {\n            if (haschrram) {\n                // Shame on you, Milon's Secret Castle. What possible\n                // reason could you have to write to your own chr rom?\n                chr[chr_map[addr >> 10] + (addr & 1023)] = data;\n                // anyway, only allowing writes when there's actual ram here.\n            }\n        } else {\n            switch (addr & 0xc00) {\n                case 0x0:\n                    nt0[addr & 0x3ff] = data;\n                    break;\n                case 0x400:\n                    nt1[addr & 0x3ff] = data;\n                    break;\n                case 0x800:\n                    nt2[addr & 0x3ff] = data;\n                    break;\n                case 0xc00:\n                    if (addr >= 0x3f00 && addr <= 0x3fff) {\n                        addr &= 0x1f;\n                        //System.err.println(\"wrote \"+utils.hex(data)+\" to palette index \" + utils.hex(addr));\n                        if (addr >= 0x10 && ((addr & 3) == 0)) { //0x10,0x14,0x18 etc are mirrors of 0x0, 0x4,0x8 etc\n                            addr -= 0x10;\n                        }\n                        ppu.pal[addr] = (data & 0x3f);\n                    } else {\n                        nt3[addr & 0x3ff] = data;\n                    }\n                    break;\n                default:\n                    System.err.println(\"where?\");\n            }\n        }\n    }\n\n    public void notifyscanline(final int scanline) {\n        //this is empty so that mappers w/o a scanline counter need not implement\n    }\n\n    public void cpucycle(int cycles) {\n        //do it right for once\n    }\n\n    public static Mapper getCorrectMapper(final ROMLoader l) throws BadMapperException {\n        int type = l.mappertype;\n        boolean haschr = (l.chrsize == 0);\n        switch (type) {\n            case -1:\n                return new NSFMapper();\n            case 0:\n                return new NromMapper();\n            case 1:\n                return new MMC1Mapper();\n            case 2:\n                return new UnromMapper();\n            case 3:\n                return new CnromMapper();\n            case 4:\n                return new MMC3Mapper();\n            case 5:\n                return new MMC5Mapper();\n            case 7:\n                return new AnromMapper();\n            case 9:\n                return new MMC2Mapper();\n            case 10:\n                return new MMC4Mapper();\n            case 11:\n                return new ColorDreamsMapper();\n            case 15:\n            case 169:\n                return new Mapper15();\n            case 19:\n                return new NamcoMapper();\n            case 21:\n            case 23:\n            case 25:\n                //VRC4 has three different mapper numbers for six different address line layouts\n                //some of which really should be VRC2\n                //but they're all handled in the same file\n                //there's a proposal for submapper #s in iNES 2.0\n                return new VRC4Mapper(type);\n            case 22:\n                return new VRC2Mapper();\n            case 24:\n            case 26:\n                return new VRC6Mapper(type);\n            case 31:\n                return new Mapper31();\n            case 33:\n                return new Mapper33();\n            case 34:\n                if (haschr) {\n                    return new BnromMapper();\n                } else {\n                    return new NINA_001_Mapper();\n                }\n            case 36:\n                return new Mapper36();\n            case 38:\n                return new CrimeBustersMapper();\n            case 41:\n                return new CaltronMapper();\n            case 47:\n                return new Mapper47();\n            case 48:\n                return new Mapper48();\n            case 58:\n                return new Mapper58();\n            case 60:\n                return new Mapper60();\n            case 61:\n                return new Mapper61();\n            case 62:\n                return new Mapper62();\n            case 64:\n                return new TengenRamboMapper();\n            case 65:\n                return new IremH3001Mapper();\n            case 66:\n                return new GnromMapper();\n            case 67:\n                return new Sunsoft03Mapper();\n            case 68:\n                return new AfterburnerMapper();\n            case 69:\n                return new FME7Mapper();\n            case 70:\n                return new Mapper70();\n            case 71:\n                return new CodemastersMapper();\n            case 72:\n                return new Mapper72();\n            case 73:\n                return new VRC3Mapper();\n            case 75:\n                return new VRC1Mapper();\n            case 76:\n                return new Mapper76();\n            case 78:\n                return new Mapper78();\n            case 79:\n            case 113:\n                return new NINA_003_006_Mapper(type);\n            case 85:\n                return new VRC7Mapper();\n            case 86:\n                return new Mapper86();\n            case 87:\n                return new Mapper87();\n            case 88:\n            case 154:\n                return new Namcot34x3Mapper(type);\n            case 89:\n            case 93:\n                return new Sunsoft02Mapper(type);\n            case 92:\n                return new Mapper92();\n            case 94:\n                return new Mapper94();\n            case 97:\n                return new Mapper97();\n            case 107:\n                return new Mapper107();\n            case 112:\n                return new Mapper112();\n            case 119:\n                return new Mapper119();\n            case 140:\n                return new Mapper140();\n            case 152:\n                return new Mapper152();\n            case 180:\n                return new CrazyClimberMapper();\n            case 182:\n                return new Mapper182();\n            case 184:\n                return new Sunsoft01Mapper();\n            case 185:\n                return new Mapper185();\n            case 200:\n                return new Mapper200();\n            case 201:\n                return new Mapper201();\n            case 203:\n                return new Mapper203();\n            case 206:\n                return new MIMICMapper();\n            case 212:\n                return new Mapper212();\n            case 213:\n                return new Mapper213();\n            case 214:\n                return new Mapper214();\n            case 225:\n                return new Mapper225();\n            case 226:\n                return new Mapper226();\n            case 228:\n                return new Action52Mapper();\n            case 229:\n                return new Mapper229();\n            case 231:\n                return new Mapper231();\n            case 240:\n                return new Mapper240();\n            case 241:\n                return new Mapper241();\n            case 242:\n                return new Mapper242();\n            case 244:\n                return new Mapper244();\n            case 246:\n                return new Mapper246();\n            case 255:\n                return new Mapper255();\n            default:\n                System.err.println(\"unsupported mapper # \" + type);\n                throw new BadMapperException(\"Unsupported mapper: \" + type);\n        }\n    }\n\n    public String getrominfo() {\n        return (\"ROM INFO: \\n\"\n                + \"Filename:     \" + loader.name + \"\\n\"\n                + \"Mapper:       \" + mappertype + \"\\n\"\n                + \"PRG Size:     \" + prgsize / 1024 + \" K\\n\"\n                + \"CHR Size:     \" + (haschrram ? 0 : chrsize / 1024) + \" K\\n\"\n                + \"Mirroring:    \" + scrolltype.toString() + \"\\n\"\n                + \"Battery Save: \" + ((savesram) ? \"Yes\" : \"No\")) + \"\\n\"\n                + \"CRC:          \" + utils.hex(this.crc);\n    }\n\n    public boolean hasSRAM() {\n        return savesram;\n    }\n\n    public void setLoader(final ROMLoader l) {\n        loader = l;\n    }\n\n    public CPURAM getCPURAM() {\n        return cpuram;\n    }\n\n    public void checkA12(int addr) {\n        //needed for mmc3 irq counter\n    }\n\n    public void setPRGRAM(final int[] newprgram) {\n        prgram = newprgram.clone();\n\n    }\n\n    public int[] getPRGRam() {\n        return prgram.clone();\n    }\n\n    public final void setmirroring(final Mapper.MirrorType type) {\n        switch (type) {\n            case H_MIRROR:\n                nt0 = pput0;\n                nt1 = pput0;\n                nt2 = pput1;\n                nt3 = pput1;\n                break;\n            case V_MIRROR:\n                nt0 = pput0;\n                nt1 = pput1;\n                nt2 = pput0;\n                nt3 = pput1;\n\n                break;\n            case SS_MIRROR0:\n                nt0 = pput0;\n                nt1 = pput0;\n                nt2 = pput0;\n                nt3 = pput0;\n                break;\n            case SS_MIRROR1:\n                nt0 = pput1;\n                nt1 = pput1;\n                nt2 = pput1;\n                nt3 = pput1;\n                break;\n            case FOUR_SCREEN_MIRROR:\n            default:\n                nt0 = pput0;\n                nt1 = pput1;\n                nt2 = pput2;\n                nt3 = pput3;\n                break;\n        }\n    }\n\n    public TVType getTVType() {\n        int prefsregion = prefs.getInt(\"region\", 0);\n        switch (prefsregion) {\n            case 0:\n            default://auto detect\n                return region;\n            case 1: //ntsc\n                return TVType.NTSC;\n            case 2: //pal\n                return TVType.PAL;\n            case 3: //dendy\n                return TVType.DENDY;\n        }\n    }\n\n    public void init() {\n    } //needed for NSF initialization\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper107.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper107 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = data >> 1;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper112.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper112 extends Mapper {\n    //Chinese variant of MIMIC mapper\n\n    private int whichbank = 0;\n    private int[] chrreg = {0, 0, 0, 0, 0, 0, 0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        //System.err.println(utils.hex(addr) + \" \" + utils.hex(data));\n        if (addr == 0xA000) {\n            if (whichbank >= 2) {\n                chrreg[whichbank - 2] = data;\n                setupchr();\n            } else if (whichbank == 0) {\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            } else if (whichbank == 1) {\n                //System.err.println(data * 8);\n                //bank 7 always swappable, always in same place\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            }\n        } else if (addr == 0x8000) {\n            //bank select\n            whichbank = data & 7;\n        } else if (addr == 0xE000) {\n            setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n        }\n    }\n\n    private void setupchr() {\n        setppubank(1, 4, chrreg[2]);\n        setppubank(1, 5, chrreg[3]);\n        setppubank(1, 6, chrreg[4]);\n        setppubank(1, 7, chrreg[5]);\n\n        setppubank(2, 0, (chrreg[0] >> 1) << 1);\n        setppubank(2, 2, (chrreg[1] >> 1) << 1);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper119.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\n//TQROM mapper\n//mmc3 derivative with chr ram and rom\npublic class Mapper119 extends MMC3Mapper {\n\n    int[] chrRam = new int[8192];\n\n    @Override\n    public int ppuRead(final int addr) {\n        if (addr < 0x2000) {\n            checkA12(addr);\n            return (chr_map[addr >> 10] > 65535)\n                    ? chrRam[(chr_map[addr >> 10] + (addr & 1023)) & 8191]\n                    : chr[(chr_map[addr >> 10] & 65535) + (addr & 1023)];\n        } else {\n            return super.ppuRead(addr);\n        }\n    }\n\n    @Override\n    public void ppuWrite(final int addr, final int data) {\n        if (addr < 0x2000) {\n            checkA12(addr);\n            if (chr_map[addr >> 10] > 63) {\n                chrRam[(chr_map[addr >> 10] + (addr & 1023)) & 8191] = data;\n            }\n        } else {\n            super.ppuWrite(addr, data);\n        }\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * i);\n            prg_map[i + 8] = (1024 * i);\n            //yes this actually matters; MMC3 does NOT start up in a random state\n            //(at least Smash TV and TMNT3 expect certain banks w/o even setting up mapper)\n        }\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n        setbank6();\n        //cpuram.setPrgRAMEnable(false);\n    }\n\n    protected void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i));\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper140.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper140 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x6000 || addr > 0x7fff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (data >> 4) & 3;\n        int chrselect = data & 0xF;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper15.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper15 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        int prgbank = (data << 1) & 0xFE;\n        int prgflip = data >> 7;\n        setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        switch (addr & 0xFFF) {\n            case 0x000:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + 8 * (prgbank | 0 ^ prgflip))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[8 + i] = (1024 * (i + 8 * (prgbank | 1 ^ prgflip))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[16 + i] = (1024 * (i + 8 * (prgbank | 2 ^ prgflip))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[24 + i] = (1024 * (i + 8 * (prgbank | 3 ^ prgflip))) & (prgsize - 1);\n                }\n                break;\n            case 0x001:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + 8 * (prgbank | (0 ^ prgflip)))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[8 + i] = (1024 * (i + 8 * (prgbank | (1 ^ prgflip)))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[16 + i] = (1024 * (i + 8 * (0x7E | (0 ^ prgflip)))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[24 + i] = (1024 * (i + 8 * (0x7F | (1 ^ prgflip)))) & (prgsize - 1);\n                }\n                break;\n            case 0x002:\n                prgbank |= prgflip;\n\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[8 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[16 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[24 + i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);\n                }\n                break;\n            case 0x003:\n                prgbank |= prgflip;\n\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + 8 * prgbank)) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[8 + i] = (1024 * (i + 8 * (prgbank + 1))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[16 + i] = (1024 * (i + 8 * (prgbank + (~addr >> 1 & 1)))) & (prgsize - 1);\n                }\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[24 + i] = (1024 * (i + 8 * (prgbank + 1))) & (prgsize - 1);\n                }\n                break;\n            default:\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper152.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper152 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (byte) ((data >> 4) & 0xF);\n        int chrselect = (data & 0xF);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n\n        setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper182.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper182 extends Mapper {\n    //Pirate MMC3 clone with scrambled registers\n\n    private int whichbank = 0;\n    private boolean prgconfig = false;\n    private boolean chrconfig = false;\n    private int irqctrreload = 0;\n    private int irqctr = 0;\n    private boolean irqenable = false;\n    private boolean irqreload = false;\n    private int bank6 = 0;\n    private int[] chrreg = {0, 0, 0, 0, 0, 0};\n    private boolean interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n        setbank6();\n        //cpuram.setPrgRAMEnable(false);\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        //different register for even/odd writes\n        if (((addr & (utils.BIT0)) != 0)) {\n            //odd registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //mirroring setup\n                setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n            } else if ((addr >= 0xA000) && (addr <= 0xBFFF)) {\n                //prg ram write protect\n                //cpuram.setPrgRAMEnable(!utils.getbit(data, 7));\n            } else if ((addr >= 0xC000) && (addr <= 0xDFFF)) {\n                //any value here reloads irq counter _@ end of scanline_\n                irqreload = true;\n                irqctrreload = data;\n            } else if ((addr >= 0xE000) && (addr <= 0xFFFF)) {\n                //any value here enables interrupts\n                irqenable = true;\n            }\n        } else {\n            //even registers\n            if ((addr >= 0xA000) && (addr <= 0xBFFF)) {\n                //bank select\n                whichbank = data & 7;\n                prgconfig = ((data & (utils.BIT4)) != 0);\n                //if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank\n                //if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank\n                chrconfig = ((data & (utils.BIT5)) != 0);\n                //if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff\n                //if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff\n                setupchr();\n                setbank6(); //OOPS FORGOT THIS I GUESS\n            } else if ((addr >= 0xC000) && (addr <= 0xDFFF)) {\n                //bank select\n                switch (whichbank) {\n                    case 0:\n                        chrreg[0] = data;\n                        setupchr();\n                        break;\n                    case 1:\n                        chrreg[3] = data;\n                        setupchr();\n                        break;\n                    case 2:\n                        chrreg[1] = data;\n                        setupchr();\n                        break;\n                    case 3:\n                        chrreg[5] = data;\n                        setupchr();\n                        break;\n                    case 4:\n                        bank6 = data;\n                        setbank6();\n                        break;\n                    case 5:\n                        //bank 5 always swappable, always in same place\n                        for (int i = 0; i < 8; ++i) {\n                            prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                        }\n                        break;\n                    case 6:\n                        chrreg[2] = data;\n                        setupchr();\n                        break;\n                    case 7:\n                        chrreg[4] = data;\n                        setupchr();\n                        break;\n                }\n            } else if ((addr >= 0xE000) && (addr <= 0xFFFF)) {\n                //any value here disables IRQ and acknowledges\n                if (interrupted) {\n                    --cpu.interrupt;\n                }\n                interrupted = false;\n                irqenable = false;\n                irqctr = irqctrreload;\n            }\n        }\n    }\n\n    private void setupchr() {\n        if (chrconfig) {\n\n            setppubank(1, 0, chrreg[2]);\n            setppubank(1, 1, chrreg[3]);\n            setppubank(1, 2, chrreg[4]);\n            setppubank(1, 3, chrreg[5]);\n            //Lowest bit of bank number IS IGNORED for the 2k banks\n            setppubank(2, 4, (chrreg[0] >> 1) << 1);\n            setppubank(2, 6, (chrreg[1] >> 1) << 1);\n\n        } else {\n            setppubank(1, 4, chrreg[2]);\n            setppubank(1, 5, chrreg[3]);\n            setppubank(1, 6, chrreg[4]);\n            setppubank(1, 7, chrreg[5]);\n\n            setppubank(2, 0, (chrreg[0] >> 1) << 1);\n            setppubank(2, 2, (chrreg[1] >> 1) << 1);\n        }\n    }\n\n    private void setbank6() {\n        if (!prgconfig) {\n            //map c000-dfff to last bank, 8000-9fff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + (bank6 * 8))) % prgsize;\n                prg_map[i + 16] = ((prgsize - 16384) + 1024 * i);\n            }\n        } else {\n            //map 8000-9fff to last bank, c000 to dfff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = ((prgsize - 16384) + 1024 * i);\n                prg_map[i + 16] = (1024 * (i + (bank6 * 8))) % prgsize;\n            }\n        }\n    }\n\n    @Override\n    public void notifyscanline(int scanline) {\n        //Scanline counter\n        if (scanline > 239 && scanline != 261) {\n            //clocked on LAST line of vblank and all lines of frame. Not on 240.\n            return;\n        }\n        if (!ppu.mmc3CounterClocking()) {\n            return;\n        }\n\n        if (irqreload) {\n            irqreload = false;\n            irqctr = irqctrreload;\n        }\n\n        if (irqctr-- <= 0) {\n            if (irqctrreload == 0) {\n                return;\n                //irqs stop being generated if reload set to zero\n            }\n            if (irqenable && !interrupted) {\n                ++cpu.interrupt;\n                interrupted = true;\n            }\n            irqctr = irqctrreload;\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper185.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\n//CNROM with copy protection\npublic class Mapper185 extends Mapper {\n\n    boolean chr_enabled = true;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public int ppuRead(int addr) {\n        if (!chr_enabled) {\n            chr_enabled = true;\n            return 0x12;\n        }\n        if (addr < 0x2000) {\n            return chr[chr_map[addr >> 10] + (addr & 1023)];\n        } else {\n            return super.ppuRead(addr);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * (data & 3))) & (chrsize - 1);\n            //copy protection\n            chr_enabled = ((chr_map[i] & 0xF) > 0 && (chr_map[i] != 0x13));\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper200.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper200 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        // by default has wram at 0x6000 and cartridge at 0x8000-0xfff\n        // but some mappers have different so override for those\n        if (addr < 0x4000) {\n            return prg[prg_map[((addr & 0x3fff)) >> 10] + (addr & 1023)];\n        } else {\n            return prg[prg_map[((addr & 0x3fff)) >> 10] + ((addr - 0x4000) & 1023)];\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        int reg = addr & 7;\n\n        setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * reg)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * reg)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper201.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper201 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * addr)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper203.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper203 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        return prg[prg_map[((addr & 0x3fff)) >> 10] + ((addr & 0x3fff) & 1023)];\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = data >> 2;\n        int chrselect = data & 3;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper212.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper212 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr >= 0x8000 && addr <= 0xBFFF) {\n            //remap PRG bank\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * addr)) & (prgsize - 1);\n            }\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i + 16] = (1024 * (i + 16 * addr)) & (prgsize - 1);\n            }\n        } else if (addr >= 0xC000 && addr <= 0xFFFF) {\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * (addr >> 1))) & (prgsize - 1);\n            }\n        }\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);\n        }\n        setmirroring(((addr & (utils.BIT4)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper213.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper213 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * (addr >> 3))) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * (addr >> 1))) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper214.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper214 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * (addr >> 2))) & (prgsize - 1);\n        }\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i + 16] = (1024 * (i + 16 * (addr >> 2))) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper225.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper225 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        setmirroring(\n                ((addr & (0xD)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        int bank = addr >> 7 & 0x1F;\n\n        if ((addr & 0x1000) != 0) {\n            bank = (bank << 1) | (addr >> 6 & 1);\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n        } else {\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * bank)) & (prgsize - 1);\n            }\n        }\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper226.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper226 extends Mapper {\n\n    int[] reg = {0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xFFFF) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        reg[addr & 1] = data;\n\n        int bank = ((reg[0] >> 1 & 0x0F) | (reg[0] >> 3 & 0x10) | (reg[1] << 5 & 0x20));\n\n        setmirroring(((reg[0] & (utils.BIT6)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);\n\n        if ((reg[0] & 0x20) != 0) {\n            bank = (bank << 1) | (reg[0] & 1);\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n            }\n        } else {\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * bank)) & (prgsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper229.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper229 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * addr)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        int bank = (addr & 0x1E) != 0 ? (addr & 0x1F) : 0;\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n        }\n        bank = (addr & 0x1E) != 0 ? (addr & 0x1F) : 1;\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i + 16] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n        }\n\n        setmirroring(((addr & (utils.BIT5)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper231.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper231 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        int prg = addr & 0x1E;\n\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prg)) & (prgsize - 1);\n        }\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i + 16] = (1024 * (i + 16 * (prg | (addr >> 5 & 1)))) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper240.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper240 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x4020 || addr > 0x5fff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (data >> 4) & 0xF;\n        int chrselect = data & 0xF;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper241.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper241 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * data)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper242.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper242 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xFFFF) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * (addr >> 3))) & (prgsize - 1);\n        }\n\n        setmirroring(((addr & (utils.BIT1)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper244.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper244 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8065 || addr > 0x80E4) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        if (addr < 0x80A5) {\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * ((addr - 0x8065) & 3))) & (prgsize - 1);\n            }\n        } else {\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * ((addr - 0x80A5) & 7))) & (chrsize - 1);\n            }\n        }\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper246.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper246 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 24; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 8; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x6000 || addr > 0x67ff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        switch (addr & 7) {\n            case 0:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + 8 * data)) & (prgsize - 1);\n                }\n                break;\n            case 1:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[8 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);\n                }\n                break;\n            case 2:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[16 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);\n                }\n                break;\n            case 3:\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[24 + i] = (1024 * (i + 8 * data)) & (prgsize - 1);\n                }\n                break;\n            case 4:\n                for (int i = 0; i < 2; ++i) {\n                    chr_map[i] = (1024 * (i + 2 * data)) & (chrsize - 1);\n                }\n                break;\n            case 5:\n                for (int i = 0; i < 2; ++i) {\n                    chr_map[2 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);\n                }\n                break;\n            case 6:\n                for (int i = 0; i < 2; ++i) {\n                    chr_map[4 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);\n                }\n                break;\n            case 7:\n                for (int i = 0; i < 2; ++i) {\n                    chr_map[6 + i] = (1024 * (i + 2 * data)) & (chrsize - 1);\n                }\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper255.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper255 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        final int mode = (~addr >> 12 & 1);\n        final int bank = (addr >> 8 & 0x40) | (addr >> 6 & 0x3F);\n\n        setmirroring(((addr & 0x2000) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * ((addr >> 8 & 0x40) | (addr & 0x3F)))) & (chrsize - 1);\n        }\n        //remap PRG banks\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * (bank & ~mode))) & (prgsize - 1);\n        }\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * (i + 16 * (bank | mode))) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper31.java",
    "content": "/*\n * To change this license header, choose License Headers in Project Properties.\n * To change this template file, choose Tools | Templates\n * and open the template in the editor.\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class Mapper31 extends Mapper {\n\n    //mapper for NSF compilations, based on BNROM with NSF type bankswitch\n    //written in about 20mins so i could listen to 2a03puritans\n    public boolean nsfBanking;\n    public int[] nsfBanks = {00, 00, 00, 00, 00, 00, 00, 0xff};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        setBanks();\n    }\n\n    @Override\n    public void cartWrite(final int addr, final int data) {\n        if (addr >= 0x6000 && addr < 0x8000) {\n            //default no-mapper operation just writes if in PRG RAM range\n            prgram[addr & 0x1fff] = data;\n        } else if ((addr >= 0x5000) && (addr < 0x6000)) {\n            nsfBanks[addr & 7] = data;\n            //System.err.println(addr - 0x5ff8 + \" \" + data);\n            setBanks();\n        } else {\n            System.err.println(\"write to \" + utils.hex(addr) + \" goes nowhere\");\n        }\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        // by default has wram at 0x6000 and cartridge at 0x8000-0xfff\n        // but some mappers have different so override for those\n        if (addr >= 0x8000) {\n\n            int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);\n            return prg[fuuu];\n        } else if (addr >= 0x6000 && hasprgram) {\n\n            return prgram[addr & 0x1fff];\n        } else if ((addr >= 0x5000)) {\n            return nsfBanks[addr & 7];\n        }\n        System.err.println(\"reading open bus \" + utils.hex(addr));\n        return addr >> 8; //open bus\n    }\n\n    private void setBanks() {\n        for (int i = 0; i < prg_map.length; ++i) {\n            prg_map[i] = (4096 * nsfBanks[i / 4]) + (1024 * (i % 4));\n            if ((prg_map[i]) >= prg.length) {\n//                System.err.println(\"broken banks\");\n                prg_map[i] &= ((this.prgsize) - 1);\n            }\n        }\n    }\n\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper33.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper33 extends Mapper {\n\n    int prgbank0, prgbank1 = 0;\n    int[] chrbank = {0, 0, 0, 0, 0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xBFFF) {\n            super.cartWrite(addr, data);\n        } else if (addr <= 0x9FFF) {\n            switch (addr & 3) {\n                case 0:\n                    prgbank0 = data;\n                    setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                    setbanks();\n                    break;\n                case 1:\n                    prgbank1 = data;\n                    setbanks();\n                    break;\n                case 2:\n                    chrbank[0] = data;\n                    setbanks();\n                    break;\n                case 3:\n                    chrbank[1] = data;\n                    setbanks();\n                    break;\n            }\n        } else if (addr <= 0xBFFF) {\n            switch (addr & 3) {\n                case 0:\n                    chrbank[2] = data;\n                    setbanks();\n                    break;\n                case 1:\n                    chrbank[3] = data;\n                    setbanks();\n                    break;\n                case 2:\n                    chrbank[4] = data;\n                    setbanks();\n                    break;\n                case 3:\n                    chrbank[5] = data;\n                    setbanks();\n                    break;\n            }\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last two banks fixed to the last two banks in ROM\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * (i + 8 * prgbank0)) & (prgsize - 1);\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) & (prgsize - 1);\n        }\n\n        //map chr banks\n        setppubank(1, 4, chrbank[2]);\n        setppubank(1, 5, chrbank[3]);\n        setppubank(1, 6, chrbank[4]);\n        setppubank(1, 7, chrbank[5]);\n\n        setppubank(2, 0, chrbank[0]);\n        setppubank(2, 2, chrbank[1]);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (i + (banksize * banknum))) & (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper36.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\npublic class Mapper36 extends Mapper {\n    \n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 1; i <= 8; ++i) {\n            chr_map[8 - i] = chrsize - (1024 * i);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8400 || addr > 0xfffe) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * (i + 32 * (data >> 4))) & (prgsize - 1);\n        }\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper47.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class Mapper47 extends MMC3Mapper {\n\n    //official Nintendo multicart mapper, mmc3 variant\n    //used for super spike vball, nintendo world cup\n    private int multibank = 1;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n        setbank6();\n    }\n\n    @Override\n    public void cartWrite(int addr, int data) {\n        if (addr < 0x6000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //multicart bankswitches here\n        if ((addr >= 0x6000) && (addr <= 0x7fff)) {\n            multibank = data & 1;\n            //setup all banks\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 8] = ((1024 * (i + (data * 8))) % 131072) + multibank * 131072;\n            }\n            setbank6();\n            setupchr();\n            for (int i = 1; i <= 8; ++i) {\n                prg_map[32 - i] = 131072 - (1024 * i) + multibank * 131072;\n            }\n        }\n        //different register for even/odd writes\n        if (((addr & (utils.BIT0)) != 0)) {\n            //odd registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank change\n                //System.err.println(\"setting \" + whichbank + \" \" + data + \" \" + prgconfig);\n                if (whichbank <= 5) {\n                    chrreg[whichbank] = data;\n                    setupchr();\n                } else if (whichbank == 6) {\n                    bank6 = data;\n                    setbank6();\n                } else if (whichbank == 7) {\n                    //bank 7 always swappable, always in same place\n                    for (int i = 0; i < 8; ++i) {\n                        prg_map[i + 8] = ((1024 * (i + (data * 8))) % 131072) + multibank * 131072;\n                    }\n                }\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //prg ram write protect\n                //cpuram.setPrgRAMEnable(!utils.getbit(data, 7));\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //any value here reloads irq counter\n                irqreload = true;\n\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //iany value here enables interrupts\n                irqenable = true;\n            }\n        } else {\n            //even registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank select\n                whichbank = data & 7;\n                prgconfig = ((data & (utils.BIT6)) != 0);\n                //if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank\n                //if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank\n                chrconfig = ((data & (utils.BIT7)) != 0);\n                //if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff\n                //if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff\n                setupchr();\n                setbank6(); //OOPS FORGOT THIS I GUESS\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //mirroring setup\n                if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {\n                    setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                }\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //value written here used to reload irq counter _@ end of scanline_\n                irqctrreload = data;\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //any value here disables IRQ and acknowledges\n                if (interrupted) {\n                    --cpu.interrupt;\n                }\n                interrupted = false;\n                irqenable = false;\n            }\n        }\n    }\n\n    protected void setbank6() {\n        if (!prgconfig) {\n            //map c000-dfff to last bank, 8000-9fff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = ((1024 * (i + (bank6 * 8))) % 131072) + multibank * 131072;\n                prg_map[i + 16] = ((131072 - 16384) + 1024 * (i + multibank * 128));\n            }\n        } else {\n            //map 8000-9fff to last bank, c000 to dfff to selected bank\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = ((131072 - 16384) + 1024 * (i + multibank * 128));\n                prg_map[i + 16] = ((1024 * (i + (bank6 * 8))) % 131072) + multibank * 131072;\n            }\n        }\n    }\n\n    protected void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = ((1024 * ((banknum) + i)) % (chrsize / 2)) + multibank * 131072;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper48.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper48 extends Mapper {\n\n    int prgbank0, prgbank1 = 0;\n    int[] chrbank = {0, 0, 0, 0, 0, 0};\n    private int irqctrreload = 0;\n    private int irqctr = 0;\n    private boolean irqenable = false;\n    private boolean irqreload = false;\n    private boolean interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xFFFF) {\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr <= 0x9FFF) {\n            switch (addr & 3) {\n                case 0:\n                    prgbank0 = data;\n                    setbanks();\n                    break;\n                case 1:\n                    prgbank1 = data;\n                    setbanks();\n                    break;\n                case 2:\n                    chrbank[0] = data;\n                    setbanks();\n                    break;\n                case 3:\n                    chrbank[1] = data;\n                    setbanks();\n                    break;\n            }\n        } else if (addr <= 0xBFFF) {\n            switch (addr & 3) {\n                case 0:\n                    chrbank[2] = data;\n                    setbanks();\n                    break;\n                case 1:\n                    chrbank[3] = data;\n                    setbanks();\n                    break;\n                case 2:\n                    chrbank[4] = data;\n                    setbanks();\n                    break;\n                case 3:\n                    chrbank[5] = data;\n                    setbanks();\n                    break;\n            }\n        } else if (addr <= 0xDFFF) {\n            switch (addr & 3) {\n                case 0:\n                    //value written here used to reload irq counter _@ end of scanline_\n                    irqctrreload = data & 0xFF;\n                    irqreload = true;\n                    break;\n                case 1:\n                    //any value here reloads irq counter\n                    irqctr = data;\n                    irqreload = true;\n                    break;\n                case 2:\n                    //any value here enables interrupts\n                    irqenable = true;\n                    break;\n                case 3:\n                    //any value here disables IRQ and acknowledges\n                    if (interrupted) {\n                        --cpu.interrupt;\n                    }\n                    interrupted = false;\n                    irqenable = false;\n                    irqctr = irqctrreload;\n                    break;\n            }\n        } else if (addr <= 0xFFFF) {\n            switch (addr & 3) {\n                case 0:\n                    setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                    break;\n            }\n        }\n\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last two banks fixed to the last two banks in ROM\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * (i + 8 * prgbank0)) & (prgsize - 1);\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) & (prgsize - 1);\n        }\n\n        //map chr banks\n        setppubank(1, 4, chrbank[2]);\n        setppubank(1, 5, chrbank[3]);\n        setppubank(1, 6, chrbank[4]);\n        setppubank(1, 7, chrbank[5]);\n\n        setppubank(2, 0, chrbank[0]);\n        setppubank(2, 2, chrbank[1]);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (i + (banksize * banknum))) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public void notifyscanline(int scanline) {\n        //Scanline counter\n        if (scanline > 239 && scanline != 261) {\n            //clocked on LAST line of vblank and all lines of frame. Not on 240.\n            return;\n        }\n        if (!ppu.mmc3CounterClocking()) {\n            return;\n        }\n\n        if (irqreload) {\n            irqreload = false;\n            irqctr = irqctrreload;\n        }\n\n        if (irqctr-- <= 0) {\n            if (irqctrreload == 0) {\n                return;\n                //irqs stop being generated if reload set to zero\n            }\n            if (irqenable && !interrupted) {\n                ++cpu.interrupt;\n                interrupted = true;\n            }\n            irqctr = irqctrreload;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper58.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper58 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void reset() {\n        cartWrite(0x8000, cartRead(0x8000));\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * (addr >> 3))) & (chrsize - 1);\n        }\n\n        int prgselect = addr & ~(~addr >> 6 & 1);\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n        prgselect = addr | (~addr >> 6 & 1);\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper60.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper60 extends Mapper {\n\n    int reg = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i + 16] = (1024 * i) & (prgsize - 1);\n        }\n    }\n\n    @Override\n    public void reset() {\n        reg = (reg + 1) & 3;\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * reg)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * reg)) & (prgsize - 1);\n        }\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i + 16] = (1024 * (i + 16 * reg)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper61.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper61 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public void reset() {\n        cartWrite(0x8000, cartRead(0x8000));\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        switch (addr & 0x30) {\n            case 0x00:\n            case 0x30:\n                for (int i = 0; i < 32; ++i) {\n                    prg_map[i] = (1024 * (i + 32 * (addr & 0xF))) & (prgsize - 1);\n                }\n                break;\n            case 0x10:\n            case 0x20:\n                int prgselect = (addr << 1 & 0x1E) | (addr >> 4 & 2);\n                for (int i = 0; i < 16; ++i) {\n                    prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n                }\n                for (int i = 0; i < 16; ++i) {\n                    prg_map[i + 16] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n                }\n        }\n\n        setmirroring(((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper62.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper62 extends Mapper {\n\n    boolean prg_mode;\n    int prgselect, chrselect;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        prg_mode = \n        ((addr & (utils.BIT5)) != 0);\n        prgselect = (addr & 0x40) | ((addr >> 8) & 0x3F);\n        chrselect = (addr << 2) | (data & 3);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        if (prg_mode) {\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n            }\n            for (int i = 0; i < 16; ++i) {\n                prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n            }\n        } else {\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * (prgselect >> 1))) & (prgsize - 1);\n            }\n        }\n\n        setmirroring( \n        ((addr & (utils.BIT7)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper70.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\npublic class Mapper70 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (byte) ((data >> 4) & 0xF);\n        int chrselect = (data & 0xF);\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper72.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper72 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        if ((data & 0x40) != 0) {\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * (data & 0xF))) & (chrsize - 1);\n            }\n        }\n\n        if ((data & 0x80) != 0) {\n            //remap PRG bank\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper76.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class Mapper76 extends Mapper {\n    //a stripped down mmc3 clone for namco/tengen games.\n    //almost everything using this is marked as mapper 4 and works fine like that\n\n    private int whichbank = 0;\n    private int[] chrreg = {0, 0, 0, 0, 0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        if (addr == 0x8001) {\n            if (whichbank <= 5) {\n                chrreg[whichbank] = data;\n                setupchr();\n            } else if (whichbank == 6) {\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            } else if (whichbank == 7) {\n                //bank 7 always swappable, always in same place\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            }\n        } else if (addr == 0x8000) {\n            //bank select\n            whichbank = data & 7;\n\n        }\n    }\n\n    private void setupchr() {\n        setppubank(2, 0, (chrreg[2]) << 1);\n        setppubank(2, 2, (chrreg[3]) << 1);\n        setppubank(2, 4, (chrreg[4]) << 1);\n        setppubank(2, 6, (chrreg[5]) << 1);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) & (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper78.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class Mapper78 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 1; i <= 8; ++i) {\n            chr_map[8 - i] = chrsize - (1024 * i);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        //System.out.println(data);\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = data & 7;\n        int chrselect = (data >> 4) & 0xf;\n        if (crc == 0x42392440) //Cosmo Carrier\n        {\n            setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);\n        } else {\n            setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);\n        }\n\n        //remap CHR bank\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n        }\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper86.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\npublic class Mapper86 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr >= 0x6000 && addr <= 0x6FFF) {\n            int prgselect = (data >> 4) & 3;\n            int chrselect = (data & 3) | ((data & 0x40) >> 4);\n\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n            }\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * prgselect)) & (prgsize - 1);\n            }\n        } else if (addr >= 0x7000 && addr <= 0x7FFF) {\n            if ((data & 0x30) != 0x20) {\n                return;\n            }\n            //TODO: add sound control by using external sound files\n            switch (data & 0x1F) {\n                case 0:\n                    System.out.println(\"\\\"Strike!\\\"\");\n                    break;\n                case 1:\n                    System.out.println(\"\\\"Ball!\\\"\");\n                    break;\n                case 2:\n                    System.out.println(\"\\\"Time!\\\"\");\n                    break;\n                case 3:\n                    System.out.println(\"\\\"Out!\\\"\");\n                    break;\n                case 4:\n                    System.out.println(\"\\\"Safe!\\\"\");\n                    break;\n                case 5:\n                    System.out.println(\"\\\"Foul!\\\"\");\n                    break;\n                case 6:\n                    System.out.println(\"\\\"Fair!\\\"\");\n                    break;\n                case 7:\n                    System.out.println(\"\\\"You're out!\\\"\");\n                    break;\n                case 8:\n                    System.out.println(\"\\\"Play ball!\\\"\");\n                    break;\n                case 9:\n                    System.out.println(\"\\\"Ball 4!\\\"\");\n                    break;\n                case 10:\n                    System.out.println(\"\\\"Home run!\\\"\");\n                    break;\n                case 11:\n                    System.out.println(\"\\\"New pitcher\\\"\");\n                    break;\n                case 12:\n                    System.out.println(\"\\\"Ouch!\\\"\");\n                    break;\n                case 13:\n                    System.out.println(\"\\\"Dummy!\\\"\");\n                    break;\n                case 14:\n                    System.out.println(\"*crack*\");\n                    break;\n                case 15:\n                    System.out.println(\"*cheer*\");\n                    break;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper87.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\npublic class Mapper87 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr >= 0x6000 && addr < 0x8000) {\n            //remap CHR bank\n            int bit0 = (data >> 1) & 1;\n            int bit1 = data & 1;\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * ((bit1 << 1) + bit0))) & (chrsize - 1);\n            }\n        } else {\n            super.cartWrite(addr, data);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper92.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper92 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        if ((data & 0x40) != 0) {\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * (data & 0xF))) & (chrsize - 1);\n            }\n        }\n\n        if ((data & 0x80) != 0) {\n            //remap PRG bank\n            for (int i = 0; i < 16; ++i) {\n                prg_map[16 + i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper94.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class Mapper94 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (byte) ((data >> 2) & 7);\n        //remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Mapper97.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Mapper97 extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[16 - i] = prgsize - (1024 * i);\n        }\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        int prgselect = (byte) (data & 0xF);\n\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[16 + i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n\n        int mirroring = data >> 6;\n        switch (mirroring) {\n            case 0:\n                setmirroring(MirrorType.SS_MIRROR0);\n                break;\n            case 1:\n                setmirroring(MirrorType.H_MIRROR);\n                break;\n            case 2:\n                setmirroring(MirrorType.V_MIRROR);\n                break;\n            case 3:\n                setmirroring(MirrorType.SS_MIRROR1);\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NINA_001_Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class NINA_001_Mapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x7ffd || addr > 0x7fff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        switch (addr) {\n            case 0x7FFD:\n                for (int i = 0; i < 32; ++i) {\n                    prg_map[i] = (1024 * (i + 32 * data)) & (prgsize - 1);\n                }\n                break;\n            case 0x7FFE:\n                for (int i = 0; i < 4; ++i) {\n                    chr_map[i] = (1024 * (i + 4 * data)) & (chrsize - 1);\n                }\n                break;\n            case 0x7FFF:\n                for (int i = 0; i < 4; ++i) {\n                    chr_map[4 + i] = (1024 * (i + 4 * data)) & (chrsize - 1);\n                }\n                break;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NINA_003_006_Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class NINA_003_006_Mapper extends Mapper {\n\n    boolean m113 = true;\n\n    public NINA_003_006_Mapper(int mappernum) {\n        super();\n        switch (mappernum) {\n            //mappers 79 and 113 differ mainly on whether they can control mirroring or not\n            case 79:\n                m113 = false;\n                break;\n            case 113:\n                m113 = true;\n                break;\n        }\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void reset() {\n        for (int i = 0x4100; i < 0x6000; i += 0x200) {\n            cartWrite(i, i + 0xFF);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x4100 || addr > 0x5fff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        if (m113) {\n            setmirroring(((data & (utils.BIT7)) != 0) ? MirrorType.V_MIRROR : MirrorType.H_MIRROR);\n\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * ((data >> 3 & 8) | (data & 7)))) & (chrsize - 1);\n            }\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * (data >> 3 & 7))) & (prgsize - 1);\n            }\n        } else {\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * data)) & (chrsize - 1);\n            }\n            //remap PRG bank\n            for (int i = 0; i < 32; ++i) {\n                prg_map[i] = (1024 * (i + 32 * (data >> 3))) & (prgsize - 1);\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NSFMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\nimport com.grapeshot.halfnes.audio.*;\nimport java.util.Arrays;\n\n/**\n *\n * @author Andrew\n */\npublic class NSFMapper extends Mapper {\n    //a nsf playing mapper\n    //TODO: add the extra bankswitches required when playing FDS\n\n    private int load, init, play, song, numSongs;\n    public boolean nsfBanking;\n    public int[] nsfStartBanks = new int[10], nsfBanks = new int[10];\n    private int sndchip;\n    boolean vrc6 = false, vrc7 = false, mmc5 = false,\n            n163 = false, s5b = false, hasInitSound = false, fds = false;\n    private boolean n163autoincrement = false;\n    private int n163soundAddr = 0;\n    private int mmc5multiplier1, mmc5multiplier2;\n    private int vrc7regaddr = 0;\n    private int s5bSoundCommand = 0;\n    private Namco163SoundChip n163Audio;\n    private VRC6SoundChip vrc6Audio;\n    private VRC7SoundChip vrc7Audio;\n    private Sunsoft5BSoundChip s5bAudio;\n    private MMC5SoundChip mmc5Audio;\n    private static final String trackstr = \"Track --- / ---          <-B A->\";\n    private FDSSoundChip fdsAudio;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        loader.parseHeader();\n        prgsize = loader.prgsize;\n        mappertype = loader.mappertype;\n        prgoff = loader.prgoff;\n        for (int i = 0x70; i < 0x78; ++i) {\n            if (loader.header[i] != 0) {\n                nsfBanking = true;\n                nsfStartBanks[i - 0x70] = loader.header[i];\n            }\n        }\n        prgoff = 0;\n        load = loader.header[0x08] + (loader.header[0x09] << 8);\n        init = loader.header[0x0a] + (loader.header[0x0b] << 8);\n        play = loader.header[0x0c] + (loader.header[0x0d] << 8);\n        numSongs = loader.header[6] - 1;\n        song = loader.header[7] - 1;\n        if (loader.header[0x7a] == 1) {\n            //pal only tune\n            this.region = TVType.PAL;\n            //System.err.println(\"pal only tune\");\n        } else {\n            this.region = TVType.NTSC;\n        }\n        chroff = 0;\n        chrsize = 0;\n        scrolltype = MirrorType.V_MIRROR;\n        sndchip = loader.header[0x7B];\n\n        if (!nsfBanking && load < 0x8000) {\n            //no banking\n            //System.err.println(\"What do I do with this???\");\n            throw new BadMapperException(\"NSF with no banking loading low\");\n        }\n        // pad to 4k bank size and copy in starting\n        //from where the load addr is in a 4k bank\n        //to the end of the file, padding the end to a 4k bank as well\n        //so total number of banks can be 2 more than # of 4k\n        //chunks in the file.\n        int paddingLen = (nsfBanking) ? load & 0x0fff : load - 0x8000;\n        prg = new int[1024 * 1024];\n        System.arraycopy(loader.load(loader.romlen(), prgoff), 0, prg, paddingLen, loader.romlen());\n        crc = crc32(prg);\n        haschrram = true;\n        chrsize = 8192;\n        chr = new int[8192];\n        prg_map = new int[(((sndchip & (utils.BIT2)) != 0)) ? 40 : 32];\n        if (!nsfBanking) {\n            //identity mapping from 1st loaded bank\n            for (int i = 0; i < 8; ++i) {\n                nsfStartBanks[i] = i;\n            }\n\n        }\n        //additional headache for NSFs with FDS:\n        if (((sndchip & (utils.BIT2)) != 0)) {\n            //got to copy some stuff into 6000 - 7fff just because\n            nsfStartBanks[8] = nsfStartBanks[6];\n            nsfStartBanks[9] = nsfStartBanks[7];\n\n        }\n        chr_map = new int[8];\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n        cpuram = new CPURAM(this);\n        cpu = new CPU(cpuram);\n        ppu = new PPU(this);\n        Arrays.fill(pput0, 0x00);\n        setmirroring(scrolltype);\n        //System.out.println(sndchip);\n\n        //set up the PPU to display titles\n        //pick a random color based on the tune's crc (why not?)\n        ppu.pal[0] = 0x3f;\n        ppu.pal[1] = 0x20 + (int) (crc % 12);\n        ppu.pal[2] = 0x20 + (int) (crc % 12);\n        ppu.pal[3] = 0x20 + (int) (crc % 12);\n\n        chr = NSFPlayerFont.font;\n    }\n\n    @Override\n    public void init() {\n        //now that we've set up the initial CPU state, do it all over again\n        //in order to match the NSF spec.\n\n        //set banks back to the way they were originally\n        nsfBanks = nsfStartBanks.clone();\n        setBanks();\n        //clear all ram to 0\n        for (int i = 0; i <= 0x7ff; ++i) {\n            cpuram.write(i, 0);\n        }\n        //initialize sound registers\n        for (int i = 0x4000; i <= 0x4013; ++i) {\n            cpuram.write(i, 0);\n        }\n        cpuram.write(0x4015, 0x0f);\n        //disable frame counter on APU\n        cpuram.write(0x4017, 0x40);\n        //simulate a jump to the play address\n        cpu.push(0xff);\n        cpu.push(0xfa);\n\n        cpu.setPC(init);\n        cpu.interrupt = -99999; //no interrupts for you\n        cpu.setRegA(song);\n        if (this.region == TVType.PAL) {\n            cpu.setRegX(0x01);\n        } else {\n            cpu.setRegX(0x00);\n        }\n\n        //copy titles to ppu nametable\n        for (int i = 0; i < 32 * 24; ++i) {\n            //random pattern from basic one liner\n            pput0[i] = (Math.random() > 0.5) ? 0x2f : 0x5c;\n        }\n        for (int i = 0; i < 96; ++i) {\n            pput0[i + (32 * 25)] = loader.header[i + 0xe];\n        }\n\n        for (int i = 0; i < trackstr.length(); ++i) {\n            pput0[i + (32 * 28)] = trackstr.charAt(i);\n        }\n\n        if (!hasInitSound) {\n            setSoundChip();\n            hasInitSound = true;\n        }\n        if (!fds) { //DON'T CLEAR THIS WHEN STUFF LOADS HERE\n            for (int i = 0x6000; i <= 0x7fff; ++i) {\n                cpuram.write(i, 0);\n            }\n        }\n    }\n\n    @Override\n    public void reset() {\n        song = loader.header[7] - 1;\n        init();\n        cpu.setPC(init);\n    }\n\n    //write into the cartridge's address space\n    @Override\n    public void cartWrite(final int addr, final int data) {\n        if (n163 && addr == 0xF800) {\n            n163autoincrement = ((data & (utils.BIT7)) != 0);\n            n163soundAddr = data & 0x7f;\n        } else if (n163 && addr == 0x4800) {\n            n163Audio.write(n163soundAddr, data);\n            if (n163autoincrement) {\n                n163soundAddr = ++n163soundAddr & 0x7f;\n            }\n        } else if (s5b && addr == 0xE000) {\n            s5bAudio.write(s5bSoundCommand, data);\n        } else if (s5b && addr == 0xC000) {\n            s5bSoundCommand = data & 0xF;\n        } else if (vrc6 && addr >= 0xB000 && addr <= 0xB002) {\n            vrc6Audio.write((addr & 0xf000) + (addr & 3), data);\n        } else if (vrc6 && addr >= 0xA000 && addr <= 0xA002) {\n            vrc6Audio.write((addr & 0xf000) + (addr & 3), data);\n        } else if (vrc7 && addr == 0x9030) {\n            vrc7Audio.write(vrc7regaddr, data);\n        } else if (vrc7 && addr == 0x9010) {\n            vrc7regaddr = data;\n        } else if (vrc6 && addr >= 0x9000 && addr <= 0x9002) {\n            vrc6Audio.write((addr & 0xf000) + (addr & 3), data);\n        } else if (fds && nsfBanking && addr >= 0x6000) {\n            if (addr < 0x8000) {\n                int fuuu = prg_map[((addr - 0x6000) >> 10) + 32] + (addr & 1023);\n                prg[fuuu] = data;\n            } else {\n                int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);\n                prg[fuuu] = data;\n            }\n        } else if (fds && !nsfBanking && addr >= 0x6000) {\n            if (addr < 0x8000) {\n                prgram[addr - 0x6000] = data;\n            } else {\n                int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);\n                prg[fuuu] = data;\n            }\n        } else if (addr >= 0x6000 && addr < 0x8000) {\n            //default no-mapper operation just writes if in PRG RAM range\n            prgram[addr & 0x1fff] = data;\n        } else if ((addr >= 0x5ff8) && (addr < 0x6000)) {\n            nsfBanks[addr - 0x5ff8] = data;\n            //System.err.println(addr - 0x5ff8 + \" \" + data);\n            setBanks();\n        } else if (fds && nsfBanking && (addr == 0x5ff6)) {\n            //System.err.println(\"fds request bank \" + data + \" in ram0\");\n            nsfBanks[8] = data;\n            setBanks();\n        } else if (fds && nsfBanking && (addr >= 0x5ff7)) {\n            //System.err.println(\"fds request bank \" + data + \" in ram1\");\n            nsfBanks[9] = data;\n            setBanks();\n        } else if (mmc5 && (addr >= 0x5C00) && (addr <= 0x5FF5)) {\n            prgram[addr - 0x5C00] = data; //RAM emulates ExRAM here\n        } else if (mmc5 && (addr == 0x5206)) {\n            mmc5multiplier2 = data;\n        } else if (mmc5 && (addr == 0x5205)) {\n            mmc5multiplier1 = data;\n        } else if (mmc5 && (addr >= 0x5000) && (addr <= 0x5015)) {\n            mmc5Audio.write(addr - 0x5000, data);\n        } else if (fds && (addr >= 0x4040) && (addr <= 0x4092)) {\n            fdsAudio.write(addr, data);\n        } else {\n            //System.err.println(\"write to \" + utils.hex(addr) + \" goes nowhere\");\n        }\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        // by default has wram at 0x6000 and cartridge at 0x8000-0xfff\n        // but some mappers have different so override for those\n        if (addr >= 0x8000) {\n            if (addr > 0xfffa) {\n                //reads of last part of RAM should always\n                //give the reset vectors here, no matter what\n                //NSF bank is mapped there.\n                switch (addr) {\n                    case 0xfffb:\n                        return 0x4c;\n                    case 0xfffc:\n                        return 0xfb;\n                    case 0xfffd:\n                        return 0xff;\n                    default:\n                        return 0x00;\n                }\n            }\n            int fuuu = prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023);\n            return prg[fuuu];\n        } else if (addr >= 0x6000 && hasprgram) {\n            if (fds && nsfBanking) {\n                int fuuu = prg_map[((addr - 0x6000) >> 10) + 32] + (addr & 1023);\n                return prg[fuuu];\n            } else {\n                return prgram[addr & 0x1fff];\n            }\n        } else if ((addr >= 0x5ff8)) {\n            return nsfBanks[addr - 0x5ff8];\n        } else if (fds && nsfBanking && (addr == 0x5ff6)) {\n            return nsfBanks[8];\n        } else if (fds && nsfBanking && (addr == 0x5ff7)) {\n            return nsfBanks[9];\n        } else if (mmc5 && addr >= 0x5C00) {\n            return prgram[addr - 0x5C00]; //RAM emulates ExRAM here\n        } else if (mmc5 && addr == 0x5206) {\n            return ((mmc5multiplier1 * mmc5multiplier2) >> 8) & 0xff;\n        } else if (mmc5 && addr == 0x5205) {\n            return (mmc5multiplier1 * mmc5multiplier2) & 0xff;\n        } else if (mmc5 && addr == 0x5015) {\n            return mmc5Audio.status();\n        } else if (n163 && addr == 0x4800) {\n            //System.err.println(\"readback\");\n            int retval = n163Audio.read(n163soundAddr);\n            if (n163autoincrement) {\n                n163soundAddr = ++n163soundAddr & 0x7f;\n            }\n            return retval;\n        } else if (fds && (addr >= 0x4040) && (addr < 0x4093)) {\n            return fdsAudio.read(addr);\n        }\n        //System.err.println(\"reading open bus \" + utils.hex(addr));\n        return addr >> 8; //open bus\n    }\n\n    @Override\n    public void ppuWrite(int addr, final int data) {\n    }\n\n    int control, prevcontrol;\n    int unfinishedcounter = 0;\n    int time = 4;\n\n    @Override\n    public void notifyscanline(final int scanline) {\n        if (scanline == 240) {\n            //make sure init isn't still running\n            if (cpu.PC != 0xFFFB) {\n                //if not in idle loop\n                if (unfinishedcounter < time) {\n                    ++unfinishedcounter;\n                    /*System.err.println(\"Init routine hasn't returned in \"\n                            + unfinishedcounter + \" frames\");\n                     */\n                    return;\n                } else if (unfinishedcounter == time) {\n                    ++unfinishedcounter;\n                    //System.err.println(\"giving up\");\n                }\n                //if we've given it a few frames\n                //and it still hasn't returned from init, then it probably\n                //isn't going to (supernsf)\n                //so we move blithely forward.\n            } else {\n                unfinishedcounter = 0;\n            }\n            //set PPU registers to enable rendering\n            ppu.write(6, 0);\n            ppu.write(6, 0);\n            ppu.write(5, 0);\n            ppu.write(0, 0);\n            ppu.write(1, utils.BIT1 | utils.BIT3 | utils.BIT4);\n\n            //write track number to screen\n            writeTracks();\n\n            //todo: visualization effects\n            //read the controller\n            prevcontrol = control;\n            control = 0;\n            //strobe\n            cpuram.write(0x4016, 1);\n            cpuram.write(0x4016, 0);\n            //read each button out\n            for (int i = 0; i < 8; ++i) {\n                control = (control << 1) + (((cpuram.read(0x4016) & 3) != 0) ? 1 : 0);\n            }\n            //change song number if we get a button press\n            if (((control & 0x80) != 0) && ((prevcontrol & 0x80) == 0)) {\n                ++song;\n                if (song > numSongs) {\n                    song = 0;\n                }\n                //System.err.println(\"next song\");\n                init();\n            } else if (((control & 0x40) != 0) && ((prevcontrol & 0x40) == 0)) {\n                --song;\n                if (song < 0) {\n                    song = numSongs;\n                }\n                //System.err.println(\"previous song\");\n                init();\n            } else //fake a jsr to the play address from wherever \n            //unless this is a supernsf\n            if (unfinishedcounter <= time) {\n                cpu.push((cpu.PC - 1) >> 8);\n                cpu.push((cpu.PC - 1) & 0xff);\n                cpu.setPC(play);\n            }\n        }\n    }\n\n    @Override\n    public String getrominfo() {\n        return \"NSF INFO: \\n\"\n                + \"Filename:     \" + loader.name + \"\\n\"\n                + \"Size:     \" + loader.romlen() / 1024 + \" K\\n\"\n                + \"Expansion Sound:  \" + expSound() + \"\\n\"\n                + \"Track: \" + (song + 1) + \" / \" + (numSongs + 1) + \"\\n\"\n                + \"Load Address:  \" + utils.hex(load) + \"\\n\"\n                + \"Init Address:  \" + utils.hex(init) + \"\\n\"\n                + \"Play Address:  \" + utils.hex(play) + \"\\n\"\n                + \"Banking?      \" + (nsfBanking ? \"Yes\" : \"No\") + \"\\n\"\n                + \"CRC:          \" + utils.hex(this.crc);\n    }\n\n    private String expSound() {\n        String chips = \"\";\n        if (vrc6) {\n            chips += \"VRC6 \";\n        }\n        if (vrc7) {\n            chips += \"VRC7 \";\n        }\n        if (n163) {\n            chips += \"Namco 163 \";\n        }\n        if (mmc5) {\n            chips += \"MMC5 \";\n        }\n        if (s5b) {\n            chips += \"Sunsoft 5B \";\n        }\n        if (fds) {\n            chips += \"FDS \";\n        }\n        return ((chips.length() > 0) ? chips : \"None\");\n    }\n\n    private void setBanks() {\n        for (int i = 0; i < prg_map.length; ++i) {\n            prg_map[i] = (4096 * nsfBanks[i / 4]) + (1024 * (i % 4));\n            if ((prg_map[i]) >= prg.length) {\n                //System.err.println(\"broken banks\");\n                prg_map[i] %= prg.length; //probably a bad idea in general though\n                //but who knows what a NSF wants when it tries\n                //to switch a bank not in the file?\n                //there's no \"alias it to a power of 2\" for nsfs since the file\n                //size doesn't need to be a power of 2 and you can start loading\n                //the file halfway into a bank.\n            }\n        }\n        //utils.printarray(prg_map);\n        //utils.printarray(nsfStartBanks);\n    }\n\n    private void setSoundChip() {\n        if (((sndchip & (utils.BIT0)) != 0)) {\n            //VRC6 audio\n            vrc6 = true;\n            vrc6Audio = new VRC6SoundChip();\n            cpuram.apu.addExpnSound(vrc6Audio);\n        }\n        if (((sndchip & (utils.BIT1)) != 0)) {\n            //VRC7 audio\n            vrc7 = true;\n            vrc7Audio = new VRC7SoundChip();\n            cpuram.apu.addExpnSound(vrc7Audio);\n        }\n        if (((sndchip & (utils.BIT2)) != 0)) {\n            //FDS audio, not yet implemented\n            fds = true;\n            fdsAudio = new FDSSoundChip();\n            cpuram.apu.addExpnSound(fdsAudio);\n        }\n        if (((sndchip & (utils.BIT3)) != 0)) {\n            //MMC5 audio\n            mmc5 = true;\n            mmc5Audio = new MMC5SoundChip();\n            cpuram.apu.addExpnSound(mmc5Audio);\n        }\n        if (((sndchip & (utils.BIT4)) != 0)) {\n            //Namco 163 audio\n            n163 = true;\n            n163Audio = new Namco163SoundChip();\n            cpuram.apu.addExpnSound(n163Audio);\n        }\n        if (((sndchip & (utils.BIT5)) != 0)) {\n            //Sunsoft 5B audio\n            s5b = true;\n            s5bAudio = new Sunsoft5BSoundChip();\n            cpuram.apu.addExpnSound(s5bAudio);\n        }\n    }\n\n    private void writeTracks() {\n        String cur = String.format(\"%3d / %-3d\", song + 1, numSongs + 1);\n        for (int i = 0; i < cur.length(); ++i) {\n            pput0[i + (32 * 28) + 6] = cur.charAt(i);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NSFPlayerFont.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\n/**\n *\n * @author Andrew\n */\npublic class NSFPlayerFont {\n    \n    private NSFPlayerFont() {}\n\n    //file auto-generated from Dwedit's ascii.chr by bin2h.exe\n\n    public final static int[] font = {\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0x6C, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C,\n        0x6C, 0xFE, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x30, 0x7C, 0xC0, 0x78, 0x0C, 0xF8, 0x30,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6,\n        0xCC, 0x18, 0x30, 0x66, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x38, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0x76, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0xC0,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x18, 0x30, 0x60, 0x60, 0x60, 0x30, 0x18, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x18,\n        0x18, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0xFC, 0x30,\n        0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x4C,\n        0xC6, 0xC6, 0xC6, 0x64, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x18, 0x38, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x0E,\n        0x3C, 0x78, 0xE0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x7E, 0x0C, 0x18, 0x3C, 0x06, 0xC6, 0x7C, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x3C, 0x6C, 0xCC,\n        0xFE, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0xFC, 0xC0, 0xFC, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x60, 0xC0, 0xFC, 0xC6,\n        0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0xFE, 0xC6, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6,\n        0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,\n        0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30,\n        0x30, 0x00, 0x00, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x18, 0x30, 0x60, 0xC0, 0x60, 0x30, 0x18, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC,\n        0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCC, 0x0C, 0x18,\n        0x30, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x7C, 0xC6, 0xDE, 0xDE, 0xDE, 0xC0, 0x78, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x6C, 0xC6, 0xC6, 0xFE,\n        0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0xFC, 0xC6, 0xC6, 0xFC, 0xC6, 0xC6, 0xFC, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC0, 0xC0, 0xC0, 0x66,\n        0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF8,\n        0xCC, 0xC6, 0xC6, 0xC6, 0xCC, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xFC, 0xC0, 0xC0, 0xFE,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xC0,\n        0xC0, 0xFC, 0xC0, 0xC0, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x3E, 0x60, 0xC0, 0xCE, 0xC6, 0x66, 0x3E, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6,\n        0xFE, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1E, 0x06, 0x06, 0x06,\n        0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0xC6, 0xCC, 0xD8, 0xF0, 0xF8, 0xDC, 0xCE, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x60, 0x60,\n        0x60, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0xC6, 0xEE, 0xFE, 0xFE, 0xD6, 0xC6, 0xC6, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE,\n        0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C,\n        0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0xFC, 0xC6, 0xC6, 0xC6, 0xFC, 0xC0, 0xC0,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6,\n        0xC6, 0xC6, 0xDE, 0xCC, 0x7A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0xFC, 0xC6, 0xC6, 0xCE, 0xF8, 0xDC, 0xCE, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xCC, 0xC0,\n        0x7C, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x7E, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6,\n        0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0xC6, 0xC6, 0xC6, 0xEE, 0x7C, 0x38, 0x10, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xD6, 0xFE, 0xFE,\n        0xEE, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0xC6, 0xEE, 0x7C, 0x38, 0x7C, 0xEE, 0xC6, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x3C, 0x18, 0x18,\n        0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE,\n        0x0E, 0x1C, 0x38, 0x70, 0xE0, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x78, 0x60, 0x60, 0x60, 0x60, 0x60, 0x78,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x60,\n        0x30, 0x18, 0x0C, 0x06, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x78, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C,\n        0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0x18, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66, 0x3B, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7C, 0x66, 0x66,\n        0x66, 0x7C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x3E, 0x60, 0x60, 0x60, 0x3E, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x3E, 0x66, 0x66, 0x66,\n        0x3E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x3C, 0x66, 0x7E, 0x60, 0x3E, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x18,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x3E, 0x66, 0x66, 0x3E, 0x06, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x7C, 0x66, 0x66, 0x66, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00,\n        0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x06, 0x00, 0x06, 0x06, 0x06, 0x66, 0x3C, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x62, 0x64,\n        0x68, 0x7C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0x6B, 0x6B,\n        0x6B, 0x6B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x7C, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x66, 0x66, 0x66,\n        0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x7C, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x66, 0x66, 0x3E, 0x06,\n        0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x6E, 0x70, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x40, 0x3C, 0x06, 0x7C, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x30, 0xFC,\n        0x30, 0x30, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3C, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x66,\n        0x66, 0x24, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x63, 0x6B, 0x6B, 0x6B, 0x36, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x63, 0x36, 0x1C,\n        0x36, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x66, 0x66, 0x2C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x0C, 0x18, 0x30,\n        0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C,\n        0x30, 0x30, 0xE0, 0x30, 0x30, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x30,\n        0x30, 0x1C, 0x30, 0x30, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38,\n        0x6C, 0xC6, 0xC6, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\n        0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,};\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NamcoMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.audio.*;\nimport com.grapeshot.halfnes.utils;\nimport java.util.Arrays;\n\n/**\n *\n * @author Andrew\n */\npublic class NamcoMapper extends Mapper {\n\n    private int soundAddr = 0;\n    private boolean autoincrement = false, irqenable = false,\n            interrupted = false, chrramenable0 = false, chrramenable1 = false;\n    Namco163SoundChip sound = new Namco163SoundChip();\n    private boolean hasInitSound = false;\n    private int irqcounter = 0x3fff;\n    private int[] chrbanks = new int[8], chr_ram = new int[16384];\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        // needs to be in every mapper. Fill with initial cfg\n        for (int i = 1; i <= 32; ++i) {\n            //map last banks in to start off\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        if (addr >= 0x4800 && addr < 0x5000) {\n            //read sound ram\n            if (!hasInitSound) {\n                cpuram.apu.addExpnSound((ExpansionSoundChip) sound);\n                hasInitSound = true;\n            }\n            int retval = sound.read(soundAddr);\n            if (autoincrement) {\n                soundAddr = ++soundAddr & 0x7f;\n            }\n            return retval;\n        } else if (addr < 0x5800) {\n            irqack();\n            return irqcounter & 0xff;\n        } else if (addr < 0x6000) {\n            //read high bits of irq ctr and enable bit and ack irqs\n            irqack();\n            return ((irqcounter >> 8) & 0x7f) | (irqenable ? 0x80 : 0);\n        } else if (addr >= 0x8000) {\n            return prg[prg_map[((addr & 0x7fff)) >> 10] + (addr & 1023)];\n        } else if (addr >= 0x6000 && hasprgram) {\n            return prgram[addr & 0x1fff];\n        }\n        return addr >> 8; //open bus\n    }\n\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x4800 || ((addr >= 0x6000) && (addr < 0x8000)) || addr > 0xffff) {\n            //need to add WRAM protection here\n            super.cartWrite(addr, data);\n            return;\n        } else if (addr <= 0x4fff) {\n            //write to sound chip\n            if (!hasInitSound) {\n                cpuram.apu.addExpnSound((ExpansionSoundChip) sound);\n                hasInitSound = true;\n            }\n            sound.write(soundAddr, data);\n            if (autoincrement) {\n                soundAddr = ++soundAddr & 0x7f;\n            }\n        } else if (addr <= 0x57ff) {\n            //irq counter low bits\n            irqcounter &= 0x7f00;\n            irqcounter |= data;\n            irqack();\n        } else if (addr <= 0x5fff) {\n            //irq counter high 7 bits           \n            irqcounter &= 0xff;\n            irqcounter |= ((data & 0x7f) << 8);\n            irqenable = ((data & (utils.BIT7)) != 0);\n            irqack();\n            //and bit 7 is irq enable\n        } else if (addr <= 0xbfff) {\n            //select chr pages\n            int bank = (addr >> 11) & 7;\n            setppubank(1, bank, data);\n            chrbanks[bank] = data;\n            //note: pages E0-FF are chr ram if a bit is set\n        } else if (addr <= 0xc7ff) {\n            //nametable select (can map chr rom in: how?)\n            //on namco 175 this is PRG RAM enable instead?\n            if (data < 0xe0) {\n                //use chr rom as the nametable\n                //i hope it doesnt try to write while it's chr rom\n                nt0 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);\n            } else {\n                nt0 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);\n            }\n        } else if (addr <= 0xc8ff) {\n            //nametable select 2\n            if (data < 0xe0) {\n                nt1 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);\n            } else {\n                nt1 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);\n            }\n        } else if (addr <= 0xd7ff) {\n            //nametable select 3\n            if (data < 0xe0) {\n                nt2 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);\n            } else {\n                nt2 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);\n            }\n        } else if (addr <= 0xdfff) {\n            //nametable select 4\n            if (data < 0xe0) {\n                nt3 = Arrays.copyOfRange(chr, (data * 1024), (data + 1) * 1024);\n            } else {\n                nt3 = (((data & (utils.BIT0)) != 0) ? pput1 : pput0);\n            }\n        } else if (addr <= 0xe7ff) {\n            //prg select 1 (1st 6 bits) and mirroring\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + 8 * (data & 63))) % prgsize;\n            }\n        } else if (addr <= 0xefff) {\n            //prg select 2 (1st 6 bits) and CHR RAM enable\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 8] = (1024 * (i + 8 * (data & 63))) % prgsize;\n            }\n            chrramenable0 = !((data & (utils.BIT6)) != 0);\n            chrramenable1 = !((data & (utils.BIT7)) != 0);\n        } else if (addr <= 0xf7ff) {\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 16] = (1024 * (i + 8 * (data & 63))) % prgsize;\n            }\n            //prg select 3 (1st 6 bits)\n        } else if (addr <= 0xffff) {\n            //write protect for prg ram on namco 163\n            //also sound address port (7 bits)\n            autoincrement = ((data & (utils.BIT7)) != 0);\n            soundAddr = data & 0x7f;\n        }\n    }\n\n    private void irqack() {\n        if (interrupted) {\n            --cpu.interrupt;\n            interrupted = false;\n        }\n\n    }\n\n    @Override\n    public void cpucycle(int cycles) {\n        irqcounter += cycles;\n        if (irqcounter > 0x7fff) {\n            irqcounter = 0x7fff;\n        }\n        if (irqcounter == 0x7fff && irqenable && !interrupted) {\n            ++cpu.interrupt;\n            interrupted = true;\n        }\n    }\n\n    private void setppubank(final int banksize, final int bankpos, final int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) & (chrsize - 1);\n        }\n//        utils.printarray(chr_map);\n    }\n\n    @Override\n    public int ppuRead(int addr) {\n        //i can't find any games that use this additional chr ram\n        //so who knows if this works?\n        if (addr < 0x1000) {\n            if (chrramenable0 && chrbanks[addr >> 10] > 0xe0) {\n                return chr_ram[chr_map[addr >> 10] + (addr & 1023)];\n            } else {\n                return chr[chr_map[addr >> 10] + (addr & 1023)];\n            }\n        } else if (addr < 0x2000) {\n            if (chrramenable1 && chrbanks[addr >> 10] > 0xe0) {\n                return chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)];\n            } else {\n                return chr[chr_map[addr >> 10] + (addr & 1023)];\n            }\n        } else {\n            return super.ppuRead(addr);\n        }\n    }\n\n    @Override\n    public void ppuWrite(int addr, final int data) {\n        addr &= 0x3fff;\n        if (addr < 0x1000) {\n            if (chrramenable0 && chrbanks[addr >> 10] > 0xe0) {\n                chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)] = data;\n            } else {\n                chr[chr_map[addr >> 10] + (addr & 1023)] = data;\n            }\n        } else if (addr < 0x2000) {\n            if (chrramenable1 && chrbanks[addr >> 10] > 0xe0) {\n                chr_ram[chr_map[addr >> 10] - (0xe0 << 10) + (addr & 1023)] = data;\n            } else {\n                chr[chr_map[addr >> 10] + (addr & 1023)] = data;\n            }\n        } else {\n            super.ppuWrite(addr, data);\n        }\n    }\n}"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Namcot34x3Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Namcot34x3Mapper extends Mapper {\n    //MIMIC variant with increased support for CHR up to 128 kB\n    //NAMCOT-3433 / NAMCOT-3443 (mapper 88) - no mirroring\n    //NAMCOT-3453 (mapper 154) - single-screen mirroring\n\n    private boolean mirroring = false;\n    private int whichbank = 0;\n    private int[] chrreg = {0, 0, 0, 0, 0, 0};\n\n    public Namcot34x3Mapper(int mappernum) {\n        super();\n        mirroring = (mappernum == 154);\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        //System.err.println(utils.hex(addr) + \" \" + utils.hex(data));\n        if (addr == 0x8001) {\n            if (whichbank <= 5) {\n                chrreg[whichbank] = data & 0x3f;\n                setupchr();\n            } else if (whichbank == 6) {\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            } else if (whichbank == 7) {\n                //System.err.println(data * 8);\n                //bank 7 always swappable, always in same place\n                for (int i = 0; i < 8; ++i) {\n                    prg_map[i + 8] = (1024 * (i + (data * 8))) % prgsize;\n                }\n            }\n        } else if (addr == 0x8000) {\n            //bank select\n            whichbank = data & 7;\n        }\n\n        if (mirroring) {\n            setmirroring(((data & (utils.BIT6)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);\n        }\n    }\n\n    private void setupchr() {\n        setppubank(1, 4, (chrreg[2] | 0x40));\n        setppubank(1, 5, (chrreg[3] | 0x40));\n        setppubank(1, 6, (chrreg[4] | 0x40));\n        setppubank(1, 7, (chrreg[5] | 0x40));\n\n        setppubank(2, 0, (chrreg[0] >> 1) << 1);\n        setppubank(2, 2, (chrreg[1] >> 1) << 1);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (banknum + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/NromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\n/**\n * Speed optimization for NROM games: copy everything to linear mapping and\n * don't use the bankswitching capability at all\n *\n * thanks to Stephen Chin - steveonjava@gmail.com\n */\npublic class NromMapper extends Mapper {\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        //copy the whole rom around so we need to do less math\n\n        int[] shiftedprg = new int[65536];\n        System.arraycopy(prg, 0, shiftedprg, 0x8000, prg.length);\n        if (prgsize <= 16384) {\n            //double up the rom if 16k\n            System.arraycopy(prg, 0, shiftedprg, 0xc000, prg.length);\n        }\n        prg = shiftedprg;\n    }\n\n    @Override\n    public int cartRead(final int addr) {\n        if (addr >= 0x8000) {\n            return prg[addr];\n        } else if (addr >= 0x6000 && hasprgram) {\n            return prgram[addr & 0x1fff];\n        }\n        return addr >> 8; //open bus\n    }\n\n    @Override\n    public int ppuRead(int addr) {\n        if (addr < 0x2000) {\n            //math is hard let's go shopping\n            return chr[addr];\n        } else {\n            switch (addr & 0xc00) {\n                case 0:\n                    return nt0[addr & 0x3ff];\n                case 0x400:\n                    return nt1[addr & 0x3ff];\n                case 0x800:\n                    return nt2[addr & 0x3ff];\n                case 0xc00:\n                default:\n                    if (addr >= 0x3f00) {\n                        addr &= 0x1f;\n                        if (addr >= 0x10 && ((addr & 3) == 0)) {\n                            addr -= 0x10;\n                        }\n                        return ppu.pal[addr];\n                    } else {\n                        return nt3[addr & 0x3ff];\n                    }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Sunsoft01Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class Sunsoft01Mapper extends Mapper {\n\n    private int lowBank = 0;\n    private int highBank = 0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 0; i < 32; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr >= 0x6000 && addr < 0x8000) {\n            lowBank = data & 7;\n            highBank = (data >> 4) & 7;\n\n            //remap CHR bank 0\n            for (int i = 0; i < 4; ++i) {\n                chr_map[i] = (1024 * (i + lowBank * 4)) % chrsize;\n            }\n            //remap CHR bank 1\n            for (int i = 0; i < 4; ++i) {\n                chr_map[4 + i] = (1024 * (i + highBank * 4)) % chrsize;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Sunsoft02Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Sunsoft02Mapper extends Mapper {\n\n    boolean m93;\n\n    public Sunsoft02Mapper(int mappernum) {\n        super();\n        m93 = (mappernum == 93);\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        int prgselect;\n\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        if (m93) {\n            prgselect = (data >> 4) & 15;\n        } else {\n            prgselect = (data >> 4) & 7;\n            setmirroring(((data & (utils.BIT3)) != 0) ? MirrorType.SS_MIRROR1 : MirrorType.SS_MIRROR0);\n\n            int chrselect = ((data & 7) | (data >> 7) * 8);\n\n            //remap CHR bank\n            for (int i = 0; i < 8; ++i) {\n                chr_map[i] = (1024 * (i + 8 * chrselect)) & (chrsize - 1);\n            }\n        }\n\n        //remap PRG bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgselect)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/Sunsoft03Mapper.java",
    "content": "package com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class Sunsoft03Mapper extends Mapper {\n\n    int[] chrbank = {0, 0, 0, 0};\n    private int irqctr = 0;\n    private boolean irqenable = false;\n    private boolean interrupted = false;\n    private boolean irqtoggle = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr >= 0x8800 && addr <= 0x8FFF) {\n            chrbank[0] = data;\n            setupchr();\n        } else if (addr >= 0x9800 && addr <= 0x9FFF) {\n            chrbank[1] = data;\n            setupchr();\n        } else if (addr >= 0xA800 && addr <= 0xAFFF) {\n            chrbank[2] = data;\n            setupchr();\n        } else if (addr >= 0xB800 && addr <= 0xBFFF) {\n            chrbank[3] = data;\n            setupchr();\n        } else if (addr >= 0xC800 && addr <= 0xCFFF) {\n            if (!irqtoggle) {\n                //first write\n                irqctr = (irqctr & 0xFF) | (data << 8);\n                irqtoggle = true;\n            } else {\n                //second write\n                irqctr = (irqctr & 0xFF00) | (data & 0xFF);\n                irqtoggle = false;\n            }\n        } else if (addr >= 0xD800 && addr <= 0xDFFF) {\n            if (interrupted) {\n                --cpu.interrupt;\n                interrupted = false;\n            }\n            irqenable = ((data & (utils.BIT4)) != 0);\n            irqtoggle = false;\n        } else if (addr >= 0xE800 && addr <= 0xEFFF) {\n            switch (data & 3) {\n                case 0:\n                    setmirroring(MirrorType.V_MIRROR);\n                    break;\n                case 1:\n                    setmirroring(MirrorType.H_MIRROR);\n                    break;\n                case 2:\n                    setmirroring(MirrorType.SS_MIRROR0);\n                    break;\n                case 3:\n                    setmirroring(MirrorType.SS_MIRROR1);\n                    break;\n            }\n        } else if (addr >= 0xF800 && addr <= 0xFFFF) {\n            for (int i = 0; i < 16; ++i) {\n                prg_map[i] = (1024 * (i + 16 * data)) & (prgsize - 1);\n            }\n        }\n    }\n\n    @Override\n    public void cpucycle(final int cycles) {\n        if (irqenable) {\n            if (irqctr <= 0) {\n                irqctr = 0xFFFF;\n                if (!interrupted) {\n                    ++cpu.interrupt;\n                    interrupted = true;\n                }\n                irqenable = false;\n            } else {\n                irqctr -= cycles;\n            }\n        }\n    }\n\n    private void setupchr() {\n        setppubank(2, 0, chrbank[0]);\n        setppubank(2, 2, chrbank[1]);\n        setppubank(2, 4, chrbank[2]);\n        setppubank(2, 6, chrbank[3]);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (i + 2 * banknum)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/TengenRamboMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\n/**\n *\n * @author Andrew\n */\npublic class TengenRamboMapper extends Mapper {\n\n    private int whichbank = 0;\n    private boolean prgconfig = false, chrconfig = false,\n            chrmode1k = false, irqmode = false;\n    private int irqctrreload = 0;\n    private int irqctr = 0;\n    private boolean irqenable = false;\n    private boolean irqreload = false;\n    private int prgreg0 = 0, prgreg1 = 0, prgreg2 = 0;\n    private int[] chrreg = new int[8];\n    private boolean interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //on startup:\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * i);\n            prg_map[i + 8] = (1024 * i);\n            //yes this actually matters; MMC3 does NOT start up in a random state\n            //(at least Smash TV and TMNT3 expect certain banks w/o even setting up mapper)\n        }\n        for (int i = 1; i <= 32; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = 0;\n        }\n        setprgregs();\n        //cpuram.setPrgRAMEnable(false);\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        //bankswitches here\n        //different register for even/odd writes\n        if (((addr & (utils.BIT0)) != 0)) {\n            //odd registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank change\n                //System.err.println(\"setting \" + whichbank + \" \" + data + \" \" + prgconfig);\n                switch (whichbank) {\n                    case 0:\n                    case 1:\n                    case 2:\n                    case 3:\n                    case 4:\n                    case 5:\n                        chrreg[whichbank] = data;\n                        setupchr();\n                        break;\n                    case 6:\n                        prgreg0 = data;\n                        setprgregs();\n                        break;\n                    case 7:\n                        //bank 7 always swappable, always in same place\n                        prgreg1 = data;\n                        setprgregs();\n                        break;\n                    case 8:\n                    case 9:\n                        //setup extra chr banks;\n                        chrreg[whichbank - 2] = data;\n                        break;\n                    case 0xf:\n                        prgreg2 = data;\n                        setprgregs();\n                        break;\n                }\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //prg ram write protect\n                //cpuram.setPrgRAMEnable(!utils.getbit(data, 7));\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //any value here reloads irq counter\n                irqreload = true;\n                irqmode = ((data & (utils.BIT0)) != 0);\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //iany value here enables interrupts\n                irqenable = true;\n            }\n        } else {\n            //even registers\n            if ((addr >= 0x8000) && (addr <= 0x9fff)) {\n                //bank select\n                whichbank = data & 0xf;\n                chrmode1k = ((data & (utils.BIT5)) != 0);\n                prgconfig = ((data & (utils.BIT6)) != 0);\n                //if bit is false, 8000-9fff swappable and c000-dfff fixed to 2nd to last bank\n                //if bit is true, c000-dfff swappable and 8000-9fff fixed to 2nd to last bank\n                chrconfig = ((data & (utils.BIT7)) != 0);\n                //if false: 2 2k banks @ 0000-0fff, 4 1k banks in 1000-1fff\n                //if true: 4 1k banks @ 0000-0fff, 2 2k banks @ 1000-1fff\n                setupchr();\n                setprgregs();\n            } else if ((addr >= 0xA000) && (addr <= 0xbfff)) {\n                //mirroring setup\n                if (scrolltype != MirrorType.FOUR_SCREEN_MIRROR) {\n                    setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                }\n            } else if ((addr >= 0xc000) && (addr <= 0xdfff)) {\n                //value written here used to reload irq counter _@ end of scanline_\n                irqctrreload = data;\n                irqreload = true;\n            } else if ((addr >= 0xe000) && (addr <= 0xffff)) {\n                //any value here disables IRQ and acknowledges\n                if (interrupted) {\n                    --cpu.interrupt;\n                }\n                interrupted = false;\n                irqenable = false;\n                irqctr = irqctrreload;\n            }\n        }\n    }\n\n    private void setupchr() {\n        if (chrconfig) {\n            if (chrmode1k) {\n                setppubank(1, 0, chrreg[2]);\n                setppubank(1, 1, chrreg[3]);\n                setppubank(1, 2, chrreg[4]);\n                setppubank(1, 3, chrreg[5]);\n                setppubank(1, 4, chrreg[0]);\n                setppubank(1, 5, chrreg[6]);\n                setppubank(1, 6, chrreg[1]);\n                setppubank(1, 7, chrreg[7]);\n            } else {\n                setppubank(1, 0, chrreg[2]);\n                setppubank(1, 1, chrreg[3]);\n                setppubank(1, 2, chrreg[4]);\n                setppubank(1, 3, chrreg[5]);\n                //Lowest bit of bank number IS IGNORED for the 2k banks\n                setppubank(2, 4, (chrreg[0] >> 1) << 1);\n                setppubank(2, 6, (chrreg[1] >> 1) << 1);\n            }\n        } else {\n            if (chrmode1k) {\n                setppubank(1, 0, chrreg[0]);\n                setppubank(1, 1, chrreg[6]);\n                setppubank(1, 2, chrreg[1]);\n                setppubank(1, 3, chrreg[7]);\n                setppubank(1, 4, chrreg[2]);\n                setppubank(1, 5, chrreg[3]);\n                setppubank(1, 6, chrreg[4]);\n                setppubank(1, 7, chrreg[5]);\n            } else {\n                setppubank(1, 4, chrreg[2]);\n                setppubank(1, 5, chrreg[3]);\n                setppubank(1, 6, chrreg[4]);\n                setppubank(1, 7, chrreg[5]);\n\n                setppubank(2, 0, (chrreg[0] >> 1) << 1);\n                setppubank(2, 2, (chrreg[1] >> 1) << 1);\n            }\n        }\n    }\n\n    private void setprgregs() {\n        //no matter what, c000-dfff is last bank\n        if (!prgconfig) {\n            //map r6 to first 8k, r7 to 2nd, rf to 3rd\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + (prgreg0 * 8))) % prgsize;\n                prg_map[i + 8] = (1024 * (i + (prgreg1 * 8))) % prgsize;\n                prg_map[i + 16] = (1024 * (i + (prgreg2 * 8))) % prgsize;\n            }\n        } else {\n            //map rf to 1st 8k, r6 to 2nd, r7 to 3rd\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + (prgreg2 * 8))) % prgsize;\n                prg_map[i + 8] = (1024 * (i + (prgreg0 * 8))) % prgsize;\n                prg_map[i + 16] = (1024 * (i + (prgreg1 * 8))) % prgsize;\n            }\n        }\n    }\n\n    @Override\n    public void notifyscanline(int scanline) {\n        if (irqmode) {\n            return;\n        }\n        //Scanline counter\n        if (scanline > 239 && scanline != 261) {\n            //clocked on LAST line of vblank and all lines of frame. Not on 240.\n            return;\n        }\n        if (!ppu.mmc3CounterClocking()) {\n            return;\n        }\n        clockscanlinecounter();\n    }\n    int remainder;\n    boolean intnextcycle = false;\n\n    @Override\n    public void cpucycle(int cycles) {\n        if (intnextcycle) {\n            intnextcycle = false;\n            if (!interrupted) {\n                ++cpu.interrupt;\n                interrupted = true;\n            }\n        }\n        if (!irqmode) {\n            return;\n        }\n        remainder += cycles;\n        for (int i = 0; i < remainder; ++i) {\n            if ((i & 3) == 0) {\n                clockscanlinecounter();\n            }\n        }\n        remainder %= 4;\n    }\n\n    public void clockscanlinecounter() {\n        if (irqreload) {\n            irqreload = false;\n            irqctr = irqctrreload + 1;\n        } else if (irqctr == 0) {\n            irqctr = irqctrreload;\n        } else {\n            if (--irqctr == 0 && irqenable) {\n                intnextcycle = true;\n            }\n        }\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/UnromMapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\npublic class UnromMapper extends Mapper {\n\n    private int bank = 0x0;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        //needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //movable bank, should really be random. eh, effort\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        bank = data & 0xf;\n        //remap PRG bank (1st bank switchable, 2nd bank mapped to LAST bank)\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * bank)) & (prgsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC1Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class VRC1Mapper extends Mapper {\n\n    int prgbank0, prgbank1, prgbank2 = 0;\n    int[] chrbank = {0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 24; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 8; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        switch (addr >> 12) {\n            case 0x8:\n                prgbank0 = data & 0xf;\n                setbanks();\n                break;\n            case 0x9:\n                setmirroring(((data & (utils.BIT0)) != 0) ? MirrorType.H_MIRROR : MirrorType.V_MIRROR);\n                chrbank[0] = (chrbank[0] & 0xf) | ((data << 3) & 0x10);\n                chrbank[1] = (chrbank[1] & 0xf) | ((data << 2) & 0x10);\n                setbanks();\n                break;\n            case 0xA:\n                prgbank1 = data & 0xf;\n                setbanks();\n                break;\n            case 0xC:\n                prgbank2 = data & 0xf;\n                setbanks();\n                break;\n            case 0xE:\n                chrbank[0] = (chrbank[0] & 0x10) | (data & 0xf);\n                setbanks();\n                break;\n            case 0xF:\n                chrbank[1] = (chrbank[1] & 0x10) | (data & 0xf);\n                setbanks();\n                break;\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last bank fixed to the last bank in ROM\n        for (int i = 1; i <= 8; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * (i + 8 * prgbank0)) % (prgsize - 1);\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % (prgsize - 1);\n        }\n        //third bank set to prg2 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 16] = (1024 * (i + 8 * prgbank2)) % (prgsize - 1);\n        }\n\n        //map chr banks\n        setppubank(4, 0, chrbank[0]);\n        setppubank(4, 4, chrbank[1]);\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * (i + 4 * banknum)) % (chrsize - 1);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC2Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class VRC2Mapper extends Mapper {\n    //vrc2a mapper(INES #22); vrc2b is mapped to 23 along with the one form of vrc4\n\n    int prgbank0, prgbank1 = 0;\n    int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        for (int i = 1; i <= 32; ++i) {\n            //map last banks in to start off\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n        boolean bit0 = ((addr & (utils.BIT1)) != 0);\n        boolean bit1 = ((addr & (utils.BIT0)) != 0);\n        switch (addr >> 12) {\n            case 0x8:\n                prgbank0 = data & 0xf;\n                break;\n            case 0x9:\n                //mirroring\n                switch (data & 1) {\n                    case 0:\n                        setmirroring(Mapper.MirrorType.V_MIRROR);\n                        break;\n                    case 1:\n                        setmirroring(Mapper.MirrorType.H_MIRROR);\n                        break; \n                }\n                //4-4-2016: seems VRC2 only has 1 mirroring bit\n                break;\n            case 0xa:\n                prgbank1 = data & 0xf;\n                break;\n            case 0xb:\n            case 0xc:\n            case 0xd:\n            case 0xe:\n                //chr bank select. black magic\n                data &= 0xf;\n                int whichreg = ((addr - 0xb000) >> 11) + ((bit1) ? 1 : 0);\n                int oldval = chrbank[whichreg];\n                if (!bit0) {\n                    oldval &= 0xf0;\n                    oldval |= data;\n                } else {\n                    oldval &= 0xf;\n                    oldval |= (data << 4);\n                }\n                chrbank[whichreg] = oldval;\n                break;\n        }\n\n        if (addr < 0xf000) {\n            setbanks();\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last 2 banks fixed to last two in rom\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;\n        }\n\n        //map chr banks\n        for (int i = 0; i < 8; ++i) {\n            setppubank(1, i, chrbank[i] >> 1);\n        }\n\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n//        utils.printarray(chr_map);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC3Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class VRC3Mapper extends Mapper {\n\n    private int irqctr, irqreload = 0;\n    private boolean irqmode, irqenable, irqackenable, interrupted = false;\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        // needs to be in every mapper. Fill with initial cfg\n        super.loadrom();\n        //swappable bank\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * i) & (prgsize - 1);\n        }\n        //fixed bank\n        for (int i = 1; i <= 16; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        switch (addr >> 12) {\n            case 0x8:   //Bits 0-3 of IRQ reload value\n                irqreload = (irqreload & 0xFFF0) | (data & 0xF);\n                break;\n            case 0x9:   //Bits 4-7 of IRQ reload value\n                irqreload = (irqreload & 0xFF0F) | (data & 0xF) << 4;\n                break;\n            case 0xA:   //Bits 8-11 of IRQ reload value\n                irqreload = (irqreload & 0xF0FF) | (data & 0xF) << 8;\n                break;\n            case 0xB:   //Bits 12-15 of IRQ reload value\n                irqreload = (irqreload & 0x0FFF) | (data & 0xF) << 12;\n                break;\n            case 0xC:   //IRQ Control\n                irqmode = ((data & (utils.BIT2)) != 0);\n                irqackenable = ((data & (utils.BIT0)) != 0);\n\n                irqenable = ((data & (utils.BIT1)) != 0);\n                if (irqenable) {\n                    if (irqmode) {\n                        irqctr &= 0xFF00;\n                        irqctr |= (irqreload & 0xFF);\n                    } else {\n                        irqctr = irqreload;\n                    }\n\n                    if (interrupted) {\n                        --cpu.interrupt;\n                        interrupted = false;\n                    }\n                }\n                break;\n            case 0xD:   //IRQ Acknowledge\n                irqenable = irqackenable;\n                if (interrupted) {\n                    --cpu.interrupt;\n                    interrupted = false;\n                }\n                break;\n            case 0xF:   //PRG Select  \n                for (int i = 0; i < 16; ++i) {\n                    prg_map[i] = (1024 * (i + 16 * (data & 0xF))) & (prgsize - 1);\n                }\n                break;\n        }\n    }\n\n    @Override\n    public void cpucycle(final int cycles) {\n        if (irqenable) {\n            if (irqmode) {  //8-bit mode\n                int temp = irqctr;\n                irqctr &= 0xFF00;\n                if (temp >= 0xFF) {\n                    irqctr = irqreload;\n                    irqctr |= (irqreload & 0xFF);\n                    if (!interrupted) {\n                        ++cpu.interrupt;\n                        interrupted = true;\n                    }\n                } else {\n                    temp += cycles;\n                    irqctr |= temp;\n                }\n            } else {    //16-bit mode\n                if (irqctr >= 0xFFFF) {\n                    irqctr = irqreload;\n                    if (!interrupted) {\n                        ++cpu.interrupt;\n                        interrupted = true;\n                    }\n                } else {\n                    irqctr += cycles;\n                }\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC4Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\n\npublic class VRC4Mapper extends Mapper {\n\n    int[][][] registerselectbits = {{{1, 2}, {6, 7}},\n    {{2, 3}, {0, 1}},\n    {{3, 2}, {1, 0}}};\n    int[][] registers;\n    int prgbank0, prgbank1 = 0;\n    int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};\n    boolean prgmode, irqmode, irqenable, irqack, firedinterrupt = false;\n    int irqreload, irqcounter = 22;\n    boolean vrc2mirror;\n\n    public VRC4Mapper(int mappernum) {\n        super();\n        switch (mappernum) {\n            //vrc4 has 3 different mapper numbers, for 3 different ways to assign the registers\n            case 21:\n                registers = registerselectbits[0];\n                break;\n            case 23:\n                registers = registerselectbits[1];\n                break;\n            case 25:\n                registers = registerselectbits[2];\n                break;\n            default:\n                registers = registerselectbits[0];\n                break;\n        }\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        // needs to be in every mapper. Fill with initial cfg\n        for (int i = 1; i <= 32; ++i) {\n            //map last banks in to start off\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n        //detect Konami Wai Wai World on VRC2\n        System.err.println(utils.hex(crc));\n        vrc2mirror = \n                  ((crc == 0xB790FF4CL) //ZnO trans (remember why it's a long...)\n                || (crc == 0x2D953C3DL) //demiforce 3\n                || (crc == 0x64818FC5L) //(J)\n                || (crc == 0x1E12AF8AL) //french trans\n                || (crc == 0x3480F7DBL)); //demiforce 1?\n        System.err.println(vrc2mirror);\n    }\n\n    @Override\n    public final void cartWrite(int addr, int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        boolean bit0 = ((addr & (1 << registers[0][0])) != 0) || ((addr & (1 << registers[1][0])) != 0);\n        boolean bit1 = ((addr & (1 << registers[0][1])) != 0) || ((addr & (1 << registers[1][1])) != 0);\n        switch (addr >> 12) {\n            case 0x8:\n                prgbank0 = data & 0x1f;\n                break;\n            case 0x9:\n                if (!bit1) {\n                    //mirroring select\n                    if (vrc2mirror) {\n                        //vrc2 doesn't have single screen mirroring option\n                        switch (data & 1) {\n                            case 0:\n                                setmirroring(Mapper.MirrorType.V_MIRROR);\n                                break;\n                            case 1:\n                                setmirroring(Mapper.MirrorType.H_MIRROR);\n                                break;\n                        }\n                    } else {\n                        switch (data & 3) {\n                            case 0:\n                                setmirroring(MirrorType.V_MIRROR);\n                                break;\n                            case 1:\n                                setmirroring(MirrorType.H_MIRROR);\n                                break;\n                            case 2:\n                                setmirroring(MirrorType.SS_MIRROR0);\n                                break;\n                            case 3:\n                                setmirroring(MirrorType.SS_MIRROR1);\n                                break;\n                        }\n                    }\n                } else {\n                    prgmode = ((data & (utils.BIT1)) != 0);\n                }\n                break;\n            case 0xa:\n                prgbank1 = data & 0x1f;\n                break;\n            case 0xb:\n            case 0xc:\n            case 0xd:\n            case 0xe:\n                //chr bank select. black magic\n                data &= 0xf;\n                int whichreg = ((addr - 0xb000) >> 11) + ((bit1) ? 1 : 0);\n                int oldval = chrbank[whichreg];\n                if (!bit0) {\n                    oldval &= 0xf0;\n                    oldval |= data;\n                } else {\n                    oldval &= 0xf;\n                    oldval |= (data << 4);\n                }\n                chrbank[whichreg] = oldval;\n                break;\n            case 0xf:\n                //irq registers.\n                if (!bit1) {\n                    if (!bit0) {\n                        irqreload &= 0xf0;\n                        irqreload |= data & 0xf;\n                    } else {\n                        irqreload &= 0xf;\n                        irqreload |= (data & 0xf) << 4;\n                    }\n                    // System.err.println(\"reload set to \" + irqreload);\n                } else if (!bit0) {\n                    irqack = ((data & (utils.BIT0)) != 0);\n                    irqenable = ((data & (utils.BIT1)) != 0);\n                    irqmode = ((data & (utils.BIT2)) != 0);\n                    if (irqenable) {\n                        irqcounter = irqreload;\n                        prescaler = 341;\n                    }\n                    if (firedinterrupt) {\n                        --cpu.interrupt;\n                    }\n                    firedinterrupt = false;\n\n                } else {\n                    irqenable = irqack;\n                    if (firedinterrupt) {\n                        --cpu.interrupt;\n                    }\n                    firedinterrupt = false;\n                }\n        }\n        if (addr < 0xf000) {\n            setbanks();\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        if (!prgmode) {\n            //last 2 banks fixed to last two in rom\n            for (int i = 1; i <= 16; ++i) {\n                prg_map[32 - i] = prgsize - (1024 * i);\n            }\n            //first bank set to prg0 register\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;\n            }\n            //second bank set to prg1 register\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;\n            }\n        } else {\n            //fixed banks 1 and 4\n            for (int i = 1; i <= 8; ++i) {\n                prg_map[8 - i] = prgsize - (1024 * i);\n            }\n            for (int i = 1; i <= 8; ++i) {\n                prg_map[32 - i] = prgsize - (1024 * i);\n            }\n            //second bank set to prg0 register\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 8] = (1024 * (i + 8 * prgbank0)) % prgsize;\n            }\n            //third bank set to prg1 register\n            for (int i = 0; i < 8; ++i) {\n                prg_map[i + 16] = (1024 * (i + 8 * prgbank1)) % prgsize;\n            }\n        }\n        //map chr banks\n        for (int i = 0; i < 8; ++i) {\n            setppubank(1, i, chrbank[i]);\n        }\n\n    }\n\n    private void setppubank(int banksize, int bankpos, int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n//        utils.printarray(chr_map);\n    }\n\n    int prescaler = 341;\n\n    @Override\n    public void cpucycle(int cycles) {\n        if (irqenable) {\n            if (irqmode) {\n                scanlinecount();\n                //clock regardless of prescaler state\n            } else {\n                prescaler -= 3;\n                if (prescaler <= 0) {\n                    prescaler += 341;\n                    scanlinecount();\n                }\n            }\n        }\n    }\n\n    public void scanlinecount() {\n        if (irqenable) {\n            if (irqcounter == 255) {\n                irqcounter = irqreload;\n                //System.err.println(\"Interrupt @ Scanline \" + scanline + \" reload \" + irqreload);\n                if (!firedinterrupt) {\n                    ++cpu.interrupt;\n                }\n                firedinterrupt = true;\n            } else {\n                ++irqcounter;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC6Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\nimport com.grapeshot.halfnes.audio.*;\n\npublic class VRC6Mapper extends Mapper {\n\n    int[][] registerselectbits = {{0, 1}, {1, 0}};\n    int[] registers;\n    int prgbank0, prgbank1 = 0;\n    int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};\n    boolean irqmode, irqenable, irqack, firedinterrupt = false;\n    int irqreload, irqcounter = 22;\n    VRC6SoundChip sndchip;\n    boolean hasInitSound = false;\n\n    public VRC6Mapper(int mappernum) {\n        super();\n        sndchip = new VRC6SoundChip();\n\n        switch (mappernum) {\n            //vrc6 has 2 different mapper numbers, for 2 different ways to assign the registers\n            case 24:\n                registers = registerselectbits[0];\n                break;\n            case 26:\n            default:\n                registers = registerselectbits[1];\n                break;\n\n        }\n    }\n\n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        // needs to be in every mapper. Fill with initial cfg\n        for (int i = 1; i <= 32; ++i) {\n            //map last banks in to start off\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        final boolean bit0 = ((addr & (1 << registers[0])) != 0);\n        final boolean bit1 = ((addr & (1 << registers[1])) != 0);\n        switch (addr >> 12) {\n            case 0x8:\n                //8000-8003: prg bank 0 select\n                prgbank0 = data;\n                setbanks();\n                break;\n            case 0x9:\n            case 0xa:\n                //sound registers here\n                sndchip.write((addr & 0xf000) + (bit1 ? 2 : 0) + (bit0 ? 1 : 0), data);\n                break;\n            case 0xc:\n                //c000-c003: prg bank 1 select\n                prgbank1 = data;\n                setbanks();\n                break;\n            case 0xb:\n                if (bit0 && bit1) {\n                    //mirroring select\n                    switch ((data >> 2) & 3) {\n                        case 0:\n                            setmirroring(Mapper.MirrorType.V_MIRROR);\n                            break;\n                        case 1:\n                            setmirroring(Mapper.MirrorType.H_MIRROR);\n                            break;\n                        case 2:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR0);\n                            break;\n                        case 3:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR1);\n                            break;\n                    }\n                } else {\n                    //expansion sound register here as well\n                    sndchip.write((addr & 0xf000) + (bit1 ? 2 : 0) + (bit0 ? 1 : 0), data);\n                }\n                break;\n            case 0xd:\n                //character bank selects\n                chrbank[(bit1 ? 2 : 0) + (bit0 ? 1 : 0)] = data;\n                setbanks();\n                break;\n            case 0xe:\n                chrbank[(bit1 ? 2 : 0) + (bit0 ? 1 : 0) + 4] = data;\n                setbanks();\n                break;\n            case 0xf:\n                //irq control\n                if (!bit1) {\n                    if (!bit0) {\n                        irqreload = data;\n                    } else {\n                        irqack = ((data & (utils.BIT0)) != 0);\n                        irqenable = ((data & (utils.BIT1)) != 0);\n                        irqmode = ((data & (utils.BIT2)) != 0);\n                        if (irqenable) {\n                            irqcounter = irqreload;\n                            prescaler = 341;\n                        }\n                        if (firedinterrupt) {\n                            --cpu.interrupt;\n                        }\n                        firedinterrupt = false;\n                    }\n                } else {\n                    if (!bit0) {\n                        irqenable = irqack;\n                        if (firedinterrupt) {\n                            --cpu.interrupt;\n                        }\n                        firedinterrupt = false;\n                    }\n                }\n\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last 8k fixed to end of rom\n        for (int i = 1; i <= 8; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 16; ++i) {\n            prg_map[i] = (1024 * (i + 16 * prgbank0)) % prgsize;\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 16] = (1024 * (i + 8 * prgbank1)) % prgsize;\n        }\n\n        //map chr banks\n        for (int i = 0; i < 8; ++i) {\n            setppubank(1, i, chrbank[i]);\n        }\n    }\n\n    private void setppubank(final int banksize, final int bankpos, final int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n//        utils.printarray(chr_map);\n    }\n\n    int prescaler = 341;\n\n    @Override\n    public void cpucycle(int cycles) {\n        if (irqenable) {\n            if (irqmode) {\n                scanlinecount();\n                //clock regardless of prescaler state\n            } else {\n                prescaler -= 3;\n                if (prescaler <= 0) {\n                    prescaler += 341;\n                    scanlinecount();\n                }\n            }\n        }\n    }\n\n    public void scanlinecount() {\n        if (!hasInitSound) {\n            //tiny hack, because the APU is not initialized until AFTER this happens\n            //TODO: this really should not need to be here.\n            cpuram.apu.addExpnSound(sndchip);\n            hasInitSound = true;\n        }\n        if (irqenable) {\n            if (irqcounter == 255) {\n                irqcounter = irqreload;\n                //System.err.println(\"Interrupt @ Scanline \" + scanline + \" reload \" + irqreload);\n                if (!firedinterrupt) {\n                    ++cpu.interrupt;\n                }\n                firedinterrupt = true;\n            } else {\n                ++irqcounter;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/mappers/VRC7Mapper.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.mappers;\n\nimport com.grapeshot.halfnes.*;\nimport com.grapeshot.halfnes.audio.*;\n\npublic class VRC7Mapper extends Mapper {\n    //need to add extra audio still.\n\n    int prgbank0, prgbank1, prgbank2;\n    int[] chrbank = {0, 0, 0, 0, 0, 0, 0, 0};\n    boolean irqmode, irqenable, irqack, firedinterrupt = false;\n    int irqreload, irqcounter = 22;\n    int regaddr = 0;\n    ExpansionSoundChip sndchip = new VRC7SoundChip();\n    boolean hasInitSound = false;\n    \n    @Override\n    public void loadrom() throws BadMapperException {\n        super.loadrom();\n        // needs to be in every mapper. Fill with initial cfg\n        for (int i = 1; i <= 32; ++i) {\n            //map last banks in to start off\n            prg_map[32 - i] = (prgsize - (1024 * i)) % prgsize;\n        }\n        for (int i = 0; i < 8; ++i) {\n            chr_map[i] = (1024 * i) & (chrsize - 1);\n        }\n    }\n\n    @Override\n    public final void cartWrite(final int addr, final int data) {\n        if (addr < 0x8000 || addr > 0xffff) {\n            super.cartWrite(addr, data);\n            return;\n        }\n\n        final boolean bit0 = ((addr & (utils.BIT4)) != 0) | ((addr & (utils.BIT3)) != 0);\n        final boolean bit1 = ((addr & (utils.BIT5)) != 0);\n        switch (addr >> 12) {\n            case 0x8:\n                if (bit0) {\n                    //8010,8008: prg bank 1 select\n                    prgbank1 = data;\n                } else {\n                    //8000: prg bank 0 select\n                    prgbank0 = data;\n                }\n                setbanks();\n                break;\n            case 0x9:\n                if (!bit0 && !bit1) {\n                    prgbank2 = data;\n                    setbanks();\n                } else if (bit0 && bit1) {\n                    //$9030: data write to sndchip\n                    if (!hasInitSound) {\n                        //tiny hack, because the APU is not initialized until AFTER this happens\n                        //TODO: this really should not need to be here.\n                        cpuram.apu.addExpnSound(sndchip);\n                        hasInitSound = true;\n                    }\n                    sndchip.write(regaddr, data);\n                } else {\n                    //$9010: sndchip register select\n                    regaddr = data;\n                }\n                break;\n            case 0xa:\n                //character bank selects\n                chrbank[(bit0 ? 1 : 0)] = data;\n                setbanks();\n                break;\n            case 0xb:\n                //character bank selects\n                chrbank[(bit0 ? 1 : 0) + 2] = data;\n                setbanks();\n                break;\n            case 0xc:\n                //character bank selects\n                chrbank[(bit0 ? 1 : 0) + 4] = data;\n                setbanks();\n                break;\n            case 0xd:\n                //character bank selects\n                chrbank[(bit0 ? 1 : 0) + 6] = data;\n                setbanks();\n                break;\n            case 0xe:\n                if (bit0) {\n                    //irq latch\n                    irqreload = data;\n                } else {\n                    //mirroring select\n                    switch (data & 3) {\n                        case 0:\n                            setmirroring(Mapper.MirrorType.V_MIRROR);\n                            break;\n                        case 1:\n                            setmirroring(Mapper.MirrorType.H_MIRROR);\n                            break;\n                        case 2:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR0);\n                            break;\n                        case 3:\n                            setmirroring(Mapper.MirrorType.SS_MIRROR1);\n                            break;\n                    }\n                }\n                break;\n            case 0xf:\n                //irq control\n                if (bit0) {\n                    //irq ack\n                    irqenable = irqack;\n                    if (firedinterrupt) {\n                        --cpu.interrupt;\n                    }\n                    firedinterrupt = false;\n                } else {\n                    //irq control\n                    irqack = ((data & (utils.BIT0)) != 0);\n                    irqenable = ((data & (utils.BIT1)) != 0);\n                    irqmode = ((data & (utils.BIT2)) != 0);\n                    if (irqenable) {\n                        irqcounter = irqreload;\n                        prescaler = 341;\n                    }\n                    if (firedinterrupt) {\n                        --cpu.interrupt;\n                    }\n                    firedinterrupt = false;\n                }\n        }\n    }\n\n    private void setbanks() {\n        //map prg banks\n        //last 8k fixed to end of rom\n        for (int i = 1; i <= 8; ++i) {\n            prg_map[32 - i] = prgsize - (1024 * i);\n        }\n        //first bank set to prg0 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i] = (1024 * (i + 8 * prgbank0)) % prgsize;\n        }\n        //second bank set to prg1 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 8] = (1024 * (i + 8 * prgbank1)) % prgsize;\n        }\n        //third bank set to prg2 register\n        for (int i = 0; i < 8; ++i) {\n            prg_map[i + 16] = (1024 * (i + 8 * prgbank2)) % prgsize;\n        }\n\n        //map chr banks\n        for (int i = 0; i < 8; ++i) {\n            setppubank(1, i, chrbank[i]);\n        }\n    }\n\n    private void setppubank(final int banksize, final int bankpos, final int banknum) {\n//        System.err.println(banksize + \", \" + bankpos + \", \"+ banknum);\n        for (int i = 0; i < banksize; ++i) {\n            chr_map[i + bankpos] = (1024 * ((banknum) + i)) % chrsize;\n        }\n//        utils.printarray(chr_map);\n    }\n    int prescaler = 341;\n\n    @Override\n    public void cpucycle(int cycles) {\n        if (irqenable) {\n            if (irqmode) {\n                scanlinecount();\n                //clock regardless of prescaler state\n            } else {\n                prescaler -= 3;\n                if (prescaler <= 0) {\n                    prescaler += 341;\n                    scanlinecount();\n                }\n            }\n        }\n    }\n\n    public void scanlinecount() {\n\n        if (irqenable) {\n            if (irqcounter == 255) {\n                irqcounter = irqreload;\n                //System.err.println(\"Interrupt @ Scanline \" + scanline + \" reload \" + irqreload);\n                if (!firedinterrupt) {\n                    ++cpu.interrupt;\n                }\n                firedinterrupt = true;\n            } else {\n                ++irqcounter;\n            }\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/ControllerImpl.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.PrefsSingleton;\nimport static com.grapeshot.halfnes.utils.*;\nimport java.awt.event.KeyEvent;\nimport java.awt.event.KeyListener;\nimport java.util.ArrayList;\nimport java.util.HashMap;\nimport java.util.List;\nimport java.util.concurrent.Executors;\nimport java.util.concurrent.ScheduledExecutorService;\nimport java.util.prefs.Preferences;\nimport javafx.scene.Scene;\n\nimport net.java.games.input.Component;\nimport net.java.games.input.Controller;\nimport net.java.games.input.ControllerEnvironment;\nimport net.java.games.input.Event;\nimport net.java.games.input.EventQueue;\n\n/**\n *\n * @author Andrew, Zlika This class uses the JInput Java game controller API\n * (cf. http://java.net/projects/jinput).\n */\npublic class ControllerImpl implements ControllerInterface, KeyListener {\n\n    //private final java.awt.Component parent;\n    private Controller gameController;\n    private Component[] buttons;\n    private final ScheduledExecutorService thread = Executors.newSingleThreadScheduledExecutor();\n    private int latchbyte = 0, controllerbyte = 0, prevbyte = 0, outbyte = 0, gamepadbyte = 0;\n    private final HashMap<Integer, Integer> m = new HashMap<>(10);\n    private final int controllernum;\n\n    public ControllerImpl(final java.awt.Component parent, final int controllernum) {\n        this(controllernum);\n        //this.parent = parent;\n        parent.addKeyListener(this);\n    }\n\n    public ControllerImpl(final Scene scene, final int controllernum) {\n        this(controllernum);\n        scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_PRESSED, e -> pressKey(e.getCode().impl_getCode()));\n        scene.addEventHandler(javafx.scene.input.KeyEvent.KEY_RELEASED, e -> releaseKey(e.getCode().impl_getCode()));\n    }\n\n    public ControllerImpl(final int controllernum) {\n        if ((controllernum != 0) && (controllernum != 1)) {\n            throw new IllegalArgumentException(\"controllerNum must be 0 or 1\");\n        }\n        this.controllernum = controllernum;\n        setButtons();\n    }\n\n    @Override\n    public void keyPressed(final KeyEvent keyEvent) {\n        pressKey(keyEvent.getKeyCode());\n    }\n\n    private void pressKey(int keyCode) {\n        //enable the byte of whatever is found\n        prevbyte = controllerbyte;\n        if (!m.containsKey(keyCode)) {\n            return;\n        }\n        //enable the corresponding bit to the key\n        controllerbyte |= m.get(keyCode);\n        //special case: if up and down are pressed at once, use whichever was pressed previously\n        if ((controllerbyte & (BIT4 | BIT5)) == (BIT4 | BIT5)) {\n            controllerbyte &= ~(BIT4 | BIT5);\n            controllerbyte |= (prevbyte & ~(BIT4 | BIT5));\n        }\n        //same for left and right\n        if ((controllerbyte & (BIT6 | BIT7)) == (BIT6 | BIT7)) {\n            controllerbyte &= ~(BIT6 | BIT7);\n            controllerbyte |= (prevbyte & ~(BIT6 | BIT7));\n        }\n    }\n\n    @Override\n    public void keyReleased(final KeyEvent keyEvent) {\n        releaseKey(keyEvent.getKeyCode());\n    }\n\n    private void releaseKey(int keyCode) {\n        prevbyte = controllerbyte;\n        if (!m.containsKey(keyCode)) {\n            return;\n        }\n        controllerbyte &= ~m.get(keyCode);\n    }\n\n    @Override\n    public int getbyte() {\n        return outbyte;\n    }\n\n    @Override\n    public int peekOutput() {\n        return latchbyte;\n    }\n\n    @Override\n    public void keyTyped(final KeyEvent arg0) {\n        // TODO Auto-generated method stub\n    }\n\n    public void strobe() {\n        //shifts a byte out\n        outbyte = latchbyte & 1;\n        latchbyte = ((latchbyte >> 1) | 0x100);\n    }\n\n    public void output(final boolean state) {\n        latchbyte = gamepadbyte | controllerbyte;\n    }\n\n    /**\n     * Start in a separate thread the processing of the controller event queue.\n     * Must be called after construction of the class to enable the processing\n     * of the joystick / gamepad events.\n     */\n    public void startEventQueue() {\n//        if (System.getProperty(\"java.class.path\").contains(\"jinput\")) {\n        thread.execute(eventQueueLoop());\n//        }\n    }\n    double threshold = 0.25;\n\n    private Runnable eventQueueLoop() {\n        return new Runnable() {\n            @Override\n            public void run() {\n                if (gameController != null) {\n                    Event event = new Event();\n                    while (!Thread.interrupted()) {\n                        gameController.poll();\n                        EventQueue queue = gameController.getEventQueue();\n                        while (queue.getNextEvent(event)) {\n                            Component component = event.getComponent();\n                            if (component.getIdentifier() == Component.Identifier.Axis.X) {\n                                if (event.getValue() > threshold) {\n                                    gamepadbyte |= BIT7;//left on, right off\n                                    gamepadbyte &= ~BIT6;\n\n                                } else if (event.getValue() < -threshold) {\n                                    gamepadbyte |= BIT6;\n                                    gamepadbyte &= ~BIT7;\n                                } else {\n                                    gamepadbyte &= ~(BIT7 | BIT6);\n                                }\n                            } else if (component.getIdentifier() == Component.Identifier.Axis.Y) {\n                                if (event.getValue() > threshold) {\n                                    gamepadbyte |= BIT5;//up on, down off\n                                    gamepadbyte &= ~BIT4;\n                                } else if (event.getValue() < -threshold) {\n                                    gamepadbyte |= BIT4;//down on, up off\n                                    gamepadbyte &= ~BIT5;\n                                } else {\n                                    gamepadbyte &= ~(BIT4 | BIT5);\n                                }\n                            } else if (component == buttons[0]) {\n                                if (isPressed(event)) {\n                                    gamepadbyte |= BIT0;\n                                } else {\n                                    gamepadbyte &= ~BIT0;\n                                }\n                            } else if (component == buttons[1]) {\n                                if (isPressed(event)) {\n                                    gamepadbyte |= BIT1;\n                                } else {\n                                    gamepadbyte &= ~BIT1;\n                                }\n                            } else if (component == buttons[2]) {\n                                if (isPressed(event)) {\n                                    gamepadbyte |= BIT2;\n                                } else {\n                                    gamepadbyte &= ~BIT2;\n                                }\n                            } else if (component == buttons[3]) {\n                                if (isPressed(event)) {\n                                    gamepadbyte |= BIT3;\n                                } else {\n                                    gamepadbyte &= ~BIT3;\n                                }\n                            }\n                        }\n\n                        try {\n                            Thread.sleep(5);\n                        } catch (InterruptedException e) {\n                            // Preserve interrupt status\n                            Thread.currentThread().interrupt();\n                        }\n                    }\n                }\n            }\n        };\n    }\n\n    private boolean isPressed(Event event) {\n        Component component = event.getComponent();\n        if (component.isAnalog()) {\n            if (Math.abs(event.getValue()) > 0.2f) {\n                return true;\n            } else {\n                return false;\n            }\n        } else if (event.getValue() == 0) {\n            return false;\n        } else {\n            return true;\n        }\n    }\n\n    /**\n     * Stop the controller event queue thread. Must be called before closing the\n     * application.\n     */\n    public void stopEventQueue() {\n        thread.shutdownNow();\n    }\n\n    /**\n     * This method detects the available joysticks / gamepads on the computer\n     * and return them in a list.\n     *\n     * @return List of available joysticks / gamepads connected to the computer\n     */\n    private static Controller[] getAvailablePadControllers() {\n        List<Controller> gameControllers = new ArrayList<>();\n        // Get a list of the controllers JInput knows about and can interact\n        // with\n        Controller[] controllers = ControllerEnvironment.getDefaultEnvironment().getControllers();\n        // Check the useable controllers (gamepads or joysticks with at least 2\n        // axis and 2 buttons)\n        for (Controller controller : controllers) {\n            if ((controller.getType() == Controller.Type.GAMEPAD) || (controller.getType() == Controller.Type.STICK)) {\n                int nbOfAxis = 0;\n                // Get this controllers components (buttons and axis)\n                Component[] components = controller.getComponents();\n                // Check the availability of X/Y axis and at least 2 buttons\n                // (for A and B, because select and start can use the keyboard)\n                for (Component component : components) {\n                    if ((component.getIdentifier() == Component.Identifier.Axis.X)\n                            || (component.getIdentifier() == Component.Identifier.Axis.Y)) {\n                        nbOfAxis++;\n                    }\n                }\n                if ((nbOfAxis >= 2) && (getButtons(controller).length >= 2)) {\n                    // Valid game controller\n                    gameControllers.add(controller);\n                }\n            }\n        }\n        return gameControllers.toArray(new Controller[0]);\n    }\n\n    /**\n     * Return the available buttons on this controller (by priority order).\n     */\n    private static Component[] getButtons(Controller controller) {\n        List<Component> buttons = new ArrayList<>();\n        // Get this controllers components (buttons and axis)\n        Component[] components = controller.getComponents();\n        for (Component component : components) {\n            if (component.getIdentifier() instanceof Component.Identifier.Button) {\n                buttons.add(component);\n            }\n        }\n        return buttons.toArray(new Component[0]);\n    }\n\n    public final void setButtons() {\n        Preferences prefs = PrefsSingleton.get();\n        //reset the buttons from prefs\n        m.clear();\n        switch (controllernum) {\n            case 0:\n                m.put(prefs.getInt(\"keyUp1\", KeyEvent.VK_UP), BIT4);\n                m.put(prefs.getInt(\"keyDown1\", KeyEvent.VK_DOWN), BIT5);\n                m.put(prefs.getInt(\"keyLeft1\", KeyEvent.VK_LEFT), BIT6);\n                m.put(prefs.getInt(\"keyRight1\", KeyEvent.VK_RIGHT), BIT7);\n                m.put(prefs.getInt(\"keyA1\", KeyEvent.VK_X), BIT0);\n                m.put(prefs.getInt(\"keyB1\", KeyEvent.VK_Z), BIT1);\n                m.put(prefs.getInt(\"keySelect1\", KeyEvent.VK_SHIFT), BIT2);\n                m.put(prefs.getInt(\"keyStart1\", KeyEvent.VK_ENTER), BIT3);\n                break;\n            case 1:\n            default:\n                m.put(prefs.getInt(\"keyUp2\", KeyEvent.VK_W), BIT4);\n                m.put(prefs.getInt(\"keyDown2\", KeyEvent.VK_S), BIT5);\n                m.put(prefs.getInt(\"keyLeft2\", KeyEvent.VK_A), BIT6);\n                m.put(prefs.getInt(\"keyRight2\", KeyEvent.VK_D), BIT7);\n                m.put(prefs.getInt(\"keyA2\", KeyEvent.VK_G), BIT0);\n                m.put(prefs.getInt(\"keyB2\", KeyEvent.VK_F), BIT1);\n                m.put(prefs.getInt(\"keySelect2\", KeyEvent.VK_R), BIT2);\n                m.put(prefs.getInt(\"keyStart2\", KeyEvent.VK_T), BIT3);\n                break;\n\n        }\n        Controller[] controllers = getAvailablePadControllers();\n        if (controllers.length > controllernum) {\n            this.gameController = controllers[controllernum];\n            PrefsSingleton.get().put(\"controller\" + controllernum, gameController.getName());\n            System.err.println(controllernum + 1 + \". \" + gameController.getName());\n            this.buttons = getButtons(controllers[controllernum]);\n        } else {\n            PrefsSingleton.get().put(\"controller\" + controllernum, \"\");\n            this.gameController = null;\n            this.buttons = null;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/ControllerInterface.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\n/**\n *\n * @author Andrew\n */\npublic interface ControllerInterface {\n\n    public void strobe();\n\n    public void output(final boolean state);\n    \n    public int peekOutput();\n\n    public int getbyte();\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/ControlsDialog.form",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n\n<Form version=\"1.5\" maxVersion=\"1.7\" type=\"org.netbeans.modules.form.forminfo.JDialogFormInfo\">\n  <NonVisualComponents>\n    <Component class=\"javax.swing.ButtonGroup\" name=\"buttonGroup1\">\n    </Component>\n  </NonVisualComponents>\n  <Properties>\n    <Property name=\"modalityType\" type=\"java.awt.Dialog$ModalityType\" editor=\"org.netbeans.modules.form.editors.EnumEditor\">\n      <Value id=\"APPLICATION_MODAL\"/>\n    </Property>\n    <Property name=\"name\" type=\"java.lang.String\" value=\"ControlsDialog\" noResource=\"true\"/>\n    <Property name=\"resizable\" type=\"boolean\" value=\"false\"/>\n  </Properties>\n  <SyntheticProperties>\n    <SyntheticProperty name=\"formSizePolicy\" type=\"int\" value=\"1\"/>\n    <SyntheticProperty name=\"generateCenter\" type=\"boolean\" value=\"false\"/>\n  </SyntheticProperties>\n  <AuxValues>\n    <AuxValue name=\"FormSettings_autoResourcing\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_autoSetComponentName\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_generateFQN\" type=\"java.lang.Boolean\" value=\"true\"/>\n    <AuxValue name=\"FormSettings_generateMnemonicsCode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_i18nAutoMode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_layoutCodeTarget\" type=\"java.lang.Integer\" value=\"1\"/>\n    <AuxValue name=\"FormSettings_listenerGenerationStyle\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_variablesLocal\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_variablesModifier\" type=\"java.lang.Integer\" value=\"2\"/>\n  </AuxValues>\n\n  <Layout>\n    <DimensionLayout dim=\"0\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" attributes=\"0\">\n              <EmptySpace max=\"32767\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Component id=\"jLabel1\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jLabel16\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                      <EmptySpace min=\"-2\" pref=\"49\" max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jLabel4\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jLabel5\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  </Group>\n                  <Component id=\"jLabel3\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Group type=\"102\" attributes=\"0\">\n                      <EmptySpace min=\"-2\" pref=\"10\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"1\" attributes=\"0\">\n                          <Component id=\"jLabel7\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel8\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel9\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel10\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel11\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel13\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel6\" alignment=\"1\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel12\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Component id=\"jField1Right\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1Left\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1B\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1A\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1Start\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1Select\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1Up\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                          <Component id=\"jField1Down\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"1\"/>\n                      </Group>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Component id=\"jField2Select\" linkSize=\"1\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2B\" linkSize=\"1\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Start\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2A\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Right\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Up\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Down\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Left\" linkSize=\"1\" alignment=\"0\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                  <Group type=\"103\" alignment=\"0\" groupAlignment=\"1\" attributes=\"0\">\n                      <Group type=\"102\" attributes=\"0\">\n                          <Component id=\"jButtonOK\" min=\"-2\" pref=\"60\" max=\"-2\" attributes=\"0\"/>\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jButtonCancel\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <Group type=\"102\" attributes=\"0\">\n                          <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                              <Component id=\"jLabelCtrl1\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jLabelCtrl2\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                          <EmptySpace max=\"-2\" attributes=\"0\"/>\n                          <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                              <Component id=\"jButton2\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jButton1\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                      </Group>\n                  </Group>\n              </Group>\n          </Group>\n      </Group>\n    </DimensionLayout>\n    <DimensionLayout dim=\"1\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" attributes=\"0\">\n              <Component id=\"jLabel3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Component id=\"jLabel16\" min=\"-2\" pref=\"14\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace min=\"-2\" pref=\"11\" max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jLabel4\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jLabel5\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Component id=\"jField2Up\" linkSize=\"2\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                                  <Component id=\"jLabel6\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jField1Up\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                                  <Component id=\"jField1Down\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jLabel7\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                                  <Component id=\"jField1Left\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jLabel8\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                                  <Component id=\"jField1Right\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jLabel9\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jField2Right\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                                  <Component id=\"jField1A\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jLabel10\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jField2A\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                          </Group>\n                          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                              <EmptySpace min=\"-2\" pref=\"31\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jField2Down\" linkSize=\"2\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jField2Left\" linkSize=\"2\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                      </Group>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                          <Component id=\"jField1B\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel11\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2B\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                          <Component id=\"jField1Select\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel12\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Select\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                          <Component id=\"jField1Start\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel13\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jField2Start\" linkSize=\"2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Component id=\"jLabel1\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jLabelCtrl1\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jButton2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace min=\"-2\" pref=\"12\" max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jLabelCtrl2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jButton1\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jButtonOK\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jButtonCancel\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace min=\"0\" pref=\"8\" max=\"32767\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n  </Layout>\n  <SubComponents>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel3\">\n      <Properties>\n        <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n          <Font name=\"Tahoma\" size=\"11\" style=\"1\"/>\n        </Property>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Keybindings:\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel4\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Controller 1\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel5\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Controller 2\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel6\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Up\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel7\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Down\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel8\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Left\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel9\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Right\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel10\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"A\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel11\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"B\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel12\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Select\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel13\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Start\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Up\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jField2StartActionPerformed\"/>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1UpKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Down\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jField2StartActionPerformed\"/>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1DownKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Right\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jField2StartActionPerformed\"/>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1RightKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Left\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jField2StartActionPerformed\"/>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1LeftKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Start\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1StartKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1Select\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1SelectKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1B\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1BKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField1A\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField1AKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Up\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2UpKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Down\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2DownKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Left\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2LeftKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Right\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2RightKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2A\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2AKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2B\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2BKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Select\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2SelectKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JTextField\" name=\"jField2Start\">\n      <Properties>\n        <Property name=\"minimumSize\" type=\"java.awt.Dimension\" editor=\"org.netbeans.beaninfo.editors.DimensionEditor\">\n          <Dimension value=\"[120, 20]\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"keyReleased\" listener=\"java.awt.event.KeyListener\" parameters=\"java.awt.event.KeyEvent\" handler=\"jField2StartKeyReleased\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButtonCancel\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Cancel\" noResource=\"true\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButtonCancelActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButtonOK\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"OK\" noResource=\"true\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButtonOKActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel16\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\" Click in text box and type a key to change that binding.\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel1\">\n      <Properties>\n        <Property name=\"font\" type=\"java.awt.Font\" editor=\"org.netbeans.beaninfo.editors.FontEditor\">\n          <Font name=\"Tahoma\" size=\"11\" style=\"1\"/>\n        </Property>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Detected Game Controllers:\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabelCtrl1\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"No Player 1 controller connected\"/>\n        <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButton1\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Set Buttons\"/>\n        <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButton1ActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButton2\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Set Buttons\"/>\n        <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButton2ActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabelCtrl2\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"No Player 2 controller connected\"/>\n        <Property name=\"enabled\" type=\"boolean\" value=\"false\"/>\n      </Properties>\n    </Component>\n  </SubComponents>\n</Form>\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/ControlsDialog.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\n\n/*\n * OptionsDialog.java\n *\n * Created on Jan 16, 2011, 4:21:43 PM\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.PrefsSingleton;\nimport java.awt.event.KeyEvent;\nimport java.util.logging.Level;\nimport java.util.logging.Logger;\nimport java.util.prefs.BackingStoreException;\nimport java.util.prefs.Preferences;\n\n/**\n *\n * @author Andrew\n */\npublic class ControlsDialog extends javax.swing.JDialog {\n\n    private int[][] keys;\n    private boolean okClicked = false;\n\n    /**\n     * Creates new form ControlsDialog\n     */\n    public ControlsDialog(java.awt.Frame parent) {\n        super(parent, true);\n        Preferences prefs = PrefsSingleton.get();\n        int[][] keys = {{prefs.getInt(\"keyUp1\", KeyEvent.VK_UP),\n                prefs.getInt(\"keyDown1\", KeyEvent.VK_DOWN),\n                prefs.getInt(\"keyLeft1\", KeyEvent.VK_LEFT),\n                prefs.getInt(\"keyRight1\", KeyEvent.VK_RIGHT),\n                prefs.getInt(\"keyA1\", KeyEvent.VK_X),\n                prefs.getInt(\"keyB1\", KeyEvent.VK_Z),\n                prefs.getInt(\"keySelect1\", KeyEvent.VK_SHIFT),\n                prefs.getInt(\"keyStart1\", KeyEvent.VK_ENTER),}, {\n                prefs.getInt(\"keyUp2\", KeyEvent.VK_W),\n                prefs.getInt(\"keyDown2\", KeyEvent.VK_S),\n                prefs.getInt(\"keyLeft2\", KeyEvent.VK_A),\n                prefs.getInt(\"keyRight2\", KeyEvent.VK_D),\n                prefs.getInt(\"keyA2\", KeyEvent.VK_G),\n                prefs.getInt(\"keyB2\", KeyEvent.VK_F),\n                prefs.getInt(\"keySelect2\", KeyEvent.VK_R),\n                prefs.getInt(\"keyStart2\", KeyEvent.VK_T)}};\n        this.keys = keys;\n        initComponents();\n        this.setTitle(\"HalfNES Controller Settings\");\n        //set all of the text boxes\n        jField1Up.setText(KeyEvent.getKeyText(keys[0][0]));\n        jField1Down.setText(KeyEvent.getKeyText(keys[0][1]));\n        jField1Left.setText(KeyEvent.getKeyText(keys[0][2]));\n        jField1Right.setText(KeyEvent.getKeyText(keys[0][3]));\n        jField1A.setText(KeyEvent.getKeyText(keys[0][4]));\n        jField1B.setText(KeyEvent.getKeyText(keys[0][5]));\n        jField1Select.setText(KeyEvent.getKeyText(keys[0][6]));\n        jField1Start.setText(KeyEvent.getKeyText(keys[0][7]));\n\n        jField2Up.setText(KeyEvent.getKeyText(keys[1][0]));\n        jField2Down.setText(KeyEvent.getKeyText(keys[1][1]));\n        jField2Left.setText(KeyEvent.getKeyText(keys[1][2]));\n        jField2Right.setText(KeyEvent.getKeyText(keys[1][3]));\n        jField2A.setText(KeyEvent.getKeyText(keys[1][4]));\n        jField2B.setText(KeyEvent.getKeyText(keys[1][5]));\n        jField2Select.setText(KeyEvent.getKeyText(keys[1][6]));\n        jField2Start.setText(KeyEvent.getKeyText(keys[1][7]));\n        //set the controller text if we've detected some\n        String ctrl1 = prefs.get(\"controller0\", \"\");\n        String ctrl2 = prefs.get(\"controller1\", \"\");\n        if (!ctrl1.isEmpty()) {\n            jLabelCtrl1.setText(ctrl1);\n        }\n        if (!ctrl2.isEmpty()) {\n            jLabelCtrl2.setText(ctrl2);\n        }\n        jButtonOK.setActionCommand(\"OK\");\n        jButtonCancel.setActionCommand(\"Cancel\");\n    }\n\n    /**\n     * This method is called from within the constructor to initialize the form.\n     * WARNING: Do NOT modify this code. The content of this method is always\n     * regenerated by the Form Editor.\n     */\n    @SuppressWarnings(\"unchecked\")\n    // <editor-fold defaultstate=\"collapsed\" desc=\"Generated Code\">//GEN-BEGIN:initComponents\n    private void initComponents() {\n\n        buttonGroup1 = new javax.swing.ButtonGroup();\n        jLabel3 = new javax.swing.JLabel();\n        jLabel4 = new javax.swing.JLabel();\n        jLabel5 = new javax.swing.JLabel();\n        jLabel6 = new javax.swing.JLabel();\n        jLabel7 = new javax.swing.JLabel();\n        jLabel8 = new javax.swing.JLabel();\n        jLabel9 = new javax.swing.JLabel();\n        jLabel10 = new javax.swing.JLabel();\n        jLabel11 = new javax.swing.JLabel();\n        jLabel12 = new javax.swing.JLabel();\n        jLabel13 = new javax.swing.JLabel();\n        jField1Up = new javax.swing.JTextField();\n        jField1Down = new javax.swing.JTextField();\n        jField1Right = new javax.swing.JTextField();\n        jField1Left = new javax.swing.JTextField();\n        jField1Start = new javax.swing.JTextField();\n        jField1Select = new javax.swing.JTextField();\n        jField1B = new javax.swing.JTextField();\n        jField1A = new javax.swing.JTextField();\n        jField2Up = new javax.swing.JTextField();\n        jField2Down = new javax.swing.JTextField();\n        jField2Left = new javax.swing.JTextField();\n        jField2Right = new javax.swing.JTextField();\n        jField2A = new javax.swing.JTextField();\n        jField2B = new javax.swing.JTextField();\n        jField2Select = new javax.swing.JTextField();\n        jField2Start = new javax.swing.JTextField();\n        jButtonCancel = new javax.swing.JButton();\n        jButtonOK = new javax.swing.JButton();\n        jLabel16 = new javax.swing.JLabel();\n        jLabel1 = new javax.swing.JLabel();\n        jLabelCtrl1 = new javax.swing.JLabel();\n        jButton1 = new javax.swing.JButton();\n        jButton2 = new javax.swing.JButton();\n        jLabelCtrl2 = new javax.swing.JLabel();\n\n        setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);\n        setName(\"ControlsDialog\"); // NOI18N\n        setResizable(false);\n\n        jLabel3.setFont(new java.awt.Font(\"Tahoma\", 1, 11)); // NOI18N\n        jLabel3.setText(\"Keybindings:\"); // NOI18N\n\n        jLabel4.setText(\"Controller 1\"); // NOI18N\n\n        jLabel5.setText(\"Controller 2\"); // NOI18N\n\n        jLabel6.setText(\"Up\"); // NOI18N\n\n        jLabel7.setText(\"Down\"); // NOI18N\n\n        jLabel8.setText(\"Left\"); // NOI18N\n\n        jLabel9.setText(\"Right\"); // NOI18N\n\n        jLabel10.setText(\"A\"); // NOI18N\n\n        jLabel11.setText(\"B\"); // NOI18N\n\n        jLabel12.setText(\"Select\"); // NOI18N\n\n        jLabel13.setText(\"Start\"); // NOI18N\n\n        jField1Up.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Up.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jField2StartActionPerformed(evt);\n            }\n        });\n        jField1Up.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1UpKeyReleased(evt);\n            }\n        });\n\n        jField1Down.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Down.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jField2StartActionPerformed(evt);\n            }\n        });\n        jField1Down.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1DownKeyReleased(evt);\n            }\n        });\n\n        jField1Right.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Right.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jField2StartActionPerformed(evt);\n            }\n        });\n        jField1Right.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1RightKeyReleased(evt);\n            }\n        });\n\n        jField1Left.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Left.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jField2StartActionPerformed(evt);\n            }\n        });\n        jField1Left.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1LeftKeyReleased(evt);\n            }\n        });\n\n        jField1Start.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Start.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1StartKeyReleased(evt);\n            }\n        });\n\n        jField1Select.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1Select.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1SelectKeyReleased(evt);\n            }\n        });\n\n        jField1B.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1B.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1BKeyReleased(evt);\n            }\n        });\n\n        jField1A.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField1A.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField1AKeyReleased(evt);\n            }\n        });\n\n        jField2Up.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Up.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2UpKeyReleased(evt);\n            }\n        });\n\n        jField2Down.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Down.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2DownKeyReleased(evt);\n            }\n        });\n\n        jField2Left.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Left.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2LeftKeyReleased(evt);\n            }\n        });\n\n        jField2Right.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Right.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2RightKeyReleased(evt);\n            }\n        });\n\n        jField2A.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2A.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2AKeyReleased(evt);\n            }\n        });\n\n        jField2B.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2B.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2BKeyReleased(evt);\n            }\n        });\n\n        jField2Select.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Select.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2SelectKeyReleased(evt);\n            }\n        });\n\n        jField2Start.setMinimumSize(new java.awt.Dimension(120, 20));\n        jField2Start.addKeyListener(new java.awt.event.KeyAdapter() {\n            public void keyReleased(java.awt.event.KeyEvent evt) {\n                jField2StartKeyReleased(evt);\n            }\n        });\n\n        jButtonCancel.setText(\"Cancel\"); // NOI18N\n        jButtonCancel.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButtonCancelActionPerformed(evt);\n            }\n        });\n\n        jButtonOK.setText(\"OK\"); // NOI18N\n        jButtonOK.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButtonOKActionPerformed(evt);\n            }\n        });\n\n        jLabel16.setText(\" Click in text box and type a key to change that binding.\"); // NOI18N\n\n        jLabel1.setFont(new java.awt.Font(\"Tahoma\", 1, 11)); // NOI18N\n        jLabel1.setText(\"Detected Game Controllers:\");\n\n        jLabelCtrl1.setText(\"No Player 1 controller connected\");\n        jLabelCtrl1.setEnabled(false);\n\n        jButton1.setText(\"Set Buttons\");\n        jButton1.setEnabled(false);\n        jButton1.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButton1ActionPerformed(evt);\n            }\n        });\n\n        jButton2.setText(\"Set Buttons\");\n        jButton2.setEnabled(false);\n        jButton2.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButton2ActionPerformed(evt);\n            }\n        });\n\n        jLabelCtrl2.setText(\"No Player 2 controller connected\");\n        jLabelCtrl2.setEnabled(false);\n\n        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());\n        getContentPane().setLayout(layout);\n        layout.setHorizontalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addComponent(jLabel1)\n                    .addComponent(jLabel16)\n                    .addGroup(layout.createSequentialGroup()\n                        .addGap(49, 49, 49)\n                        .addComponent(jLabel4)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addComponent(jLabel5))\n                    .addComponent(jLabel3)\n                    .addGroup(layout.createSequentialGroup()\n                        .addGap(10, 10, 10)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)\n                            .addComponent(jLabel7)\n                            .addComponent(jLabel8)\n                            .addComponent(jLabel9)\n                            .addComponent(jLabel10)\n                            .addComponent(jLabel11)\n                            .addComponent(jLabel13)\n                            .addComponent(jLabel6)\n                            .addComponent(jLabel12))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                            .addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                            .addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)))\n                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)\n                        .addGroup(layout.createSequentialGroup()\n                            .addComponent(jButtonOK, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                            .addComponent(jButtonCancel))\n                        .addGroup(layout.createSequentialGroup()\n                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                                .addComponent(jLabelCtrl1)\n                                .addComponent(jLabelCtrl2))\n                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                                .addComponent(jButton2)\n                                .addComponent(jButton1))))))\n        );\n\n        layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jField1A, jField1B, jField1Down, jField1Left, jField1Right, jField1Select, jField1Start, jField1Up, jField2A, jField2B, jField2Down, jField2Left, jField2Right, jField2Select, jField2Start, jField2Up});\n\n        layout.setVerticalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addComponent(jLabel3)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                .addComponent(jLabel16, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE)\n                .addGap(11, 11, 11)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jLabel4)\n                    .addComponent(jLabel5))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addComponent(jField2Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                    .addGroup(layout.createSequentialGroup()\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                            .addGroup(layout.createSequentialGroup()\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                                    .addComponent(jLabel6)\n                                    .addComponent(jField1Up, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                                    .addComponent(jField1Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                    .addComponent(jLabel7))\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                                    .addComponent(jField1Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                    .addComponent(jLabel8))\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                                    .addComponent(jField1Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                    .addComponent(jLabel9)\n                                    .addComponent(jField2Right, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                                    .addComponent(jField1A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                    .addComponent(jLabel10)\n                                    .addComponent(jField2A, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))\n                            .addGroup(layout.createSequentialGroup()\n                                .addGap(31, 31, 31)\n                                .addComponent(jField2Down, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addComponent(jField2Left, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                            .addComponent(jField1B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jLabel11)\n                            .addComponent(jField2B, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                            .addComponent(jField1Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jLabel12)\n                            .addComponent(jField2Select, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                            .addComponent(jField1Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jLabel13)\n                            .addComponent(jField2Start, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                .addComponent(jLabel1)\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jLabelCtrl1)\n                    .addComponent(jButton2))\n                .addGap(12, 12, 12)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jLabelCtrl2)\n                    .addComponent(jButton1))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jButtonOK)\n                    .addComponent(jButtonCancel))\n                .addGap(0, 8, Short.MAX_VALUE))\n        );\n\n        layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jField1A, jField1B, jField1Down, jField1Left, jField1Right, jField1Select, jField1Start, jField1Up, jField2A, jField2B, jField2Down, jField2Left, jField2Right, jField2Select, jField2Start, jField2Up});\n\n        pack();\n    }// </editor-fold>//GEN-END:initComponents\n\n    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelActionPerformed\n        if (\"Cancel\".equals(evt.getActionCommand())) {\n            this.setVisible(false);\n        }\n    }//GEN-LAST:event_jButtonCancelActionPerformed\n\n    private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed\n        //    if (\"OK\".equals(evt.getActionCommand())) {\n        //here we go... save everything and hide the window\n        Preferences prefs = PrefsSingleton.get();\n        prefs.putInt(\"keyUp1\", keys[0][0]);\n        prefs.putInt(\"keyDown1\", keys[0][1]);\n        prefs.putInt(\"keyLeft1\", keys[0][2]);\n        prefs.putInt(\"keyRight1\", keys[0][3]);\n        prefs.putInt(\"keyA1\", keys[0][4]);\n        prefs.putInt(\"keyB1\", keys[0][5]);\n        prefs.putInt(\"keySelect1\", keys[0][6]);\n        prefs.putInt(\"keyStart1\", keys[0][7]);\n        prefs.putInt(\"keyUp2\", keys[1][0]);\n        prefs.putInt(\"keyDown2\", keys[1][1]);\n        prefs.putInt(\"keyLeft2\", keys[1][2]);\n        prefs.putInt(\"keyRight2\", keys[1][3]);\n        prefs.putInt(\"keyA2\", keys[1][4]);\n        prefs.putInt(\"keyB2\", keys[1][5]);\n        prefs.putInt(\"keySelect2\", keys[1][6]);\n        prefs.putInt(\"keyStart2\", keys[1][7]);\n        try {\n            prefs.flush();\n        } catch (BackingStoreException ex) {\n            Logger.getLogger(ControlsDialog.class.getName()).log(Level.SEVERE, null, ex);\n        }\n        okClicked = true;\n        this.setVisible(false);\n        //   }\n    }//GEN-LAST:event_jButtonOKActionPerformed\n    public boolean okClicked() {\n        return okClicked;\n    }\n    private void jField1UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1UpKeyReleased\n        int k = evt.getKeyCode();\n        jField1Up.setText(KeyEvent.getKeyText(k));\n        keys[0][0] = k;\n    }//GEN-LAST:event_jField1UpKeyReleased\n\n    private void jField1DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1DownKeyReleased\n        int k = evt.getKeyCode();\n        jField1Down.setText(KeyEvent.getKeyText(k));\n        keys[0][1] = k;\n    }//GEN-LAST:event_jField1DownKeyReleased\n\n    private void jField1LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1LeftKeyReleased\n        int k = evt.getKeyCode();\n        jField1Left.setText(KeyEvent.getKeyText(k));\n        keys[0][2] = k;\n    }//GEN-LAST:event_jField1LeftKeyReleased\n\n    private void jField1RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1RightKeyReleased\n        int k = evt.getKeyCode();\n        jField1Right.setText(KeyEvent.getKeyText(k));\n        keys[0][3] = k;\n    }//GEN-LAST:event_jField1RightKeyReleased\n\n    private void jField2StartActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jField2StartActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jField2StartActionPerformed\n\n    private void jField1AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1AKeyReleased\n        int k = evt.getKeyCode();\n        jField1A.setText(KeyEvent.getKeyText(k));\n        keys[0][4] = k;\n    }//GEN-LAST:event_jField1AKeyReleased\n\n    private void jField1BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1BKeyReleased\n        int k = evt.getKeyCode();\n        jField1B.setText(KeyEvent.getKeyText(k));\n        keys[0][5] = k;\n    }//GEN-LAST:event_jField1BKeyReleased\n\n    private void jField1SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1SelectKeyReleased\n        int k = evt.getKeyCode();\n        jField1Select.setText(KeyEvent.getKeyText(k));\n        keys[0][6] = k;\n    }//GEN-LAST:event_jField1SelectKeyReleased\n\n    private void jField1StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField1StartKeyReleased\n        int k = evt.getKeyCode();\n        jField1Start.setText(KeyEvent.getKeyText(k));\n        keys[0][7] = k;\n    }//GEN-LAST:event_jField1StartKeyReleased\n\n    private void jField2UpKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2UpKeyReleased\n        int k = evt.getKeyCode();\n        jField2Up.setText(KeyEvent.getKeyText(k));\n        keys[1][0] = k;\n    }//GEN-LAST:event_jField2UpKeyReleased\n\n    private void jField2StartKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2StartKeyReleased\n        int k = evt.getKeyCode();\n        jField2Start.setText(KeyEvent.getKeyText(k));\n        keys[1][7] = k;\n    }//GEN-LAST:event_jField2StartKeyReleased\n\n    private void jField2DownKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2DownKeyReleased\n        int k = evt.getKeyCode();\n        jField2Down.setText(KeyEvent.getKeyText(k));\n        keys[1][1] = k;\n    }//GEN-LAST:event_jField2DownKeyReleased\n\n    private void jField2LeftKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2LeftKeyReleased\n        int k = evt.getKeyCode();\n        jField2Left.setText(KeyEvent.getKeyText(k));\n        keys[1][2] = k;\n    }//GEN-LAST:event_jField2LeftKeyReleased\n\n    private void jField2RightKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2RightKeyReleased\n        int k = evt.getKeyCode();\n        jField2Right.setText(KeyEvent.getKeyText(k));\n        keys[1][3] = k;\n    }//GEN-LAST:event_jField2RightKeyReleased\n\n    private void jField2AKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2AKeyReleased\n        int k = evt.getKeyCode();\n        jField2A.setText(KeyEvent.getKeyText(k));\n        keys[1][4] = k;\n    }//GEN-LAST:event_jField2AKeyReleased\n\n    private void jField2BKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2BKeyReleased\n        int k = evt.getKeyCode();\n        jField2B.setText(KeyEvent.getKeyText(k));\n        keys[1][5] = k;\n    }//GEN-LAST:event_jField2BKeyReleased\n\n    private void jField2SelectKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jField2SelectKeyReleased\n        int k = evt.getKeyCode();\n        jField2Select.setText(KeyEvent.getKeyText(k));\n        keys[1][6] = k;\n    }//GEN-LAST:event_jField2SelectKeyReleased\n\n    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jButton1ActionPerformed\n\n    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton2ActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jButton2ActionPerformed\n    // Variables declaration - do not modify//GEN-BEGIN:variables\n    private javax.swing.ButtonGroup buttonGroup1;\n    private javax.swing.JButton jButton1;\n    private javax.swing.JButton jButton2;\n    private javax.swing.JButton jButtonCancel;\n    private javax.swing.JButton jButtonOK;\n    private javax.swing.JTextField jField1A;\n    private javax.swing.JTextField jField1B;\n    private javax.swing.JTextField jField1Down;\n    private javax.swing.JTextField jField1Left;\n    private javax.swing.JTextField jField1Right;\n    private javax.swing.JTextField jField1Select;\n    private javax.swing.JTextField jField1Start;\n    private javax.swing.JTextField jField1Up;\n    private javax.swing.JTextField jField2A;\n    private javax.swing.JTextField jField2B;\n    private javax.swing.JTextField jField2Down;\n    private javax.swing.JTextField jField2Left;\n    private javax.swing.JTextField jField2Right;\n    private javax.swing.JTextField jField2Select;\n    private javax.swing.JTextField jField2Start;\n    private javax.swing.JTextField jField2Up;\n    private javax.swing.JLabel jLabel1;\n    private javax.swing.JLabel jLabel10;\n    private javax.swing.JLabel jLabel11;\n    private javax.swing.JLabel jLabel12;\n    private javax.swing.JLabel jLabel13;\n    private javax.swing.JLabel jLabel16;\n    private javax.swing.JLabel jLabel3;\n    private javax.swing.JLabel jLabel4;\n    private javax.swing.JLabel jLabel5;\n    private javax.swing.JLabel jLabel6;\n    private javax.swing.JLabel jLabel7;\n    private javax.swing.JLabel jLabel8;\n    private javax.swing.JLabel jLabel9;\n    private javax.swing.JLabel jLabelCtrl1;\n    private javax.swing.JLabel jLabelCtrl2;\n    // End of variables declaration//GEN-END:variables\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/DebugUI.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.NES;\nimport java.awt.*;\nimport java.awt.image.*;\nimport javax.swing.*;\n\npublic class DebugUI extends JFrame {\n    // StrokeInformer aStrokeInformer = new StrokeInformer();\n\n    private ShowFrame fbuf;\n    private int xsize, ysize;\n    private Repainter painter = new Repainter();\n\n    public DebugUI(int height, int width) {\n        this.xsize = height;\n        this.ysize = width;\n        fbuf = new ShowFrame();\n        fbuf.setIgnoreRepaint(true);\n    }\n\n    public void run() {\n        this.setTitle(\"HalfNES  Debug \" + NES.VERSION);\n        this.setResizable(false);\n        this.setDefaultCloseOperation(HIDE_ON_CLOSE);\n        this.setContentPane(fbuf);\n        this.pack();\n        this.setVisible(true);\n    }\n\n    public void messageBox(String s) {\n        JOptionPane.showMessageDialog(fbuf, s);\n    }\n\n    public void setFrame(BufferedImage b) {\n        fbuf.nextFrame = b;\n\n        java.awt.EventQueue.invokeLater(painter);\n        //do the actual screen update on the event thread, basically all this does is blit the new frame\n    }\n\n    public class Repainter implements Runnable {\n\n        public void run() {\n            fbuf.repaint();\n        }\n    }\n\n    public class ShowFrame extends javax.swing.JPanel {\n\n        public BufferedImage nextFrame;\n\n        /**\n         *\n         */\n        public ShowFrame() {\n            this.setBounds(0, 0, xsize, ysize);\n            this.setPreferredSize(new Dimension(xsize, ysize));\n        }\n\n        @Override\n        public void paint(final Graphics g) {\n            g.drawImage(nextFrame, 0, 0, xsize, ysize, null);\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/DummyController.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport java.util.HashMap;\n\nimport static com.grapeshot.halfnes.utils.BIT0;\nimport static com.grapeshot.halfnes.utils.BIT1;\nimport static com.grapeshot.halfnes.utils.BIT2;\nimport static com.grapeshot.halfnes.utils.BIT3;\nimport static com.grapeshot.halfnes.utils.BIT4;\nimport static com.grapeshot.halfnes.utils.BIT5;\nimport static com.grapeshot.halfnes.utils.BIT6;\nimport static com.grapeshot.halfnes.utils.BIT7;\n\n/**\n * @author Andrew\n */\npublic class DummyController implements ControllerInterface {\n\n    //i wrote this to test a bug in the menu of one game.\n    //if using this again, maybe a parser and some RLE would be appropriate?\n    //or just make it load FCEUX movie files?\n    int outbyte = 0;\n    int latchbyte = 0;\n    char[] input = (\"000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"00000000000000000000000000000SSSSSSSSSSSSSS00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"00000000000000000000000000000AAAAAAAAAAAAAA00000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"000000000000000000000000000000000000000000000000000000000000000000\"\n            + \"00000000000000000000000000000SSSSSSSSSSSSSS00000000000000000000000\").toCharArray();\n    HashMap<Character, Integer> m = new HashMap<>();\n    int frame = 0;\n\n    public DummyController(int controllernum) {\n        m.put('0', 0x00); // Null\n        m.put('U', BIT4); // Up\n        m.put('D', BIT5); // Down\n        m.put('L', BIT6); // Left\n        m.put('R', BIT7); // Right\n        m.put('A', BIT0); // A\n        m.put('B', BIT1); // B\n        m.put('s', BIT2); // Select\n        m.put('S', BIT3); // Start\n    }\n\n    @Override\n    public void strobe() {\n        //shifts a byte out\n        outbyte = latchbyte & 1;\n        latchbyte = ((latchbyte >> 1) | 0x100);\n    }\n\n    @Override\n    public void output(final boolean state) {\n        if (frame < input.length) {\n            latchbyte = m.get(input[frame]);\n        } else {\n            latchbyte = 0;\n        }\n        ++frame;\n    }\n\n    @Override\n    public int peekOutput() {\n        return latchbyte;\n    }\n\n    @Override\n    public int getbyte() {\n        return outbyte;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/FrameLimiterImpl.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.NES;\nimport com.grapeshot.halfnes.PrefsSingleton;\n\n/**\n *\n * @author Andrew\n */\npublic class FrameLimiterImpl implements FrameLimiterInterface {\n\n    NES nes;\n    private long sleepingtest = 0;\n    public long FRAME_NS;\n\n    public FrameLimiterImpl(NES nes, long framens) {\n        this.nes = nes;\n        FRAME_NS = framens;\n        //forceHighResolutionTimer();\n    }\n\n    public void setInterval(long ns) {\n        FRAME_NS = ns;\n    }\n\n    @Override\n    public void sleep() {\n        //Frame Limiter\n        if (!PrefsSingleton.get().getBoolean(\"Sleep\", true)) {\n            return; //skip frame limiter if pref set\n        }\n        final long timeleft = System.nanoTime() - nes.frameStartTime;\n        if (timeleft < FRAME_NS) {\n            final long sleepytime = (FRAME_NS - timeleft + sleepingtest);\n            if (sleepytime < 0) {\n                return;\n                //don't sleep at all.\n            }\n            sleepingtest = System.nanoTime();\n            try {\n                //System.err.println(sleepytime/ 1000000.);\n                Thread.sleep(sleepytime / 1000000);\n                // sleep for rest of the time until the next frame\n            } catch (InterruptedException ex) {\n            }\n            sleepingtest = System.nanoTime() - sleepingtest;\n            //now sleeping test has how many ns the sleep *actually* was\n            sleepingtest = sleepytime - sleepingtest;\n            //now sleepingtest has how much the next frame needs to be delayed by to make things match\n        }\n    }\n\n    @Override\n    public void sleepFixed() {\n        try {\n            //sleep for 16 ms\n            Thread.sleep(16);\n        } catch (InterruptedException ex) {\n        }\n\n    }\n\n    public static void forceHighResolutionTimer() {\n        //UGLY HACK ALERT: Just realized why sleep() rounds to nearest\n        //multiple of 10: it's because no other program is using high resolution timer.\n        //This should, hopefully, fix that.\n        final Thread daemon = new Thread(\"ForceHighResolutionTimer\") {\n            @Override\n            public void run() {\n                while (true) {\n                    try {\n                        Thread.sleep(99999999999L);\n                    } catch (InterruptedException e) {\n                        break;\n                    }\n                }\n            }\n        };\n        daemon.setDaemon(true);\n        daemon.start();\n    }\n\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/FrameLimiterInterface.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\n/**\n *\n * @author Andrew\n */\npublic interface FrameLimiterInterface {\n\n    public void sleep();\n\n    public void sleepFixed();\n    \n    public void setInterval(long ns);\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/GUIInterface.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.NES;\n\n/**\n *\n * @author Andrew\n */\npublic interface GUIInterface extends Runnable {\n\n    public NES getNes();\n\n    public void setNES(NES nes);\n\n    public void setFrame(int[] frame, int[] bgcolor, boolean dotcrawl);\n    //Frame is now a 256x240 array with NES color numbers from 0-3F\n    //plus the state of the 3 color emphasis bits in bits 7,8,9\n\n    public void messageBox(String message);\n\n    @Override\n    public void run();\n\n    public void render();\n\n    public void loadROMs(String path);\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/HeadlessUI.java",
    "content": "package com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.CPURAM;\nimport com.grapeshot.halfnes.NES;\nimport com.grapeshot.halfnes.video.RGBRenderer;\nimport com.grapeshot.halfnes.video.Renderer;\n\nimport java.awt.image.BufferedImage;\n\n/**\n * @author Mitchell Skaggs\n */\npublic class HeadlessUI implements GUIInterface {\n\n    private NES nes;\n    private Renderer renderer;\n    private boolean renderFrames;\n    private BufferedImage lastFrame = null;\n    private boolean updateImage;\n    private PuppetController controller1, controller2;\n\n    public HeadlessUI(String romToLoad, boolean renderFrames) {\n        nes = new NES(this);\n        this.loadROM(romToLoad);\n        this.renderer = new RGBRenderer();\n        this.controller1 = new PuppetController();\n        this.controller2 = new PuppetController();\n        nes.setControllers(this.controller1, this.controller2);\n        this.renderFrames = renderFrames;\n    }\n\n    public void loadROM(String romToLoad) {\n        this.nes.loadROM(romToLoad);\n    }\n\n    public BufferedImage getLastFrame() {\n        return lastFrame;\n    }\n\n    public PuppetController getController1() {\n        return controller1;\n    }\n\n    public PuppetController getController2() {\n        return controller2;\n    }\n\n    public synchronized void runFrame() {\n        nes.frameAdvance();\n    }\n\n    public CPURAM getNESCPURAM() {\n        return nes.getCPURAM();\n    }\n\n    @Override\n    public NES getNes() {\n        return nes;\n    }\n\n    @Override\n    public void setNES(NES nes) {\n        this.nes = nes;\n    }\n\n    @Override\n    public void setFrame(int[] frame, int[] bgcolor, boolean dotcrawl) {\n        if (renderFrames) {\n            this.lastFrame = renderer.render(frame, bgcolor, dotcrawl);\n        }\n    }\n\n    @Override\n    public void messageBox(String message) {\n        System.err.println(message); // Shouldn't get any messages except errors\n    }\n\n    @Override\n    public void run() {\n        // Null-op\n    }\n\n    @Override\n    public void render() {\n    }\n\n    @Override\n    public void loadROMs(String path) {\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/NESFileFilter.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport javax.swing.filechooser.FileFilter;\nimport java.io.FilenameFilter;\nimport java.io.File;\n\n/**\n *\n * @author Andrew\n */\npublic class NESFileFilter implements FilenameFilter {\n\n//    public boolean accept(File f) {\n//        if (f.isDirectory()) {\n//            return true;\n//        }\n//\n//        String extension = utils.getExtension(f);\n//        if (extension != null) {\n//            if (extension.equalsIgnoreCase(\".nes\")\n//                    || extension.equalsIgnoreCase(\".fds\")\n//                    || extension.equalsIgnoreCase(\".nsf\")) {\n//                return true;\n//            } else {\n//                return false;\n//            }\n//        }\n//        return false;\n//    }\n    public String getDescription() {\n        return \".NES, .FDS, .NSF, .ZIP\";\n    }\n\n    public boolean accept(File dir, String name) {\n        if (name.endsWith(\".nes\")\n                || name.endsWith(\".fds\")\n                || name.endsWith(\".nsf\")\n                || name.endsWith(\".zip\")) {\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/OnScreenMenu.java",
    "content": "package com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.FileUtils;\nimport static com.grapeshot.halfnes.utils.BIT8;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Enumeration;\nimport java.util.List;\nimport java.util.logging.Level;\nimport java.util.logging.Logger;\nimport java.util.zip.ZipEntry;\nimport java.util.zip.ZipFile;\nimport java.util.zip.ZipInputStream;\nimport javafx.application.Platform;\nimport javafx.collections.FXCollections;\nimport javafx.collections.ObservableList;\nimport javafx.scene.control.ListView;\nimport javafx.scene.input.KeyCode;\nimport javafx.scene.input.KeyEvent;\nimport javafx.scene.layout.StackPane;\n\n/**\n * @author Stephen Chin - steveonjava@gmail.com\n */\npublic class OnScreenMenu extends StackPane {\n\n    private GUIInterface gui;\n    private ListView<MenuAction> menu;\n    private ListView<MenuAction> gameMenu;\n    private final ObservableList<MenuAction> menuItems = FXCollections.<MenuAction>observableArrayList(\n        new MenuAction(\"Resume\", this::resume),\n        new MenuAction(\"Load Game\", this::loadGame),\n        new MenuAction(\"Reset\", this::reset),\n        new MenuAction(\"Exit\", this::exit),\n        new MenuAction(\"Power Off\", this::powerOff));\n    private final ObservableList<MenuAction> games = FXCollections.<MenuAction>observableArrayList(\n        new MenuAction(\"Back\", () -> gameMenu.setVisible(false)));\n\n    public OnScreenMenu(GUIInterface gui) {\n        this.gui = gui;\n        menu = new ListView<>(menuItems);\n        gameMenu = new ListView(games);\n        addMenuListeners(menu);\n        addMenuListeners(gameMenu);\n        getChildren().addAll(menu, gameMenu);\n        gameMenu.setVisible(false);\n        setVisible(false);\n    }\n\n    private void addMenuListeners(ListView<MenuAction> menu) {\n        menu.addEventHandler(javafx.scene.input.KeyEvent.KEY_RELEASED, e -> {\n            if (e.getCode().equals(KeyCode.ENTER) || e.getCode().equals(KeyCode.SPACE)) {\n                menu.getSelectionModel().getSelectedItem().run();\n            }\n        });\n        menu.addEventHandler(javafx.scene.input.MouseEvent.MOUSE_CLICKED, e -> {\n            if (e.getClickCount() == 2) {\n                menu.getSelectionModel().getSelectedItem().run();\n            }\n        });\n    }\n\n    public void show() {\n        gui.getNes().pause();\n        setVisible(true);\n    }\n\n    private void hide() {\n        setVisible(false);\n    }\n\n    public void loadROMs(String path) {\n        if (path.toLowerCase().endsWith(\".zip\")) {\n            try {\n                loadRomFromZip(path);\n            } catch (IOException ex) {\n                gui.messageBox(\"Could not load file:\\nFile does not exist or is not a valid NES game.\\n\" + ex.getMessage());\n            }\n        } else {\n            games.add(new GameAction(new File(path)));\n            runGame(path);\n        }\n    }\n\n    private void loadRomFromZip(String zipName) throws IOException {\n        listRomsInZip(zipName).stream().map(romName -> new GameAction(zipName, romName)).forEach(games::add);\n        if (games.size() == 2) {\n            games.get(1).run();\n        } else if (games.size() > 2) {\n            Platform.runLater(() -> loadGame());\n        }\n    }\n\n    private List<String> listRomsInZip(String zipName) throws IOException {\n        final List<String> romNames;\n        try (ZipFile zipFile = new ZipFile(zipName)) {\n            final Enumeration<? extends ZipEntry> zipEntries = zipFile.entries();\n            romNames = new ArrayList<>();\n            while (zipEntries.hasMoreElements()) {\n                final ZipEntry entry = zipEntries.nextElement();\n                if (!entry.isDirectory() && (entry.getName().endsWith(\".nes\")\n                    || entry.getName().endsWith(\".fds\")\n                    || entry.getName().endsWith(\".nsf\"))) {\n                    romNames.add(entry.getName());\n                }\n            }\n        }\n        if (romNames.isEmpty()) {\n            throw new IOException(\"No NES games found in ZIP file.\");\n        }\n        return romNames;\n    }\n\n    private File extractRomFromZip(String zipName, String romName) throws IOException {\n        final File outputFile;\n        final FileOutputStream fos;\n        try (ZipInputStream zipStream = new ZipInputStream(new FileInputStream(zipName))) {\n            ZipEntry entry;\n            do {\n                entry = zipStream.getNextEntry();\n            } while ((entry != null) && (!entry.getName().equals(romName)));\n            if (entry == null) {\n                zipStream.close();\n                throw new IOException(\"Cannot find file \" + romName + \" inside archive \" + zipName);\n            }\n            //name temp. extracted file after parent zip and file inside\n            //note: here's the bug, when it saves the temp file if it's in a folder\n            //in the zip it's trying to put it in the same folder outside the zip\n            outputFile = new File(new File(zipName).getCanonicalFile().getParent()\n                + File.separator + FileUtils.stripExtension(new File(zipName).getName())\n                + \" - \" + romName);\n            if (outputFile.exists() && !outputFile.delete()) {\n                gui.messageBox(\"Cannot extract file. File \" + outputFile.getCanonicalPath() + \" already exists.\");\n                zipStream.close();\n                return null;\n            }\n            final byte[] buf = new byte[4096];\n            fos = new FileOutputStream(outputFile);\n            int numBytes;\n            while ((numBytes = zipStream.read(buf, 0, buf.length)) != -1) {\n                fos.write(buf, 0, numBytes);\n            }\n        }\n        fos.close();\n        return outputFile;\n    }\n\n    private void resume() {\n        gui.getNes().resume();\n        hide();\n    }\n\n    private void loadGame() {\n        gameMenu.setVisible(true);\n        gameMenu.requestFocus();\n    }\n\n    private void runGame(String path) {\n        gui.getNes().loadROM(path);\n        Platform.runLater(() -> {\n            gameMenu.setVisible(false);\n            hide();\n        });\n    }\n\n    private void reset() {\n        gui.getNes().reset();\n        hide();\n    }\n\n    private void exit() {\n        gui.getNes().quit();\n        Platform.exit();\n    }\n\n    private void powerOff() {\n//        try {\n//            Runtime.getRuntime().exec(\"sudo shutdown -h now\");\n//        } catch (IOException ex) {\n//            Logger.getLogger(OnScreenMenu.class.getName()).log(Level.SEVERE, null, ex);\n//        }\n    }\n\n    class MenuAction {\n\n        String name;\n        Runnable action;\n\n        MenuAction() {\n        }\n\n        MenuAction(String name, Runnable action) {\n            this.name = name;\n            this.action = action;\n        }\n\n        public void run() {\n            action.run();\n        }\n\n        @Override\n        public String toString() {\n            return name;\n        }\n    }\n\n    class GameAction extends MenuAction {\n\n        GameAction(File game) {\n            name = game.getName();\n            action = () -> {\n                try {\n                    gui.getNes().loadROM(game.getCanonicalPath());\n                    Platform.runLater(() -> {\n                        gameMenu.setVisible(false);\n                        menu.setVisible(false);\n                    });\n                } catch (IOException e) {\n                    gui.messageBox(e.getMessage());\n                }\n            };\n        }\n\n        GameAction(final String zipName, final String romName) {\n            if (romName.toLowerCase().endsWith(\".nes\")) {\n                name = romName.substring(0, romName.length() - 4);\n            } else {\n                name = romName;\n            }\n            action = () -> {\n                try {\n                    final File extractedFile = extractRomFromZip(zipName, romName);\n                    if (extractedFile != null) {\n                        extractedFile.deleteOnExit();\n                    }\n                    runGame(extractedFile.getCanonicalPath());\n                } catch (IOException e) {\n                    gui.messageBox(e.getMessage());\n                }\n            };\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/Oscilloscope.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.audio.AudioOutInterface;\nimport java.awt.Color;\nimport java.awt.Graphics2D;\nimport java.awt.image.BufferedImage;\n\n/**\n *\n * @author Andrew\n */\npublic class Oscilloscope implements AudioOutInterface {\n\n    final private static int width = 400, length = 640;\n    final private static int scf = 65536 / width / 2;\n    DebugUI d;\n    BufferedImage b;\n    Graphics2D g;\n    AudioOutInterface iface;\n    int[] buffer = new int[length];\n    int buf_ptr = 0;\n    int prevsample = 0;\n\n    public Oscilloscope(AudioOutInterface i) {\n        this.iface = i;\n        d = new DebugUI(length, width);\n        b = new BufferedImage(length, width, BufferedImage.TYPE_INT_ARGB_PRE);\n        g = b.createGraphics();\n        g.setBackground(Color.black);\n        g.setColor(Color.green);\n        d.pack();\n        d.run();\n    }\n\n    public Oscilloscope() {\n        this.iface = null;\n        d = new DebugUI(length, width);\n        b = new BufferedImage(length, width, BufferedImage.TYPE_INT_ARGB_PRE);\n        g = b.createGraphics();\n        g.setBackground(Color.black);\n        g.setColor(Color.red);\n        d.pack();\n        d.run();\n    }\n\n    @Override\n    public void outputSample(int sample) {\n        if (buf_ptr > 0\n                || (prevsample <= 0 && sample >= 0)) {\n            //start cap @ zero crossing\n            if (buf_ptr < buffer.length) {\n                buffer[buf_ptr++] = sample;\n            }\n        }\n        prevsample = sample;\n        if (!(iface == null)) {\n            iface.outputSample(sample);\n        }\n    }\n\n    @Override\n    public void flushFrame(boolean waitIfBufferFull) {\n        if (!(iface == null)) {\n            iface.flushFrame(waitIfBufferFull);\n        }\n        g.clearRect(0, 0, length, width);\n        for (int i = 1; i < buf_ptr; ++i) {\n\n            g.drawLine(i - 1, (buffer[i - 1] / scf) + width / 2, i, (buffer[i] / scf) + width / 2);\n        }\n        g.drawLine(0, width / 2, length, width / 2);\n        d.setFrame(b);\n        buf_ptr = 0;\n\n    }\n\n    @Override\n    public void pause() {\n        if (!(iface == null)) {\n            iface.pause();\n        }\n    }\n\n    @Override\n    public void resume() {\n        if (!(iface == null)) {\n            iface.resume();\n        }\n    }\n\n    @Override\n    public void destroy() {\n\n        d.setVisible(false);\n        d.dispose();\n        if (!(iface == null)) {\n            iface.destroy();\n        }\n    }\n\n    @Override\n    public boolean bufferHasLessThan(int samples) {\n        if (!(iface == null)) {\n            return iface.bufferHasLessThan(samples);\n        } else {\n            return false;\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/PreferencesDialog.form",
    "content": "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n\n<Form version=\"1.5\" maxVersion=\"1.7\" type=\"org.netbeans.modules.form.forminfo.JDialogFormInfo\">\n  <NonVisualComponents>\n    <Component class=\"javax.swing.ButtonGroup\" name=\"buttonGroup1\">\n    </Component>\n  </NonVisualComponents>\n  <Properties>\n    <Property name=\"modalityType\" type=\"java.awt.Dialog$ModalityType\" editor=\"org.netbeans.modules.form.editors.EnumEditor\">\n      <Value id=\"APPLICATION_MODAL\"/>\n    </Property>\n    <Property name=\"name\" type=\"java.lang.String\" value=\"OptionsDialog\" noResource=\"true\"/>\n    <Property name=\"resizable\" type=\"boolean\" value=\"false\"/>\n  </Properties>\n  <SyntheticProperties>\n    <SyntheticProperty name=\"formSizePolicy\" type=\"int\" value=\"1\"/>\n    <SyntheticProperty name=\"generateCenter\" type=\"boolean\" value=\"false\"/>\n  </SyntheticProperties>\n  <AuxValues>\n    <AuxValue name=\"FormSettings_autoResourcing\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_autoSetComponentName\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_generateFQN\" type=\"java.lang.Boolean\" value=\"true\"/>\n    <AuxValue name=\"FormSettings_generateMnemonicsCode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_i18nAutoMode\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_layoutCodeTarget\" type=\"java.lang.Integer\" value=\"1\"/>\n    <AuxValue name=\"FormSettings_listenerGenerationStyle\" type=\"java.lang.Integer\" value=\"0\"/>\n    <AuxValue name=\"FormSettings_variablesLocal\" type=\"java.lang.Boolean\" value=\"false\"/>\n    <AuxValue name=\"FormSettings_variablesModifier\" type=\"java.lang.Integer\" value=\"2\"/>\n  </AuxValues>\n\n  <Layout>\n    <DimensionLayout dim=\"0\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" attributes=\"0\">\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" alignment=\"1\" attributes=\"0\">\n                      <EmptySpace min=\"0\" pref=\"0\" max=\"32767\" attributes=\"0\"/>\n                      <Component id=\"jButtonOK\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jButtonCancel\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  </Group>\n                  <Group type=\"102\" attributes=\"0\">\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                                      <Component id=\"jLabel1\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                                      <Component id=\"jSpinnerScale\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                                      <Component id=\"jLabel20\" min=\"-2\" pref=\"26\" max=\"-2\" attributes=\"0\"/>\n                                  </Group>\n                                  <Component id=\"jLabel19\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckBoxNTSC\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckMaintainAspect\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckBoxSmoothVideo\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckBoxSleep\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckBoxShowScope\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckBoxNTView\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              </Group>\n                              <EmptySpace type=\"separate\" max=\"-2\" attributes=\"0\"/>\n                              <Group type=\"103\" groupAlignment=\"0\" max=\"-2\" attributes=\"0\">\n                                  <Component id=\"volumeSlider\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jLabel14\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckSoundEnable\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Component id=\"jCheckSoundFiltering\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                                      <Component id=\"jLabel2\" min=\"-2\" pref=\"73\" max=\"-2\" attributes=\"0\"/>\n                                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                                      <Component id=\"jSampleRateBox\" min=\"-2\" pref=\"83\" max=\"-2\" attributes=\"0\"/>\n                                  </Group>\n                                  <Component id=\"jLabel15\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  <Group type=\"102\" alignment=\"0\" attributes=\"1\">\n                                      <Component id=\"jLabel17\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                      <EmptySpace max=\"32767\" attributes=\"0\"/>\n                                      <Component id=\"jLabel18\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                                  </Group>\n                              </Group>\n                          </Group>\n                          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n                              <Component id=\"jLabel3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                              <EmptySpace type=\"unrelated\" max=\"-2\" attributes=\"0\"/>\n                              <Component id=\"jRegionBox\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          </Group>\n                      </Group>\n                      <EmptySpace min=\"0\" pref=\"0\" max=\"32767\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n    <DimensionLayout dim=\"1\">\n      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n          <Group type=\"102\" alignment=\"0\" attributes=\"0\">\n              <EmptySpace min=\"-2\" pref=\"6\" max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                  <Group type=\"102\" attributes=\"0\">\n                      <Component id=\"jLabel14\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckSoundEnable\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckSoundFiltering\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                          <Component id=\"jLabel2\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jSampleRateBox\" alignment=\"3\" min=\"-2\" pref=\"20\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace min=\"-2\" pref=\"3\" max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jLabel15\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"volumeSlider\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"0\" attributes=\"0\">\n                          <Component id=\"jLabel17\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel18\" alignment=\"0\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                  </Group>\n                  <Group type=\"102\" attributes=\"1\">\n                      <Component id=\"jLabel19\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                          <Component id=\"jLabel1\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jSpinnerScale\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                          <Component id=\"jLabel20\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      </Group>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckBoxSmoothVideo\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckMaintainAspect\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckBoxNTSC\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckBoxSleep\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckBoxShowScope\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                      <EmptySpace max=\"-2\" attributes=\"0\"/>\n                      <Component id=\"jCheckBoxNTView\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  </Group>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jLabel3\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jRegionBox\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace pref=\"26\" max=\"32767\" attributes=\"0\"/>\n              <Group type=\"103\" groupAlignment=\"3\" attributes=\"0\">\n                  <Component id=\"jButtonOK\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n                  <Component id=\"jButtonCancel\" alignment=\"3\" min=\"-2\" max=\"-2\" attributes=\"0\"/>\n              </Group>\n              <EmptySpace max=\"-2\" attributes=\"0\"/>\n          </Group>\n      </Group>\n    </DimensionLayout>\n  </Layout>\n  <SubComponents>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel1\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Screen scaling: scale up \" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckSoundEnable\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Enable Sound\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButtonCancel\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Cancel\" noResource=\"true\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButtonCancelActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JButton\" name=\"jButtonOK\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"OK\" noResource=\"true\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jButtonOKActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JComboBox\" name=\"jSampleRateBox\">\n      <Properties>\n        <Property name=\"model\" type=\"javax.swing.ComboBoxModel\" editor=\"org.netbeans.modules.form.RADConnectionPropertyEditor\">\n          <Connection code=\"new javax.swing.DefaultComboBoxModel(new String[] { &quot;16000&quot;, &quot;24000&quot;, &quot;44100&quot;, &quot;48000&quot;,&quot;96000&quot; })\" type=\"code\"/>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jSampleRateBoxActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel2\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Sample Rate:\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckMaintainAspect\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Maintain Aspect Ratio\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel14\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Sound:\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckSoundFiltering\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Enable Filtering\" noResource=\"true\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jCheckSoundFilteringActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel15\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Output Volume:\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JSlider\" name=\"volumeSlider\">\n      <Properties>\n        <Property name=\"majorTickSpacing\" type=\"int\" value=\"8192\"/>\n        <Property name=\"maximum\" type=\"int\" value=\"16384\"/>\n        <Property name=\"minorTickSpacing\" type=\"int\" value=\"4096\"/>\n        <Property name=\"paintTicks\" type=\"boolean\" value=\"true\"/>\n        <Property name=\"value\" type=\"int\" value=\"80\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel17\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"0\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel18\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"100\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckBoxNTSC\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Use NTSC TV Filter (Experimental)\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jCheckBoxNTSCActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel19\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Video options:\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JSpinner\" name=\"jSpinnerScale\">\n      <Properties>\n        <Property name=\"model\" type=\"javax.swing.SpinnerModel\" editor=\"org.netbeans.modules.form.editors2.SpinnerModelEditor\">\n          <SpinnerModel initial=\"2\" maximum=\"6\" minimum=\"1\" numberType=\"java.lang.Integer\" stepSize=\"1\" type=\"number\"/>\n        </Property>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel20\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"times\" noResource=\"true\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckBoxSmoothVideo\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Use Smooth Scaling\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jCheckBoxSmoothVideoActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckBoxSleep\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Sleep Between Frames\"/>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jCheckBoxSleepActionPerformed\"/>\n      </Events>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckBoxShowScope\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Show Audio Output\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JCheckBox\" name=\"jCheckBoxNTView\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Show Nametable Viewer\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JLabel\" name=\"jLabel3\">\n      <Properties>\n        <Property name=\"text\" type=\"java.lang.String\" value=\"Console Region:\"/>\n      </Properties>\n    </Component>\n    <Component class=\"javax.swing.JComboBox\" name=\"jRegionBox\">\n      <Properties>\n        <Property name=\"model\" type=\"javax.swing.ComboBoxModel\" editor=\"org.netbeans.modules.form.editors2.ComboBoxModelEditor\">\n          <StringArray count=\"4\">\n            <StringItem index=\"0\" value=\"Auto Detect\"/>\n            <StringItem index=\"1\" value=\"NTSC\"/>\n            <StringItem index=\"2\" value=\"PAL\"/>\n            <StringItem index=\"3\" value=\"Dendy (Hybrid)\"/>\n          </StringArray>\n        </Property>\n      </Properties>\n      <Events>\n        <EventHandler event=\"actionPerformed\" listener=\"java.awt.event.ActionListener\" parameters=\"java.awt.event.ActionEvent\" handler=\"jRegionBoxActionPerformed\"/>\n      </Events>\n    </Component>\n  </SubComponents>\n</Form>\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/PreferencesDialog.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\n\n/*\n * OptionsDialog.java\n *\n * Created on Jan 16, 2011, 4:21:43 PM\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.PrefsSingleton;\nimport java.awt.event.KeyEvent;\nimport java.util.logging.Level;\nimport java.util.logging.Logger;\nimport java.util.prefs.BackingStoreException;\nimport java.util.prefs.Preferences;\n\n/**\n *\n * @author Andrew\n */\npublic class PreferencesDialog extends javax.swing.JDialog {\n    \n    private int screenScaling;\n    private boolean okClicked = false;\n\n    /**\n     * Creates new form OptionsDialog\n     */\n    public PreferencesDialog(java.awt.Frame parent) {\n        super(parent, true);\n        Preferences prefs = PrefsSingleton.get();\n        initComponents();\n        this.setTitle(\"HalfNES Preferences\");\n        //set all of the text boxes\n        //aand the sound enable checkbox.\n        jCheckSoundEnable.setSelected(prefs.getBoolean(\"soundEnable\", true));\n        jCheckSoundFiltering.setSelected(prefs.getBoolean(\"soundFiltering\", true));\n        jCheckMaintainAspect.setSelected(prefs.getBoolean(\"maintainAspect\", true));\n        jCheckBoxNTSC.setSelected(prefs.getBoolean(\"TVEmulation\", false));\n        jCheckBoxNTView.setSelected(prefs.getBoolean(\"ntView\", false));\n        jCheckBoxShowScope.setSelected(prefs.getBoolean(\"showScope\", false));\n        jCheckBoxSleep.setSelected(prefs.getBoolean(\"Sleep\", true));\n        jButtonOK.setActionCommand(\"OK\");\n        jButtonCancel.setActionCommand(\"Cancel\");\n        screenScaling = prefs.getInt(\"screenScaling\", 2);\n        jSpinnerScale.setValue(screenScaling);\n        jSampleRateBox.setSelectedItem(Integer.toString(prefs.getInt(\"sampleRate\", 44100)));\n        jCheckBoxSmoothVideo.setSelected(prefs.getBoolean(\"smoothScaling\", false));\n        volumeSlider.setValue(prefs.getInt(\"outputvol\", 13107));\n        jRegionBox.setSelectedIndex(prefs.getInt(\"region\", 0));\n        //0-> auto, 1-> NTSC, 2-> PAL, 3-> Dendy\n    }\n\n    /**\n     * This method is called from within the constructor to initialize the form.\n     * WARNING: Do NOT modify this code. The content of this method is always\n     * regenerated by the Form Editor.\n     */\n    @SuppressWarnings(\"unchecked\")\n    // <editor-fold defaultstate=\"collapsed\" desc=\"Generated Code\">//GEN-BEGIN:initComponents\n    private void initComponents() {\n\n        buttonGroup1 = new javax.swing.ButtonGroup();\n        jLabel1 = new javax.swing.JLabel();\n        jCheckSoundEnable = new javax.swing.JCheckBox();\n        jButtonCancel = new javax.swing.JButton();\n        jButtonOK = new javax.swing.JButton();\n        jSampleRateBox = new javax.swing.JComboBox();\n        jLabel2 = new javax.swing.JLabel();\n        jCheckMaintainAspect = new javax.swing.JCheckBox();\n        jLabel14 = new javax.swing.JLabel();\n        jCheckSoundFiltering = new javax.swing.JCheckBox();\n        jLabel15 = new javax.swing.JLabel();\n        volumeSlider = new javax.swing.JSlider();\n        jLabel17 = new javax.swing.JLabel();\n        jLabel18 = new javax.swing.JLabel();\n        jCheckBoxNTSC = new javax.swing.JCheckBox();\n        jLabel19 = new javax.swing.JLabel();\n        jSpinnerScale = new javax.swing.JSpinner();\n        jLabel20 = new javax.swing.JLabel();\n        jCheckBoxSmoothVideo = new javax.swing.JCheckBox();\n        jCheckBoxSleep = new javax.swing.JCheckBox();\n        jCheckBoxShowScope = new javax.swing.JCheckBox();\n        jCheckBoxNTView = new javax.swing.JCheckBox();\n        jLabel3 = new javax.swing.JLabel();\n        jRegionBox = new javax.swing.JComboBox();\n\n        setModalityType(java.awt.Dialog.ModalityType.APPLICATION_MODAL);\n        setName(\"OptionsDialog\"); // NOI18N\n        setResizable(false);\n\n        jLabel1.setText(\"Screen scaling: scale up \"); // NOI18N\n\n        jCheckSoundEnable.setText(\"Enable Sound\"); // NOI18N\n\n        jButtonCancel.setText(\"Cancel\"); // NOI18N\n        jButtonCancel.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButtonCancelActionPerformed(evt);\n            }\n        });\n\n        jButtonOK.setText(\"OK\"); // NOI18N\n        jButtonOK.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jButtonOKActionPerformed(evt);\n            }\n        });\n\n        jSampleRateBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { \"16000\", \"24000\", \"44100\", \"48000\",\"96000\" }));\n        jSampleRateBox.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jSampleRateBoxActionPerformed(evt);\n            }\n        });\n\n        jLabel2.setText(\"Sample Rate:\"); // NOI18N\n\n        jCheckMaintainAspect.setText(\"Maintain Aspect Ratio\"); // NOI18N\n\n        jLabel14.setText(\"Sound:\"); // NOI18N\n\n        jCheckSoundFiltering.setText(\"Enable Filtering\"); // NOI18N\n        jCheckSoundFiltering.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jCheckSoundFilteringActionPerformed(evt);\n            }\n        });\n\n        jLabel15.setText(\"Output Volume:\"); // NOI18N\n\n        volumeSlider.setMajorTickSpacing(8192);\n        volumeSlider.setMaximum(16384);\n        volumeSlider.setMinorTickSpacing(4096);\n        volumeSlider.setPaintTicks(true);\n        volumeSlider.setValue(80);\n\n        jLabel17.setText(\"0\"); // NOI18N\n\n        jLabel18.setText(\"100\"); // NOI18N\n\n        jCheckBoxNTSC.setText(\"Use NTSC TV Filter (Experimental)\");\n        jCheckBoxNTSC.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jCheckBoxNTSCActionPerformed(evt);\n            }\n        });\n\n        jLabel19.setText(\"Video options:\"); // NOI18N\n\n        jSpinnerScale.setModel(new javax.swing.SpinnerNumberModel(2, 1, 6, 1));\n\n        jLabel20.setText(\"times\"); // NOI18N\n\n        jCheckBoxSmoothVideo.setText(\"Use Smooth Scaling\");\n        jCheckBoxSmoothVideo.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jCheckBoxSmoothVideoActionPerformed(evt);\n            }\n        });\n\n        jCheckBoxSleep.setText(\"Sleep Between Frames\");\n        jCheckBoxSleep.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jCheckBoxSleepActionPerformed(evt);\n            }\n        });\n\n        jCheckBoxShowScope.setText(\"Show Audio Output\");\n\n        jCheckBoxNTView.setText(\"Show Nametable Viewer\");\n\n        jLabel3.setText(\"Console Region:\");\n\n        jRegionBox.setModel(new javax.swing.DefaultComboBoxModel(new String[] { \"Auto Detect\", \"NTSC\", \"PAL\", \"Dendy (Hybrid)\" }));\n        jRegionBox.addActionListener(new java.awt.event.ActionListener() {\n            public void actionPerformed(java.awt.event.ActionEvent evt) {\n                jRegionBoxActionPerformed(evt);\n            }\n        });\n\n        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());\n        getContentPane().setLayout(layout);\n        layout.setHorizontalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addContainerGap()\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()\n                        .addGap(0, 0, Short.MAX_VALUE)\n                        .addComponent(jButtonOK)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                        .addComponent(jButtonCancel))\n                    .addGroup(layout.createSequentialGroup()\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                            .addGroup(layout.createSequentialGroup()\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                                    .addGroup(layout.createSequentialGroup()\n                                        .addComponent(jLabel1)\n                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                                        .addComponent(jSpinnerScale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                                        .addComponent(jLabel20, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE))\n                                    .addComponent(jLabel19)\n                                    .addComponent(jCheckBoxNTSC)\n                                    .addComponent(jCheckMaintainAspect)\n                                    .addComponent(jCheckBoxSmoothVideo)\n                                    .addComponent(jCheckBoxSleep)\n                                    .addComponent(jCheckBoxShowScope)\n                                    .addComponent(jCheckBoxNTView))\n                                .addGap(18, 18, 18)\n                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)\n                                    .addComponent(volumeSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                    .addComponent(jLabel14)\n                                    .addComponent(jCheckSoundEnable)\n                                    .addComponent(jCheckSoundFiltering)\n                                    .addGroup(layout.createSequentialGroup()\n                                        .addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)\n                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                                        .addComponent(jSampleRateBox, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE))\n                                    .addComponent(jLabel15)\n                                    .addGroup(layout.createSequentialGroup()\n                                        .addComponent(jLabel17)\n                                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)\n                                        .addComponent(jLabel18))))\n                            .addGroup(layout.createSequentialGroup()\n                                .addComponent(jLabel3)\n                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)\n                                .addComponent(jRegionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))\n                        .addGap(0, 0, Short.MAX_VALUE)))\n                .addContainerGap())\n        );\n        layout.setVerticalGroup(\n            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n            .addGroup(layout.createSequentialGroup()\n                .addGap(6, 6, 6)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                    .addGroup(layout.createSequentialGroup()\n                        .addComponent(jLabel14)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckSoundEnable)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckSoundFiltering)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                            .addComponent(jLabel2)\n                            .addComponent(jSampleRateBox, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))\n                        .addGap(3, 3, 3)\n                        .addComponent(jLabel15)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(volumeSlider, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)\n                            .addComponent(jLabel17)\n                            .addComponent(jLabel18)))\n                    .addGroup(layout.createSequentialGroup()\n                        .addComponent(jLabel19)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                            .addComponent(jLabel1)\n                            .addComponent(jSpinnerScale, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)\n                            .addComponent(jLabel20))\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckBoxSmoothVideo)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckMaintainAspect)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckBoxNTSC)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckBoxSleep)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckBoxShowScope)\n                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                        .addComponent(jCheckBoxNTView)))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jLabel3)\n                    .addComponent(jRegionBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))\n                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)\n                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)\n                    .addComponent(jButtonOK)\n                    .addComponent(jButtonCancel))\n                .addContainerGap())\n        );\n\n        pack();\n    }// </editor-fold>//GEN-END:initComponents\n\n    private void jButtonCancelActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonCancelActionPerformed\n        if (\"Cancel\".equals(evt.getActionCommand())) {\n            this.setVisible(false);\n        }\n    }//GEN-LAST:event_jButtonCancelActionPerformed\n\n    private void jButtonOKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonOKActionPerformed\n        //    if (\"OK\".equals(evt.getActionCommand())) {\n        //here we go... save everything and hide the window\n        Preferences prefs = PrefsSingleton.get();\n        prefs.putBoolean(\"soundEnable\", jCheckSoundEnable.isSelected());\n        prefs.putBoolean(\"soundFiltering\", jCheckSoundFiltering.isSelected());\n        prefs.putBoolean(\"maintainAspect\", jCheckMaintainAspect.isSelected());\n        prefs.putBoolean(\"TVEmulation\", jCheckBoxNTSC.isSelected());\n        prefs.putBoolean(\"Sleep\", jCheckBoxSleep.isSelected());\n        screenScaling = (Integer) (jSpinnerScale.getModel().getValue());\n        prefs.putBoolean(\"smoothScaling\", jCheckBoxSmoothVideo.isSelected());\n        prefs.putBoolean(\"showScope\", jCheckBoxShowScope.isSelected());\n        prefs.putBoolean(\"ntView\", jCheckBoxNTView.isSelected());\n        prefs.putInt(\"screenScaling\", screenScaling);\n        prefs.putInt(\"sampleRate\", Integer.parseInt(jSampleRateBox.getSelectedItem().toString()));\n        prefs.putInt(\"outputvol\", volumeSlider.getValue());\n        prefs.putInt(\"region\", jRegionBox.getSelectedIndex());\n        try {\n            prefs.flush();\n        } catch (BackingStoreException ex) {\n            Logger.getLogger(PreferencesDialog.class.getName()).log(Level.SEVERE, null, ex);\n        }\n        okClicked = true;\n        this.setVisible(false);\n        //   }\n    }//GEN-LAST:event_jButtonOKActionPerformed\n    public boolean okClicked() {\n        return okClicked;\n    }\n    private void jSampleRateBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jSampleRateBoxActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jSampleRateBoxActionPerformed\n\n    private void jCheckSoundFilteringActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckSoundFilteringActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jCheckSoundFilteringActionPerformed\n\n    private void jCheckBoxNTSCActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxNTSCActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jCheckBoxNTSCActionPerformed\n\n    private void jCheckBoxSmoothVideoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxSmoothVideoActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jCheckBoxSmoothVideoActionPerformed\n\n    private void jCheckBoxSleepActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jCheckBoxSleepActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jCheckBoxSleepActionPerformed\n\n    private void jRegionBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jRegionBoxActionPerformed\n        // TODO add your handling code here:\n    }//GEN-LAST:event_jRegionBoxActionPerformed\n    // Variables declaration - do not modify//GEN-BEGIN:variables\n    private javax.swing.ButtonGroup buttonGroup1;\n    private javax.swing.JButton jButtonCancel;\n    private javax.swing.JButton jButtonOK;\n    private javax.swing.JCheckBox jCheckBoxNTSC;\n    private javax.swing.JCheckBox jCheckBoxNTView;\n    private javax.swing.JCheckBox jCheckBoxShowScope;\n    private javax.swing.JCheckBox jCheckBoxSleep;\n    private javax.swing.JCheckBox jCheckBoxSmoothVideo;\n    private javax.swing.JCheckBox jCheckMaintainAspect;\n    private javax.swing.JCheckBox jCheckSoundEnable;\n    private javax.swing.JCheckBox jCheckSoundFiltering;\n    private javax.swing.JLabel jLabel1;\n    private javax.swing.JLabel jLabel14;\n    private javax.swing.JLabel jLabel15;\n    private javax.swing.JLabel jLabel17;\n    private javax.swing.JLabel jLabel18;\n    private javax.swing.JLabel jLabel19;\n    private javax.swing.JLabel jLabel2;\n    private javax.swing.JLabel jLabel20;\n    private javax.swing.JLabel jLabel3;\n    private javax.swing.JComboBox jRegionBox;\n    private javax.swing.JComboBox jSampleRateBox;\n    private javax.swing.JSpinner jSpinnerScale;\n    private javax.swing.JSlider volumeSlider;\n    // End of variables declaration//GEN-END:variables\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/PuppetController.java",
    "content": "package com.grapeshot.halfnes.ui;\n\nimport static com.grapeshot.halfnes.utils.BIT0;\nimport static com.grapeshot.halfnes.utils.BIT1;\nimport static com.grapeshot.halfnes.utils.BIT2;\nimport static com.grapeshot.halfnes.utils.BIT3;\nimport static com.grapeshot.halfnes.utils.BIT4;\nimport static com.grapeshot.halfnes.utils.BIT5;\nimport static com.grapeshot.halfnes.utils.BIT6;\nimport static com.grapeshot.halfnes.utils.BIT7;\n\n/**\n * Created by skaggsm on 12/5/15.\n */\npublic class PuppetController implements ControllerInterface {\n    private int latchbyte = 0, controllerbyte = 0, outbyte = 0;\n\n    @Override\n    public void strobe() {\n        //shifts a byte out\n        outbyte = latchbyte & 1;\n        latchbyte = ((latchbyte >> 1) | 0x100);\n    }\n\n    @Override\n    public void output(boolean state) {\n        latchbyte = controllerbyte;\n    }\n\n    @Override\n    public int peekOutput() {\n        return latchbyte;\n    }\n\n    @Override\n    public int getbyte() {\n        return outbyte;\n    }\n\n    public void resetButtons() {\n        controllerbyte = 0;\n    }\n\n    public void releaseButton(Button button) {\n        switch (button) {\n            case UP:\n                controllerbyte &= ~BIT4;\n                break;\n            case DOWN:\n                controllerbyte &= ~BIT5;\n                break;\n            case LEFT:\n                controllerbyte &= ~BIT6;\n                break;\n            case RIGHT:\n                controllerbyte &= ~BIT7;\n                break;\n            case A:\n                controllerbyte &= ~BIT0;\n                break;\n            case B:\n                controllerbyte &= ~BIT1;\n                break;\n            case SELECT:\n                controllerbyte &= ~BIT2;\n                break;\n            case START:\n                controllerbyte &= ~BIT3;\n                break;\n        }\n    }\n\n    public void pressButton(Button button) {\n        switch (button) {\n            case UP:\n                controllerbyte |= BIT4;\n                break;\n            case DOWN:\n                controllerbyte |= BIT5;\n                break;\n            case LEFT:\n                controllerbyte |= BIT6;\n                break;\n            case RIGHT:\n                controllerbyte |= BIT7;\n                break;\n            case A:\n                controllerbyte |= BIT0;\n                break;\n            case B:\n                controllerbyte |= BIT1;\n                break;\n            case SELECT:\n                controllerbyte |= BIT2;\n                break;\n            case START:\n                controllerbyte |= BIT3;\n                break;\n        }\n    }\n\n    public enum Button {\n        UP, DOWN, LEFT, RIGHT, A, B, SELECT, START\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/ui/SwingUI.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.ui;\n\nimport com.grapeshot.halfnes.FileUtils;\nimport com.grapeshot.halfnes.NES;\nimport com.grapeshot.halfnes.PrefsSingleton;\nimport com.grapeshot.halfnes.video.RGBRenderer;\nimport com.grapeshot.halfnes.cheats.ActionReplay;\nimport com.grapeshot.halfnes.cheats.ActionReplayGui;\nimport com.grapeshot.halfnes.video.NTSCRenderer;\nimport com.grapeshot.halfnes.video.Renderer;\nimport java.awt.*;\nimport java.awt.datatransfer.DataFlavor;\nimport java.awt.datatransfer.Transferable;\nimport java.awt.datatransfer.UnsupportedFlavorException;\nimport java.awt.event.*;\nimport java.awt.image.BufferStrategy;\nimport java.awt.image.BufferedImage;\nimport java.io.File;\nimport java.io.FileInputStream;\nimport java.io.FileOutputStream;\nimport java.io.IOException;\nimport java.util.ArrayList;\nimport java.util.Enumeration;\nimport java.util.List;\nimport java.util.zip.ZipEntry;\nimport java.util.zip.ZipFile;\nimport java.util.zip.ZipInputStream;\nimport javax.swing.*;\n\npublic class SwingUI extends JFrame implements GUIInterface {\n\n    private Canvas canvas;\n    private BufferStrategy buffer;\n    private NES nes;\n    private static final long serialVersionUID = 6411494245530679723L;\n    private final AL listener = new AL();\n    private int screenScaleFactor;\n    private final long[] frametimes = new long[60];\n    private int frametimeptr = 0;\n    private boolean smoothScale, inFullScreen = false;\n    private GraphicsDevice gd;\n    private int NES_HEIGHT, NES_WIDTH;\n    private Renderer renderer;\n    private final ControllerImpl padController1, padController2;\n\n    public SwingUI() {\n        nes = new NES(this);\n        screenScaleFactor = PrefsSingleton.get().getInt(\"screenScaling\", 2);\n        padController1 = new ControllerImpl(this, 0);\n        padController2 = new ControllerImpl(this, 1);\n        nes.setControllers(padController1, padController2);\n        padController1.startEventQueue();\n        padController2.startEventQueue();\n    }\n\n    @Override\n    public NES getNes() {\n        return nes;\n    }\n\n    @Override\n    public void setNES(NES nes) {\n        this.nes = nes;\n    }\n\n    public synchronized void setRenderOptions() {\n        if (canvas != null) {\n            this.remove(canvas);\n        }\n        screenScaleFactor = PrefsSingleton.get().getInt(\"screenScaling\", 2);\n        smoothScale = PrefsSingleton.get().getBoolean(\"smoothScaling\", false);\n        if (PrefsSingleton.get().getBoolean(\"TVEmulation\", false)) {\n            renderer = new NTSCRenderer();\n            NES_WIDTH = 302;\n        } else {\n            renderer = new RGBRenderer();\n            NES_WIDTH = 256;\n        }\n        if (PrefsSingleton.get().getInt(\"region\", 0) > 1) {\n            NES_HEIGHT = 240;\n            renderer.setClip(0);\n        } else {\n            NES_HEIGHT = 224;\n            renderer.setClip(8);\n        }\n\n        // Create canvas for painting\n        canvas = new Canvas();\n        canvas.setSize(NES_WIDTH * screenScaleFactor, NES_HEIGHT * screenScaleFactor);\n        canvas.setEnabled(false); //otherwise it steals input events.\n        // Add canvas to game window\n        this.add(canvas);\n        this.pack();\n        canvas.createBufferStrategy(2);\n        buffer = canvas.getBufferStrategy();\n    }\n    \n\tpublic void start(String[] args) {\n        if (args == null || args.length < 1 || args[0] == null) {\n            nes.run();\n        } else {\n            nes.run(args[0]);\n        }\n\t}\n\n    @Override\n    public synchronized void run() {\n        //construct window\n        this.setTitle(\"HalfNES \" + NES.VERSION);\n        this.setResizable(false);\n        buildMenus();\n        setRenderOptions();\n        this.getRootPane().registerKeyboardAction(listener, \"Escape\",\n                KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);\n        this.getRootPane().registerKeyboardAction(listener, \"Toggle Fullscreen\",\n                KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0), JComponent.WHEN_IN_FOCUSED_WINDOW);\n        this.getRootPane().registerKeyboardAction(listener, \"Quit\",\n                KeyStroke.getKeyStroke(KeyEvent.VK_F4, KeyEvent.ALT_DOWN_MASK), JComponent.WHEN_IN_FOCUSED_WINDOW);\n        this.setLocation(PrefsSingleton.get().getInt(\"windowX\", 0),\n                PrefsSingleton.get().getInt(\"windowY\", 0));\n        this.addWindowListener(listener);\n        this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);\n\n        this.setVisible(true);\n        // Create BackBuffer\n\n        //now add the drag and drop handler.\n        TransferHandler handler = new TransferHandler() {\n            @Override\n            public boolean canImport(final TransferHandler.TransferSupport support) {\n                if (!support.isDataFlavorSupported(DataFlavor.javaFileListFlavor)) {\n                    return false;\n                }\n\n                return true;\n            }\n\n            @Override\n            public boolean importData(final TransferHandler.TransferSupport support) {\n                if (!canImport(support)) {\n                    return false;\n                }\n                Transferable t = support.getTransferable();\n                try {\n                    //holy typecasting batman (this interface predates generics)\n                    File toload = (File) ((java.util.List) t.getTransferData(DataFlavor.javaFileListFlavor)).get(0);\n                    loadROM(toload.getCanonicalPath());\n                } catch (UnsupportedFlavorException e) {\n                    return false;\n                } catch (IOException e) {\n                    return false;\n                }\n                return true;\n            }\n        };\n        this.setTransferHandler(handler);\n    }\n\n    public void buildMenus() {\n        JMenuBar menus = new JMenuBar();\n        JMenu file = new JMenu(\"File\");\n        JMenuItem item;\n        file.add(item = new JMenuItem(\"Open ROM\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_O,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        file.addSeparator();\n\n        file.add(item = new JMenuItem(\"Preferences\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_P,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        file.addSeparator();\n\n        file.add(item = new JMenuItem(\"Toggle Fullscreen\"));\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0));\n        item.addActionListener(listener);\n        menus.add(file);\n\n        file.add(item = new JMenuItem(\"Quit\"));\n        item.addActionListener(listener);\n        menus.add(file);\n\n        JMenu nesmenu = new JMenu(\"NES\");\n        nesmenu.add(item = new JMenuItem(\"Reset\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_R,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.add(item = new JMenuItem(\"Hard Reset\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_T,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.add(item = new JMenuItem(\"Pause\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F7, 0));\n\n        nesmenu.add(item = new JMenuItem(\"Resume\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F8, 0));\n\n        nesmenu.add(item = new JMenuItem(\"Fast Forward\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_SPACE,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.add(item = new JMenuItem(\"Frame Advance\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_PERIOD,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.addSeparator();\n\n        nesmenu.add(item = new JMenuItem(\"Controller Settings\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.add(item = new JMenuItem(\"Cheat Codes\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F10,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        nesmenu.addSeparator();\n\n        nesmenu.add(item = new JMenuItem(\"ROM Info\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_I,\n                Toolkit.getDefaultToolkit().getMenuShortcutKeyMask()));\n\n        menus.add(nesmenu);\n\n        JMenu help = new JMenu(\"Help\");\n        help.add(item = new JMenuItem(\"About\"));\n        item.addActionListener(listener);\n        item.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0));\n        menus.add(help);\n        this.setJMenuBar(menus);\n    }\n\n    public void loadROM() {\n        FileDialog fileDialog = new FileDialog(this);\n        fileDialog.setMode(FileDialog.LOAD);\n        fileDialog.setTitle(\"Select a ROM to load\");\n        //should open last folder used, and if that doesn't exist, the folder it's running in\n        final String path = PrefsSingleton.get().get(\"filePath\", System.getProperty(\"user.dir\", \"\"));\n        final File startDirectory = new File(path);\n        if (startDirectory.isDirectory()) {\n            fileDialog.setDirectory(path);\n        }\n        //and if the last path used doesn't exist don't set the directory at all\n        //and hopefully the jFileChooser will open somewhere usable\n        //on Windows it does - on Mac probably not.\n        fileDialog.setFilenameFilter(new NESFileFilter());\n        boolean wasInFullScreen = false;\n        if (inFullScreen) {\n            wasInFullScreen = true;\n            //load dialog won't show if we are in full screen, so this fixes for now.\n            toggleFullScreen();\n        }\n        fileDialog.setVisible(true);\n        if (fileDialog.getFile() != null) {\n            PrefsSingleton.get().put(\"filePath\", fileDialog.getDirectory());\n            loadROM(fileDialog.getDirectory() + fileDialog.getFile());\n        }\n        if (wasInFullScreen) {\n            toggleFullScreen();\n        }\n    }\n\n    private void loadROM(String path) {\n        if (path.endsWith(\".zip\") || path.endsWith(\".ZIP\")) {\n            try {\n                loadRomFromZip(path);\n            } catch (IOException ex) {\n                this.messageBox(\"Could not load file:\\nFile does not exist or is not a valid NES game.\\n\" + ex.getMessage());\n            }\n        } else {\n            nes.loadROM(path);\n        }\n    }\n\n    private void loadRomFromZip(String zipName) throws IOException {\n        final String romName = selectRomInZip(listRomsInZip(zipName));\n        if (romName != null) {\n            final File extractedFile = extractRomFromZip(zipName, romName);\n            if (extractedFile != null) {\n                extractedFile.deleteOnExit();\n                nes.loadROM(extractedFile.getCanonicalPath());\n            }\n        }\n    }\n\n    private List<String> listRomsInZip(String zipName) throws IOException {\n        final ZipFile zipFile = new ZipFile(zipName);\n        final Enumeration<? extends ZipEntry> zipEntries = zipFile.entries();\n        final List<String> romNames = new ArrayList<>();\n        while (zipEntries.hasMoreElements()) {\n            final ZipEntry entry = zipEntries.nextElement();\n            if (!entry.isDirectory() && (entry.getName().endsWith(\".nes\")\n                    || entry.getName().endsWith(\".fds\")\n                    || entry.getName().endsWith(\".nsf\"))) {\n                romNames.add(entry.getName());\n            }\n        }\n        zipFile.close();\n        if (romNames.isEmpty()) {\n            throw new IOException(\"No NES games found in ZIP file.\");\n        }\n        return romNames;\n    }\n\n    private String selectRomInZip(List<String> romNames) {\n        if (romNames.size() > 1) {\n            return (String) JOptionPane.showInputDialog(this,\n                    \"Select ROM to load\", \"Select ROM to load\",\n                    JOptionPane.PLAIN_MESSAGE, null,\n                    romNames.toArray(), romNames.get(0));\n        } else if (romNames.size() == 1) {\n            return romNames.get(0);\n        }\n        return null;\n    }\n\n    private File extractRomFromZip(String zipName, String romName) throws IOException {\n        final ZipInputStream zipStream = new ZipInputStream(new FileInputStream(zipName));\n        ZipEntry entry;\n        do {\n            entry = zipStream.getNextEntry();\n        } while ((entry != null) && (!entry.getName().equals(romName)));\n        if (entry == null) {\n            zipStream.close();\n            throw new IOException(\"Cannot find file \" + romName + \" inside archive \" + zipName);\n        }\n        //name temp. extracted file after parent zip and file inside\n\n        //note: here's the bug, when it saves the temp file if it's in a folder \n        //in the zip it's trying to put it in the same folder outside the zip\n        final File outputFile = new File(new File(zipName).getParent()\n                + File.separator + FileUtils.stripExtension(new File(zipName).getName())\n                + \" - \" + romName);\n        if (outputFile.exists()) {\n            this.messageBox(\"Cannot extract file. File \" + outputFile.getCanonicalPath() + \" already exists.\");\n            zipStream.close();\n            return null;\n        }\n        final byte[] buf = new byte[4096];\n        final FileOutputStream fos = new FileOutputStream(outputFile);\n        int numBytes;\n        while ((numBytes = zipStream.read(buf, 0, buf.length)) != -1) {\n            fos.write(buf, 0, numBytes);\n        }\n        zipStream.close();\n        fos.close();\n        return outputFile;\n    }\n\n    public synchronized void toggleFullScreen() {\n        if (inFullScreen) { // disable\n            this.dispose();\n            gd.setFullScreenWindow(null);\n            canvas.setSize(NES_HEIGHT * screenScaleFactor, NES_WIDTH * screenScaleFactor);\n            this.setUndecorated(false);\n            this.setVisible(true);\n            inFullScreen = false;\n            buildMenus();\n            // nes.resume();\n        } else { // enable\n            setJMenuBar(null);\n            gd = getGraphicsConfiguration().getDevice();\n            if (!gd.isFullScreenSupported()) {\n                //then fullscreen will give a window the size of the screen instead\n                messageBox(\"Fullscreen is not supported by your OS or version of Java.\");\n                return;\n            }\n            this.dispose();\n            this.setUndecorated(true);\n\n            gd.setFullScreenWindow(this);\n            this.setVisible(true);\n            \n            DisplayMode dm = gd.getDisplayMode();\n            canvas.setSize(dm.getWidth(), dm.getHeight());\n\n            inFullScreen = true;\n        }\n    }\n\n    @Override\n    public void messageBox(final String message) {\n        JOptionPane.showMessageDialog(this, message);\n    }\n    int bgcolor;\n    BufferedImage frame;\n    double fps;\n    int frameskip = 0;\n\n    @Override\n    public final synchronized void setFrame(final int[] nextframe, final int[] bgcolors, boolean dotcrawl) {\n        //todo: stop running video filters while paused!\n        //also move video filters into a worker thread because they\n        //don't really depend on emulation state at all. Yes this is going to\n        //cause more lag but it will hopefully get back up to playable speed with NTSC filter\n\n        frametimes[frametimeptr] = nes.getFrameTime();\n        ++frametimeptr;\n        frametimeptr %= frametimes.length;\n\n        if (frametimeptr == 0) {\n            long averageframes = 0;\n            for (long l : frametimes) {\n                averageframes += l;\n            }\n            averageframes /= frametimes.length;\n            fps = 1E9 / averageframes;\n            this.setTitle(String.format(\"HalfNES %s - %s, %2.2f fps\"\n                    + ((frameskip > 0) ? \" frameskip \" + frameskip : \"\"),\n                    NES.VERSION,\n                    nes.getCurrentRomName(),\n                    fps));\n        }\n        if (nes.framecount % (frameskip + 1) == 0) {\n            frame = renderer.render(nextframe, bgcolors, dotcrawl);\n            render();\n        }\n    }\n\n    @Override\n    public final synchronized void render() {\n        final Graphics graphics = buffer.getDrawGraphics();\n        if (smoothScale) {\n            ((Graphics2D) graphics).setRenderingHint(RenderingHints.KEY_INTERPOLATION, RenderingHints.VALUE_INTERPOLATION_BILINEAR);\n        }\n        if (inFullScreen) {\n            graphics.setColor(Color.BLACK);\n            DisplayMode dm = gd.getDisplayMode();\n            int scrnheight = dm.getHeight();\n            int scrnwidth = dm.getWidth();\n            graphics.fillRect(0, 0, scrnwidth, scrnheight);\n            if (PrefsSingleton.get().getBoolean(\"maintainAspect\", true)) {\n                double scalefactor = getmaxscale(scrnwidth, scrnheight);\n                int height = (int) (NES_HEIGHT * scalefactor);\n                int width = (int) (256 * scalefactor * 1.1666667);\n                graphics.drawImage(frame, ((scrnwidth / 2) - (width / 2)),\n                        ((scrnheight / 2) - (height / 2)),\n                        width,\n                        height,\n                        null);\n            } else {\n                graphics.drawImage(frame, 0, 0,\n                        scrnwidth,\n                        scrnheight,\n                        null);\n            }\n            graphics.setColor(Color.DARK_GRAY);\n            graphics.drawString(this.getTitle(), 16, 16);\n\n        } else {\n            graphics.drawImage(frame, 0, 0, NES_WIDTH * screenScaleFactor, NES_HEIGHT * screenScaleFactor, null);\n        }\n\n        graphics.dispose();\n        buffer.show();\n\n    }\n\n    private void showOptions() {\n        final PreferencesDialog dialog = new PreferencesDialog(this);\n        dialog.setVisible(true);\n        if (dialog.okClicked()) {\n            setRenderOptions();\n            nes.setParameters();\n        }\n    }\n\n    private void showControlsDialog() {\n        final ControlsDialog dialog = new ControlsDialog(this);\n        dialog.setVisible(true);\n        if (dialog.okClicked()) {\n            padController1.setButtons();\n            padController2.setButtons();\n        }\n    }\n\n    private void showActionReplayDialog() {\n        nes.pause();\n        final ActionReplay actionReplay = nes.getActionReplay();\n        if (actionReplay != null) {\n            final ActionReplayGui dialog = new ActionReplayGui(this, false, actionReplay);\n            dialog.setVisible(true);\n        } else {\n            JOptionPane.showMessageDialog(this, \"You have to load a game first.\", \"No ROM\", JOptionPane.ERROR_MESSAGE);\n        }\n        nes.resume();\n    }\n\n    public void savewindowposition() {\n        PrefsSingleton.get().putInt(\"windowX\", this.getX());\n        PrefsSingleton.get().putInt(\"windowY\", this.getY());\n    }\n\n    private double getmaxscale(final int width, final int height) {\n        return Math.min(height / (double) NES_HEIGHT, width / (double) NES_WIDTH);\n    }\n\n    @Override\n    public void loadROMs(String path) {\n        throw new UnsupportedOperationException(\"Not supported yet.\"); //To change body of generated methods, choose Tools | Templates.\n    }\n\n    public class AL implements ActionListener, WindowListener {\n\n        @Override\n        public void actionPerformed(final ActionEvent arg0) {\n            // placeholder for more robust handler\n            if (arg0.getActionCommand().equals(\"Quit\")) {\n                close();\n            } else if (arg0.getActionCommand().equals(\"Reset\")) {\n                nes.reset();\n            } else if (arg0.getActionCommand().equals(\"Hard Reset\")) {\n                nes.reloadROM();\n            } else if (arg0.getActionCommand().equals(\"Pause\")) {\n                nes.pause();\n            } else if (arg0.getActionCommand().equals(\"Resume\")) {\n                nes.resume();\n            } else if (arg0.getActionCommand().equals(\"Preferences\")) {\n                showOptions();\n            } else if (arg0.getActionCommand().equals(\"Fast Forward\")) {\n                nes.toggleFrameLimiter();\n            } else if (arg0.getActionCommand().equals(\"About\")) {\n                messageBox(\"HalfNES \" + NES.VERSION\n                        + \"\\n\"\n                        + \"Get the latest version and report any bugs at \" + NES.URL + \" \\n\"\n                        + \"\\n\"\n                        + \"This program is free software licensed under the GPL version 3, and comes with \\n\"\n                        + \"NO WARRANTY of any kind. (but if something's broken, please report it). \\n\"\n                        + \"See the license.txt file for details.\");\n            } else if (arg0.getActionCommand().equals(\"ROM Info\")) {\n                String info = nes.getrominfo();\n                if (info != null) {\n                    messageBox(info);\n                }\n            } else if (arg0.getActionCommand().equals(\"Open ROM\")) {\n                loadROM();\n            } else if (arg0.getActionCommand().equals(\"Toggle Fullscreen\")) {\n                toggleFullScreen();\n            } else if (arg0.getActionCommand().equals(\"Frame Advance\")) {\n                nes.frameAdvance();\n            } else if (arg0.getActionCommand().equals(\"Escape\")) {\n                if (inFullScreen) {\n                    toggleFullScreen();\n                } else {\n                    close();\n                }\n            } else if (arg0.getActionCommand().equals(\"Controller Settings\")) {\n                showControlsDialog();\n            } else if (arg0.getActionCommand().equals(\"Cheat Codes\")) {\n                showActionReplayDialog();\n            }\n        }\n\n        @Override\n        public void windowOpened(WindowEvent e) {\n        }\n\n        @Override\n        public void windowClosing(WindowEvent e) {\n            close();\n        }\n\n        private void close() {\n            dispose();\n            savewindowposition();\n            padController1.stopEventQueue();\n            padController2.stopEventQueue();\n            nes.quit();\n        }\n\n        @Override\n        public void windowClosed(WindowEvent e) {\n            //we don't care about these events\n        }\n\n        @Override\n        public void windowIconified(WindowEvent e) {\n            //but java wants us to implement something for all of them\n        }\n\n        @Override\n        public void windowDeiconified(WindowEvent e) {\n            //so we can use the interface.\n        }\n\n        @Override\n        public void windowActivated(WindowEvent e) {\n        }\n\n        @Override\n        public void windowDeactivated(WindowEvent e) {\n        }\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/utils.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes;\n\nimport java.util.Locale;\n\npublic class utils {\n\n    private utils() {}\n    \n    public final static int BIT0 = 1, BIT1 = 2, BIT2 = 4, BIT3 = 8, BIT4 = 16,\n            BIT5 = 32, BIT6 = 64, BIT7 = 128, BIT8 = 256, BIT9 = 512,\n            BIT10 = 1024, BIT11 = 2048, BIT12 = 4096, BIT13 = 8192,\n            BIT14 = 16384, BIT15 = 32768;\n\n    public static int setbit(final int num, final int bitnum, final boolean state) {\n        return (state) ? (num | (1 << bitnum)) : (num & ~(1 << bitnum));\n    }\n\n    public static String hex(final int num) {\n        String s = Integer.toHexString(num).toUpperCase(Locale.US);\n        if ((s.length() & 1) == 1) {\n            s = \"0\" + s;\n        }\n        return s;\n    }\n\n    public static String hex(final long num) {\n        String s = Long.toHexString(num).toUpperCase(Locale.US);\n        if ((s.length() & 1) == 1) {\n            s = \"0\" + s;\n        }\n        return s;\n    }\n\n    public static int reverseByte(int nibble) {\n        //reverses 8 bits packed into int.\n        return (Integer.reverse(nibble) >> 24) & 0xff;\n    }\n\n    public static void printarray(final int[] a) {\n        StringBuilder s = new StringBuilder();\n        for (int i : a) {\n            s.append(i);\n            s.append(\", \");\n        }\n        if (s.length() >= 1) {\n            s.deleteCharAt(s.length() - 1);\n        }\n        s.append(\"\\n\");\n        System.err.print(s.toString());\n    }\n\n    public static void printarray(final boolean[] a) {\n        StringBuilder s = new StringBuilder();\n        for (boolean i : a) {\n            s.append(i);\n            s.append(\", \");\n        }\n        if (s.length() >= 1) {\n            s.deleteCharAt(s.length() - 1);\n        }\n        s.append(\"\\n\");\n        System.err.print(s.toString());\n    }\n\n    public static void printarray(final double[] a) {\n        StringBuilder s = new StringBuilder();\n        for (double i : a) {\n            s.append(i);\n            s.append(\", \");\n        }\n        if (s.length() >= 1) {\n            s.deleteCharAt(s.length() - 1);\n        }\n        s.append(\"\\n\");\n        System.err.print(s.toString());\n    }\n\n    public static void printarray(final float[] a) {\n        StringBuilder s = new StringBuilder();\n        for (float i : a) {\n            s.append(i);\n            s.append(\", \");\n        }\n        if (s.length() >= 1) {\n            s.deleteCharAt(s.length() - 1);\n        }\n        s.append(\"\\n\");\n        System.err.print(s.toString());\n    }\n\n    public static void printarray(final Object[] a) {\n        StringBuilder s = new StringBuilder();\n        for (Object i : a) {\n            s.append(i.toString());\n            s.append(\", \");\n        }\n        if (s.length() >= 1) {\n            s.deleteCharAt(s.length() - 1);\n        }\n        s.append(\"\\n\");\n        System.err.print(s.toString());\n    }\n\n    public static int max(final int[] array) {\n        int m = array[0];\n        for (Integer i : array) {\n            if (i > m) {\n                m = i;\n            }\n        }\n        return m;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/video/AltNTSCRenderer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.video;\n\nimport java.awt.image.BufferedImage;\nimport com.grapeshot.halfnes.utils;\nimport com.grapeshot.halfnes.utils;\n\n/**\n *\n * @author Andrew\n */\n//Direct port of Bisqwit's code on the wiki. (probably just as slow, we'll see.)\n//yep, it's WORSE\n//the expensive part is the Math function calls of course\npublic class AltNTSCRenderer extends Renderer {\n\n    public AltNTSCRenderer() {\n        frame_width = 604;\n        init_images();\n//        for (int i = 0; i < 12; ++i) {\n//            System.err.println(inColorPhase( 3, i));\n//        };\n    }\n    private final int[] frame = new int[width * 240];\n    private int frame_ptr = 0;\n    private int frame_ctr;\n    private int phase;\n    private final static double attenuation = 0.746;\n    private final static double[] levels = {\n        -0.117f, 0.000f, 0.308f, 0.715f,\n        0.397f, 0.681f, 1.0f, 1.0f\n    //0x00    0x10    0x20    0x30\n    };\n    private final static int SAMPLESPERPIXEL = 8;\n\n    @Override\n    public BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl) {\n        ++frame_ctr;\n        if ((frame_ctr & 1) == 0) {\n            phase = 0;\n        } else {\n            phase = 6;\n        }\n        for (int i = 0; i < 240; ++i) {\n            double phi = (phase + 3.9 - 0.3) % 12;\n            for (int j = 0; j < 256; ++j) {\n                ntsc_render(nespixels[i * 256 + j]);\n            }\n            ntsc_decode(phi);\n            ntsc_buf_ptr = 0;\n        }\n        frame_ptr = 0;\n        return getBufferedImage(frame);\n    }\n\n    private void ntsc_render(int pixel) {\n        int color = pixel & 0xf;\n        int level = (pixel >> 4) & 3;\n        int emphasis = (pixel >> 6);\n        if (color > 13) {\n            level = 1;\n        }\n        double low = levels[level];\n        double high = levels[4 + level];\n        if (color == 0) {\n            low = high;\n        } else if (color > 12) {\n            high = low;\n        }\n        for (int i = 0; i < SAMPLESPERPIXEL; ++i, ++phase) {\n            double signal = inColorPhase(color, phase) ? high : low;\n            if (emphasis != 0) {\n                if ((((emphasis & (utils.BIT0)) != 0) && inColorPhase(0, phase))\n                        || (((emphasis & (utils.BIT1)) != 0) && inColorPhase(4, phase))\n                        || (((emphasis & (utils.BIT2)) != 0) && inColorPhase(8, phase))) {\n                    signal *= attenuation;\n                }\n            }\n            signal_levels[ntsc_buf_ptr++] = signal;\n        }\n    }\n\n    private static boolean inColorPhase(final int color, final int phase) {\n        return (color + phase) % 12 < 6;\n    }\n    private final double[] signal_levels = new double[256 * SAMPLESPERPIXEL];\n    private int ntsc_buf_ptr = 0;\n    private final static int width = 604;\n\n    private void ntsc_decode(final double phase) {\n        for (int x = 0; x < width; ++x) {\n            int center = x * (256 * SAMPLESPERPIXEL) / width + 0;\n            int begin = center - 6;\n            if (begin < 0) {\n                begin = 0;\n            }\n            int end = center + 6;\n            if (end > 256 * SAMPLESPERPIXEL) {\n                end = (256 * SAMPLESPERPIXEL);\n            }\n            double y = 0, i = 0, q = 0;\n            for (int p = begin; p < end; ++p) {\n                double level = signal_levels[p] / 12.;\n                y += level;\n                i += level * Math.cos(Math.PI * (phase + p) / 6.);\n                q += level * Math.sin(Math.PI * (phase + p) / 6.);\n            }\n            render_pixel(y, i, q);\n        }\n    }\n\n    private void render_pixel(final double y, final double i, final double q) {\n\n        final int rgb = 0xff000000\n                | 0x10000 * clamp(255.95 * gammafix(y + 0.946882f * i + 0.623557f * q))\n                + 0x00100 * clamp(255.95 * gammafix(y + -0.274788f * i + -0.635691f * q))\n                + 0x00001 * clamp(255.95 * gammafix(y + -1.108545f * i + 1.709007f * q));\n        frame[frame_ptr++] = rgb;\n    }\n\n    public static int clamp(final double a) {\n        return (int) ((a < 0) ? 0 : ((a > 255) ? 255 : a));\n    }\n\n    public static double gammafix(double luma) {\n        final float gamma = 2.0f; // Assumed display gamma\n        return luma <= 0.f ? 0.f : Math.pow(luma, 2.2f / gamma);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/video/NTSCRenderer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.video;\n\nimport java.awt.image.*;\nimport java.util.*;\n\nimport java.util.zip.CRC32;\n\n/**\n *\n * @author Andrew\n */\npublic class NTSCRenderer extends Renderer {\n\n    private final static List<Integer> lines;\n    static {\n        lines = new ArrayList<>();\n        for (int line = 0; line < 240; ++line) {\n            lines.add(line);\n        }\n    }\n\n    //hm, if I downsampled these perfectly to 4Fsc i could get rid of matrix decode\n    //and the sine tables altogether...\n    private final static int[][] colorphases = { //int for alignment reasons\n        {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1},//0x00\n        {0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1},//0x01\n        {0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0},//0x02\n        {0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0},//0x03\n        {0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},//0x04\n        {0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0},//0x05\n        {0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0},//0x06\n        {1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0},//0x07\n        {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1},//0x08\n        {1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1},//0x09\n        {1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1},//0x0A\n        {1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1},//0x0B\n        {1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},//0x0C\n        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},//0x0D\n        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},//0x0E\n        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};//0x0F\n    //i would like to replace these tables with logic but it's a tricky shape\n    //for a Karnaugh map\n    private final static float[][][] lumas = genlumas();\n    private final static int[][] coloremph = {\n        {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},\n        {1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1},//X\n        {0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0},//Y\n        {1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1},//XY\n        {1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1},//Z\n        {1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1},//XZ\n        {1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1},//YZ\n        {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}};//XYZ\n    //private final static float sync = -0.359f;\n    private int frames = 0;\n    private final float[] i_filter = new float[12], q_filter = new float[12];\n    private final static int[] colortbl = genColorCorrectTbl();\n\n    public NTSCRenderer() {\n        frame_width = 704 * 3;\n        init_images();\n        int hue = -512;\n        double col_adjust = 1.2 / .707;\n        for (int j = 0; j < 12; ++j) {\n            float angle = (float) (Math.PI * ((hue + (j << 8)) / (12 * 128.0) - 33.0 / 180));\n            i_filter[j] = (float) (-col_adjust * Math.cos(angle));\n            q_filter[j] = (float) (col_adjust * Math.sin(angle));\n        }\n    }\n\n    public static int[] genColorCorrectTbl() {\n        int[] corr = new int[256];\n        //float gamma = 1.2;\n        float brightness = 20;\n        float contrast = 1;\n        for (int i = 0; i < 256; ++i) {\n            float br = (i * contrast - (128 * contrast) + 128 + brightness) / 255.f;\n            corr[i] = clamp((int) (255 * Math.pow(br, 1.3)));\n            //convert tv gamma image (~2.2-2.5) to computer gamma (~1.8)\n        }\n        return corr;\n    }\n\n    public static float[][][] genlumas() {\n        float[][] lumas = {\n            {-0.117f, 0.000f, 0.308f, 0.715f}, //low phase\n            //0x00    0x10    0x20    0x30\n            {0.397f, 0.681f, 1.0f, 1.0f} //high phase\n        };\n        float[][][] premultlumas = new float[lumas.length][lumas[0].length][2];\n        for (int i = 0; i < lumas.length; ++i) {\n            for (int j = 0; j < lumas[i].length; ++j) {\n                premultlumas[i][j][0] = lumas[i][j];\n                premultlumas[i][j][1] = lumas[i][j] * 0.735f;\n            }\n        }\n        return premultlumas;\n    }\n\n    public final float[] ntsc_encode(final int[] nescolors, final int offset, final int scanline, final int bgcolor) {\n        //part one of the process. creates a 2728 pxl array of floats representing\n        //ntsc version of scanline passed to it. Meant to be called 240x a frame\n\n        //todo:\n        //-make this encode an entire frame at a time\n        //-reduce # of array lookups (precalc. what is necessary)\n        int i, col = bgcolor & 0xf, lum = (bgcolor >> 4) & 3, emphasis = (bgcolor >> 6);\n        //luminance portion of nes color is bits 4-6, chrominance part is bits 1-3\n        //they are both used as the index into various tables\n        //the chroma generator chops between 2 different voltages from luma table \n        //at a constant rate but shifted phase.\n\n        //sync and front porch are not actually used by decoder so not implemented here\n        //dot 0-200:sync\n        //dot 200-232:black\n        //dot 232-352:colorburst\n        //dot 352-400:black  \n        //dot 520-2568:picture\n        //dot 400-520 and 2568-2656: background color\n        //dot 2656-2720:black\n        //but then i'm going to chop off before dot 240 and after 2656 b/c it's not used\n        //so after this comment, add 240 to any num. in this for dot #\n        final float[] sample = new float[2728 - 240];\n        for (i = 400 - 240; i < 520 - 240; ++i) { //bg color at beginning\n            final int phase = (i + offset) % 12;\n            final int hue = colorphases[col][phase];\n            sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];\n        }\n        for (i = 2568 - 240; i < 2656 - 240; ++i) { //bg color at end of line\n            final int phase = (i + offset) % 12;\n            final int hue = colorphases[col][phase];\n            sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];\n        }\n        for (i = 520 - 240; i < 2568 - 240; ++i) { //picture\n            if ((i & 7) == 0) {\n                col = nescolors[(((i - (520 - 240)) >> 3))];\n                if ((col & 0xf) > 0xd) {\n                    col = 0x0f;\n                }\n                lum = (col >> 4) & 3;\n                emphasis = (col >> 6);\n                col &= 0xf;\n            }\n            final int phase = (i + offset) % 12;\n            final int hue = colorphases[col][phase];\n            sample[i] = lumas[hue][lum][coloremph[emphasis][phase]];\n        }\n        sample[2728 - 241] = offset; //hack to not have to deal with a tuple\n        return sample;\n    }\n    public final static float chroma_filterfreq = 3579000.f, pixel_rate = 42950000.f;\n    private final static int[] cbstphase = {240 - 240, 0, 250 - 240, 0, 248 - 240, 0, 246 - 240, 0, 244 - 240, 0, 242 - 240, 0};\n    //starting point for color burst (depends on offset of previous line, even values not used in a progressive signal)\n\n    public final int[] ntsc_decode(final float[] ntsc, final int offset) {\n        final float[] chroma = new float[2656 - 240];\n        final float[] luma = new float[2656 - 240];\n        final float[] eye = new float[2656 - 240];\n        final float[] queue = new float[2656 - 240];\n        final int[] line = new int[frame_w];\n\n        //decodes one scan line of ntsc video and outputs as rgb packed in int\n        //uses the cheap TV method, which is filtering the chroma from the luma w/o\n        //combing or buffering previous lines\n        box_filter(ntsc, luma, chroma, 12);\n\n        for (int cbst = cbstphase[offset], j = 0; cbst < 2656 - 240 - 50; ++cbst, ++j, j %= 12) {\n            //matrix decode the color difference signals;\n            eye[cbst] = i_filter[j] * chroma[cbst + 12];\n            queue[cbst] = q_filter[j] * chroma[cbst + 12]; //comment out for teal and orange filter\n        }\n\n        lowpass_filter(eye, 0.06f);\n        lowpass_filter(queue, 0.05f);\n\n        for (int i = 0, x = 492 - 240; i < frame_w; ++i, ++x) {\n            line[i] = compose_col(\n                    ((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[0][0] * luma[x] + iqm[0][1] * eye[x] + iqm[0][2] * queue[x]))]),\n                    ((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[1][0] * luma[x] + iqm[1][1] * eye[x] + iqm[1][2] * queue[x]))]),\n                    ((luma[x] <= 0) ? 0 : colortbl[clamp((int) (iqm[2][0] * luma[x] + iqm[2][1] * eye[x] + iqm[2][2] * queue[x]))]));\n        }\n        return line;\n    }\n\n    public static void box_filter(final float[] in, final float[] lpout, final float[] hpout, final int order) {\n        float accum = 0;\n        for (int i = 12; i < 2656 - 240; ++i) {\n            accum += in[i] - in[i - order];\n            lpout[i] = accum / order;\n            hpout[i] = in[i] - lpout[i];\n        }\n    }\n\n    public static void lowpass_filter(final float[] arr, final float order) {\n        float b = 0;\n        for (int i = 0; i < 2656 - 240; ++i) {\n            arr[i] -= b;\n            b += arr[i] * order;\n            arr[i] = b;\n        }\n    }\n\n    private static int compose_col(int r, int g, int b) {\n        return (r << 16) | (g << 8) | (b) | 0xff000000;\n    }\n    private final static int[][] iqm = {{255, -244, 158}, {255, 69, -165}, {255, 282, 434}};\n\n    public static int clamp(final int a) {\n        return (a != (a & 0xff)) ? ((a < 0) ? 0 : 255) : a;\n    }\n    public final static int frame_w = 704 * 3;\n    int[] frame = new int[frame_w * 240];\n//    Kernel kernel = new Kernel(3, 3,\n//            new float[]{-.0625f, .125f, -.0625f,\n//                .125f, .75f, .125f,\n//                -.0625f, .125f, -.0625f});\n//    BufferedImageOp op = new ConvolveOp(kernel);\n\n    @Override\n    public BufferedImage render(final int[] nespixels, final int[] bgcolors, final boolean dotcrawl) {\n        // multithreaded filter\n        lines.parallelStream().forEach(line -> cacheRender(nespixels, line, bgcolors, dotcrawl));\n\n        BufferedImage i = getBufferedImage(frame);\n        ++frames;\n        //i = op.filter(i, null); //sharpen\n        return i;\n    }\n    //ConcurrentHashMap cache = new ConcurrentHashMap<Long, int[]>(600);\n    Map<Long, int[]> cache = Collections.synchronizedMap(new WeakHashMap<Long, int[]>(600));\n    //weak hash map allows things in it to be garbage collected\n\n    private void cacheRender(final int[] nespixels, final int line, final int[] bgcolors, final boolean dotcrawl) {\n\n        //first of all, increment scanline numbers and get the offset for this line.\n        int offset = ((frames & 1) == 0 && dotcrawl) ? 0 : 6;\n        offset = (4 * line + offset) % 12; //3 line dot crawl\n        final int[] inpixels = new int[256];\n        System.arraycopy(nespixels, line << 8, inpixels, 0, 256);\n        final long crc = crc32(inpixels, offset, bgcolors[line]);\n//        //you'd think crc32 would have too many collisions but i haven't seen a one\n        int[] outpixels;\n        outpixels = (int[]) cache.get(crc);\n        if (outpixels == null) { //not in cache\n            //could do with hints from the PPU here: if the entire screen is\n            //scrolling horizontally, the cache will be useless.\n            outpixels = ntsc_decode(ntsc_encode(inpixels, offset, line, bgcolors[line]), offset);\n           cache.put(crc, outpixels);\n        }\n\n        System.arraycopy(outpixels, 0, frame, line * frame_w, frame_w);\n    }\n\n    public static long crc32(int[] array, int offset, int bgcolor) {\n        CRC32 c = new CRC32();\n        for (int i : array) {\n            c.update(i);\n        }\n        //it's not immediately obvious, but this ONLY sets the CRC based on the\n        //blue channel of the output. Still works well though.\n        //You get some interesting compressiony effects if you only take the CRC\n        //of every 20th pixel to see if your line is the same.\n        //especially in sidescrolling things.\n        c.update(offset);\n        c.update(bgcolor);\n        return c.getValue();\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/video/NesColors.java",
    "content": "/*\n * To change this template, choose Tools | Templates\n * and open the template in the editor.\n */\npackage com.grapeshot.halfnes.video;\n\n/**\n *\n * @author Andrew\n */\npublic class NesColors {\n\n    private NesColors() {}\n    \n    private final static double att = 0.7;\n    public final static int[][] col = GetNESColors();\n    public final static byte[][][] colbytes = NESColorsToBytes(col);\n\n    private static int[][] GetNESColors() {\n        //just or's all the colors with opaque alpha and does the color emphasis calcs\n        //This set of colors matches current version of ntsc filter output\n        int[] colorarray = {\n            0x606060, 0x09268e, 0x1a11bd, 0x3409b6, 0x5e0982, 0x790939, 0x6f0c09, 0x511f09,\n            0x293709, 0x0d4809, 0x094e09, 0x094b17, 0x093a5a, 0x000000, 0x000000, 0x000000,\n            0xb1b1b1, 0x1658f7, 0x4433ff, 0x7d20ff, 0xb515d8, 0xcb1d73, 0xc62922, 0x954f09,\n            0x5f7209, 0x28ac09, 0x099c09, 0x099032, 0x0976a2, 0x090909, 0x000000, 0x000000,\n            0xffffff, 0x5dadff, 0x9d84ff, 0xd76aff, 0xff5dff, 0xff63c6, 0xff8150, 0xffa50d,\n            0xccc409, 0x74f009, 0x54fc1c, 0x33f881, 0x3fd4ff, 0x494949, 0x000000, 0x000000,\n            0xffffff, 0xc8eaff, 0xe1d8ff, 0xffccff, 0xffc6ff, 0xffcbfb, 0xffd7c2, 0xffe999,\n            0xf0f986, 0xd6ff90, 0xbdffaf, 0xb3ffd7, 0xb3ffff, 0xbcbcbc, 0x000000, 0x000000};\n        //the older rgb palette I was using, may make this switchable.\n//        int[] rgbarray = {0x757575, 0x271B8F, 0x0000AB,\n//            0x47009F, 0x8F0077, 0xAB0013, 0xA70000, 0x7F0B00, 0x432F00,\n//            0x004700, 0x005100, 0x003F17, 0x1B3F5F, 0x000000, 0x000000,\n//            0x000000, 0xBCBCBC, 0x0073EF, 0x233BEF, 0x8300F3, 0xBF00BF,\n//            0xE7005B, 0xDB2B00, 0xCB4F0F, 0x8B7300, 0x009700, 0x00AB00,\n//            0x00933B, 0x00838B, 0x000000, 0x000000, 0x000000, 0xFFFFFF,\n//            0x3FBFFF, 0x5F97FF, 0xA78BFD, 0xF77BFF, 0xFF77B7, 0xFF7763,\n//            0xFF9B3B, 0xF3BF3F, 0x83D313, 0x4FDF4B, 0x58F898, 0x00EBDB,\n//            0x444444, 0x000000, 0x000000, 0xFFFFFF, 0xABE7FF, 0xC7D7FF,\n//            0xD7CBFF, 0xFFC7FF, 0xFFC7DB, 0xFFBFB3, 0xFFDBAB, 0xFFE7A3,\n//            0xE3FFA3, 0xABF3BF, 0xB3FFCF, 0x9FFFF3, 0xaaaaaa, 0x000000,\n//            0x000000};\n        for (int i = 0; i < colorarray.length; ++i) {\n            colorarray[i] |= 0xff000000;\n        }\n        int[][] colors = new int[8][colorarray.length];\n        for (int j = 0; j < colorarray.length; ++j) {\n            int col = colorarray[j];\n            int r = r(col);\n            int b = b(col);\n            int g = g(col);\n            colors[0][j] = col;\n            //emphasize red\n            colors[1][j] = compose_col(r, g * att, b * att);\n            //emphasize green\n            colors[2][j] = compose_col(r * att, g, b * att);\n            //emphasize yellow\n            colors[3][j] = compose_col(r, g, b * att);\n            //emphasize blue\n            colors[4][j] = compose_col(r * att, g * att, b);\n            //emphasize purple\n            colors[5][j] = compose_col(r, g * att, b);\n            //emphasize cyan?\n            colors[6][j] = compose_col(r * att, g, b);\n            //de-emph all 3 colors\n            colors[7][j] = compose_col(r * att, g * att, b * att);\n\n        }\n        return colors;\n    }\n\n\n    private static byte[][][] NESColorsToBytes(int[][] col) {\n        byte[][][] colbytes = new byte[col.length][][];\n        for (int i=0; i<col.length; i++) {\n            int[] col2 = col[i];\n            byte[][] colbytes2 = colbytes[i] = new byte[col2.length][3];\n            for (int j=0; j<col2.length; j++) {\n                colbytes2[j][0] = (byte) b(col2[j]);\n                colbytes2[j][1] = (byte) g(col2[j]);\n                colbytes2[j][2] = (byte) r(col2[j]);\n            }\n        }\n        return colbytes;\n    }\n    \n    private static int r(int col) {\n        return (col >> 16) & 0xff;\n    }\n\n    private static int g(int col) {\n        return (col >> 8) & 0xff;\n    }\n\n    private static int b(int col) {\n        return col & 0xff;\n    }\n\n    private static int compose_col(double r, double g, double b) {\n        return (((int) r & 0xff) << 16) + (((int) g & 0xff) << 8) + ((int) b & 0xff) + 0xff000000;\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/video/RGBRenderer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.video;\n\nimport com.grapeshot.halfnes.video.NesColors;\nimport com.grapeshot.halfnes.video.Renderer;\nimport java.awt.image.BufferedImage;\n\n/**\n *\n * @author Andrew\n */\npublic class RGBRenderer extends Renderer {\n\n    public RGBRenderer() {\n        frame_width = 256;\n        init_images();\n    }\n\n    @Override\n    public BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl) {\n        //and now replace the nes color numbers with rgb colors (respecting color emph bits)\n        for (int i = 0; i < nespixels.length; ++i) {\n            nespixels[i] = NesColors.col[(nespixels[i] & 0x1c0) >> 6][nespixels[i] & 0x3f];\n        }\n        return getBufferedImage(nespixels);\n    }\n}\n"
  },
  {
    "path": "src/main/java/com/grapeshot/halfnes/video/Renderer.java",
    "content": "/*\n * HalfNES by Andrew Hoffman\n * Licensed under the GNU GPL Version 3. See LICENSE file\n */\npackage com.grapeshot.halfnes.video;\n\nimport java.awt.image.BufferedImage;\nimport java.awt.image.DataBufferInt;\nimport java.awt.image.WritableRaster;\n\n/**\n *\n * @author Andrew\n */\npublic abstract class Renderer {\n\n    int frame_width;\n    /*\n    there's stuff involving this variable that's much uglier\n    than it needs to be because of me not really remembering\n    how abstract classes work\n     */\n    int clip = 8;\n    int height = 240 - 2 * clip;\n    BufferedImage[] imgs = {null, null, null, null};\n    int imgctr = 0;\n\n    protected final void init_images() {\n        for (int i = 0; i < imgs.length; ++i) {\n            imgs[i] = new BufferedImage(frame_width, height, BufferedImage.TYPE_INT_ARGB_PRE);\n        }\n    }\n\n    public abstract BufferedImage render(int[] nespixels, int[] bgcolors, boolean dotcrawl);\n\n    public void setClip(int i) {\n        //how many lines to clip from top + bottom\n        clip = i;\n        height = 240 - 2 * clip;\n    }\n\n    public BufferedImage getBufferedImage(int[] frame) {\n        final BufferedImage image = imgs[++imgctr % imgs.length];\n        final WritableRaster raster = image.getRaster();\n        final int[] pixels = ((DataBufferInt) raster.getDataBuffer()).getData();\n        System.arraycopy(frame, frame_width * clip, pixels, 0, frame_width * height);\n        return image;\n    }\n\n}\n"
  },
  {
    "path": "src/main/java-templates/com/grapeshot/halfnes/ProjectInfo.java",
    "content": "package com.grapeshot.halfnes;\n\n/**\n * Specifies the version and url as defined in the POM\n *\n */\npublic interface ProjectInfo {\n    String VERSION = \"${project.version}\";\n    String URL = \"${project.url}\";\n}\n"
  },
  {
    "path": "src/main/resources/changelog.txt",
    "content": "HalfNES Version Notes:\n062 (3/25/2018)\n-first release in 2 years\n-fixed temp file creation issue\n-fixed Micro Machines\n-NSF and APU improvements\n061 (2/16/2016)\n-Minor speed improvements and code cleanups\n-Improved VRC7 Envelopes again with values properly calculated from docs\n-Audio output is done in stereo now (though no interface to pan channels)\n-Build system changed to Maven\n-Framework for unit tests is begun (incl work on headless mode)\n-JavaFX UI for the RetroPi is included but not used by default. \n (It needs more work for desktop use.)\n060 (8/29/2015)\n-Fixed Battletoads and Battletoads: Double Dragon freezes on certain levels\n-Reduced jerkiness of scrolling in 50 fps games\n (not eliminated entirely unless your monitor is also set to 50 FPS)\n-Improved performance a bit, there was some slow cheat engine code constantly running\n059 (7/28/2015)\n-Fixed certain FDS NSFs that wanted to write to bankswitched areas\n-Added PAL and Dendy (Hybrid PAL console that plays unmodified NTSC games) support\n-Fixed negative scroll values (Galaxian, TMNT)\n-Fixed envelope decay for VRC7 sound\n-Deal with games that read $2004 (OAM address) during rendering\n\n058 (6/14/2015)\n-Added FDS sound chip support (NSFs only)\n-Made more scanline counters cycle accurate (everything except 4 multicart mappers)\n\n057 (7/30/2014)\n-PPU is now pixel accurate. Meaning that many glitchy games are now completely\nfixed. However it also means that performance is worse.\n-MMC3 and MMC5 scanline counters have been rewritten to be more accurate.\nFixed games:\n-Marble Madness\n-Laser Invasion\n-Mickey's Adventures in Letterland\n-Rad Racer\n-Slalom\n-Tiny Toon Adventures (the status bar was off by one scan line before)\n-Mega Man 3 (displays same glitchy lines as real hardware)\n-Every Namco 163 game (scanline counter was broken)\n\nAlso passes several more of blargg's PPU and MMC3 tests.\nI haven't fixed all of the MMC3 based multicart mappers yet.\n\n056 (7/17/2014)\n-Multithreaded NTSC filter for better performance\n-Rewrote CPU/PPU timing entirely (passes many timing tests that used to fail)\n-Fixed VRC7 feedback (Lagrange Point now sounds almost completely correct)\n-Fixed loading of large NSF files.\n-Many other minor fixes over the past year. \n\n055(9/7/2013)\n-Added support for NSF music files.\n-Added mapper for Super Spike V'Ball/Nintendo World Cup combo cartridge\n-Changed sprite DMA timings (fixes Battle Chess again)\n\n054 (8/13/2013)\n-Changed NES color palette to match NTSC filter colors\n-Fixed VRC 7 Vibrato, no longer crackles\n-Improved speed of NTSC filter some more\n-General code cleanups (more are still necessary)\n-Provided a more helpful error on stdout when the jInput lirary is missing\n\n053 (2/10/2013)\n\n-Added Action Replay and Game Genie code support\n-Now turning on sound filtering by default\n\n0.052 (10/14/2012)\n\n-Changed the APU timer code to run more efficiently \n(filtering now has very little performance penalty)\n-Fixed GI Joe, Burai Fighter\n-Fixed title screen of Brush Roller\n-Fixed intro of Lagrange Point\n\n0.051 (9/17/2012)\n\nMany more mappers added for this release.\n\nAdded Mappers:\n\n15 (100 in 1 Contra Function 16)\n33 and 48 (Taito TC0190FMC)\n41 (Caltron/Myriad 6 in 1)\n58 (Game Star multicart)\n60 (reset based 4 in 1)\n61 (super 42-in 1)\n62 (700 in 1 Multicart)\n65 (Irem H-3001)\n67 (Sunsoft-3)\n72 (Jaleco JF-17)\n73 (VRC3)\n75 (VRC1)\n76 and 206 (Tengen MIMIC-1)\n79 (NINA-3)\n86 (Jaleco JF-13)\n88 (NAMCOT-3433/3443)\n92 (Jaleco JF-19)\n112 (Chinese MIMIC-1 clone)\n113 (NINA-6)\n154 (NAMCOT-3453)\n182 (Chinese MMC3 clone)\n201 (8-in-1, 21-in-1 multicarts)\n212 and 213 (9999999-in-1)\n214 (Super Gun 20-in-1)\n225 (58/64/72-in-1 multicarts)\n226 (20-1n-1)\n229 (31-in-1)\n231 (20 in 1 multicart)\n241 (Fan Kong Jing Ying)\n242 (Wai Xing Zhan Shi / Dragon Quest VIII board)\n244 (Decathlon)\n255 (110/115 in 1 multicarts)\n\nOther Changes:\n\n-Changed decay after key off on VRC7 sound chip\n-Changed color settings on NTSC renderer and rewrote encoding portion for better \n speed (64 bit JVM also makes this faster) and no more horizontal bars.\n-Passes sprite overflow basics test\n-Fixed reset code to reset mapper before CPU\n-Rom loader handles games with unusual/incorrect headers more gracefully\n-APU square wave frequency is now correct \n (would go out of tune at higher frequencies before)\n-Full screen mode with maintain aspect ratio on now stretches to fill screen\n-Added .exe and .sh versions of HalfNES to the standard JAR file to\nwork around systems where JAR files are difficult to make executable.\n\n0.050 (8/9/2012)\nLots of minor improvements for this release, and new mapper support as well.\nThanks to Nawrot Kryzystof for many of these fixes.\n\nAdded Mappers:\nMapper 10 (Fire Emblem, Famicom Wars)\nMapper 19 (Megami Tensei II, Rolling Thunder (J), etc.) with expansion sound\nMapper 34 (Impossible Mission II)\nMapper 38 (Crime Busters)\nMapper 64 (Klax, Rolling Thunder (U))\nMapper 70 (Kamen Rider Club)\nMapper 89 (Mito Koumon)\nMapper 93 (Fantasy Zone (J))\nMapper 94 (Senjou no Ookami)\nMapper 97 (Kaiketsu Yanchamaru)\nMapper 107 (Magic Dragon)\nMapper 140 (Bio Senshi Dan)\nMapper 152 (Arkanoid 2)\nMapper 180 (Crazy Climber)\nMapper 185 (Spy Vs Spy (J) but NOT Banana)\nMapper 200 (36-in-1 Multicart)\nMapper 203 (35-in-1 Multicart)\nMapper 240, 246 (More Chinese original games)\n\nFixed:\n-Fixed DMC timing (passes DMC basics test and makes Bee 52 work better)\n-CPU interrupt is delayed so CLI+SEI only causes 1 interrupt after SEI\n (fixes Break Time, Hebereke)\n-Fixed APU frame counter reset to within 1 CPU opcode of correct timing\n-Fixed APU sweep behavior when clocked then immediately reset\n (Super Mario Bros. sound effects, Driar wrong notes in music)\n-Updated VRC7 sound to use new patch set from nesdev, \n changed the way modulator feedback works, increased envelope attack rate\n-Added CRC to options menu to make verifying dumps easier\n-Fixed Uchuusen - Cosmo Carrier mirroring\n-Fixed bug with file dialog where it wasn't clearing the old name when loading\n a ROM by double clicking\n\nBroke:\n- Lagrange Point intro was broken by the CPU interrupt change. Game is still playable.\n\n0.049 (7/9/2012)\n-CPU core is much improved. All undocumented opcodes should now be implemented\n and cycle timing is more correct.\n-Fixed Low G Man crashing after the first boss\n-APU is now synchronized exactly with CPU (lowers performance, but fixes \n Dreamworld Pogie)\n-Made DMC sample channel timing more accurate, which fixed Bee 52 and several \n DPCM letterbox demos and made Fire Hawk at least show the titlescreen/intro. \n (Still crashes in game.)\n-Made the audio high pass filter more aggressive to eliminate clipping and noise\n-Fixed VRC7 audio envelopes (Rate was right but notes couldn't be turned off\n while in the decay phase. Now that works.)\n-Fixed PPU OAM reading to pass oam_stress test and used blargg's NES power up \n palette\n\n0.048 (6/5/2012)\n\nYou can now change all options without having to restart the emulator. Also\nchanged the set of values used for the VRC7 registers and did some code cleanups\n in various places. Significant rewrite is needed to improve basic timing \naccuracy some time soon.\n\n0.047 (5/12/2012)\n\nVRC7 channel volumes and modulation are correct now. Still not quite like the \nreal thing because envelopes are based off info from the data sheet and not the\nactual implementation. (Plus, no one has ever read the presets for the built in\ninstruments from the VRC7; I've tested several sets of approximations.)\n\nReleases will probably be coming much slower in the future.\n\n0.046 (4/7/2012)\n\n-VRC7 audio (Lagrange Point) sounds much closer to the real thing\n-Fixed several UI bugs:\n    -menu bar is no longer visible in fullscreen on some systems\n    -no longer possible to load a ROM or open the preferences window in \n     fullscreen as this could sometimes cause hangs\n    -Full screen now defaults to maintain aspect ratio\n     (doesn't stretch and look terrible on widescreen displays)\n-Now handles mising JInput library more gracefully\n-NTSC filter is somewhat faster (still not really real time) and disables\n dot crawl in Battletoads as it should.\n-Changed audio core so it shouldn't clip with sound filtering on any more\n-Found a solution to the packaging problem! Library folder is no longer necessary.\n\nNext version I will be switching to LWJGL for the interface as it should add\na decent speed improvement and the NTSC filter will be MUCH faster if written\nas a shader.\n\n0.045 (3/8/2012)\n\n-Fixed some undocumented opcodes to allow homebrew game Driar to run\n-Fixed bug with special characters in ROM filenames causing a crash\n-Added gamma correction to NTSC filter and changed filter parameters yet again.\nstill not sure what looks best, and there are a few artifacts here that don't\nshow up on the real thing unless you're using a cheap capture card.\nIf you want to experiment, the brightness, contrast, and gamma correction is at\nthe top of the NTSCFilter file in the code.\nPlease use it with smoothing on or it'll look bad no matter what.\n-now change the aspect ratio when ntsc filter is used.\n-Added mapper 85 (VRC7) (Lagrange Point and Japanese Tiny Toons 2)\n-Partially implemented VRC7 sound (envelopes and vibrato are still missing)\n-Small speed improvements (except in the ntsc filter, that's just as slow).\n\n0.044 joystick test (1/9/2012)\n\n - Added preliminary joystick support (thanks to Zlika) To use this, the \nlib folder must be extracted in the same location as halfnes, and also the \nprogram must be run from the \"run.bat\" file. The first detected gamepad \nwill be used as Controller 1, and the second will be Controller 2. \nCurrently the buttons used are not configurable.\n\n - Also improved the NTSC filter, color is perfect now and it looks \nbetter than Blargg's. (Sadly, the speed has taken another hit; I think \nthe problem is cache churn due to the order I operate in?) \n\n0.043 (12/27/2011)\nLast version for the year.\n-Fixed many more bugs and edge cases with the file loading, including a crash\nthat only seemed to happen on Linux when loading a ROM from the command line\n-Made some changes to the sprite rendering code, now pass more of blargg's sprite\nhit tests and the Snake Pit level in Battletoads shouldn't flicker any more.\n(I haven't actually tested this since I can't get back there now.)\n0.042 (12/12/2011)\n-Added \"smooth video\" option\n-Improved the NTSC filter (run it full screen with the video smoothing option on\nand it looks very nice. sadly it is still jut as slow as it was.)\n-Fixed bug in VRC6 audio that muted both expansion sound channels instead of just one\n-Fixed crash on loading a .nes file with a bad header\n0.041(11/6/2011)\n-Added experimental NTSC graphics filter. Wriiten from scratch, not a port of\n Blargg's NTSC code. This looks quite a bit more like a real old terrible 80's TV.\n Unfortunately, it's still very slow.\n-Fixed Punch-Out, which was broken since version 0.039\n0.040(10/17/2011)\nAdded Mapper 68 (Afterburner and Afterburner II)\nMonkeyed around with the audio code, MMC5 sound channels had the wrong pitch\nand audio was clipping at full volume. Both of those should be fixed. Also fixed\nsound popping when pausing and unpausing. And in the time it took me to do that\nbyuu made in a week what took me a year. eh.\n0.039 (9/24/2011)\nAdded mappers 5 and 119. Castlevania III works now and so do all other MMC5 games\nexcept for Laser Invasion and two Japanese exclusive ones. Also fixed one tiny\nalmost unnoticeable bug with drum sounds cutting off a tiny bit early that\nhas been there for months unnoticed.\n0.038 (8/12/2011)\n-Added Action 52 mapper (228)\n-Improved audio quality some more\n-Made the screen repaint even when paused\n-Behind the scenes changes to make things easier to port\n-Some speed improvements as well\nIf there is a game that you want to play that's broken or mapper unsupported, let me know!\nOtherwise I think I'm just going to port this to Android next.\n0.037 (7/7/2011)\n-Fixed Guardian Legend, Dizzy's Adventure, others (APU interrupt bugs again)\n-Improved performance of sprite rendering code\n-Fixed broken Reset option in menu\nCurrent known broken games: Break Time, Big Nose Freaks Out, Bigfoot\n0.036 (6/20/2011)\n-Added Mapper 9 (Punch-Out!!)\n-Fixed Teenage Mutant Ninja Turtles (leftover bug from last PPU rewrite)\n-Fixed Jurassic Park (same problem as Twin Cobra, changed the code so both worked)\n-Increased audio volume\n-Added greyscale and color emphasis to PPU \n (Noah's Ark is maybe the only game this is visible in)\n-Fixed off-by-one error causing scanline 261 to be run twice\n (fixed some timing issues, maybe caused a few more)\n-Completely changed the way the PPU renders sprites - broke some games (Guardian Legend and\nsome Codemasters games that never looked right anyway) but fixed screen shaking and\nsingle scanline glitches in a LOT of games.\n-Also, sprite flicker is back from the old days.\n0.035 (6/9/2011)\n-Now cropping off the top and bottom 8 pixels of the video output, since these are\nnot visible on most TVs and a lot of games render garbage on those lines.\n-Added volume slider to options dialog (and rewrote the sound output code as well.)\n-Fixed a lot of sound bugs. Crystalis, Zombie Nation, A Boy And His Blob etc. all sound right now.\n-Fixed Twin Cobra\n0.034 (5/22/11)\n-Fixed full screen code for people who still had flicker at bottom\n-Fixed Bill and Ted's Excellent Adventure\n-Rewrote some code to enable putting ROM @ $6000-7fff\n-Implemented Mapper 69 (Sunsoft FME-7) and the extra sound hardware for the Japanese version of Gimmick.\n(If you haven't ever played Gimmick, find the ROM and give it a go sometime. Great game.)\n-Also added mappers 78 (Holy Diver) and 87 (Twinbee).\n0.033 (5/10/2011)\n-Improved MMC3 mapper (Fixed Teenage Mutant Ninja Turtles 3, Smash TV)\n-Improved audio code more, added an option to enable audio filtering so a separate compile isn't required\n-Tied expansion audio into the regular audio code\n-Made full screen support more robust (let me know if it's still broken on your XP machine, but it works on mine)\n0.032 (4/26/2011)\nThe most notable improvement is the audio. I'm compiling 2 versions this \ntime - one uses a linear audio filter and the other uses point samples. \nThe linear audio filter makes the whole code run about twice as slow \n(Java is really not very good at doing anything 2 million times a \nsecond), but it sounds SO much better I couldn't throw it out for \nperformance reasons. However, it's still a bit buggy and completely \nbreaks VRC6 audio for some reason. Also, added option for changing audio \nsample rate to the options dialog, tweaked the volumes of all the audio \nchannels to be more balanced with each other, and probably cleaned up \nsome things since last release that I've forgotten about now. \n0.031 (4/3/2011)\n-Rewrote PPU to draw only 1 scanline at a time, instead of 8 scanlines like before.\n(should fix various glitchy raster effects and status bars in various games)\nPerformance should actually be increased for most games.\n-removed the old tile caching system as it is no longer necessary.\n-Fixed the sprite priorities\n-improved VRC6 audio\n-made the VRC6 expansion audio work for the games other than Castlevania 3\n0.030 (3/27/2011)\n-Rewrote the audio system to eliminate more unnecessary method calls\n-Added Mapper 24 and 26 (Japanese Castlevania III) including the expansion sound chips!\n-Added a full screen mode\n(still a bit buggy; fast forward doesn't work when in fullscreen for some reason.)\n-added ability to drag and drop ROM files into the window to load them\n-rearranged a couple of the keyboard shortcuts\n-added a frame advance key.\n0.029 (3/8/2011)\n-Rewrote the CPU timing system, so the NES's timing is a lot more accurate\n(and faster as well; eliminated about 2 million unnecessary method calls per\nframe, which means that I get about 40 extra FPS.)\n-Added support for Mapper 11 (Color Dreams)\n-Mapper fixes to Mappers 1 and 4 (Fixed Dragon Warrior 3 + 4, Kickle Cubicle)\n-Added a proper error message for trying to load a UNIF file.\n0.028 (3/2/2011)\nRewrote/refactored a bunch of code to make things more object oriented. Also\nchanged the display code to use Java's double buffering scheme instead of my own\nhackish method, which MAY have made things a bit faster but definitely fixed that\noccasional flicker that was there before. (Simplified the code, too!)\nAlso made some changes to the sound engine, so Contra and a few other things\nsound closer to how they should.\nNext update will hopefully bring more visible improvements.\n0.027.2 (2/12/2011)\nperhaps THIS will solve the problems with Windows XP. (Last version worked ok on\nthe first XP machine I tried, but not the second.)\n0.027.1 (2/11/2011)\nSwitched back to the old frame limiter code, now things should hopefully\nwork right on Windows XP again. Also fixed the crash when audio was disabled.\n0.027 (2/4/2011)\nSince I'm trapped at home in a snowstorm with nothing else to do, might as well release.\n-Modified MMC3 scanline counter, which fixed Super Mario 3 and Silver Surfer\n-Made the APU counter count 4x a frame instead of 5 (off by one error)\nwhich makes music in a lot of older games sound closer to how it should be.\n0.026.1 (2/1/2011)\n-Added support for Sunsoft-01 and Konami VRC2 and VRC4 mappers.\nVRC4 is still not quite correct... status bar flickers in Parodius, but Gradius II,\nthe Japanese version of Contra, and Bio Miracle Bokutte Opa all work fine.\n-Made sound keep playing while fast forwarding\n-Rewrote all the frame limiter code again (need to test on a slower machine with XP)\n-Improved speed by making sure that I wasn't regenerating the entire tile cache every\ntime the game wrote to the mapper, even if the tiles didn't change.\n\n0.025 (1/25/2011)\n-Fixed the stupid stupid bug that would probably make the file dialog impossible to\nopen on any system that hasn't had HalfNES on it before!\n(remember: if you haven't tested it, it does not work.)\n-Changed the file dialog to one that doesn't look terrible on a Mac\n(but now I can't filter files by extension on Windows. oh well.)\n-Added keyboard shortcuts to the menus and rearranged them a bit\n-Added a fast forward toggle\n-Fixed mapper 66\n-Fixed controller reading for Paperboy and Captain Planet\n-the palette mirroring code passes blargg's test now\n-Background of Kirby's Adventure fixed... that one was because the first byte of\nexpansion RAM was always write protected. Oops.\n-SMB3 has stopped working completely. I'll figure out why soon.\n0.024 (1/16/2011)\n-Added proper options dialog for changing screen size and keymappings\n(but you need to restart the emulator to apply the new settings - will fix that\nsooner or later but I need to write code to completely rebuild the window first.)\n-Removed the old INI file - now settings are saved in your home folder\n-Now remembers the position of the window and the last folder you loaded a ROM from\n-Fixed a few more bugs in the graphics code so now the intros of Solstice and\nNinja Gaiden look the way they should.\n0.023 (1/4/2011)\nBugfixes:\n-The Reset command didn't do anything, now it does.\n-Gradius and Devil World work properly again and Back to the Future works better\n(I used && when what I meant was ||).\n-I now realize that file loading doesn't work very well on a Mac\n(and the file dialog is terrible too!), so I'll work on that.\n0.022 (1/3/2011)\nWow, it's been a while.\nAdded Player 2 controller support, can remap the buttons in the settings.txt file.\nImproved rendering: Gauntlet runs full speed on my computer when it didn't before,\nthe status bars of Zelda II and Ninja Gaiden now look right,\nin general performance is about 20 percent better because the drawing code is more efficient.\nBack to the Future works but has random unexplained glitches.\nMade a few additional tweaks to the MMC3 code, now Might and Magic works but SMB3 is unchanged.\nAlso eliminated a potential crash after attempting to load a game with an unsupported mapper.\nChanges to the audio code: Excitebike and a lot of other early games that\nused the sweep feature on the square wave channels should be correct now,\nSuper Mario Brothers finally sounds right.\nAlso, this works. http://kkfos.aspekt.fi/2010/11/14/4-bit-pcm-on-nes-using-the-pulse-channel/\n0.021 (12/15/2010)\nAdded mappers 66 and 71 (SMB/Duck Hunt and Codemasters, respectively).\nAlso made background sprites actually render behind the background, and fixed\nsprite priorities for 8x16 sprites (They were reversed before).\nIf you're having trouble with SMB3, make sure that you have the PRG1 version of the ROM.\nEven then, it still freezes on the title screen half the time when you press Start...\nif it does this, reload the ROM and try it again. Once you start the game successfully though it\nshould be playable. There's just something the title screen does that throws timing off.\n0.020 (12/8/2010)\nFixed the missing sprites bug and games with a status bar on the bottom.\nSuper Mario 3, Tiny Toon Adventures, Marble Madness, Kirby's Adventure and Battletoads are playable.\n(Tiny Toons doesn't quite put the status bar in the right place, but it's not too far off.)\nFixed 4-screen mirroring (Gauntlet)\nAlso added mapper 34 support (Deadly Towers)\nDragon Warrior 3 + 4 still won't start, Zelda II and Crystalis still have problems.\n0.019 (12/1/2010)\nFixed the worst of the scrolling bugs. Contra, Castlevania 2, Blaster Master,\nand many other games are now actually playable.\nAlso, it seems that Yo Noid! crashed the emulator\n(because bitwise and is NOT the same thing as modulus\nwhen you don't have a power of 2!)\nso I very reluctantly fixed that as well.\nKnown Issues:\n-Jump sound doesn't cut off in world 1-2 of SMB\n-Zelda II won't scroll correctly until real sprite 0 hit is implemented\n-Most games with a status bar on the bottom won't display that bar\n-Sprites missing in Tiny Toon Adventures, Little Nemo\n-DuckTales status bar uses wrong graphics\n-Mario's eyes are missing in SMB2\n-Basically every racing game uses the same scrolling trick that won't look right\n-SMB3 and Marble Madness both crash and Silver Surfer resets itself\n0.018 (11/24/2010)\nTiming fixes - Kid Icarus, Solomon's Key, Adventures of Lolo 2, Jackal are now playable.\nFixed a couple issues with the audio as well.\n(Periodic noise works, and channels don't buzz when the periods are set to zero.)\nMega Man 2 is where this improvement is most noticeable.\nThe OS default look and feel is used instead of the Java default now, which\nmeans the Open dialog is improved.\nSaved games should always save on close now, no matter how the window is closed.\n0.017 (11/21/2010)\nMapper 7 (ANROM) and Mapper 4 (MMC3) are now supported. Unfortunately, most\nof those now supported games have graphical glitches because they change the scrolling\nin the middle of a frame and that isn't handled properly yet.\nAlso made remapping keys from the INI file ACTUALLY work (sorry!) and prevented\nleft and right from registering at the same time because that causes problems\nin some games.\n0.016 (11/16/2010)\nAudio - Sweep and DMC channel supported. Also fixed the frame limiter. \nAdded a way to change keybindings (if you can look up Swing keycodes) - see \"settings.txt\" file.\nRemoved options dialog for the moment since it didn't do anything.\n0.015 (Not Released)\nFixes to MMC1, addition of battery save support, and some unfortunate frame limiter bugs that it took a while to track down.\n0.014 (11/1)\nCompletely rewrote the sound core, it's an order of magnitude better sounding than it was.\nSlower,too, but that was necessary. Now updates sound every time something changes. \nEnvelopes are correct too. Can make it faster by moving the counters forward in larger \nincrements since it doesn't generate samples at 2 Mhz anyway. Also added in frameworks \nfor options dialog, about box, and command line args support. \nMissing still:\nSweep unit, noise channel loop flag (MM2 Quickman stage), all of the DMC stuff, vertical scrolling,\njust about everything about the PPU,really. And half of MMC1 roms still don't boot,and if I want to \nmake the options window et cetera work right I'm going to need to re-abstract the interface away \nfrom the actual emulation code. Why did I change that in the first place? Plus all the other older stuff.\n"
  },
  {
    "path": "src/main/resources/todo.txt",
    "content": "Todo List For HalfNES:\n\n - Add FDS support\n\n - Add rest of the expansion sound for MMC5 (PCM out is not working right)\n\n - Work on audio filtering (Yes it's better now, but could still use some work.)\n Need a FIR or IIR filter of some sort but also have to decimate by a non\n integer amount WITHOUT upsampling, because 2 million samples a second is too hard\n to process as is. Not sure how to write one of those.\n Best solution is probably FFT based somehow.\n Real NES uses very simple RC lowpass and highpass filters, that's mostly\n what I do now but the amt of filtering is sample rate dependent/other problems etc.\n\n-If run on my laptop while it's having the sound problem, the audio buffer write\n call blocks forever and nothing will run. Is there anything I can do about that?\n actually it looks like the bug is not in my own code\n See https://community.oracle.com/thread/2381571\n\n - Fix occasional single scanline errors, random horizontal\n glitches in Slalom, Rad Racer, 3D World Runner etc.\n I did move to a pixel based renderer but the CPU is still only cycle accurate\n and plenty of other things are still only approximate. \n\n - Fix the frame limiter so that it won't underrun the audio buffer every time\n there's a lag spike - also deal with audio popping in fullscreen mode (I think\n this is caused by the framerate being fixed by the buffer waiting at 60.0 so\n not enough audio samples are generated but I'm not sure)\n This is dealt with by increasing the audio buffer size for now.\n\n - Deal better with non 60 hz display refresh rates (Every recent Intel laptop is set to\n50 hz on battery by default.)\n\n - Add more graphics filters (HQ2x), develop an OpenGL rendering path, rewrite the\n NTSC shader in shader language for speed. Also try incl. scanlines and CRT\n phosphor decay effects.\n\n - Add Savestates, someday (once class structure is pretty much settled).\n\n - Also stuff with controller wiring and interrupts, and if there's a Zapper in use\n the controller ports need to have access to the display as it's being drawn,\n and all of this needs to support catch up operation in some way.\n\n - Some games freeze when reset with Ctrl+R (missing mapper reset function)\n Action 52 needed this. What else?\n\n - Use better synchronization with less method calls (options?)\n\n - Add a different key listener for some of the menu options (like Pause and Fast \n Forward) and also the toggles so they don't toggle on and off really quickly\n when I hold the key down. (why did you think fast forward was control - space?)\n Also fix inability to pause/single step in fullscreen nowadays\n\n - Fix DMC interrupt timing for Bee 52, Big Nose Freaks Out\n\n - Find out if the original ver StarsSE demo ever really worked on real hardware\nMaybe make a version of Chris Covell's Stars SE demo that uses the\nsweep workaround to change the high bits of the pitch during the arpeggios\nto get rid of the unwanted phasing effects?\n\n - Change all scanline counters to go off PPU clocks so i can deprecate NotifyScanline\n\n - Make the NTSC filter run on the GPU!\n\nThings I can't do without adding a CRC database:\n\n - implement the WRAM disable bit for Mapper 4 (three different implementations!)\n (fixed for now: Low G Man is special cased to have no PRG RAM on the board,\n since it never did anyway. Everything else is probably fine since the main reason\n for WRAM write protection, which is the CPU overwriting SRAM when jumping off\n somewhere strange due to a bad connection on the cartridge slot, can't happen\n on the emulator.)\n\n - Same for Mapper 1. Making SOROM work was hard enough.\n\n\n - Sorting out the mappers that are really multiple mappers in one number\n (codemasters one especially!)\n\n - Need to add iNES 2.0 submapper support\n\n - UNIF\n\nThings I probably can't fix at all:\n\n - DMC samples shouldn't always steal 4 cycles (depending on the current instruction\n being executed), and should only take 2 cycles during sprite DMA. (The belief\n used to be that it would read wrong data during sprite DMA, but it doesn't.)\n This is what's breaking The Guardian Legend when there are too many enemies on\n screen.\n (THINK I fixed the broken bit there when changing things to pass DMC test.)\n\n\nBroken Games To Fix:\n - Laser Invasion (white screen on scrolling sometimes. otherwise looks better than it was)\n - Metal Slader Glory\n - Batman:ROTJ title screen (FME - 7 now has accurate scanline counter but this remains)\n - Caltron 6 in 1 (Very slow text scroll in Cosmo Cop)\nthis has to do with reading $2002 in a loop and the NMI.\n\n - Need to make the CPU cycle accurate to pass all of blargg's timing tests\n (as opposed to doing all reads and writes the opcode needs on the same cycle.)\n I have a hack in place for Battletoads, but it's not good long term.\n Need a coroutine library that doesn't break my workflow, or function templates\n\nCodemasters games broken by DMC IRQ:\n - Bee 52\n - MIG - 29 Soviet Fighter (needs better dmc timing!)\n - Fire Hawk (maybe this is freezing on Sprite 0 now.)\n - Big Nose Freaks Out (glitchy in 035, completely broken in 036, back to glitchy in 049.)\n\n\n - Bandit Kings of Ancient China doesn't redraw map properly (broken ExGrafix?)\nno it needs to map RAM to 0x8000, there's a note in the mapper docs\nbut I still can't get it working correctly.\n - Just Breed freezes during intro (fine if you skip it)\n - Metal Slader Glory is all iknds of messed up.\n - Huge Insect depends on obscure behavior of modifying OAM address during rendering\n\n - Region autodetect is not going to work on most iNES 1.0 ROMs unless I have a database\n\n - Until tonight I hadn't heard most of Strobe - Zberia or Strobe - Return to the Blip\nThey break in Nestopia the way they do in my emu; in Nintendulator they are MUCH longer.\nWell that's because they have bad headers. And now I've catered to the brokenness.\n\n - Emulate obscure sprite overflow behaviors\n\n - Madara sound test doesn't work unless I get ingame and reset (forgotten initialization?)\n\n - At least 3 Codemasters games depend on $2004 reads tracking internal sprite eval state\n (Micro Machines, Dizzy the Adventurer, Bee 52, big nose freaks out)\n\nBig nose also uses DPCM IRQs and some godawful mess of sprite 0 hit and writing to 2007 while rendering.\n\nneed to rewrite for Huge Insect anyway.\n\nPossibility of massive bugs when PC is zero (but how would you execute off the\nend of memory in any practical NES program?)"
  },
  {
    "path": "src/test/java/com/grapeshot/halfnes/JInputTest.java",
    "content": "package com.grapeshot.halfnes;\n\nimport net.java.games.input.Controller;\nimport net.java.games.input.ControllerEnvironment;\nimport org.testng.annotations.Test;\n\nimport java.util.Arrays;\n\n/**\n * Created by KlausH on 29.11.2015.\n */\npublic class JInputTest {\n\n    static {\n        JInputHelper.setupJInput();\n    }\n\n    @Test\n    public void testJInput() {\n        ControllerEnvironment controllerEnvironment = ControllerEnvironment.getDefaultEnvironment();\n        Controller[] controllers = controllerEnvironment.getControllers();\n        System.out.println(String.format(\"%s controllers found.\", controllers.length));\n        Arrays.asList(controllers).forEach(controller -> {\n            System.out.println(String.format(\"  %s (%s)\", controller, controller.getType()));\n        });\n    }\n\n}"
  },
  {
    "path": "src/test/java/com/grapeshot/halfnes/nestest/NesTest.java",
    "content": "package com.grapeshot.halfnes.nestest;\n\nimport com.grapeshot.halfnes.NES;\nimport com.grapeshot.halfnes.mappers.BadMapperException;\nimport com.grapeshot.halfnes.ui.ControllerInterface;\nimport org.testng.annotations.Test;\nimport static org.junit.Assert.assertEquals;\n\nimport static org.mockito.Mockito.mock;\n\n/**\n * Created by KlausH on 28.11.2015.\n */\npublic class NesTest {\n\n    @Test\n    public void nesTest() throws BadMapperException {\n        NES nes = new NES(null);\n        nes.loadROM(\"src/test/resources/nestest/nestest.nes\", 0xC000);\n        nes.setControllers(mock(ControllerInterface.class), mock(ControllerInterface.class));\n\n        //log all instructions executed to compare with real nestest.log\n        nes.getCPU().startLog(\"src/test/resources/nestest/compare.log\");\n        while (nes.runEmulation) {\n            //runs until hits a KIL opcode which is a few instructions after the\n            //official log finishes.\n            nes.frameAdvance();\n        }\n        //log should be at least 8992 lines\n        //I don't actually compare the logs in this test yet.\n        \n        //check some bytes of RAM for successful test result values\n        System.err.println(nes.getCPURAM().read(0));\n        System.err.println(nes.getCPURAM().read(1));\n        System.err.println(nes.getCPURAM().read(2));\n        System.err.println(nes.getCPURAM().read(3));\n        \n        assertEquals(nes.getCPURAM().read(0), 0);\n        assertEquals(nes.getCPURAM().read(1), 255);\n        assertEquals(nes.getCPURAM().read(2), 255);\n        assertEquals(nes.getCPURAM().read(3), 255);\n    }\n\n}\n"
  },
  {
    "path": "src/test/resources/nestest/compare.log",
    "content": "C000 4C JMP $C5F5       PC:C001 A:00 X:00 Y:00 P:24 SP:FD CYC:0 SL:0\nC5F5 A2 LDX #$00        PC:C5F6 A:00 X:00 Y:00 P:24 SP:FD CYC:9 SL:0\nC5F7 86 STX $00         PC:C5F8 A:00 X:00 Y:00 P:26 SP:FD CYC:15 SL:0\nC5F9 86 STX $10         PC:C5FA A:00 X:00 Y:00 P:26 SP:FD CYC:24 SL:0\nC5FB 86 STX $11         PC:C5FC A:00 X:00 Y:00 P:26 SP:FD CYC:33 SL:0\nC5FD 20 JSR $C72D       PC:C5FE A:00 X:00 Y:00 P:26 SP:FD CYC:42 SL:0\nC72D EA NOP             PC:C72E A:00 X:00 Y:00 P:26 SP:FB CYC:60 SL:0\nC72E 38 SEC             PC:C72F A:00 X:00 Y:00 P:26 SP:FB CYC:66 SL:0\nC72F B0 BCS $C735       PC:C730 A:00 X:00 Y:00 P:27 SP:FB CYC:72 SL:0\nC735 EA NOP             PC:C736 A:00 X:00 Y:00 P:27 SP:FB CYC:81 SL:0\nC736 18 CLC             PC:C737 A:00 X:00 Y:00 P:27 SP:FB CYC:87 SL:0\nC737 B0 BCS $C73C       PC:C738 A:00 X:00 Y:00 P:26 SP:FB CYC:93 SL:0\nC739 4C JMP $C740       PC:C73A A:00 X:00 Y:00 P:26 SP:FB CYC:99 SL:0\nC740 EA NOP             PC:C741 A:00 X:00 Y:00 P:26 SP:FB CYC:108 SL:0\nC741 38 SEC             PC:C742 A:00 X:00 Y:00 P:26 SP:FB CYC:114 SL:0\nC742 90 BCC $C747       PC:C743 A:00 X:00 Y:00 P:27 SP:FB CYC:120 SL:0\nC744 4C JMP $C74B       PC:C745 A:00 X:00 Y:00 P:27 SP:FB CYC:126 SL:0\nC74B EA NOP             PC:C74C A:00 X:00 Y:00 P:27 SP:FB CYC:135 SL:0\nC74C 18 CLC             PC:C74D A:00 X:00 Y:00 P:27 SP:FB CYC:141 SL:0\nC74D 90 BCC $C753       PC:C74E A:00 X:00 Y:00 P:26 SP:FB CYC:147 SL:0\nC753 EA NOP             PC:C754 A:00 X:00 Y:00 P:26 SP:FB CYC:156 SL:0\nC754 A9 LDA #$00        PC:C755 A:00 X:00 Y:00 P:26 SP:FB CYC:162 SL:0\nC756 F0 BEQ $C75C       PC:C757 A:00 X:00 Y:00 P:26 SP:FB CYC:168 SL:0\nC75C EA NOP             PC:C75D A:00 X:00 Y:00 P:26 SP:FB CYC:177 SL:0\nC75D A9 LDA #$40        PC:C75E A:00 X:00 Y:00 P:26 SP:FB CYC:183 SL:0\nC75F F0 BEQ $C764       PC:C760 A:40 X:00 Y:00 P:24 SP:FB CYC:189 SL:0\nC761 4C JMP $C768       PC:C762 A:40 X:00 Y:00 P:24 SP:FB CYC:195 SL:0\nC768 EA NOP             PC:C769 A:40 X:00 Y:00 P:24 SP:FB CYC:204 SL:0\nC769 A9 LDA #$40        PC:C76A A:40 X:00 Y:00 P:24 SP:FB CYC:210 SL:0\nC76B D0 BNE $C771       PC:C76C A:40 X:00 Y:00 P:24 SP:FB CYC:216 SL:0\nC771 EA NOP             PC:C772 A:40 X:00 Y:00 P:24 SP:FB CYC:225 SL:0\nC772 A9 LDA #$00        PC:C773 A:40 X:00 Y:00 P:24 SP:FB CYC:231 SL:0\nC774 D0 BNE $C779       PC:C775 A:00 X:00 Y:00 P:26 SP:FB CYC:237 SL:0\nC776 4C JMP $C77D       PC:C777 A:00 X:00 Y:00 P:26 SP:FB CYC:243 SL:0\nC77D EA NOP             PC:C77E A:00 X:00 Y:00 P:26 SP:FB CYC:252 SL:0\nC77E A9 LDA #$FF        PC:C77F A:00 X:00 Y:00 P:26 SP:FB CYC:258 SL:0\nC780 85 STA $01         PC:C781 A:FF X:00 Y:00 P:A4 SP:FB CYC:264 SL:0\nC782 24 BIT $01         PC:C783 A:FF X:00 Y:00 P:A4 SP:FB CYC:273 SL:0\nC784 70 BVS $C78A       PC:C785 A:FF X:00 Y:00 P:E4 SP:FB CYC:282 SL:0\nC78A EA NOP             PC:C78B A:FF X:00 Y:00 P:E4 SP:FB CYC:291 SL:0\nC78B 24 BIT $01         PC:C78C A:FF X:00 Y:00 P:E4 SP:FB CYC:297 SL:0\nC78D 50 BVC $C792       PC:C78E A:FF X:00 Y:00 P:E4 SP:FB CYC:306 SL:0\nC78F 4C JMP $C796       PC:C790 A:FF X:00 Y:00 P:E4 SP:FB CYC:312 SL:0\nC796 EA NOP             PC:C797 A:FF X:00 Y:00 P:E4 SP:FB CYC:321 SL:0\nC797 A9 LDA #$00        PC:C798 A:FF X:00 Y:00 P:E4 SP:FB CYC:327 SL:0\nC799 85 STA $01         PC:C79A A:00 X:00 Y:00 P:66 SP:FB CYC:333 SL:0\nC79B 24 BIT $01         PC:C79C A:00 X:00 Y:00 P:66 SP:FB CYC:1 SL:1\nC79D 50 BVC $C7A3       PC:C79E A:00 X:00 Y:00 P:26 SP:FB CYC:10 SL:1\nC7A3 EA NOP             PC:C7A4 A:00 X:00 Y:00 P:26 SP:FB CYC:19 SL:1\nC7A4 24 BIT $01         PC:C7A5 A:00 X:00 Y:00 P:26 SP:FB CYC:25 SL:1\nC7A6 70 BVS $C7AB       PC:C7A7 A:00 X:00 Y:00 P:26 SP:FB CYC:34 SL:1\nC7A8 4C JMP $C7AF       PC:C7A9 A:00 X:00 Y:00 P:26 SP:FB CYC:40 SL:1\nC7AF EA NOP             PC:C7B0 A:00 X:00 Y:00 P:26 SP:FB CYC:49 SL:1\nC7B0 A9 LDA #$00        PC:C7B1 A:00 X:00 Y:00 P:26 SP:FB CYC:55 SL:1\nC7B2 10 BPL $C7B8       PC:C7B3 A:00 X:00 Y:00 P:26 SP:FB CYC:61 SL:1\nC7B8 EA NOP             PC:C7B9 A:00 X:00 Y:00 P:26 SP:FB CYC:70 SL:1\nC7B9 A9 LDA #$80        PC:C7BA A:00 X:00 Y:00 P:26 SP:FB CYC:76 SL:1\nC7BB 10 BPL $C7C0       PC:C7BC A:80 X:00 Y:00 P:A4 SP:FB CYC:82 SL:1\nC7BD 4C JMP $C7D9       PC:C7BE A:80 X:00 Y:00 P:A4 SP:FB CYC:88 SL:1\nC7D9 EA NOP             PC:C7DA A:80 X:00 Y:00 P:A4 SP:FB CYC:97 SL:1\nC7DA 60 RTS             PC:C7DB A:80 X:00 Y:00 P:A4 SP:FB CYC:103 SL:1\nC600 20 JSR $C7DB       PC:C601 A:80 X:00 Y:00 P:A4 SP:FD CYC:121 SL:1\nC7DB EA NOP             PC:C7DC A:80 X:00 Y:00 P:A4 SP:FB CYC:139 SL:1\nC7DC A9 LDA #$FF        PC:C7DD A:80 X:00 Y:00 P:A4 SP:FB CYC:145 SL:1\nC7DE 85 STA $01         PC:C7DF A:FF X:00 Y:00 P:A4 SP:FB CYC:151 SL:1\nC7E0 24 BIT $01         PC:C7E1 A:FF X:00 Y:00 P:A4 SP:FB CYC:160 SL:1\nC7E2 A9 LDA #$00        PC:C7E3 A:FF X:00 Y:00 P:E4 SP:FB CYC:169 SL:1\nC7E4 38 SEC             PC:C7E5 A:00 X:00 Y:00 P:66 SP:FB CYC:175 SL:1\nC7E5 78 SEI             PC:C7E6 A:00 X:00 Y:00 P:67 SP:FB CYC:181 SL:1\nC7E6 F8 SED             PC:C7E7 A:00 X:00 Y:00 P:67 SP:FB CYC:187 SL:1\nC7E7 08 PHP             PC:C7E8 A:00 X:00 Y:00 P:6F SP:FB CYC:193 SL:1\nC7E8 68 PLA             PC:C7E9 A:00 X:00 Y:00 P:6F SP:FA CYC:202 SL:1\nC7E9 29 AND #$EF        PC:C7EA A:7F X:00 Y:00 P:6D SP:FB CYC:214 SL:1\nC7EB C9 CMP #$6F        PC:C7EC A:6F X:00 Y:00 P:6D SP:FB CYC:220 SL:1\nC7ED F0 BEQ $C7F3       PC:C7EE A:6F X:00 Y:00 P:6F SP:FB CYC:226 SL:1\nC7F3 EA NOP             PC:C7F4 A:6F X:00 Y:00 P:6F SP:FB CYC:235 SL:1\nC7F4 A9 LDA #$40        PC:C7F5 A:6F X:00 Y:00 P:6F SP:FB CYC:241 SL:1\nC7F6 85 STA $01         PC:C7F7 A:40 X:00 Y:00 P:6D SP:FB CYC:247 SL:1\nC7F8 24 BIT $01         PC:C7F9 A:40 X:00 Y:00 P:6D SP:FB CYC:256 SL:1\nC7FA D8 CLD             PC:C7FB A:40 X:00 Y:00 P:6D SP:FB CYC:265 SL:1\nC7FB A9 LDA #$10        PC:C7FC A:40 X:00 Y:00 P:65 SP:FB CYC:271 SL:1\nC7FD 18 CLC             PC:C7FE A:10 X:00 Y:00 P:65 SP:FB CYC:277 SL:1\nC7FE 08 PHP             PC:C7FF A:10 X:00 Y:00 P:64 SP:FB CYC:283 SL:1\nC7FF 68 PLA             PC:C800 A:10 X:00 Y:00 P:64 SP:FA CYC:292 SL:1\nC800 29 AND #$EF        PC:C801 A:74 X:00 Y:00 P:64 SP:FB CYC:304 SL:1\nC802 C9 CMP #$64        PC:C803 A:64 X:00 Y:00 P:64 SP:FB CYC:310 SL:1\nC804 F0 BEQ $C80A       PC:C805 A:64 X:00 Y:00 P:67 SP:FB CYC:316 SL:1\nC80A EA NOP             PC:C80B A:64 X:00 Y:00 P:67 SP:FB CYC:325 SL:1\nC80B A9 LDA #$80        PC:C80C A:64 X:00 Y:00 P:67 SP:FB CYC:331 SL:1\nC80D 85 STA $01         PC:C80E A:80 X:00 Y:00 P:E5 SP:FB CYC:337 SL:1\nC80F 24 BIT $01         PC:C810 A:80 X:00 Y:00 P:E5 SP:FB CYC:5 SL:2\nC811 F8 SED             PC:C812 A:80 X:00 Y:00 P:A5 SP:FB CYC:14 SL:2\nC812 A9 LDA #$00        PC:C813 A:80 X:00 Y:00 P:AD SP:FB CYC:20 SL:2\nC814 38 SEC             PC:C815 A:00 X:00 Y:00 P:2F SP:FB CYC:26 SL:2\nC815 08 PHP             PC:C816 A:00 X:00 Y:00 P:2F SP:FB CYC:32 SL:2\nC816 68 PLA             PC:C817 A:00 X:00 Y:00 P:2F SP:FA CYC:41 SL:2\nC817 29 AND #$EF        PC:C818 A:3F X:00 Y:00 P:2D SP:FB CYC:53 SL:2\nC819 C9 CMP #$2F        PC:C81A A:2F X:00 Y:00 P:2D SP:FB CYC:59 SL:2\nC81B F0 BEQ $C821       PC:C81C A:2F X:00 Y:00 P:2F SP:FB CYC:65 SL:2\nC821 EA NOP             PC:C822 A:2F X:00 Y:00 P:2F SP:FB CYC:74 SL:2\nC822 A9 LDA #$FF        PC:C823 A:2F X:00 Y:00 P:2F SP:FB CYC:80 SL:2\nC824 48 PHA             PC:C825 A:FF X:00 Y:00 P:AD SP:FB CYC:86 SL:2\nC825 28 PLP             PC:C826 A:FF X:00 Y:00 P:AD SP:FA CYC:95 SL:2\nC826 D0 BNE $C831       PC:C827 A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:2\nC828 10 BPL $C831       PC:C829 A:FF X:00 Y:00 P:EF SP:FB CYC:113 SL:2\nC82A 50 BVC $C831       PC:C82B A:FF X:00 Y:00 P:EF SP:FB CYC:119 SL:2\nC82C 90 BCC $C831       PC:C82D A:FF X:00 Y:00 P:EF SP:FB CYC:125 SL:2\nC82E 4C JMP $C835       PC:C82F A:FF X:00 Y:00 P:EF SP:FB CYC:131 SL:2\nC835 EA NOP             PC:C836 A:FF X:00 Y:00 P:EF SP:FB CYC:140 SL:2\nC836 A9 LDA #$04        PC:C837 A:FF X:00 Y:00 P:EF SP:FB CYC:146 SL:2\nC838 48 PHA             PC:C839 A:04 X:00 Y:00 P:6D SP:FB CYC:152 SL:2\nC839 28 PLP             PC:C83A A:04 X:00 Y:00 P:6D SP:FA CYC:161 SL:2\nC83A F0 BEQ $C845       PC:C83B A:04 X:00 Y:00 P:24 SP:FB CYC:173 SL:2\nC83C 30 BMI $C845       PC:C83D A:04 X:00 Y:00 P:24 SP:FB CYC:179 SL:2\nC83E 70 BVS $C845       PC:C83F A:04 X:00 Y:00 P:24 SP:FB CYC:185 SL:2\nC840 B0 BCS $C845       PC:C841 A:04 X:00 Y:00 P:24 SP:FB CYC:191 SL:2\nC842 4C JMP $C849       PC:C843 A:04 X:00 Y:00 P:24 SP:FB CYC:197 SL:2\nC849 EA NOP             PC:C84A A:04 X:00 Y:00 P:24 SP:FB CYC:206 SL:2\nC84A F8 SED             PC:C84B A:04 X:00 Y:00 P:24 SP:FB CYC:212 SL:2\nC84B A9 LDA #$FF        PC:C84C A:04 X:00 Y:00 P:2C SP:FB CYC:218 SL:2\nC84D 85 STA $01         PC:C84E A:FF X:00 Y:00 P:AC SP:FB CYC:224 SL:2\nC84F 24 BIT $01         PC:C850 A:FF X:00 Y:00 P:AC SP:FB CYC:233 SL:2\nC851 18 CLC             PC:C852 A:FF X:00 Y:00 P:EC SP:FB CYC:242 SL:2\nC852 A9 LDA #$00        PC:C853 A:FF X:00 Y:00 P:EC SP:FB CYC:248 SL:2\nC854 48 PHA             PC:C855 A:00 X:00 Y:00 P:6E SP:FB CYC:254 SL:2\nC855 A9 LDA #$FF        PC:C856 A:00 X:00 Y:00 P:6E SP:FA CYC:263 SL:2\nC857 68 PLA             PC:C858 A:FF X:00 Y:00 P:EC SP:FA CYC:269 SL:2\nC858 D0 BNE $C863       PC:C859 A:00 X:00 Y:00 P:6E SP:FB CYC:281 SL:2\nC85A 30 BMI $C863       PC:C85B A:00 X:00 Y:00 P:6E SP:FB CYC:287 SL:2\nC85C 50 BVC $C863       PC:C85D A:00 X:00 Y:00 P:6E SP:FB CYC:293 SL:2\nC85E B0 BCS $C863       PC:C85F A:00 X:00 Y:00 P:6E SP:FB CYC:299 SL:2\nC860 4C JMP $C867       PC:C861 A:00 X:00 Y:00 P:6E SP:FB CYC:305 SL:2\nC867 EA NOP             PC:C868 A:00 X:00 Y:00 P:6E SP:FB CYC:314 SL:2\nC868 A9 LDA #$00        PC:C869 A:00 X:00 Y:00 P:6E SP:FB CYC:320 SL:2\nC86A 85 STA $01         PC:C86B A:00 X:00 Y:00 P:6E SP:FB CYC:326 SL:2\nC86C 24 BIT $01         PC:C86D A:00 X:00 Y:00 P:6E SP:FB CYC:335 SL:2\nC86E 38 SEC             PC:C86F A:00 X:00 Y:00 P:2E SP:FB CYC:3 SL:3\nC86F A9 LDA #$FF        PC:C870 A:00 X:00 Y:00 P:2F SP:FB CYC:9 SL:3\nC871 48 PHA             PC:C872 A:FF X:00 Y:00 P:AD SP:FB CYC:15 SL:3\nC872 A9 LDA #$00        PC:C873 A:FF X:00 Y:00 P:AD SP:FA CYC:24 SL:3\nC874 68 PLA             PC:C875 A:00 X:00 Y:00 P:2F SP:FA CYC:30 SL:3\nC875 F0 BEQ $C880       PC:C876 A:FF X:00 Y:00 P:AD SP:FB CYC:42 SL:3\nC877 10 BPL $C880       PC:C878 A:FF X:00 Y:00 P:AD SP:FB CYC:48 SL:3\nC879 70 BVS $C880       PC:C87A A:FF X:00 Y:00 P:AD SP:FB CYC:54 SL:3\nC87B 90 BCC $C880       PC:C87C A:FF X:00 Y:00 P:AD SP:FB CYC:60 SL:3\nC87D 4C JMP $C884       PC:C87E A:FF X:00 Y:00 P:AD SP:FB CYC:66 SL:3\nC884 60 RTS             PC:C885 A:FF X:00 Y:00 P:AD SP:FB CYC:75 SL:3\nC603 20 JSR $C885       PC:C604 A:FF X:00 Y:00 P:AD SP:FD CYC:93 SL:3\nC885 EA NOP             PC:C886 A:FF X:00 Y:00 P:AD SP:FB CYC:111 SL:3\nC886 18 CLC             PC:C887 A:FF X:00 Y:00 P:AD SP:FB CYC:117 SL:3\nC887 A9 LDA #$FF        PC:C888 A:FF X:00 Y:00 P:AC SP:FB CYC:123 SL:3\nC889 85 STA $01         PC:C88A A:FF X:00 Y:00 P:AC SP:FB CYC:129 SL:3\nC88B 24 BIT $01         PC:C88C A:FF X:00 Y:00 P:AC SP:FB CYC:138 SL:3\nC88D A9 LDA #$55        PC:C88E A:FF X:00 Y:00 P:EC SP:FB CYC:147 SL:3\nC88F 09 ORA #$AA        PC:C890 A:55 X:00 Y:00 P:6C SP:FB CYC:153 SL:3\nC891 B0 BCS $C89E       PC:C892 A:FF X:00 Y:00 P:EC SP:FB CYC:159 SL:3\nC893 10 BPL $C89E       PC:C894 A:FF X:00 Y:00 P:EC SP:FB CYC:165 SL:3\nC895 C9 CMP #$FF        PC:C896 A:FF X:00 Y:00 P:EC SP:FB CYC:171 SL:3\nC897 D0 BNE $C89E       PC:C898 A:FF X:00 Y:00 P:6F SP:FB CYC:177 SL:3\nC899 50 BVC $C89E       PC:C89A A:FF X:00 Y:00 P:6F SP:FB CYC:183 SL:3\nC89B 4C JMP $C8A2       PC:C89C A:FF X:00 Y:00 P:6F SP:FB CYC:189 SL:3\nC8A2 EA NOP             PC:C8A3 A:FF X:00 Y:00 P:6F SP:FB CYC:198 SL:3\nC8A3 38 SEC             PC:C8A4 A:FF X:00 Y:00 P:6F SP:FB CYC:204 SL:3\nC8A4 B8 CLV             PC:C8A5 A:FF X:00 Y:00 P:6F SP:FB CYC:210 SL:3\nC8A5 A9 LDA #$00        PC:C8A6 A:FF X:00 Y:00 P:2F SP:FB CYC:216 SL:3\nC8A7 09 ORA #$00        PC:C8A8 A:00 X:00 Y:00 P:2F SP:FB CYC:222 SL:3\nC8A9 D0 BNE $C8B4       PC:C8AA A:00 X:00 Y:00 P:2F SP:FB CYC:228 SL:3\nC8AB 70 BVS $C8B4       PC:C8AC A:00 X:00 Y:00 P:2F SP:FB CYC:234 SL:3\nC8AD 90 BCC $C8B4       PC:C8AE A:00 X:00 Y:00 P:2F SP:FB CYC:240 SL:3\nC8AF 30 BMI $C8B4       PC:C8B0 A:00 X:00 Y:00 P:2F SP:FB CYC:246 SL:3\nC8B1 4C JMP $C8B8       PC:C8B2 A:00 X:00 Y:00 P:2F SP:FB CYC:252 SL:3\nC8B8 EA NOP             PC:C8B9 A:00 X:00 Y:00 P:2F SP:FB CYC:261 SL:3\nC8B9 18 CLC             PC:C8BA A:00 X:00 Y:00 P:2F SP:FB CYC:267 SL:3\nC8BA 24 BIT $01         PC:C8BB A:00 X:00 Y:00 P:2E SP:FB CYC:273 SL:3\nC8BC A9 LDA #$55        PC:C8BD A:00 X:00 Y:00 P:EE SP:FB CYC:282 SL:3\nC8BE 29 AND #$AA        PC:C8BF A:55 X:00 Y:00 P:6C SP:FB CYC:288 SL:3\nC8C0 D0 BNE $C8CB       PC:C8C1 A:00 X:00 Y:00 P:6E SP:FB CYC:294 SL:3\nC8C2 50 BVC $C8CB       PC:C8C3 A:00 X:00 Y:00 P:6E SP:FB CYC:300 SL:3\nC8C4 B0 BCS $C8CB       PC:C8C5 A:00 X:00 Y:00 P:6E SP:FB CYC:306 SL:3\nC8C6 30 BMI $C8CB       PC:C8C7 A:00 X:00 Y:00 P:6E SP:FB CYC:312 SL:3\nC8C8 4C JMP $C8CF       PC:C8C9 A:00 X:00 Y:00 P:6E SP:FB CYC:318 SL:3\nC8CF EA NOP             PC:C8D0 A:00 X:00 Y:00 P:6E SP:FB CYC:327 SL:3\nC8D0 38 SEC             PC:C8D1 A:00 X:00 Y:00 P:6E SP:FB CYC:333 SL:3\nC8D1 B8 CLV             PC:C8D2 A:00 X:00 Y:00 P:6F SP:FB CYC:339 SL:3\nC8D2 A9 LDA #$F8        PC:C8D3 A:00 X:00 Y:00 P:2F SP:FB CYC:4 SL:4\nC8D4 29 AND #$EF        PC:C8D5 A:F8 X:00 Y:00 P:AD SP:FB CYC:10 SL:4\nC8D6 90 BCC $C8E3       PC:C8D7 A:E8 X:00 Y:00 P:AD SP:FB CYC:16 SL:4\nC8D8 10 BPL $C8E3       PC:C8D9 A:E8 X:00 Y:00 P:AD SP:FB CYC:22 SL:4\nC8DA C9 CMP #$E8        PC:C8DB A:E8 X:00 Y:00 P:AD SP:FB CYC:28 SL:4\nC8DC D0 BNE $C8E3       PC:C8DD A:E8 X:00 Y:00 P:2F SP:FB CYC:34 SL:4\nC8DE 70 BVS $C8E3       PC:C8DF A:E8 X:00 Y:00 P:2F SP:FB CYC:40 SL:4\nC8E0 4C JMP $C8E7       PC:C8E1 A:E8 X:00 Y:00 P:2F SP:FB CYC:46 SL:4\nC8E7 EA NOP             PC:C8E8 A:E8 X:00 Y:00 P:2F SP:FB CYC:55 SL:4\nC8E8 18 CLC             PC:C8E9 A:E8 X:00 Y:00 P:2F SP:FB CYC:61 SL:4\nC8E9 24 BIT $01         PC:C8EA A:E8 X:00 Y:00 P:2E SP:FB CYC:67 SL:4\nC8EB A9 LDA #$5F        PC:C8EC A:E8 X:00 Y:00 P:EC SP:FB CYC:76 SL:4\nC8ED 49 EOR #$AA        PC:C8EE A:5F X:00 Y:00 P:6C SP:FB CYC:82 SL:4\nC8EF B0 BCS $C8FC       PC:C8F0 A:F5 X:00 Y:00 P:EC SP:FB CYC:88 SL:4\nC8F1 10 BPL $C8FC       PC:C8F2 A:F5 X:00 Y:00 P:EC SP:FB CYC:94 SL:4\nC8F3 C9 CMP #$F5        PC:C8F4 A:F5 X:00 Y:00 P:EC SP:FB CYC:100 SL:4\nC8F5 D0 BNE $C8FC       PC:C8F6 A:F5 X:00 Y:00 P:6F SP:FB CYC:106 SL:4\nC8F7 50 BVC $C8FC       PC:C8F8 A:F5 X:00 Y:00 P:6F SP:FB CYC:112 SL:4\nC8F9 4C JMP $C900       PC:C8FA A:F5 X:00 Y:00 P:6F SP:FB CYC:118 SL:4\nC900 EA NOP             PC:C901 A:F5 X:00 Y:00 P:6F SP:FB CYC:127 SL:4\nC901 38 SEC             PC:C902 A:F5 X:00 Y:00 P:6F SP:FB CYC:133 SL:4\nC902 B8 CLV             PC:C903 A:F5 X:00 Y:00 P:6F SP:FB CYC:139 SL:4\nC903 A9 LDA #$70        PC:C904 A:F5 X:00 Y:00 P:2F SP:FB CYC:145 SL:4\nC905 49 EOR #$70        PC:C906 A:70 X:00 Y:00 P:2D SP:FB CYC:151 SL:4\nC907 D0 BNE $C912       PC:C908 A:00 X:00 Y:00 P:2F SP:FB CYC:157 SL:4\nC909 70 BVS $C912       PC:C90A A:00 X:00 Y:00 P:2F SP:FB CYC:163 SL:4\nC90B 90 BCC $C912       PC:C90C A:00 X:00 Y:00 P:2F SP:FB CYC:169 SL:4\nC90D 30 BMI $C912       PC:C90E A:00 X:00 Y:00 P:2F SP:FB CYC:175 SL:4\nC90F 4C JMP $C916       PC:C910 A:00 X:00 Y:00 P:2F SP:FB CYC:181 SL:4\nC916 EA NOP             PC:C917 A:00 X:00 Y:00 P:2F SP:FB CYC:190 SL:4\nC917 18 CLC             PC:C918 A:00 X:00 Y:00 P:2F SP:FB CYC:196 SL:4\nC918 24 BIT $01         PC:C919 A:00 X:00 Y:00 P:2E SP:FB CYC:202 SL:4\nC91A A9 LDA #$00        PC:C91B A:00 X:00 Y:00 P:EE SP:FB CYC:211 SL:4\nC91C 69 ADC #$69        PC:C91D A:00 X:00 Y:00 P:6E SP:FB CYC:217 SL:4\nC91E 30 BMI $C92B       PC:C91F A:69 X:00 Y:00 P:2C SP:FB CYC:223 SL:4\nC920 B0 BCS $C92B       PC:C921 A:69 X:00 Y:00 P:2C SP:FB CYC:229 SL:4\nC922 C9 CMP #$69        PC:C923 A:69 X:00 Y:00 P:2C SP:FB CYC:235 SL:4\nC924 D0 BNE $C92B       PC:C925 A:69 X:00 Y:00 P:2F SP:FB CYC:241 SL:4\nC926 70 BVS $C92B       PC:C927 A:69 X:00 Y:00 P:2F SP:FB CYC:247 SL:4\nC928 4C JMP $C92F       PC:C929 A:69 X:00 Y:00 P:2F SP:FB CYC:253 SL:4\nC92F EA NOP             PC:C930 A:69 X:00 Y:00 P:2F SP:FB CYC:262 SL:4\nC930 38 SEC             PC:C931 A:69 X:00 Y:00 P:2F SP:FB CYC:268 SL:4\nC931 F8 SED             PC:C932 A:69 X:00 Y:00 P:2F SP:FB CYC:274 SL:4\nC932 24 BIT $01         PC:C933 A:69 X:00 Y:00 P:2F SP:FB CYC:280 SL:4\nC934 A9 LDA #$01        PC:C935 A:69 X:00 Y:00 P:ED SP:FB CYC:289 SL:4\nC936 69 ADC #$69        PC:C937 A:01 X:00 Y:00 P:6D SP:FB CYC:295 SL:4\nC938 30 BMI $C945       PC:C939 A:6B X:00 Y:00 P:2C SP:FB CYC:301 SL:4\nC93A B0 BCS $C945       PC:C93B A:6B X:00 Y:00 P:2C SP:FB CYC:307 SL:4\nC93C C9 CMP #$6B        PC:C93D A:6B X:00 Y:00 P:2C SP:FB CYC:313 SL:4\nC93E D0 BNE $C945       PC:C93F A:6B X:00 Y:00 P:2F SP:FB CYC:319 SL:4\nC940 70 BVS $C945       PC:C941 A:6B X:00 Y:00 P:2F SP:FB CYC:325 SL:4\nC942 4C JMP $C949       PC:C943 A:6B X:00 Y:00 P:2F SP:FB CYC:331 SL:4\nC949 EA NOP             PC:C94A A:6B X:00 Y:00 P:2F SP:FB CYC:340 SL:4\nC94A D8 CLD             PC:C94B A:6B X:00 Y:00 P:2F SP:FB CYC:5 SL:5\nC94B 38 SEC             PC:C94C A:6B X:00 Y:00 P:27 SP:FB CYC:11 SL:5\nC94C B8 CLV             PC:C94D A:6B X:00 Y:00 P:27 SP:FB CYC:17 SL:5\nC94D A9 LDA #$7F        PC:C94E A:6B X:00 Y:00 P:27 SP:FB CYC:23 SL:5\nC94F 69 ADC #$7F        PC:C950 A:7F X:00 Y:00 P:25 SP:FB CYC:29 SL:5\nC951 10 BPL $C95E       PC:C952 A:FF X:00 Y:00 P:E4 SP:FB CYC:35 SL:5\nC953 B0 BCS $C95E       PC:C954 A:FF X:00 Y:00 P:E4 SP:FB CYC:41 SL:5\nC955 C9 CMP #$FF        PC:C956 A:FF X:00 Y:00 P:E4 SP:FB CYC:47 SL:5\nC957 D0 BNE $C95E       PC:C958 A:FF X:00 Y:00 P:67 SP:FB CYC:53 SL:5\nC959 50 BVC $C95E       PC:C95A A:FF X:00 Y:00 P:67 SP:FB CYC:59 SL:5\nC95B 4C JMP $C962       PC:C95C A:FF X:00 Y:00 P:67 SP:FB CYC:65 SL:5\nC962 EA NOP             PC:C963 A:FF X:00 Y:00 P:67 SP:FB CYC:74 SL:5\nC963 18 CLC             PC:C964 A:FF X:00 Y:00 P:67 SP:FB CYC:80 SL:5\nC964 24 BIT $01         PC:C965 A:FF X:00 Y:00 P:66 SP:FB CYC:86 SL:5\nC966 A9 LDA #$7F        PC:C967 A:FF X:00 Y:00 P:E4 SP:FB CYC:95 SL:5\nC968 69 ADC #$80        PC:C969 A:7F X:00 Y:00 P:64 SP:FB CYC:101 SL:5\nC96A 10 BPL $C977       PC:C96B A:FF X:00 Y:00 P:A4 SP:FB CYC:107 SL:5\nC96C B0 BCS $C977       PC:C96D A:FF X:00 Y:00 P:A4 SP:FB CYC:113 SL:5\nC96E C9 CMP #$FF        PC:C96F A:FF X:00 Y:00 P:A4 SP:FB CYC:119 SL:5\nC970 D0 BNE $C977       PC:C971 A:FF X:00 Y:00 P:27 SP:FB CYC:125 SL:5\nC972 70 BVS $C977       PC:C973 A:FF X:00 Y:00 P:27 SP:FB CYC:131 SL:5\nC974 4C JMP $C97B       PC:C975 A:FF X:00 Y:00 P:27 SP:FB CYC:137 SL:5\nC97B EA NOP             PC:C97C A:FF X:00 Y:00 P:27 SP:FB CYC:146 SL:5\nC97C 38 SEC             PC:C97D A:FF X:00 Y:00 P:27 SP:FB CYC:152 SL:5\nC97D B8 CLV             PC:C97E A:FF X:00 Y:00 P:27 SP:FB CYC:158 SL:5\nC97E A9 LDA #$7F        PC:C97F A:FF X:00 Y:00 P:27 SP:FB CYC:164 SL:5\nC980 69 ADC #$80        PC:C981 A:7F X:00 Y:00 P:25 SP:FB CYC:170 SL:5\nC982 D0 BNE $C98D       PC:C983 A:00 X:00 Y:00 P:27 SP:FB CYC:176 SL:5\nC984 30 BMI $C98D       PC:C985 A:00 X:00 Y:00 P:27 SP:FB CYC:182 SL:5\nC986 70 BVS $C98D       PC:C987 A:00 X:00 Y:00 P:27 SP:FB CYC:188 SL:5\nC988 90 BCC $C98D       PC:C989 A:00 X:00 Y:00 P:27 SP:FB CYC:194 SL:5\nC98A 4C JMP $C991       PC:C98B A:00 X:00 Y:00 P:27 SP:FB CYC:200 SL:5\nC991 EA NOP             PC:C992 A:00 X:00 Y:00 P:27 SP:FB CYC:209 SL:5\nC992 38 SEC             PC:C993 A:00 X:00 Y:00 P:27 SP:FB CYC:215 SL:5\nC993 B8 CLV             PC:C994 A:00 X:00 Y:00 P:27 SP:FB CYC:221 SL:5\nC994 A9 LDA #$9F        PC:C995 A:00 X:00 Y:00 P:27 SP:FB CYC:227 SL:5\nC996 F0 BEQ $C9A1       PC:C997 A:9F X:00 Y:00 P:A5 SP:FB CYC:233 SL:5\nC998 10 BPL $C9A1       PC:C999 A:9F X:00 Y:00 P:A5 SP:FB CYC:239 SL:5\nC99A 70 BVS $C9A1       PC:C99B A:9F X:00 Y:00 P:A5 SP:FB CYC:245 SL:5\nC99C 90 BCC $C9A1       PC:C99D A:9F X:00 Y:00 P:A5 SP:FB CYC:251 SL:5\nC99E 4C JMP $C9A5       PC:C99F A:9F X:00 Y:00 P:A5 SP:FB CYC:257 SL:5\nC9A5 EA NOP             PC:C9A6 A:9F X:00 Y:00 P:A5 SP:FB CYC:266 SL:5\nC9A6 18 CLC             PC:C9A7 A:9F X:00 Y:00 P:A5 SP:FB CYC:272 SL:5\nC9A7 24 BIT $01         PC:C9A8 A:9F X:00 Y:00 P:A4 SP:FB CYC:278 SL:5\nC9A9 A9 LDA #$00        PC:C9AA A:9F X:00 Y:00 P:E4 SP:FB CYC:287 SL:5\nC9AB D0 BNE $C9B6       PC:C9AC A:00 X:00 Y:00 P:66 SP:FB CYC:293 SL:5\nC9AD 30 BMI $C9B6       PC:C9AE A:00 X:00 Y:00 P:66 SP:FB CYC:299 SL:5\nC9AF 50 BVC $C9B6       PC:C9B0 A:00 X:00 Y:00 P:66 SP:FB CYC:305 SL:5\nC9B1 B0 BCS $C9B6       PC:C9B2 A:00 X:00 Y:00 P:66 SP:FB CYC:311 SL:5\nC9B3 4C JMP $C9BA       PC:C9B4 A:00 X:00 Y:00 P:66 SP:FB CYC:317 SL:5\nC9BA EA NOP             PC:C9BB A:00 X:00 Y:00 P:66 SP:FB CYC:326 SL:5\nC9BB 24 BIT $01         PC:C9BC A:00 X:00 Y:00 P:66 SP:FB CYC:332 SL:5\nC9BD A9 LDA #$40        PC:C9BE A:00 X:00 Y:00 P:E6 SP:FB CYC:0 SL:6\nC9BF C9 CMP #$40        PC:C9C0 A:40 X:00 Y:00 P:64 SP:FB CYC:6 SL:6\nC9C1 30 BMI $C9CC       PC:C9C2 A:40 X:00 Y:00 P:67 SP:FB CYC:12 SL:6\nC9C3 90 BCC $C9CC       PC:C9C4 A:40 X:00 Y:00 P:67 SP:FB CYC:18 SL:6\nC9C5 D0 BNE $C9CC       PC:C9C6 A:40 X:00 Y:00 P:67 SP:FB CYC:24 SL:6\nC9C7 50 BVC $C9CC       PC:C9C8 A:40 X:00 Y:00 P:67 SP:FB CYC:30 SL:6\nC9C9 4C JMP $C9D0       PC:C9CA A:40 X:00 Y:00 P:67 SP:FB CYC:36 SL:6\nC9D0 EA NOP             PC:C9D1 A:40 X:00 Y:00 P:67 SP:FB CYC:45 SL:6\nC9D1 B8 CLV             PC:C9D2 A:40 X:00 Y:00 P:67 SP:FB CYC:51 SL:6\nC9D2 C9 CMP #$3F        PC:C9D3 A:40 X:00 Y:00 P:27 SP:FB CYC:57 SL:6\nC9D4 F0 BEQ $C9DF       PC:C9D5 A:40 X:00 Y:00 P:25 SP:FB CYC:63 SL:6\nC9D6 30 BMI $C9DF       PC:C9D7 A:40 X:00 Y:00 P:25 SP:FB CYC:69 SL:6\nC9D8 90 BCC $C9DF       PC:C9D9 A:40 X:00 Y:00 P:25 SP:FB CYC:75 SL:6\nC9DA 70 BVS $C9DF       PC:C9DB A:40 X:00 Y:00 P:25 SP:FB CYC:81 SL:6\nC9DC 4C JMP $C9E3       PC:C9DD A:40 X:00 Y:00 P:25 SP:FB CYC:87 SL:6\nC9E3 EA NOP             PC:C9E4 A:40 X:00 Y:00 P:25 SP:FB CYC:96 SL:6\nC9E4 C9 CMP #$41        PC:C9E5 A:40 X:00 Y:00 P:25 SP:FB CYC:102 SL:6\nC9E6 F0 BEQ $C9EF       PC:C9E7 A:40 X:00 Y:00 P:A4 SP:FB CYC:108 SL:6\nC9E8 10 BPL $C9EF       PC:C9E9 A:40 X:00 Y:00 P:A4 SP:FB CYC:114 SL:6\nC9EA 10 BPL $C9EF       PC:C9EB A:40 X:00 Y:00 P:A4 SP:FB CYC:120 SL:6\nC9EC 4C JMP $C9F3       PC:C9ED A:40 X:00 Y:00 P:A4 SP:FB CYC:126 SL:6\nC9F3 EA NOP             PC:C9F4 A:40 X:00 Y:00 P:A4 SP:FB CYC:135 SL:6\nC9F4 A9 LDA #$80        PC:C9F5 A:40 X:00 Y:00 P:A4 SP:FB CYC:141 SL:6\nC9F6 C9 CMP #$00        PC:C9F7 A:80 X:00 Y:00 P:A4 SP:FB CYC:147 SL:6\nC9F8 F0 BEQ $CA01       PC:C9F9 A:80 X:00 Y:00 P:A5 SP:FB CYC:153 SL:6\nC9FA 10 BPL $CA01       PC:C9FB A:80 X:00 Y:00 P:A5 SP:FB CYC:159 SL:6\nC9FC 90 BCC $CA01       PC:C9FD A:80 X:00 Y:00 P:A5 SP:FB CYC:165 SL:6\nC9FE 4C JMP $CA05       PC:C9FF A:80 X:00 Y:00 P:A5 SP:FB CYC:171 SL:6\nCA05 EA NOP             PC:CA06 A:80 X:00 Y:00 P:A5 SP:FB CYC:180 SL:6\nCA06 C9 CMP #$80        PC:CA07 A:80 X:00 Y:00 P:A5 SP:FB CYC:186 SL:6\nCA08 D0 BNE $CA11       PC:CA09 A:80 X:00 Y:00 P:27 SP:FB CYC:192 SL:6\nCA0A 30 BMI $CA11       PC:CA0B A:80 X:00 Y:00 P:27 SP:FB CYC:198 SL:6\nCA0C 90 BCC $CA11       PC:CA0D A:80 X:00 Y:00 P:27 SP:FB CYC:204 SL:6\nCA0E 4C JMP $CA15       PC:CA0F A:80 X:00 Y:00 P:27 SP:FB CYC:210 SL:6\nCA15 EA NOP             PC:CA16 A:80 X:00 Y:00 P:27 SP:FB CYC:219 SL:6\nCA16 C9 CMP #$81        PC:CA17 A:80 X:00 Y:00 P:27 SP:FB CYC:225 SL:6\nCA18 B0 BCS $CA21       PC:CA19 A:80 X:00 Y:00 P:A4 SP:FB CYC:231 SL:6\nCA1A F0 BEQ $CA21       PC:CA1B A:80 X:00 Y:00 P:A4 SP:FB CYC:237 SL:6\nCA1C 10 BPL $CA21       PC:CA1D A:80 X:00 Y:00 P:A4 SP:FB CYC:243 SL:6\nCA1E 4C JMP $CA25       PC:CA1F A:80 X:00 Y:00 P:A4 SP:FB CYC:249 SL:6\nCA25 EA NOP             PC:CA26 A:80 X:00 Y:00 P:A4 SP:FB CYC:258 SL:6\nCA26 C9 CMP #$7F        PC:CA27 A:80 X:00 Y:00 P:A4 SP:FB CYC:264 SL:6\nCA28 90 BCC $CA31       PC:CA29 A:80 X:00 Y:00 P:25 SP:FB CYC:270 SL:6\nCA2A F0 BEQ $CA31       PC:CA2B A:80 X:00 Y:00 P:25 SP:FB CYC:276 SL:6\nCA2C 30 BMI $CA31       PC:CA2D A:80 X:00 Y:00 P:25 SP:FB CYC:282 SL:6\nCA2E 4C JMP $CA35       PC:CA2F A:80 X:00 Y:00 P:25 SP:FB CYC:288 SL:6\nCA35 EA NOP             PC:CA36 A:80 X:00 Y:00 P:25 SP:FB CYC:297 SL:6\nCA36 24 BIT $01         PC:CA37 A:80 X:00 Y:00 P:25 SP:FB CYC:303 SL:6\nCA38 A0 LDY #$40        PC:CA39 A:80 X:00 Y:00 P:E5 SP:FB CYC:312 SL:6\nCA3A C0 CPY #$40        PC:CA3B A:80 X:00 Y:40 P:65 SP:FB CYC:318 SL:6\nCA3C D0 BNE $CA47       PC:CA3D A:80 X:00 Y:40 P:67 SP:FB CYC:324 SL:6\nCA3E 30 BMI $CA47       PC:CA3F A:80 X:00 Y:40 P:67 SP:FB CYC:330 SL:6\nCA40 90 BCC $CA47       PC:CA41 A:80 X:00 Y:40 P:67 SP:FB CYC:336 SL:6\nCA42 50 BVC $CA47       PC:CA43 A:80 X:00 Y:40 P:67 SP:FB CYC:1 SL:7\nCA44 4C JMP $CA4B       PC:CA45 A:80 X:00 Y:40 P:67 SP:FB CYC:7 SL:7\nCA4B EA NOP             PC:CA4C A:80 X:00 Y:40 P:67 SP:FB CYC:16 SL:7\nCA4C B8 CLV             PC:CA4D A:80 X:00 Y:40 P:67 SP:FB CYC:22 SL:7\nCA4D C0 CPY #$3F        PC:CA4E A:80 X:00 Y:40 P:27 SP:FB CYC:28 SL:7\nCA4F F0 BEQ $CA5A       PC:CA50 A:80 X:00 Y:40 P:25 SP:FB CYC:34 SL:7\nCA51 30 BMI $CA5A       PC:CA52 A:80 X:00 Y:40 P:25 SP:FB CYC:40 SL:7\nCA53 90 BCC $CA5A       PC:CA54 A:80 X:00 Y:40 P:25 SP:FB CYC:46 SL:7\nCA55 70 BVS $CA5A       PC:CA56 A:80 X:00 Y:40 P:25 SP:FB CYC:52 SL:7\nCA57 4C JMP $CA5E       PC:CA58 A:80 X:00 Y:40 P:25 SP:FB CYC:58 SL:7\nCA5E EA NOP             PC:CA5F A:80 X:00 Y:40 P:25 SP:FB CYC:67 SL:7\nCA5F C0 CPY #$41        PC:CA60 A:80 X:00 Y:40 P:25 SP:FB CYC:73 SL:7\nCA61 F0 BEQ $CA6A       PC:CA62 A:80 X:00 Y:40 P:A4 SP:FB CYC:79 SL:7\nCA63 10 BPL $CA6A       PC:CA64 A:80 X:00 Y:40 P:A4 SP:FB CYC:85 SL:7\nCA65 10 BPL $CA6A       PC:CA66 A:80 X:00 Y:40 P:A4 SP:FB CYC:91 SL:7\nCA67 4C JMP $CA6E       PC:CA68 A:80 X:00 Y:40 P:A4 SP:FB CYC:97 SL:7\nCA6E EA NOP             PC:CA6F A:80 X:00 Y:40 P:A4 SP:FB CYC:106 SL:7\nCA6F A0 LDY #$80        PC:CA70 A:80 X:00 Y:40 P:A4 SP:FB CYC:112 SL:7\nCA71 C0 CPY #$00        PC:CA72 A:80 X:00 Y:80 P:A4 SP:FB CYC:118 SL:7\nCA73 F0 BEQ $CA7C       PC:CA74 A:80 X:00 Y:80 P:A5 SP:FB CYC:124 SL:7\nCA75 10 BPL $CA7C       PC:CA76 A:80 X:00 Y:80 P:A5 SP:FB CYC:130 SL:7\nCA77 90 BCC $CA7C       PC:CA78 A:80 X:00 Y:80 P:A5 SP:FB CYC:136 SL:7\nCA79 4C JMP $CA80       PC:CA7A A:80 X:00 Y:80 P:A5 SP:FB CYC:142 SL:7\nCA80 EA NOP             PC:CA81 A:80 X:00 Y:80 P:A5 SP:FB CYC:151 SL:7\nCA81 C0 CPY #$80        PC:CA82 A:80 X:00 Y:80 P:A5 SP:FB CYC:157 SL:7\nCA83 D0 BNE $CA8C       PC:CA84 A:80 X:00 Y:80 P:27 SP:FB CYC:163 SL:7\nCA85 30 BMI $CA8C       PC:CA86 A:80 X:00 Y:80 P:27 SP:FB CYC:169 SL:7\nCA87 90 BCC $CA8C       PC:CA88 A:80 X:00 Y:80 P:27 SP:FB CYC:175 SL:7\nCA89 4C JMP $CA90       PC:CA8A A:80 X:00 Y:80 P:27 SP:FB CYC:181 SL:7\nCA90 EA NOP             PC:CA91 A:80 X:00 Y:80 P:27 SP:FB CYC:190 SL:7\nCA91 C0 CPY #$81        PC:CA92 A:80 X:00 Y:80 P:27 SP:FB CYC:196 SL:7\nCA93 B0 BCS $CA9C       PC:CA94 A:80 X:00 Y:80 P:A4 SP:FB CYC:202 SL:7\nCA95 F0 BEQ $CA9C       PC:CA96 A:80 X:00 Y:80 P:A4 SP:FB CYC:208 SL:7\nCA97 10 BPL $CA9C       PC:CA98 A:80 X:00 Y:80 P:A4 SP:FB CYC:214 SL:7\nCA99 4C JMP $CAA0       PC:CA9A A:80 X:00 Y:80 P:A4 SP:FB CYC:220 SL:7\nCAA0 EA NOP             PC:CAA1 A:80 X:00 Y:80 P:A4 SP:FB CYC:229 SL:7\nCAA1 C0 CPY #$7F        PC:CAA2 A:80 X:00 Y:80 P:A4 SP:FB CYC:235 SL:7\nCAA3 90 BCC $CAAC       PC:CAA4 A:80 X:00 Y:80 P:25 SP:FB CYC:241 SL:7\nCAA5 F0 BEQ $CAAC       PC:CAA6 A:80 X:00 Y:80 P:25 SP:FB CYC:247 SL:7\nCAA7 30 BMI $CAAC       PC:CAA8 A:80 X:00 Y:80 P:25 SP:FB CYC:253 SL:7\nCAA9 4C JMP $CAB0       PC:CAAA A:80 X:00 Y:80 P:25 SP:FB CYC:259 SL:7\nCAB0 EA NOP             PC:CAB1 A:80 X:00 Y:80 P:25 SP:FB CYC:268 SL:7\nCAB1 24 BIT $01         PC:CAB2 A:80 X:00 Y:80 P:25 SP:FB CYC:274 SL:7\nCAB3 A2 LDX #$40        PC:CAB4 A:80 X:00 Y:80 P:E5 SP:FB CYC:283 SL:7\nCAB5 E0 CPX #$40        PC:CAB6 A:80 X:40 Y:80 P:65 SP:FB CYC:289 SL:7\nCAB7 D0 BNE $CAC2       PC:CAB8 A:80 X:40 Y:80 P:67 SP:FB CYC:295 SL:7\nCAB9 30 BMI $CAC2       PC:CABA A:80 X:40 Y:80 P:67 SP:FB CYC:301 SL:7\nCABB 90 BCC $CAC2       PC:CABC A:80 X:40 Y:80 P:67 SP:FB CYC:307 SL:7\nCABD 50 BVC $CAC2       PC:CABE A:80 X:40 Y:80 P:67 SP:FB CYC:313 SL:7\nCABF 4C JMP $CAC6       PC:CAC0 A:80 X:40 Y:80 P:67 SP:FB CYC:319 SL:7\nCAC6 EA NOP             PC:CAC7 A:80 X:40 Y:80 P:67 SP:FB CYC:328 SL:7\nCAC7 B8 CLV             PC:CAC8 A:80 X:40 Y:80 P:67 SP:FB CYC:334 SL:7\nCAC8 E0 CPX #$3F        PC:CAC9 A:80 X:40 Y:80 P:27 SP:FB CYC:340 SL:7\nCACA F0 BEQ $CAD5       PC:CACB A:80 X:40 Y:80 P:25 SP:FB CYC:5 SL:8\nCACC 30 BMI $CAD5       PC:CACD A:80 X:40 Y:80 P:25 SP:FB CYC:11 SL:8\nCACE 90 BCC $CAD5       PC:CACF A:80 X:40 Y:80 P:25 SP:FB CYC:17 SL:8\nCAD0 70 BVS $CAD5       PC:CAD1 A:80 X:40 Y:80 P:25 SP:FB CYC:23 SL:8\nCAD2 4C JMP $CAD9       PC:CAD3 A:80 X:40 Y:80 P:25 SP:FB CYC:29 SL:8\nCAD9 EA NOP             PC:CADA A:80 X:40 Y:80 P:25 SP:FB CYC:38 SL:8\nCADA E0 CPX #$41        PC:CADB A:80 X:40 Y:80 P:25 SP:FB CYC:44 SL:8\nCADC F0 BEQ $CAE5       PC:CADD A:80 X:40 Y:80 P:A4 SP:FB CYC:50 SL:8\nCADE 10 BPL $CAE5       PC:CADF A:80 X:40 Y:80 P:A4 SP:FB CYC:56 SL:8\nCAE0 10 BPL $CAE5       PC:CAE1 A:80 X:40 Y:80 P:A4 SP:FB CYC:62 SL:8\nCAE2 4C JMP $CAE9       PC:CAE3 A:80 X:40 Y:80 P:A4 SP:FB CYC:68 SL:8\nCAE9 EA NOP             PC:CAEA A:80 X:40 Y:80 P:A4 SP:FB CYC:77 SL:8\nCAEA A2 LDX #$80        PC:CAEB A:80 X:40 Y:80 P:A4 SP:FB CYC:83 SL:8\nCAEC E0 CPX #$00        PC:CAED A:80 X:80 Y:80 P:A4 SP:FB CYC:89 SL:8\nCAEE F0 BEQ $CAF7       PC:CAEF A:80 X:80 Y:80 P:A5 SP:FB CYC:95 SL:8\nCAF0 10 BPL $CAF7       PC:CAF1 A:80 X:80 Y:80 P:A5 SP:FB CYC:101 SL:8\nCAF2 90 BCC $CAF7       PC:CAF3 A:80 X:80 Y:80 P:A5 SP:FB CYC:107 SL:8\nCAF4 4C JMP $CAFB       PC:CAF5 A:80 X:80 Y:80 P:A5 SP:FB CYC:113 SL:8\nCAFB EA NOP             PC:CAFC A:80 X:80 Y:80 P:A5 SP:FB CYC:122 SL:8\nCAFC E0 CPX #$80        PC:CAFD A:80 X:80 Y:80 P:A5 SP:FB CYC:128 SL:8\nCAFE D0 BNE $CB07       PC:CAFF A:80 X:80 Y:80 P:27 SP:FB CYC:134 SL:8\nCB00 30 BMI $CB07       PC:CB01 A:80 X:80 Y:80 P:27 SP:FB CYC:140 SL:8\nCB02 90 BCC $CB07       PC:CB03 A:80 X:80 Y:80 P:27 SP:FB CYC:146 SL:8\nCB04 4C JMP $CB0B       PC:CB05 A:80 X:80 Y:80 P:27 SP:FB CYC:152 SL:8\nCB0B EA NOP             PC:CB0C A:80 X:80 Y:80 P:27 SP:FB CYC:161 SL:8\nCB0C E0 CPX #$81        PC:CB0D A:80 X:80 Y:80 P:27 SP:FB CYC:167 SL:8\nCB0E B0 BCS $CB17       PC:CB0F A:80 X:80 Y:80 P:A4 SP:FB CYC:173 SL:8\nCB10 F0 BEQ $CB17       PC:CB11 A:80 X:80 Y:80 P:A4 SP:FB CYC:179 SL:8\nCB12 10 BPL $CB17       PC:CB13 A:80 X:80 Y:80 P:A4 SP:FB CYC:185 SL:8\nCB14 4C JMP $CB1B       PC:CB15 A:80 X:80 Y:80 P:A4 SP:FB CYC:191 SL:8\nCB1B EA NOP             PC:CB1C A:80 X:80 Y:80 P:A4 SP:FB CYC:200 SL:8\nCB1C E0 CPX #$7F        PC:CB1D A:80 X:80 Y:80 P:A4 SP:FB CYC:206 SL:8\nCB1E 90 BCC $CB27       PC:CB1F A:80 X:80 Y:80 P:25 SP:FB CYC:212 SL:8\nCB20 F0 BEQ $CB27       PC:CB21 A:80 X:80 Y:80 P:25 SP:FB CYC:218 SL:8\nCB22 30 BMI $CB27       PC:CB23 A:80 X:80 Y:80 P:25 SP:FB CYC:224 SL:8\nCB24 4C JMP $CB2B       PC:CB25 A:80 X:80 Y:80 P:25 SP:FB CYC:230 SL:8\nCB2B EA NOP             PC:CB2C A:80 X:80 Y:80 P:25 SP:FB CYC:239 SL:8\nCB2C 38 SEC             PC:CB2D A:80 X:80 Y:80 P:25 SP:FB CYC:245 SL:8\nCB2D B8 CLV             PC:CB2E A:80 X:80 Y:80 P:25 SP:FB CYC:251 SL:8\nCB2E A2 LDX #$9F        PC:CB2F A:80 X:80 Y:80 P:25 SP:FB CYC:257 SL:8\nCB30 F0 BEQ $CB3B       PC:CB31 A:80 X:9F Y:80 P:A5 SP:FB CYC:263 SL:8\nCB32 10 BPL $CB3B       PC:CB33 A:80 X:9F Y:80 P:A5 SP:FB CYC:269 SL:8\nCB34 70 BVS $CB3B       PC:CB35 A:80 X:9F Y:80 P:A5 SP:FB CYC:275 SL:8\nCB36 90 BCC $CB3B       PC:CB37 A:80 X:9F Y:80 P:A5 SP:FB CYC:281 SL:8\nCB38 4C JMP $CB3F       PC:CB39 A:80 X:9F Y:80 P:A5 SP:FB CYC:287 SL:8\nCB3F EA NOP             PC:CB40 A:80 X:9F Y:80 P:A5 SP:FB CYC:296 SL:8\nCB40 18 CLC             PC:CB41 A:80 X:9F Y:80 P:A5 SP:FB CYC:302 SL:8\nCB41 24 BIT $01         PC:CB42 A:80 X:9F Y:80 P:A4 SP:FB CYC:308 SL:8\nCB43 A2 LDX #$00        PC:CB44 A:80 X:9F Y:80 P:E4 SP:FB CYC:317 SL:8\nCB45 D0 BNE $CB50       PC:CB46 A:80 X:00 Y:80 P:66 SP:FB CYC:323 SL:8\nCB47 30 BMI $CB50       PC:CB48 A:80 X:00 Y:80 P:66 SP:FB CYC:329 SL:8\nCB49 50 BVC $CB50       PC:CB4A A:80 X:00 Y:80 P:66 SP:FB CYC:335 SL:8\nCB4B B0 BCS $CB50       PC:CB4C A:80 X:00 Y:80 P:66 SP:FB CYC:0 SL:9\nCB4D 4C JMP $CB54       PC:CB4E A:80 X:00 Y:80 P:66 SP:FB CYC:6 SL:9\nCB54 EA NOP             PC:CB55 A:80 X:00 Y:80 P:66 SP:FB CYC:15 SL:9\nCB55 38 SEC             PC:CB56 A:80 X:00 Y:80 P:66 SP:FB CYC:21 SL:9\nCB56 B8 CLV             PC:CB57 A:80 X:00 Y:80 P:67 SP:FB CYC:27 SL:9\nCB57 A0 LDY #$9F        PC:CB58 A:80 X:00 Y:80 P:27 SP:FB CYC:33 SL:9\nCB59 F0 BEQ $CB64       PC:CB5A A:80 X:00 Y:9F P:A5 SP:FB CYC:39 SL:9\nCB5B 10 BPL $CB64       PC:CB5C A:80 X:00 Y:9F P:A5 SP:FB CYC:45 SL:9\nCB5D 70 BVS $CB64       PC:CB5E A:80 X:00 Y:9F P:A5 SP:FB CYC:51 SL:9\nCB5F 90 BCC $CB64       PC:CB60 A:80 X:00 Y:9F P:A5 SP:FB CYC:57 SL:9\nCB61 4C JMP $CB68       PC:CB62 A:80 X:00 Y:9F P:A5 SP:FB CYC:63 SL:9\nCB68 EA NOP             PC:CB69 A:80 X:00 Y:9F P:A5 SP:FB CYC:72 SL:9\nCB69 18 CLC             PC:CB6A A:80 X:00 Y:9F P:A5 SP:FB CYC:78 SL:9\nCB6A 24 BIT $01         PC:CB6B A:80 X:00 Y:9F P:A4 SP:FB CYC:84 SL:9\nCB6C A0 LDY #$00        PC:CB6D A:80 X:00 Y:9F P:E4 SP:FB CYC:93 SL:9\nCB6E D0 BNE $CB79       PC:CB6F A:80 X:00 Y:00 P:66 SP:FB CYC:99 SL:9\nCB70 30 BMI $CB79       PC:CB71 A:80 X:00 Y:00 P:66 SP:FB CYC:105 SL:9\nCB72 50 BVC $CB79       PC:CB73 A:80 X:00 Y:00 P:66 SP:FB CYC:111 SL:9\nCB74 B0 BCS $CB79       PC:CB75 A:80 X:00 Y:00 P:66 SP:FB CYC:117 SL:9\nCB76 4C JMP $CB7D       PC:CB77 A:80 X:00 Y:00 P:66 SP:FB CYC:123 SL:9\nCB7D EA NOP             PC:CB7E A:80 X:00 Y:00 P:66 SP:FB CYC:132 SL:9\nCB7E A9 LDA #$55        PC:CB7F A:80 X:00 Y:00 P:66 SP:FB CYC:138 SL:9\nCB80 A2 LDX #$AA        PC:CB81 A:55 X:00 Y:00 P:64 SP:FB CYC:144 SL:9\nCB82 A0 LDY #$33        PC:CB83 A:55 X:AA Y:00 P:E4 SP:FB CYC:150 SL:9\nCB84 C9 CMP #$55        PC:CB85 A:55 X:AA Y:33 P:64 SP:FB CYC:156 SL:9\nCB86 D0 BNE $CBAB       PC:CB87 A:55 X:AA Y:33 P:67 SP:FB CYC:162 SL:9\nCB88 E0 CPX #$AA        PC:CB89 A:55 X:AA Y:33 P:67 SP:FB CYC:168 SL:9\nCB8A D0 BNE $CBAB       PC:CB8B A:55 X:AA Y:33 P:67 SP:FB CYC:174 SL:9\nCB8C C0 CPY #$33        PC:CB8D A:55 X:AA Y:33 P:67 SP:FB CYC:180 SL:9\nCB8E D0 BNE $CBAB       PC:CB8F A:55 X:AA Y:33 P:67 SP:FB CYC:186 SL:9\nCB90 C9 CMP #$55        PC:CB91 A:55 X:AA Y:33 P:67 SP:FB CYC:192 SL:9\nCB92 D0 BNE $CBAB       PC:CB93 A:55 X:AA Y:33 P:67 SP:FB CYC:198 SL:9\nCB94 E0 CPX #$AA        PC:CB95 A:55 X:AA Y:33 P:67 SP:FB CYC:204 SL:9\nCB96 D0 BNE $CBAB       PC:CB97 A:55 X:AA Y:33 P:67 SP:FB CYC:210 SL:9\nCB98 C0 CPY #$33        PC:CB99 A:55 X:AA Y:33 P:67 SP:FB CYC:216 SL:9\nCB9A D0 BNE $CBAB       PC:CB9B A:55 X:AA Y:33 P:67 SP:FB CYC:222 SL:9\nCB9C C9 CMP #$56        PC:CB9D A:55 X:AA Y:33 P:67 SP:FB CYC:228 SL:9\nCB9E F0 BEQ $CBAB       PC:CB9F A:55 X:AA Y:33 P:E4 SP:FB CYC:234 SL:9\nCBA0 E0 CPX #$AB        PC:CBA1 A:55 X:AA Y:33 P:E4 SP:FB CYC:240 SL:9\nCBA2 F0 BEQ $CBAB       PC:CBA3 A:55 X:AA Y:33 P:E4 SP:FB CYC:246 SL:9\nCBA4 C0 CPY #$34        PC:CBA5 A:55 X:AA Y:33 P:E4 SP:FB CYC:252 SL:9\nCBA6 F0 BEQ $CBAB       PC:CBA7 A:55 X:AA Y:33 P:E4 SP:FB CYC:258 SL:9\nCBA8 4C JMP $CBAF       PC:CBA9 A:55 X:AA Y:33 P:E4 SP:FB CYC:264 SL:9\nCBAF A0 LDY #$71        PC:CBB0 A:55 X:AA Y:33 P:E4 SP:FB CYC:273 SL:9\nCBB1 20 JSR $F931       PC:CBB2 A:55 X:AA Y:71 P:64 SP:FB CYC:279 SL:9\nF931 24 BIT $01         PC:F932 A:55 X:AA Y:71 P:64 SP:F9 CYC:297 SL:9\nF933 A9 LDA #$40        PC:F934 A:55 X:AA Y:71 P:E4 SP:F9 CYC:306 SL:9\nF935 38 SEC             PC:F936 A:40 X:AA Y:71 P:64 SP:F9 CYC:312 SL:9\nF936 60 RTS             PC:F937 A:40 X:AA Y:71 P:65 SP:F9 CYC:318 SL:9\nCBB4 E9 SBC #$40        PC:CBB5 A:40 X:AA Y:71 P:65 SP:FB CYC:336 SL:9\nCBB6 20 JSR $F937       PC:CBB7 A:00 X:AA Y:71 P:27 SP:FB CYC:1 SL:10\nF937 30 BMI $F944       PC:F938 A:00 X:AA Y:71 P:27 SP:F9 CYC:19 SL:10\nF939 90 BCC $F944       PC:F93A A:00 X:AA Y:71 P:27 SP:F9 CYC:25 SL:10\nF93B D0 BNE $F944       PC:F93C A:00 X:AA Y:71 P:27 SP:F9 CYC:31 SL:10\nF93D 70 BVS $F944       PC:F93E A:00 X:AA Y:71 P:27 SP:F9 CYC:37 SL:10\nF93F C9 CMP #$00        PC:F940 A:00 X:AA Y:71 P:27 SP:F9 CYC:43 SL:10\nF941 D0 BNE $F944       PC:F942 A:00 X:AA Y:71 P:27 SP:F9 CYC:49 SL:10\nF943 60 RTS             PC:F944 A:00 X:AA Y:71 P:27 SP:F9 CYC:55 SL:10\nCBB9 C8 INY             PC:CBBA A:00 X:AA Y:71 P:27 SP:FB CYC:73 SL:10\nCBBA 20 JSR $F947       PC:CBBB A:00 X:AA Y:72 P:25 SP:FB CYC:79 SL:10\nF947 B8 CLV             PC:F948 A:00 X:AA Y:72 P:25 SP:F9 CYC:97 SL:10\nF948 38 SEC             PC:F949 A:00 X:AA Y:72 P:25 SP:F9 CYC:103 SL:10\nF949 A9 LDA #$40        PC:F94A A:00 X:AA Y:72 P:25 SP:F9 CYC:109 SL:10\nF94B 60 RTS             PC:F94C A:40 X:AA Y:72 P:25 SP:F9 CYC:115 SL:10\nCBBD E9 SBC #$3F        PC:CBBE A:40 X:AA Y:72 P:25 SP:FB CYC:133 SL:10\nCBBF 20 JSR $F94C       PC:CBC0 A:01 X:AA Y:72 P:25 SP:FB CYC:139 SL:10\nF94C F0 BEQ $F959       PC:F94D A:01 X:AA Y:72 P:25 SP:F9 CYC:157 SL:10\nF94E 30 BMI $F959       PC:F94F A:01 X:AA Y:72 P:25 SP:F9 CYC:163 SL:10\nF950 90 BCC $F959       PC:F951 A:01 X:AA Y:72 P:25 SP:F9 CYC:169 SL:10\nF952 70 BVS $F959       PC:F953 A:01 X:AA Y:72 P:25 SP:F9 CYC:175 SL:10\nF954 C9 CMP #$01        PC:F955 A:01 X:AA Y:72 P:25 SP:F9 CYC:181 SL:10\nF956 D0 BNE $F959       PC:F957 A:01 X:AA Y:72 P:27 SP:F9 CYC:187 SL:10\nF958 60 RTS             PC:F959 A:01 X:AA Y:72 P:27 SP:F9 CYC:193 SL:10\nCBC2 C8 INY             PC:CBC3 A:01 X:AA Y:72 P:27 SP:FB CYC:211 SL:10\nCBC3 20 JSR $F95C       PC:CBC4 A:01 X:AA Y:73 P:25 SP:FB CYC:217 SL:10\nF95C A9 LDA #$40        PC:F95D A:01 X:AA Y:73 P:25 SP:F9 CYC:235 SL:10\nF95E 38 SEC             PC:F95F A:40 X:AA Y:73 P:25 SP:F9 CYC:241 SL:10\nF95F 24 BIT $01         PC:F960 A:40 X:AA Y:73 P:25 SP:F9 CYC:247 SL:10\nF961 60 RTS             PC:F962 A:40 X:AA Y:73 P:E5 SP:F9 CYC:256 SL:10\nCBC6 E9 SBC #$41        PC:CBC7 A:40 X:AA Y:73 P:E5 SP:FB CYC:274 SL:10\nCBC8 20 JSR $F962       PC:CBC9 A:FF X:AA Y:73 P:A4 SP:FB CYC:280 SL:10\nF962 B0 BCS $F96F       PC:F963 A:FF X:AA Y:73 P:A4 SP:F9 CYC:298 SL:10\nF964 F0 BEQ $F96F       PC:F965 A:FF X:AA Y:73 P:A4 SP:F9 CYC:304 SL:10\nF966 10 BPL $F96F       PC:F967 A:FF X:AA Y:73 P:A4 SP:F9 CYC:310 SL:10\nF968 70 BVS $F96F       PC:F969 A:FF X:AA Y:73 P:A4 SP:F9 CYC:316 SL:10\nF96A C9 CMP #$FF        PC:F96B A:FF X:AA Y:73 P:A4 SP:F9 CYC:322 SL:10\nF96C D0 BNE $F96F       PC:F96D A:FF X:AA Y:73 P:27 SP:F9 CYC:328 SL:10\nF96E 60 RTS             PC:F96F A:FF X:AA Y:73 P:27 SP:F9 CYC:334 SL:10\nCBCB C8 INY             PC:CBCC A:FF X:AA Y:73 P:27 SP:FB CYC:11 SL:11\nCBCC 20 JSR $F972       PC:CBCD A:FF X:AA Y:74 P:25 SP:FB CYC:17 SL:11\nF972 18 CLC             PC:F973 A:FF X:AA Y:74 P:25 SP:F9 CYC:35 SL:11\nF973 A9 LDA #$80        PC:F974 A:FF X:AA Y:74 P:24 SP:F9 CYC:41 SL:11\nF975 60 RTS             PC:F976 A:80 X:AA Y:74 P:A4 SP:F9 CYC:47 SL:11\nCBCF E9 SBC #$00        PC:CBD0 A:80 X:AA Y:74 P:A4 SP:FB CYC:65 SL:11\nCBD1 20 JSR $F976       PC:CBD2 A:7F X:AA Y:74 P:65 SP:FB CYC:71 SL:11\nF976 90 BCC $F97D       PC:F977 A:7F X:AA Y:74 P:65 SP:F9 CYC:89 SL:11\nF978 C9 CMP #$7F        PC:F979 A:7F X:AA Y:74 P:65 SP:F9 CYC:95 SL:11\nF97A D0 BNE $F97D       PC:F97B A:7F X:AA Y:74 P:67 SP:F9 CYC:101 SL:11\nF97C 60 RTS             PC:F97D A:7F X:AA Y:74 P:67 SP:F9 CYC:107 SL:11\nCBD4 C8 INY             PC:CBD5 A:7F X:AA Y:74 P:67 SP:FB CYC:125 SL:11\nCBD5 20 JSR $F980       PC:CBD6 A:7F X:AA Y:75 P:65 SP:FB CYC:131 SL:11\nF980 38 SEC             PC:F981 A:7F X:AA Y:75 P:65 SP:F9 CYC:149 SL:11\nF981 A9 LDA #$81        PC:F982 A:7F X:AA Y:75 P:65 SP:F9 CYC:155 SL:11\nF983 60 RTS             PC:F984 A:81 X:AA Y:75 P:E5 SP:F9 CYC:161 SL:11\nCBD8 E9 SBC #$7F        PC:CBD9 A:81 X:AA Y:75 P:E5 SP:FB CYC:179 SL:11\nCBDA 20 JSR $F984       PC:CBDB A:02 X:AA Y:75 P:65 SP:FB CYC:185 SL:11\nF984 50 BVC $F98D       PC:F985 A:02 X:AA Y:75 P:65 SP:F9 CYC:203 SL:11\nF986 90 BCC $F98D       PC:F987 A:02 X:AA Y:75 P:65 SP:F9 CYC:209 SL:11\nF988 C9 CMP #$02        PC:F989 A:02 X:AA Y:75 P:65 SP:F9 CYC:215 SL:11\nF98A D0 BNE $F98D       PC:F98B A:02 X:AA Y:75 P:67 SP:F9 CYC:221 SL:11\nF98C 60 RTS             PC:F98D A:02 X:AA Y:75 P:67 SP:F9 CYC:227 SL:11\nCBDD 60 RTS             PC:CBDE A:02 X:AA Y:75 P:67 SP:FB CYC:245 SL:11\nC606 20 JSR $CBDE       PC:C607 A:02 X:AA Y:75 P:67 SP:FD CYC:263 SL:11\nCBDE EA NOP             PC:CBDF A:02 X:AA Y:75 P:67 SP:FB CYC:281 SL:11\nCBDF A9 LDA #$FF        PC:CBE0 A:02 X:AA Y:75 P:67 SP:FB CYC:287 SL:11\nCBE1 85 STA $01         PC:CBE2 A:FF X:AA Y:75 P:E5 SP:FB CYC:293 SL:11\nCBE3 A9 LDA #$44        PC:CBE4 A:FF X:AA Y:75 P:E5 SP:FB CYC:302 SL:11\nCBE5 A2 LDX #$55        PC:CBE6 A:44 X:AA Y:75 P:65 SP:FB CYC:308 SL:11\nCBE7 A0 LDY #$66        PC:CBE8 A:44 X:55 Y:75 P:65 SP:FB CYC:314 SL:11\nCBE9 E8 INX             PC:CBEA A:44 X:55 Y:66 P:65 SP:FB CYC:320 SL:11\nCBEA 88 DEY             PC:CBEB A:44 X:56 Y:66 P:65 SP:FB CYC:326 SL:11\nCBEB E0 CPX #$56        PC:CBEC A:44 X:56 Y:65 P:65 SP:FB CYC:332 SL:11\nCBED D0 BNE $CC10       PC:CBEE A:44 X:56 Y:65 P:67 SP:FB CYC:338 SL:11\nCBEF C0 CPY #$65        PC:CBF0 A:44 X:56 Y:65 P:67 SP:FB CYC:3 SL:12\nCBF1 D0 BNE $CC10       PC:CBF2 A:44 X:56 Y:65 P:67 SP:FB CYC:9 SL:12\nCBF3 E8 INX             PC:CBF4 A:44 X:56 Y:65 P:67 SP:FB CYC:15 SL:12\nCBF4 E8 INX             PC:CBF5 A:44 X:57 Y:65 P:65 SP:FB CYC:21 SL:12\nCBF5 88 DEY             PC:CBF6 A:44 X:58 Y:65 P:65 SP:FB CYC:27 SL:12\nCBF6 88 DEY             PC:CBF7 A:44 X:58 Y:64 P:65 SP:FB CYC:33 SL:12\nCBF7 E0 CPX #$58        PC:CBF8 A:44 X:58 Y:63 P:65 SP:FB CYC:39 SL:12\nCBF9 D0 BNE $CC10       PC:CBFA A:44 X:58 Y:63 P:67 SP:FB CYC:45 SL:12\nCBFB C0 CPY #$63        PC:CBFC A:44 X:58 Y:63 P:67 SP:FB CYC:51 SL:12\nCBFD D0 BNE $CC10       PC:CBFE A:44 X:58 Y:63 P:67 SP:FB CYC:57 SL:12\nCBFF CA DEX             PC:CC00 A:44 X:58 Y:63 P:67 SP:FB CYC:63 SL:12\nCC00 C8 INY             PC:CC01 A:44 X:57 Y:63 P:65 SP:FB CYC:69 SL:12\nCC01 E0 CPX #$57        PC:CC02 A:44 X:57 Y:64 P:65 SP:FB CYC:75 SL:12\nCC03 D0 BNE $CC10       PC:CC04 A:44 X:57 Y:64 P:67 SP:FB CYC:81 SL:12\nCC05 C0 CPY #$64        PC:CC06 A:44 X:57 Y:64 P:67 SP:FB CYC:87 SL:12\nCC07 D0 BNE $CC10       PC:CC08 A:44 X:57 Y:64 P:67 SP:FB CYC:93 SL:12\nCC09 C9 CMP #$44        PC:CC0A A:44 X:57 Y:64 P:67 SP:FB CYC:99 SL:12\nCC0B D0 BNE $CC10       PC:CC0C A:44 X:57 Y:64 P:67 SP:FB CYC:105 SL:12\nCC0D 4C JMP $CC14       PC:CC0E A:44 X:57 Y:64 P:67 SP:FB CYC:111 SL:12\nCC14 EA NOP             PC:CC15 A:44 X:57 Y:64 P:67 SP:FB CYC:120 SL:12\nCC15 38 SEC             PC:CC16 A:44 X:57 Y:64 P:67 SP:FB CYC:126 SL:12\nCC16 A2 LDX #$69        PC:CC17 A:44 X:57 Y:64 P:67 SP:FB CYC:132 SL:12\nCC18 A9 LDA #$96        PC:CC19 A:44 X:69 Y:64 P:65 SP:FB CYC:138 SL:12\nCC1A 24 BIT $01         PC:CC1B A:96 X:69 Y:64 P:E5 SP:FB CYC:144 SL:12\nCC1C A0 LDY #$FF        PC:CC1D A:96 X:69 Y:64 P:E5 SP:FB CYC:153 SL:12\nCC1E C8 INY             PC:CC1F A:96 X:69 Y:FF P:E5 SP:FB CYC:159 SL:12\nCC1F D0 BNE $CC5E       PC:CC20 A:96 X:69 Y:00 P:67 SP:FB CYC:165 SL:12\nCC21 30 BMI $CC5E       PC:CC22 A:96 X:69 Y:00 P:67 SP:FB CYC:171 SL:12\nCC23 90 BCC $CC5E       PC:CC24 A:96 X:69 Y:00 P:67 SP:FB CYC:177 SL:12\nCC25 50 BVC $CC5E       PC:CC26 A:96 X:69 Y:00 P:67 SP:FB CYC:183 SL:12\nCC27 C0 CPY #$00        PC:CC28 A:96 X:69 Y:00 P:67 SP:FB CYC:189 SL:12\nCC29 D0 BNE $CC5E       PC:CC2A A:96 X:69 Y:00 P:67 SP:FB CYC:195 SL:12\nCC2B C8 INY             PC:CC2C A:96 X:69 Y:00 P:67 SP:FB CYC:201 SL:12\nCC2C F0 BEQ $CC5E       PC:CC2D A:96 X:69 Y:01 P:65 SP:FB CYC:207 SL:12\nCC2E 30 BMI $CC5E       PC:CC2F A:96 X:69 Y:01 P:65 SP:FB CYC:213 SL:12\nCC30 90 BCC $CC5E       PC:CC31 A:96 X:69 Y:01 P:65 SP:FB CYC:219 SL:12\nCC32 50 BVC $CC5E       PC:CC33 A:96 X:69 Y:01 P:65 SP:FB CYC:225 SL:12\nCC34 18 CLC             PC:CC35 A:96 X:69 Y:01 P:65 SP:FB CYC:231 SL:12\nCC35 B8 CLV             PC:CC36 A:96 X:69 Y:01 P:64 SP:FB CYC:237 SL:12\nCC36 A0 LDY #$00        PC:CC37 A:96 X:69 Y:01 P:24 SP:FB CYC:243 SL:12\nCC38 88 DEY             PC:CC39 A:96 X:69 Y:00 P:26 SP:FB CYC:249 SL:12\nCC39 F0 BEQ $CC5E       PC:CC3A A:96 X:69 Y:FF P:A4 SP:FB CYC:255 SL:12\nCC3B 10 BPL $CC5E       PC:CC3C A:96 X:69 Y:FF P:A4 SP:FB CYC:261 SL:12\nCC3D B0 BCS $CC5E       PC:CC3E A:96 X:69 Y:FF P:A4 SP:FB CYC:267 SL:12\nCC3F 70 BVS $CC5E       PC:CC40 A:96 X:69 Y:FF P:A4 SP:FB CYC:273 SL:12\nCC41 C0 CPY #$FF        PC:CC42 A:96 X:69 Y:FF P:A4 SP:FB CYC:279 SL:12\nCC43 D0 BNE $CC5E       PC:CC44 A:96 X:69 Y:FF P:27 SP:FB CYC:285 SL:12\nCC45 18 CLC             PC:CC46 A:96 X:69 Y:FF P:27 SP:FB CYC:291 SL:12\nCC46 88 DEY             PC:CC47 A:96 X:69 Y:FF P:26 SP:FB CYC:297 SL:12\nCC47 F0 BEQ $CC5E       PC:CC48 A:96 X:69 Y:FE P:A4 SP:FB CYC:303 SL:12\nCC49 10 BPL $CC5E       PC:CC4A A:96 X:69 Y:FE P:A4 SP:FB CYC:309 SL:12\nCC4B B0 BCS $CC5E       PC:CC4C A:96 X:69 Y:FE P:A4 SP:FB CYC:315 SL:12\nCC4D 70 BVS $CC5E       PC:CC4E A:96 X:69 Y:FE P:A4 SP:FB CYC:321 SL:12\nCC4F C0 CPY #$FE        PC:CC50 A:96 X:69 Y:FE P:A4 SP:FB CYC:327 SL:12\nCC51 D0 BNE $CC5E       PC:CC52 A:96 X:69 Y:FE P:27 SP:FB CYC:333 SL:12\nCC53 C9 CMP #$96        PC:CC54 A:96 X:69 Y:FE P:27 SP:FB CYC:339 SL:12\nCC55 D0 BNE $CC5E       PC:CC56 A:96 X:69 Y:FE P:27 SP:FB CYC:4 SL:13\nCC57 E0 CPX #$69        PC:CC58 A:96 X:69 Y:FE P:27 SP:FB CYC:10 SL:13\nCC59 D0 BNE $CC5E       PC:CC5A A:96 X:69 Y:FE P:27 SP:FB CYC:16 SL:13\nCC5B 4C JMP $CC62       PC:CC5C A:96 X:69 Y:FE P:27 SP:FB CYC:22 SL:13\nCC62 EA NOP             PC:CC63 A:96 X:69 Y:FE P:27 SP:FB CYC:31 SL:13\nCC63 38 SEC             PC:CC64 A:96 X:69 Y:FE P:27 SP:FB CYC:37 SL:13\nCC64 A0 LDY #$69        PC:CC65 A:96 X:69 Y:FE P:27 SP:FB CYC:43 SL:13\nCC66 A9 LDA #$96        PC:CC67 A:96 X:69 Y:69 P:25 SP:FB CYC:49 SL:13\nCC68 24 BIT $01         PC:CC69 A:96 X:69 Y:69 P:A5 SP:FB CYC:55 SL:13\nCC6A A2 LDX #$FF        PC:CC6B A:96 X:69 Y:69 P:E5 SP:FB CYC:64 SL:13\nCC6C E8 INX             PC:CC6D A:96 X:FF Y:69 P:E5 SP:FB CYC:70 SL:13\nCC6D D0 BNE $CCAC       PC:CC6E A:96 X:00 Y:69 P:67 SP:FB CYC:76 SL:13\nCC6F 30 BMI $CCAC       PC:CC70 A:96 X:00 Y:69 P:67 SP:FB CYC:82 SL:13\nCC71 90 BCC $CCAC       PC:CC72 A:96 X:00 Y:69 P:67 SP:FB CYC:88 SL:13\nCC73 50 BVC $CCAC       PC:CC74 A:96 X:00 Y:69 P:67 SP:FB CYC:94 SL:13\nCC75 E0 CPX #$00        PC:CC76 A:96 X:00 Y:69 P:67 SP:FB CYC:100 SL:13\nCC77 D0 BNE $CCAC       PC:CC78 A:96 X:00 Y:69 P:67 SP:FB CYC:106 SL:13\nCC79 E8 INX             PC:CC7A A:96 X:00 Y:69 P:67 SP:FB CYC:112 SL:13\nCC7A F0 BEQ $CCAC       PC:CC7B A:96 X:01 Y:69 P:65 SP:FB CYC:118 SL:13\nCC7C 30 BMI $CCAC       PC:CC7D A:96 X:01 Y:69 P:65 SP:FB CYC:124 SL:13\nCC7E 90 BCC $CCAC       PC:CC7F A:96 X:01 Y:69 P:65 SP:FB CYC:130 SL:13\nCC80 50 BVC $CCAC       PC:CC81 A:96 X:01 Y:69 P:65 SP:FB CYC:136 SL:13\nCC82 18 CLC             PC:CC83 A:96 X:01 Y:69 P:65 SP:FB CYC:142 SL:13\nCC83 B8 CLV             PC:CC84 A:96 X:01 Y:69 P:64 SP:FB CYC:148 SL:13\nCC84 A2 LDX #$00        PC:CC85 A:96 X:01 Y:69 P:24 SP:FB CYC:154 SL:13\nCC86 CA DEX             PC:CC87 A:96 X:00 Y:69 P:26 SP:FB CYC:160 SL:13\nCC87 F0 BEQ $CCAC       PC:CC88 A:96 X:FF Y:69 P:A4 SP:FB CYC:166 SL:13\nCC89 10 BPL $CCAC       PC:CC8A A:96 X:FF Y:69 P:A4 SP:FB CYC:172 SL:13\nCC8B B0 BCS $CCAC       PC:CC8C A:96 X:FF Y:69 P:A4 SP:FB CYC:178 SL:13\nCC8D 70 BVS $CCAC       PC:CC8E A:96 X:FF Y:69 P:A4 SP:FB CYC:184 SL:13\nCC8F E0 CPX #$FF        PC:CC90 A:96 X:FF Y:69 P:A4 SP:FB CYC:190 SL:13\nCC91 D0 BNE $CCAC       PC:CC92 A:96 X:FF Y:69 P:27 SP:FB CYC:196 SL:13\nCC93 18 CLC             PC:CC94 A:96 X:FF Y:69 P:27 SP:FB CYC:202 SL:13\nCC94 CA DEX             PC:CC95 A:96 X:FF Y:69 P:26 SP:FB CYC:208 SL:13\nCC95 F0 BEQ $CCAC       PC:CC96 A:96 X:FE Y:69 P:A4 SP:FB CYC:214 SL:13\nCC97 10 BPL $CCAC       PC:CC98 A:96 X:FE Y:69 P:A4 SP:FB CYC:220 SL:13\nCC99 B0 BCS $CCAC       PC:CC9A A:96 X:FE Y:69 P:A4 SP:FB CYC:226 SL:13\nCC9B 70 BVS $CCAC       PC:CC9C A:96 X:FE Y:69 P:A4 SP:FB CYC:232 SL:13\nCC9D E0 CPX #$FE        PC:CC9E A:96 X:FE Y:69 P:A4 SP:FB CYC:238 SL:13\nCC9F D0 BNE $CCAC       PC:CCA0 A:96 X:FE Y:69 P:27 SP:FB CYC:244 SL:13\nCCA1 C9 CMP #$96        PC:CCA2 A:96 X:FE Y:69 P:27 SP:FB CYC:250 SL:13\nCCA3 D0 BNE $CCAC       PC:CCA4 A:96 X:FE Y:69 P:27 SP:FB CYC:256 SL:13\nCCA5 C0 CPY #$69        PC:CCA6 A:96 X:FE Y:69 P:27 SP:FB CYC:262 SL:13\nCCA7 D0 BNE $CCAC       PC:CCA8 A:96 X:FE Y:69 P:27 SP:FB CYC:268 SL:13\nCCA9 4C JMP $CCB0       PC:CCAA A:96 X:FE Y:69 P:27 SP:FB CYC:274 SL:13\nCCB0 EA NOP             PC:CCB1 A:96 X:FE Y:69 P:27 SP:FB CYC:283 SL:13\nCCB1 A9 LDA #$85        PC:CCB2 A:96 X:FE Y:69 P:27 SP:FB CYC:289 SL:13\nCCB3 A2 LDX #$34        PC:CCB4 A:85 X:FE Y:69 P:A5 SP:FB CYC:295 SL:13\nCCB5 A0 LDY #$99        PC:CCB6 A:85 X:34 Y:69 P:25 SP:FB CYC:301 SL:13\nCCB7 18 CLC             PC:CCB8 A:85 X:34 Y:99 P:A5 SP:FB CYC:307 SL:13\nCCB8 24 BIT $01         PC:CCB9 A:85 X:34 Y:99 P:A4 SP:FB CYC:313 SL:13\nCCBA A8 TAY             PC:CCBB A:85 X:34 Y:99 P:E4 SP:FB CYC:322 SL:13\nCCBB F0 BEQ $CCEB       PC:CCBC A:85 X:34 Y:85 P:E4 SP:FB CYC:328 SL:13\nCCBD B0 BCS $CCEB       PC:CCBE A:85 X:34 Y:85 P:E4 SP:FB CYC:334 SL:13\nCCBF 50 BVC $CCEB       PC:CCC0 A:85 X:34 Y:85 P:E4 SP:FB CYC:340 SL:13\nCCC1 10 BPL $CCEB       PC:CCC2 A:85 X:34 Y:85 P:E4 SP:FB CYC:5 SL:14\nCCC3 C9 CMP #$85        PC:CCC4 A:85 X:34 Y:85 P:E4 SP:FB CYC:11 SL:14\nCCC5 D0 BNE $CCEB       PC:CCC6 A:85 X:34 Y:85 P:67 SP:FB CYC:17 SL:14\nCCC7 E0 CPX #$34        PC:CCC8 A:85 X:34 Y:85 P:67 SP:FB CYC:23 SL:14\nCCC9 D0 BNE $CCEB       PC:CCCA A:85 X:34 Y:85 P:67 SP:FB CYC:29 SL:14\nCCCB C0 CPY #$85        PC:CCCC A:85 X:34 Y:85 P:67 SP:FB CYC:35 SL:14\nCCCD D0 BNE $CCEB       PC:CCCE A:85 X:34 Y:85 P:67 SP:FB CYC:41 SL:14\nCCCF A9 LDA #$00        PC:CCD0 A:85 X:34 Y:85 P:67 SP:FB CYC:47 SL:14\nCCD1 38 SEC             PC:CCD2 A:00 X:34 Y:85 P:67 SP:FB CYC:53 SL:14\nCCD2 B8 CLV             PC:CCD3 A:00 X:34 Y:85 P:67 SP:FB CYC:59 SL:14\nCCD3 A8 TAY             PC:CCD4 A:00 X:34 Y:85 P:27 SP:FB CYC:65 SL:14\nCCD4 D0 BNE $CCEB       PC:CCD5 A:00 X:34 Y:00 P:27 SP:FB CYC:71 SL:14\nCCD6 90 BCC $CCEB       PC:CCD7 A:00 X:34 Y:00 P:27 SP:FB CYC:77 SL:14\nCCD8 70 BVS $CCEB       PC:CCD9 A:00 X:34 Y:00 P:27 SP:FB CYC:83 SL:14\nCCDA 30 BMI $CCEB       PC:CCDB A:00 X:34 Y:00 P:27 SP:FB CYC:89 SL:14\nCCDC C9 CMP #$00        PC:CCDD A:00 X:34 Y:00 P:27 SP:FB CYC:95 SL:14\nCCDE D0 BNE $CCEB       PC:CCDF A:00 X:34 Y:00 P:27 SP:FB CYC:101 SL:14\nCCE0 E0 CPX #$34        PC:CCE1 A:00 X:34 Y:00 P:27 SP:FB CYC:107 SL:14\nCCE2 D0 BNE $CCEB       PC:CCE3 A:00 X:34 Y:00 P:27 SP:FB CYC:113 SL:14\nCCE4 C0 CPY #$00        PC:CCE5 A:00 X:34 Y:00 P:27 SP:FB CYC:119 SL:14\nCCE6 D0 BNE $CCEB       PC:CCE7 A:00 X:34 Y:00 P:27 SP:FB CYC:125 SL:14\nCCE8 4C JMP $CCEF       PC:CCE9 A:00 X:34 Y:00 P:27 SP:FB CYC:131 SL:14\nCCEF EA NOP             PC:CCF0 A:00 X:34 Y:00 P:27 SP:FB CYC:140 SL:14\nCCF0 A9 LDA #$85        PC:CCF1 A:00 X:34 Y:00 P:27 SP:FB CYC:146 SL:14\nCCF2 A2 LDX #$34        PC:CCF3 A:85 X:34 Y:00 P:A5 SP:FB CYC:152 SL:14\nCCF4 A0 LDY #$99        PC:CCF5 A:85 X:34 Y:00 P:25 SP:FB CYC:158 SL:14\nCCF6 18 CLC             PC:CCF7 A:85 X:34 Y:99 P:A5 SP:FB CYC:164 SL:14\nCCF7 24 BIT $01         PC:CCF8 A:85 X:34 Y:99 P:A4 SP:FB CYC:170 SL:14\nCCF9 AA TAX             PC:CCFA A:85 X:34 Y:99 P:E4 SP:FB CYC:179 SL:14\nCCFA F0 BEQ $CD2A       PC:CCFB A:85 X:85 Y:99 P:E4 SP:FB CYC:185 SL:14\nCCFC B0 BCS $CD2A       PC:CCFD A:85 X:85 Y:99 P:E4 SP:FB CYC:191 SL:14\nCCFE 50 BVC $CD2A       PC:CCFF A:85 X:85 Y:99 P:E4 SP:FB CYC:197 SL:14\nCD00 10 BPL $CD2A       PC:CD01 A:85 X:85 Y:99 P:E4 SP:FB CYC:203 SL:14\nCD02 C9 CMP #$85        PC:CD03 A:85 X:85 Y:99 P:E4 SP:FB CYC:209 SL:14\nCD04 D0 BNE $CD2A       PC:CD05 A:85 X:85 Y:99 P:67 SP:FB CYC:215 SL:14\nCD06 E0 CPX #$85        PC:CD07 A:85 X:85 Y:99 P:67 SP:FB CYC:221 SL:14\nCD08 D0 BNE $CD2A       PC:CD09 A:85 X:85 Y:99 P:67 SP:FB CYC:227 SL:14\nCD0A C0 CPY #$99        PC:CD0B A:85 X:85 Y:99 P:67 SP:FB CYC:233 SL:14\nCD0C D0 BNE $CD2A       PC:CD0D A:85 X:85 Y:99 P:67 SP:FB CYC:239 SL:14\nCD0E A9 LDA #$00        PC:CD0F A:85 X:85 Y:99 P:67 SP:FB CYC:245 SL:14\nCD10 38 SEC             PC:CD11 A:00 X:85 Y:99 P:67 SP:FB CYC:251 SL:14\nCD11 B8 CLV             PC:CD12 A:00 X:85 Y:99 P:67 SP:FB CYC:257 SL:14\nCD12 AA TAX             PC:CD13 A:00 X:85 Y:99 P:27 SP:FB CYC:263 SL:14\nCD13 D0 BNE $CD2A       PC:CD14 A:00 X:00 Y:99 P:27 SP:FB CYC:269 SL:14\nCD15 90 BCC $CD2A       PC:CD16 A:00 X:00 Y:99 P:27 SP:FB CYC:275 SL:14\nCD17 70 BVS $CD2A       PC:CD18 A:00 X:00 Y:99 P:27 SP:FB CYC:281 SL:14\nCD19 30 BMI $CD2A       PC:CD1A A:00 X:00 Y:99 P:27 SP:FB CYC:287 SL:14\nCD1B C9 CMP #$00        PC:CD1C A:00 X:00 Y:99 P:27 SP:FB CYC:293 SL:14\nCD1D D0 BNE $CD2A       PC:CD1E A:00 X:00 Y:99 P:27 SP:FB CYC:299 SL:14\nCD1F E0 CPX #$00        PC:CD20 A:00 X:00 Y:99 P:27 SP:FB CYC:305 SL:14\nCD21 D0 BNE $CD2A       PC:CD22 A:00 X:00 Y:99 P:27 SP:FB CYC:311 SL:14\nCD23 C0 CPY #$99        PC:CD24 A:00 X:00 Y:99 P:27 SP:FB CYC:317 SL:14\nCD25 D0 BNE $CD2A       PC:CD26 A:00 X:00 Y:99 P:27 SP:FB CYC:323 SL:14\nCD27 4C JMP $CD2E       PC:CD28 A:00 X:00 Y:99 P:27 SP:FB CYC:329 SL:14\nCD2E EA NOP             PC:CD2F A:00 X:00 Y:99 P:27 SP:FB CYC:338 SL:14\nCD2F A9 LDA #$85        PC:CD30 A:00 X:00 Y:99 P:27 SP:FB CYC:3 SL:15\nCD31 A2 LDX #$34        PC:CD32 A:85 X:00 Y:99 P:A5 SP:FB CYC:9 SL:15\nCD33 A0 LDY #$99        PC:CD34 A:85 X:34 Y:99 P:25 SP:FB CYC:15 SL:15\nCD35 18 CLC             PC:CD36 A:85 X:34 Y:99 P:A5 SP:FB CYC:21 SL:15\nCD36 24 BIT $01         PC:CD37 A:85 X:34 Y:99 P:A4 SP:FB CYC:27 SL:15\nCD38 98 TYA             PC:CD39 A:85 X:34 Y:99 P:E4 SP:FB CYC:36 SL:15\nCD39 F0 BEQ $CD69       PC:CD3A A:99 X:34 Y:99 P:E4 SP:FB CYC:42 SL:15\nCD3B B0 BCS $CD69       PC:CD3C A:99 X:34 Y:99 P:E4 SP:FB CYC:48 SL:15\nCD3D 50 BVC $CD69       PC:CD3E A:99 X:34 Y:99 P:E4 SP:FB CYC:54 SL:15\nCD3F 10 BPL $CD69       PC:CD40 A:99 X:34 Y:99 P:E4 SP:FB CYC:60 SL:15\nCD41 C9 CMP #$99        PC:CD42 A:99 X:34 Y:99 P:E4 SP:FB CYC:66 SL:15\nCD43 D0 BNE $CD69       PC:CD44 A:99 X:34 Y:99 P:67 SP:FB CYC:72 SL:15\nCD45 E0 CPX #$34        PC:CD46 A:99 X:34 Y:99 P:67 SP:FB CYC:78 SL:15\nCD47 D0 BNE $CD69       PC:CD48 A:99 X:34 Y:99 P:67 SP:FB CYC:84 SL:15\nCD49 C0 CPY #$99        PC:CD4A A:99 X:34 Y:99 P:67 SP:FB CYC:90 SL:15\nCD4B D0 BNE $CD69       PC:CD4C A:99 X:34 Y:99 P:67 SP:FB CYC:96 SL:15\nCD4D A0 LDY #$00        PC:CD4E A:99 X:34 Y:99 P:67 SP:FB CYC:102 SL:15\nCD4F 38 SEC             PC:CD50 A:99 X:34 Y:00 P:67 SP:FB CYC:108 SL:15\nCD50 B8 CLV             PC:CD51 A:99 X:34 Y:00 P:67 SP:FB CYC:114 SL:15\nCD51 98 TYA             PC:CD52 A:99 X:34 Y:00 P:27 SP:FB CYC:120 SL:15\nCD52 D0 BNE $CD69       PC:CD53 A:00 X:34 Y:00 P:27 SP:FB CYC:126 SL:15\nCD54 90 BCC $CD69       PC:CD55 A:00 X:34 Y:00 P:27 SP:FB CYC:132 SL:15\nCD56 70 BVS $CD69       PC:CD57 A:00 X:34 Y:00 P:27 SP:FB CYC:138 SL:15\nCD58 30 BMI $CD69       PC:CD59 A:00 X:34 Y:00 P:27 SP:FB CYC:144 SL:15\nCD5A C9 CMP #$00        PC:CD5B A:00 X:34 Y:00 P:27 SP:FB CYC:150 SL:15\nCD5C D0 BNE $CD69       PC:CD5D A:00 X:34 Y:00 P:27 SP:FB CYC:156 SL:15\nCD5E E0 CPX #$34        PC:CD5F A:00 X:34 Y:00 P:27 SP:FB CYC:162 SL:15\nCD60 D0 BNE $CD69       PC:CD61 A:00 X:34 Y:00 P:27 SP:FB CYC:168 SL:15\nCD62 C0 CPY #$00        PC:CD63 A:00 X:34 Y:00 P:27 SP:FB CYC:174 SL:15\nCD64 D0 BNE $CD69       PC:CD65 A:00 X:34 Y:00 P:27 SP:FB CYC:180 SL:15\nCD66 4C JMP $CD6D       PC:CD67 A:00 X:34 Y:00 P:27 SP:FB CYC:186 SL:15\nCD6D EA NOP             PC:CD6E A:00 X:34 Y:00 P:27 SP:FB CYC:195 SL:15\nCD6E A9 LDA #$85        PC:CD6F A:00 X:34 Y:00 P:27 SP:FB CYC:201 SL:15\nCD70 A2 LDX #$34        PC:CD71 A:85 X:34 Y:00 P:A5 SP:FB CYC:207 SL:15\nCD72 A0 LDY #$99        PC:CD73 A:85 X:34 Y:00 P:25 SP:FB CYC:213 SL:15\nCD74 18 CLC             PC:CD75 A:85 X:34 Y:99 P:A5 SP:FB CYC:219 SL:15\nCD75 24 BIT $01         PC:CD76 A:85 X:34 Y:99 P:A4 SP:FB CYC:225 SL:15\nCD77 8A TXA             PC:CD78 A:85 X:34 Y:99 P:E4 SP:FB CYC:234 SL:15\nCD78 F0 BEQ $CDA8       PC:CD79 A:34 X:34 Y:99 P:64 SP:FB CYC:240 SL:15\nCD7A B0 BCS $CDA8       PC:CD7B A:34 X:34 Y:99 P:64 SP:FB CYC:246 SL:15\nCD7C 50 BVC $CDA8       PC:CD7D A:34 X:34 Y:99 P:64 SP:FB CYC:252 SL:15\nCD7E 30 BMI $CDA8       PC:CD7F A:34 X:34 Y:99 P:64 SP:FB CYC:258 SL:15\nCD80 C9 CMP #$34        PC:CD81 A:34 X:34 Y:99 P:64 SP:FB CYC:264 SL:15\nCD82 D0 BNE $CDA8       PC:CD83 A:34 X:34 Y:99 P:67 SP:FB CYC:270 SL:15\nCD84 E0 CPX #$34        PC:CD85 A:34 X:34 Y:99 P:67 SP:FB CYC:276 SL:15\nCD86 D0 BNE $CDA8       PC:CD87 A:34 X:34 Y:99 P:67 SP:FB CYC:282 SL:15\nCD88 C0 CPY #$99        PC:CD89 A:34 X:34 Y:99 P:67 SP:FB CYC:288 SL:15\nCD8A D0 BNE $CDA8       PC:CD8B A:34 X:34 Y:99 P:67 SP:FB CYC:294 SL:15\nCD8C A2 LDX #$00        PC:CD8D A:34 X:34 Y:99 P:67 SP:FB CYC:300 SL:15\nCD8E 38 SEC             PC:CD8F A:34 X:00 Y:99 P:67 SP:FB CYC:306 SL:15\nCD8F B8 CLV             PC:CD90 A:34 X:00 Y:99 P:67 SP:FB CYC:312 SL:15\nCD90 8A TXA             PC:CD91 A:34 X:00 Y:99 P:27 SP:FB CYC:318 SL:15\nCD91 D0 BNE $CDA8       PC:CD92 A:00 X:00 Y:99 P:27 SP:FB CYC:324 SL:15\nCD93 90 BCC $CDA8       PC:CD94 A:00 X:00 Y:99 P:27 SP:FB CYC:330 SL:15\nCD95 70 BVS $CDA8       PC:CD96 A:00 X:00 Y:99 P:27 SP:FB CYC:336 SL:15\nCD97 30 BMI $CDA8       PC:CD98 A:00 X:00 Y:99 P:27 SP:FB CYC:1 SL:16\nCD99 C9 CMP #$00        PC:CD9A A:00 X:00 Y:99 P:27 SP:FB CYC:7 SL:16\nCD9B D0 BNE $CDA8       PC:CD9C A:00 X:00 Y:99 P:27 SP:FB CYC:13 SL:16\nCD9D E0 CPX #$00        PC:CD9E A:00 X:00 Y:99 P:27 SP:FB CYC:19 SL:16\nCD9F D0 BNE $CDA8       PC:CDA0 A:00 X:00 Y:99 P:27 SP:FB CYC:25 SL:16\nCDA1 C0 CPY #$99        PC:CDA2 A:00 X:00 Y:99 P:27 SP:FB CYC:31 SL:16\nCDA3 D0 BNE $CDA8       PC:CDA4 A:00 X:00 Y:99 P:27 SP:FB CYC:37 SL:16\nCDA5 4C JMP $CDAC       PC:CDA6 A:00 X:00 Y:99 P:27 SP:FB CYC:43 SL:16\nCDAC EA NOP             PC:CDAD A:00 X:00 Y:99 P:27 SP:FB CYC:52 SL:16\nCDAD BA TSX             PC:CDAE A:00 X:00 Y:99 P:27 SP:FB CYC:58 SL:16\nCDAE 8E STX $07FF       PC:CDAF A:00 X:FB Y:99 P:A5 SP:FB CYC:64 SL:16\nCDB1 A0 LDY #$33        PC:CDB2 A:00 X:FB Y:99 P:A5 SP:FB CYC:76 SL:16\nCDB3 A2 LDX #$69        PC:CDB4 A:00 X:FB Y:33 P:25 SP:FB CYC:82 SL:16\nCDB5 A9 LDA #$84        PC:CDB6 A:00 X:69 Y:33 P:25 SP:FB CYC:88 SL:16\nCDB7 18 CLC             PC:CDB8 A:84 X:69 Y:33 P:A5 SP:FB CYC:94 SL:16\nCDB8 24 BIT $01         PC:CDB9 A:84 X:69 Y:33 P:A4 SP:FB CYC:100 SL:16\nCDBA 9A TXS             PC:CDBB A:84 X:69 Y:33 P:E4 SP:FB CYC:109 SL:16\nCDBB F0 BEQ $CDEF       PC:CDBC A:84 X:69 Y:33 P:E4 SP:69 CYC:115 SL:16\nCDBD 10 BPL $CDEF       PC:CDBE A:84 X:69 Y:33 P:E4 SP:69 CYC:121 SL:16\nCDBF B0 BCS $CDEF       PC:CDC0 A:84 X:69 Y:33 P:E4 SP:69 CYC:127 SL:16\nCDC1 50 BVC $CDEF       PC:CDC2 A:84 X:69 Y:33 P:E4 SP:69 CYC:133 SL:16\nCDC3 C9 CMP #$84        PC:CDC4 A:84 X:69 Y:33 P:E4 SP:69 CYC:139 SL:16\nCDC5 D0 BNE $CDEF       PC:CDC6 A:84 X:69 Y:33 P:67 SP:69 CYC:145 SL:16\nCDC7 E0 CPX #$69        PC:CDC8 A:84 X:69 Y:33 P:67 SP:69 CYC:151 SL:16\nCDC9 D0 BNE $CDEF       PC:CDCA A:84 X:69 Y:33 P:67 SP:69 CYC:157 SL:16\nCDCB C0 CPY #$33        PC:CDCC A:84 X:69 Y:33 P:67 SP:69 CYC:163 SL:16\nCDCD D0 BNE $CDEF       PC:CDCE A:84 X:69 Y:33 P:67 SP:69 CYC:169 SL:16\nCDCF A0 LDY #$01        PC:CDD0 A:84 X:69 Y:33 P:67 SP:69 CYC:175 SL:16\nCDD1 A9 LDA #$04        PC:CDD2 A:84 X:69 Y:01 P:65 SP:69 CYC:181 SL:16\nCDD3 38 SEC             PC:CDD4 A:04 X:69 Y:01 P:65 SP:69 CYC:187 SL:16\nCDD4 B8 CLV             PC:CDD5 A:04 X:69 Y:01 P:65 SP:69 CYC:193 SL:16\nCDD5 A2 LDX #$00        PC:CDD6 A:04 X:69 Y:01 P:25 SP:69 CYC:199 SL:16\nCDD7 BA TSX             PC:CDD8 A:04 X:00 Y:01 P:27 SP:69 CYC:205 SL:16\nCDD8 F0 BEQ $CDEF       PC:CDD9 A:04 X:69 Y:01 P:25 SP:69 CYC:211 SL:16\nCDDA 30 BMI $CDEF       PC:CDDB A:04 X:69 Y:01 P:25 SP:69 CYC:217 SL:16\nCDDC 90 BCC $CDEF       PC:CDDD A:04 X:69 Y:01 P:25 SP:69 CYC:223 SL:16\nCDDE 70 BVS $CDEF       PC:CDDF A:04 X:69 Y:01 P:25 SP:69 CYC:229 SL:16\nCDE0 E0 CPX #$69        PC:CDE1 A:04 X:69 Y:01 P:25 SP:69 CYC:235 SL:16\nCDE2 D0 BNE $CDEF       PC:CDE3 A:04 X:69 Y:01 P:27 SP:69 CYC:241 SL:16\nCDE4 C9 CMP #$04        PC:CDE5 A:04 X:69 Y:01 P:27 SP:69 CYC:247 SL:16\nCDE6 D0 BNE $CDEF       PC:CDE7 A:04 X:69 Y:01 P:27 SP:69 CYC:253 SL:16\nCDE8 C0 CPY #$01        PC:CDE9 A:04 X:69 Y:01 P:27 SP:69 CYC:259 SL:16\nCDEA D0 BNE $CDEF       PC:CDEB A:04 X:69 Y:01 P:27 SP:69 CYC:265 SL:16\nCDEC 4C JMP $CDF3       PC:CDED A:04 X:69 Y:01 P:27 SP:69 CYC:271 SL:16\nCDF3 AE LDX $07FF       PC:CDF4 A:04 X:69 Y:01 P:27 SP:69 CYC:280 SL:16\nCDF6 9A TXS             PC:CDF7 A:04 X:FB Y:01 P:A5 SP:69 CYC:292 SL:16\nCDF7 60 RTS             PC:CDF8 A:04 X:FB Y:01 P:A5 SP:FB CYC:298 SL:16\nC609 20 JSR $CDF8       PC:C60A A:04 X:FB Y:01 P:A5 SP:FD CYC:316 SL:16\nCDF8 A9 LDA #$FF        PC:CDF9 A:04 X:FB Y:01 P:A5 SP:FB CYC:334 SL:16\nCDFA 85 STA $01         PC:CDFB A:FF X:FB Y:01 P:A5 SP:FB CYC:340 SL:16\nCDFC BA TSX             PC:CDFD A:FF X:FB Y:01 P:A5 SP:FB CYC:8 SL:17\nCDFD 8E STX $07FF       PC:CDFE A:FF X:FB Y:01 P:A5 SP:FB CYC:14 SL:17\nCE00 EA NOP             PC:CE01 A:FF X:FB Y:01 P:A5 SP:FB CYC:26 SL:17\nCE01 A2 LDX #$80        PC:CE02 A:FF X:FB Y:01 P:A5 SP:FB CYC:32 SL:17\nCE03 9A TXS             PC:CE04 A:FF X:80 Y:01 P:A5 SP:FB CYC:38 SL:17\nCE04 A9 LDA #$33        PC:CE05 A:FF X:80 Y:01 P:A5 SP:80 CYC:44 SL:17\nCE06 48 PHA             PC:CE07 A:33 X:80 Y:01 P:25 SP:80 CYC:50 SL:17\nCE07 A9 LDA #$69        PC:CE08 A:33 X:80 Y:01 P:25 SP:7F CYC:59 SL:17\nCE09 48 PHA             PC:CE0A A:69 X:80 Y:01 P:25 SP:7F CYC:65 SL:17\nCE0A BA TSX             PC:CE0B A:69 X:80 Y:01 P:25 SP:7E CYC:74 SL:17\nCE0B E0 CPX #$7E        PC:CE0C A:69 X:7E Y:01 P:25 SP:7E CYC:80 SL:17\nCE0D D0 BNE $CE2F       PC:CE0E A:69 X:7E Y:01 P:27 SP:7E CYC:86 SL:17\nCE0F 68 PLA             PC:CE10 A:69 X:7E Y:01 P:27 SP:7E CYC:92 SL:17\nCE10 C9 CMP #$69        PC:CE11 A:69 X:7E Y:01 P:25 SP:7F CYC:104 SL:17\nCE12 D0 BNE $CE2F       PC:CE13 A:69 X:7E Y:01 P:27 SP:7F CYC:110 SL:17\nCE14 68 PLA             PC:CE15 A:69 X:7E Y:01 P:27 SP:7F CYC:116 SL:17\nCE15 C9 CMP #$33        PC:CE16 A:33 X:7E Y:01 P:25 SP:80 CYC:128 SL:17\nCE17 D0 BNE $CE2F       PC:CE18 A:33 X:7E Y:01 P:27 SP:80 CYC:134 SL:17\nCE19 BA TSX             PC:CE1A A:33 X:7E Y:01 P:27 SP:80 CYC:140 SL:17\nCE1A E0 CPX #$80        PC:CE1B A:33 X:80 Y:01 P:A5 SP:80 CYC:146 SL:17\nCE1C D0 BNE $CE2F       PC:CE1D A:33 X:80 Y:01 P:27 SP:80 CYC:152 SL:17\nCE1E AD LDA $0180       PC:CE1F A:33 X:80 Y:01 P:27 SP:80 CYC:158 SL:17\nCE21 C9 CMP #$33        PC:CE22 A:33 X:80 Y:01 P:25 SP:80 CYC:170 SL:17\nCE23 D0 BNE $CE2F       PC:CE24 A:33 X:80 Y:01 P:27 SP:80 CYC:176 SL:17\nCE25 AD LDA $017F       PC:CE26 A:33 X:80 Y:01 P:27 SP:80 CYC:182 SL:17\nCE28 C9 CMP #$69        PC:CE29 A:69 X:80 Y:01 P:25 SP:80 CYC:194 SL:17\nCE2A D0 BNE $CE2F       PC:CE2B A:69 X:80 Y:01 P:27 SP:80 CYC:200 SL:17\nCE2C 4C JMP $CE33       PC:CE2D A:69 X:80 Y:01 P:27 SP:80 CYC:206 SL:17\nCE33 EA NOP             PC:CE34 A:69 X:80 Y:01 P:27 SP:80 CYC:215 SL:17\nCE34 A2 LDX #$80        PC:CE35 A:69 X:80 Y:01 P:27 SP:80 CYC:221 SL:17\nCE36 9A TXS             PC:CE37 A:69 X:80 Y:01 P:A5 SP:80 CYC:227 SL:17\nCE37 20 JSR $CE3D       PC:CE38 A:69 X:80 Y:01 P:A5 SP:80 CYC:233 SL:17\nCE3D BA TSX             PC:CE3E A:69 X:80 Y:01 P:A5 SP:7E CYC:251 SL:17\nCE3E E0 CPX #$7E        PC:CE3F A:69 X:7E Y:01 P:25 SP:7E CYC:257 SL:17\nCE40 D0 BNE $CE5B       PC:CE41 A:69 X:7E Y:01 P:27 SP:7E CYC:263 SL:17\nCE42 68 PLA             PC:CE43 A:69 X:7E Y:01 P:27 SP:7E CYC:269 SL:17\nCE43 68 PLA             PC:CE44 A:39 X:7E Y:01 P:25 SP:7F CYC:281 SL:17\nCE44 BA TSX             PC:CE45 A:CE X:7E Y:01 P:A5 SP:80 CYC:293 SL:17\nCE45 E0 CPX #$80        PC:CE46 A:CE X:80 Y:01 P:A5 SP:80 CYC:299 SL:17\nCE47 D0 BNE $CE5B       PC:CE48 A:CE X:80 Y:01 P:27 SP:80 CYC:305 SL:17\nCE49 A9 LDA #$00        PC:CE4A A:CE X:80 Y:01 P:27 SP:80 CYC:311 SL:17\nCE4B 20 JSR $CE4E       PC:CE4C A:00 X:80 Y:01 P:27 SP:80 CYC:317 SL:17\nCE4E 68 PLA             PC:CE4F A:00 X:80 Y:01 P:27 SP:7E CYC:335 SL:17\nCE4F C9 CMP #$4D        PC:CE50 A:4D X:80 Y:01 P:25 SP:7F CYC:6 SL:18\nCE51 D0 BNE $CE5B       PC:CE52 A:4D X:80 Y:01 P:27 SP:7F CYC:12 SL:18\nCE53 68 PLA             PC:CE54 A:4D X:80 Y:01 P:27 SP:7F CYC:18 SL:18\nCE54 C9 CMP #$CE        PC:CE55 A:CE X:80 Y:01 P:A5 SP:80 CYC:30 SL:18\nCE56 D0 BNE $CE5B       PC:CE57 A:CE X:80 Y:01 P:27 SP:80 CYC:36 SL:18\nCE58 4C JMP $CE5F       PC:CE59 A:CE X:80 Y:01 P:27 SP:80 CYC:42 SL:18\nCE5F EA NOP             PC:CE60 A:CE X:80 Y:01 P:27 SP:80 CYC:51 SL:18\nCE60 A9 LDA #$CE        PC:CE61 A:CE X:80 Y:01 P:27 SP:80 CYC:57 SL:18\nCE62 48 PHA             PC:CE63 A:CE X:80 Y:01 P:A5 SP:80 CYC:63 SL:18\nCE63 A9 LDA #$66        PC:CE64 A:CE X:80 Y:01 P:A5 SP:7F CYC:72 SL:18\nCE65 48 PHA             PC:CE66 A:66 X:80 Y:01 P:25 SP:7F CYC:78 SL:18\nCE66 60 RTS             PC:CE67 A:66 X:80 Y:01 P:25 SP:7E CYC:87 SL:18\nCE67 A2 LDX #$77        PC:CE68 A:66 X:80 Y:01 P:25 SP:80 CYC:105 SL:18\nCE69 A0 LDY #$69        PC:CE6A A:66 X:77 Y:01 P:25 SP:80 CYC:111 SL:18\nCE6B 18 CLC             PC:CE6C A:66 X:77 Y:69 P:25 SP:80 CYC:117 SL:18\nCE6C 24 BIT $01         PC:CE6D A:66 X:77 Y:69 P:24 SP:80 CYC:123 SL:18\nCE6E A9 LDA #$83        PC:CE6F A:66 X:77 Y:69 P:E4 SP:80 CYC:132 SL:18\nCE70 20 JSR $CE66       PC:CE71 A:83 X:77 Y:69 P:E4 SP:80 CYC:138 SL:18\nCE66 60 RTS             PC:CE67 A:83 X:77 Y:69 P:E4 SP:7E CYC:156 SL:18\nCE73 F0 BEQ $CE99       PC:CE74 A:83 X:77 Y:69 P:E4 SP:80 CYC:174 SL:18\nCE75 10 BPL $CE99       PC:CE76 A:83 X:77 Y:69 P:E4 SP:80 CYC:180 SL:18\nCE77 B0 BCS $CE99       PC:CE78 A:83 X:77 Y:69 P:E4 SP:80 CYC:186 SL:18\nCE79 50 BVC $CE99       PC:CE7A A:83 X:77 Y:69 P:E4 SP:80 CYC:192 SL:18\nCE7B C9 CMP #$83        PC:CE7C A:83 X:77 Y:69 P:E4 SP:80 CYC:198 SL:18\nCE7D D0 BNE $CE99       PC:CE7E A:83 X:77 Y:69 P:67 SP:80 CYC:204 SL:18\nCE7F C0 CPY #$69        PC:CE80 A:83 X:77 Y:69 P:67 SP:80 CYC:210 SL:18\nCE81 D0 BNE $CE99       PC:CE82 A:83 X:77 Y:69 P:67 SP:80 CYC:216 SL:18\nCE83 E0 CPX #$77        PC:CE84 A:83 X:77 Y:69 P:67 SP:80 CYC:222 SL:18\nCE85 D0 BNE $CE99       PC:CE86 A:83 X:77 Y:69 P:67 SP:80 CYC:228 SL:18\nCE87 38 SEC             PC:CE88 A:83 X:77 Y:69 P:67 SP:80 CYC:234 SL:18\nCE88 B8 CLV             PC:CE89 A:83 X:77 Y:69 P:67 SP:80 CYC:240 SL:18\nCE89 A9 LDA #$00        PC:CE8A A:83 X:77 Y:69 P:27 SP:80 CYC:246 SL:18\nCE8B 20 JSR $CE66       PC:CE8C A:00 X:77 Y:69 P:27 SP:80 CYC:252 SL:18\nCE66 60 RTS             PC:CE67 A:00 X:77 Y:69 P:27 SP:7E CYC:270 SL:18\nCE8E D0 BNE $CE99       PC:CE8F A:00 X:77 Y:69 P:27 SP:80 CYC:288 SL:18\nCE90 30 BMI $CE99       PC:CE91 A:00 X:77 Y:69 P:27 SP:80 CYC:294 SL:18\nCE92 90 BCC $CE99       PC:CE93 A:00 X:77 Y:69 P:27 SP:80 CYC:300 SL:18\nCE94 70 BVS $CE99       PC:CE95 A:00 X:77 Y:69 P:27 SP:80 CYC:306 SL:18\nCE96 4C JMP $CE9D       PC:CE97 A:00 X:77 Y:69 P:27 SP:80 CYC:312 SL:18\nCE9D EA NOP             PC:CE9E A:00 X:77 Y:69 P:27 SP:80 CYC:321 SL:18\nCE9E A9 LDA #$CE        PC:CE9F A:00 X:77 Y:69 P:27 SP:80 CYC:327 SL:18\nCEA0 48 PHA             PC:CEA1 A:CE X:77 Y:69 P:A5 SP:80 CYC:333 SL:18\nCEA1 A9 LDA #$AE        PC:CEA2 A:CE X:77 Y:69 P:A5 SP:7F CYC:1 SL:19\nCEA3 48 PHA             PC:CEA4 A:AE X:77 Y:69 P:A5 SP:7F CYC:7 SL:19\nCEA4 A9 LDA #$65        PC:CEA5 A:AE X:77 Y:69 P:A5 SP:7E CYC:16 SL:19\nCEA6 48 PHA             PC:CEA7 A:65 X:77 Y:69 P:25 SP:7E CYC:22 SL:19\nCEA7 A9 LDA #$55        PC:CEA8 A:65 X:77 Y:69 P:25 SP:7D CYC:31 SL:19\nCEA9 A0 LDY #$88        PC:CEAA A:55 X:77 Y:69 P:25 SP:7D CYC:37 SL:19\nCEAB A2 LDX #$99        PC:CEAC A:55 X:77 Y:88 P:A5 SP:7D CYC:43 SL:19\nCEAD 40 RTI             PC:CEAE A:55 X:99 Y:88 P:A5 SP:7D CYC:49 SL:19\nCEAE 30 BMI $CEE5       PC:CEAF A:55 X:99 Y:88 P:65 SP:80 CYC:67 SL:19\nCEB0 50 BVC $CEE5       PC:CEB1 A:55 X:99 Y:88 P:65 SP:80 CYC:73 SL:19\nCEB2 F0 BEQ $CEE5       PC:CEB3 A:55 X:99 Y:88 P:65 SP:80 CYC:79 SL:19\nCEB4 90 BCC $CEE5       PC:CEB5 A:55 X:99 Y:88 P:65 SP:80 CYC:85 SL:19\nCEB6 C9 CMP #$55        PC:CEB7 A:55 X:99 Y:88 P:65 SP:80 CYC:91 SL:19\nCEB8 D0 BNE $CEE5       PC:CEB9 A:55 X:99 Y:88 P:67 SP:80 CYC:97 SL:19\nCEBA C0 CPY #$88        PC:CEBB A:55 X:99 Y:88 P:67 SP:80 CYC:103 SL:19\nCEBC D0 BNE $CEE5       PC:CEBD A:55 X:99 Y:88 P:67 SP:80 CYC:109 SL:19\nCEBE E0 CPX #$99        PC:CEBF A:55 X:99 Y:88 P:67 SP:80 CYC:115 SL:19\nCEC0 D0 BNE $CEE5       PC:CEC1 A:55 X:99 Y:88 P:67 SP:80 CYC:121 SL:19\nCEC2 A9 LDA #$CE        PC:CEC3 A:55 X:99 Y:88 P:67 SP:80 CYC:127 SL:19\nCEC4 48 PHA             PC:CEC5 A:CE X:99 Y:88 P:E5 SP:80 CYC:133 SL:19\nCEC5 A9 LDA #$CE        PC:CEC6 A:CE X:99 Y:88 P:E5 SP:7F CYC:142 SL:19\nCEC7 48 PHA             PC:CEC8 A:CE X:99 Y:88 P:E5 SP:7F CYC:148 SL:19\nCEC8 A9 LDA #$87        PC:CEC9 A:CE X:99 Y:88 P:E5 SP:7E CYC:157 SL:19\nCECA 48 PHA             PC:CECB A:87 X:99 Y:88 P:E5 SP:7E CYC:163 SL:19\nCECB A9 LDA #$55        PC:CECC A:87 X:99 Y:88 P:E5 SP:7D CYC:172 SL:19\nCECD 40 RTI             PC:CECE A:55 X:99 Y:88 P:65 SP:7D CYC:178 SL:19\nCECE 10 BPL $CEE5       PC:CECF A:55 X:99 Y:88 P:A7 SP:80 CYC:196 SL:19\nCED0 70 BVS $CEE5       PC:CED1 A:55 X:99 Y:88 P:A7 SP:80 CYC:202 SL:19\nCED2 D0 BNE $CEE5       PC:CED3 A:55 X:99 Y:88 P:A7 SP:80 CYC:208 SL:19\nCED4 90 BCC $CEE5       PC:CED5 A:55 X:99 Y:88 P:A7 SP:80 CYC:214 SL:19\nCED6 C9 CMP #$55        PC:CED7 A:55 X:99 Y:88 P:A7 SP:80 CYC:220 SL:19\nCED8 D0 BNE $CEE5       PC:CED9 A:55 X:99 Y:88 P:27 SP:80 CYC:226 SL:19\nCEDA C0 CPY #$88        PC:CEDB A:55 X:99 Y:88 P:27 SP:80 CYC:232 SL:19\nCEDC D0 BNE $CEE5       PC:CEDD A:55 X:99 Y:88 P:27 SP:80 CYC:238 SL:19\nCEDE E0 CPX #$99        PC:CEDF A:55 X:99 Y:88 P:27 SP:80 CYC:244 SL:19\nCEE0 D0 BNE $CEE5       PC:CEE1 A:55 X:99 Y:88 P:27 SP:80 CYC:250 SL:19\nCEE2 4C JMP $CEE9       PC:CEE3 A:55 X:99 Y:88 P:27 SP:80 CYC:256 SL:19\nCEE9 AE LDX $07FF       PC:CEEA A:55 X:99 Y:88 P:27 SP:80 CYC:265 SL:19\nCEEC 9A TXS             PC:CEED A:55 X:FB Y:88 P:A5 SP:80 CYC:277 SL:19\nCEED 60 RTS             PC:CEEE A:55 X:FB Y:88 P:A5 SP:FB CYC:283 SL:19\nC60C 20 JSR $CEEE       PC:C60D A:55 X:FB Y:88 P:A5 SP:FD CYC:301 SL:19\nCEEE A2 LDX #$55        PC:CEEF A:55 X:FB Y:88 P:A5 SP:FB CYC:319 SL:19\nCEF0 A0 LDY #$69        PC:CEF1 A:55 X:55 Y:88 P:25 SP:FB CYC:325 SL:19\nCEF2 A9 LDA #$FF        PC:CEF3 A:55 X:55 Y:69 P:25 SP:FB CYC:331 SL:19\nCEF4 85 STA $01         PC:CEF5 A:FF X:55 Y:69 P:A5 SP:FB CYC:337 SL:19\nCEF6 EA NOP             PC:CEF7 A:FF X:55 Y:69 P:A5 SP:FB CYC:5 SL:20\nCEF7 24 BIT $01         PC:CEF8 A:FF X:55 Y:69 P:A5 SP:FB CYC:11 SL:20\nCEF9 38 SEC             PC:CEFA A:FF X:55 Y:69 P:E5 SP:FB CYC:20 SL:20\nCEFA A9 LDA #$01        PC:CEFB A:FF X:55 Y:69 P:E5 SP:FB CYC:26 SL:20\nCEFC 4A LSR             PC:CEFD A:01 X:55 Y:69 P:65 SP:FB CYC:32 SL:20\nCEFD 90 BCC $CF1C       PC:CEFE A:00 X:55 Y:69 P:67 SP:FB CYC:38 SL:20\nCEFF D0 BNE $CF1C       PC:CF00 A:00 X:55 Y:69 P:67 SP:FB CYC:44 SL:20\nCF01 30 BMI $CF1C       PC:CF02 A:00 X:55 Y:69 P:67 SP:FB CYC:50 SL:20\nCF03 50 BVC $CF1C       PC:CF04 A:00 X:55 Y:69 P:67 SP:FB CYC:56 SL:20\nCF05 C9 CMP #$00        PC:CF06 A:00 X:55 Y:69 P:67 SP:FB CYC:62 SL:20\nCF07 D0 BNE $CF1C       PC:CF08 A:00 X:55 Y:69 P:67 SP:FB CYC:68 SL:20\nCF09 B8 CLV             PC:CF0A A:00 X:55 Y:69 P:67 SP:FB CYC:74 SL:20\nCF0A A9 LDA #$AA        PC:CF0B A:00 X:55 Y:69 P:27 SP:FB CYC:80 SL:20\nCF0C 4A LSR             PC:CF0D A:AA X:55 Y:69 P:A5 SP:FB CYC:86 SL:20\nCF0D B0 BCS $CF1C       PC:CF0E A:55 X:55 Y:69 P:24 SP:FB CYC:92 SL:20\nCF0F F0 BEQ $CF1C       PC:CF10 A:55 X:55 Y:69 P:24 SP:FB CYC:98 SL:20\nCF11 30 BMI $CF1C       PC:CF12 A:55 X:55 Y:69 P:24 SP:FB CYC:104 SL:20\nCF13 70 BVS $CF1C       PC:CF14 A:55 X:55 Y:69 P:24 SP:FB CYC:110 SL:20\nCF15 C9 CMP #$55        PC:CF16 A:55 X:55 Y:69 P:24 SP:FB CYC:116 SL:20\nCF17 D0 BNE $CF1C       PC:CF18 A:55 X:55 Y:69 P:27 SP:FB CYC:122 SL:20\nCF19 4C JMP $CF20       PC:CF1A A:55 X:55 Y:69 P:27 SP:FB CYC:128 SL:20\nCF20 EA NOP             PC:CF21 A:55 X:55 Y:69 P:27 SP:FB CYC:137 SL:20\nCF21 24 BIT $01         PC:CF22 A:55 X:55 Y:69 P:27 SP:FB CYC:143 SL:20\nCF23 38 SEC             PC:CF24 A:55 X:55 Y:69 P:E5 SP:FB CYC:152 SL:20\nCF24 A9 LDA #$80        PC:CF25 A:55 X:55 Y:69 P:E5 SP:FB CYC:158 SL:20\nCF26 0A ASL A           PC:CF27 A:80 X:55 Y:69 P:E5 SP:FB CYC:164 SL:20\nCF27 90 BCC $CF47       PC:CF28 A:00 X:55 Y:69 P:67 SP:FB CYC:170 SL:20\nCF29 D0 BNE $CF47       PC:CF2A A:00 X:55 Y:69 P:67 SP:FB CYC:176 SL:20\nCF2B 30 BMI $CF47       PC:CF2C A:00 X:55 Y:69 P:67 SP:FB CYC:182 SL:20\nCF2D 50 BVC $CF47       PC:CF2E A:00 X:55 Y:69 P:67 SP:FB CYC:188 SL:20\nCF2F C9 CMP #$00        PC:CF30 A:00 X:55 Y:69 P:67 SP:FB CYC:194 SL:20\nCF31 D0 BNE $CF47       PC:CF32 A:00 X:55 Y:69 P:67 SP:FB CYC:200 SL:20\nCF33 B8 CLV             PC:CF34 A:00 X:55 Y:69 P:67 SP:FB CYC:206 SL:20\nCF34 38 SEC             PC:CF35 A:00 X:55 Y:69 P:27 SP:FB CYC:212 SL:20\nCF35 A9 LDA #$55        PC:CF36 A:00 X:55 Y:69 P:27 SP:FB CYC:218 SL:20\nCF37 0A ASL A           PC:CF38 A:55 X:55 Y:69 P:25 SP:FB CYC:224 SL:20\nCF38 B0 BCS $CF47       PC:CF39 A:AA X:55 Y:69 P:A4 SP:FB CYC:230 SL:20\nCF3A F0 BEQ $CF47       PC:CF3B A:AA X:55 Y:69 P:A4 SP:FB CYC:236 SL:20\nCF3C 10 BPL $CF47       PC:CF3D A:AA X:55 Y:69 P:A4 SP:FB CYC:242 SL:20\nCF3E 70 BVS $CF47       PC:CF3F A:AA X:55 Y:69 P:A4 SP:FB CYC:248 SL:20\nCF40 C9 CMP #$AA        PC:CF41 A:AA X:55 Y:69 P:A4 SP:FB CYC:254 SL:20\nCF42 D0 BNE $CF47       PC:CF43 A:AA X:55 Y:69 P:27 SP:FB CYC:260 SL:20\nCF44 4C JMP $CF4B       PC:CF45 A:AA X:55 Y:69 P:27 SP:FB CYC:266 SL:20\nCF4B EA NOP             PC:CF4C A:AA X:55 Y:69 P:27 SP:FB CYC:275 SL:20\nCF4C 24 BIT $01         PC:CF4D A:AA X:55 Y:69 P:27 SP:FB CYC:281 SL:20\nCF4E 38 SEC             PC:CF4F A:AA X:55 Y:69 P:E5 SP:FB CYC:290 SL:20\nCF4F A9 LDA #$01        PC:CF50 A:AA X:55 Y:69 P:E5 SP:FB CYC:296 SL:20\nCF51 6A ROR             PC:CF52 A:01 X:55 Y:69 P:65 SP:FB CYC:302 SL:20\nCF52 90 BCC $CF72       PC:CF53 A:80 X:55 Y:69 P:E5 SP:FB CYC:308 SL:20\nCF54 F0 BEQ $CF72       PC:CF55 A:80 X:55 Y:69 P:E5 SP:FB CYC:314 SL:20\nCF56 10 BPL $CF72       PC:CF57 A:80 X:55 Y:69 P:E5 SP:FB CYC:320 SL:20\nCF58 50 BVC $CF72       PC:CF59 A:80 X:55 Y:69 P:E5 SP:FB CYC:326 SL:20\nCF5A C9 CMP #$80        PC:CF5B A:80 X:55 Y:69 P:E5 SP:FB CYC:332 SL:20\nCF5C D0 BNE $CF72       PC:CF5D A:80 X:55 Y:69 P:67 SP:FB CYC:338 SL:20\nCF5E B8 CLV             PC:CF5F A:80 X:55 Y:69 P:67 SP:FB CYC:3 SL:21\nCF5F 18 CLC             PC:CF60 A:80 X:55 Y:69 P:27 SP:FB CYC:9 SL:21\nCF60 A9 LDA #$55        PC:CF61 A:80 X:55 Y:69 P:26 SP:FB CYC:15 SL:21\nCF62 6A ROR             PC:CF63 A:55 X:55 Y:69 P:24 SP:FB CYC:21 SL:21\nCF63 90 BCC $CF72       PC:CF64 A:2A X:55 Y:69 P:25 SP:FB CYC:27 SL:21\nCF65 F0 BEQ $CF72       PC:CF66 A:2A X:55 Y:69 P:25 SP:FB CYC:33 SL:21\nCF67 30 BMI $CF72       PC:CF68 A:2A X:55 Y:69 P:25 SP:FB CYC:39 SL:21\nCF69 70 BVS $CF72       PC:CF6A A:2A X:55 Y:69 P:25 SP:FB CYC:45 SL:21\nCF6B C9 CMP #$2A        PC:CF6C A:2A X:55 Y:69 P:25 SP:FB CYC:51 SL:21\nCF6D D0 BNE $CF72       PC:CF6E A:2A X:55 Y:69 P:27 SP:FB CYC:57 SL:21\nCF6F 4C JMP $CF76       PC:CF70 A:2A X:55 Y:69 P:27 SP:FB CYC:63 SL:21\nCF76 EA NOP             PC:CF77 A:2A X:55 Y:69 P:27 SP:FB CYC:72 SL:21\nCF77 24 BIT $01         PC:CF78 A:2A X:55 Y:69 P:27 SP:FB CYC:78 SL:21\nCF79 38 SEC             PC:CF7A A:2A X:55 Y:69 P:E5 SP:FB CYC:87 SL:21\nCF7A A9 LDA #$80        PC:CF7B A:2A X:55 Y:69 P:E5 SP:FB CYC:93 SL:21\nCF7C 2A ROL             PC:CF7D A:80 X:55 Y:69 P:E5 SP:FB CYC:99 SL:21\nCF7D 90 BCC $CF9D       PC:CF7E A:01 X:55 Y:69 P:65 SP:FB CYC:105 SL:21\nCF7F F0 BEQ $CF9D       PC:CF80 A:01 X:55 Y:69 P:65 SP:FB CYC:111 SL:21\nCF81 30 BMI $CF9D       PC:CF82 A:01 X:55 Y:69 P:65 SP:FB CYC:117 SL:21\nCF83 50 BVC $CF9D       PC:CF84 A:01 X:55 Y:69 P:65 SP:FB CYC:123 SL:21\nCF85 C9 CMP #$01        PC:CF86 A:01 X:55 Y:69 P:65 SP:FB CYC:129 SL:21\nCF87 D0 BNE $CF9D       PC:CF88 A:01 X:55 Y:69 P:67 SP:FB CYC:135 SL:21\nCF89 B8 CLV             PC:CF8A A:01 X:55 Y:69 P:67 SP:FB CYC:141 SL:21\nCF8A 18 CLC             PC:CF8B A:01 X:55 Y:69 P:27 SP:FB CYC:147 SL:21\nCF8B A9 LDA #$55        PC:CF8C A:01 X:55 Y:69 P:26 SP:FB CYC:153 SL:21\nCF8D 2A ROL             PC:CF8E A:55 X:55 Y:69 P:24 SP:FB CYC:159 SL:21\nCF8E B0 BCS $CF9D       PC:CF8F A:AA X:55 Y:69 P:A4 SP:FB CYC:165 SL:21\nCF90 F0 BEQ $CF9D       PC:CF91 A:AA X:55 Y:69 P:A4 SP:FB CYC:171 SL:21\nCF92 10 BPL $CF9D       PC:CF93 A:AA X:55 Y:69 P:A4 SP:FB CYC:177 SL:21\nCF94 70 BVS $CF9D       PC:CF95 A:AA X:55 Y:69 P:A4 SP:FB CYC:183 SL:21\nCF96 C9 CMP #$AA        PC:CF97 A:AA X:55 Y:69 P:A4 SP:FB CYC:189 SL:21\nCF98 D0 BNE $CF9D       PC:CF99 A:AA X:55 Y:69 P:27 SP:FB CYC:195 SL:21\nCF9A 4C JMP $CFA1       PC:CF9B A:AA X:55 Y:69 P:27 SP:FB CYC:201 SL:21\nCFA1 60 RTS             PC:CFA2 A:AA X:55 Y:69 P:27 SP:FB CYC:210 SL:21\nC60F 20 JSR $CFA2       PC:C610 A:AA X:55 Y:69 P:27 SP:FD CYC:228 SL:21\nCFA2 A5 LDA $00         PC:CFA3 A:AA X:55 Y:69 P:27 SP:FB CYC:246 SL:21\nCFA4 8D STA $07FF       PC:CFA5 A:00 X:55 Y:69 P:27 SP:FB CYC:255 SL:21\nCFA7 A9 LDA #$00        PC:CFA8 A:00 X:55 Y:69 P:27 SP:FB CYC:267 SL:21\nCFA9 85 STA $80         PC:CFAA A:00 X:55 Y:69 P:27 SP:FB CYC:273 SL:21\nCFAB A9 LDA #$02        PC:CFAC A:00 X:55 Y:69 P:27 SP:FB CYC:282 SL:21\nCFAD 85 STA $81         PC:CFAE A:02 X:55 Y:69 P:25 SP:FB CYC:288 SL:21\nCFAF A9 LDA #$FF        PC:CFB0 A:02 X:55 Y:69 P:25 SP:FB CYC:297 SL:21\nCFB1 85 STA $01         PC:CFB2 A:FF X:55 Y:69 P:A5 SP:FB CYC:303 SL:21\nCFB3 A9 LDA #$00        PC:CFB4 A:FF X:55 Y:69 P:A5 SP:FB CYC:312 SL:21\nCFB5 85 STA $82         PC:CFB6 A:00 X:55 Y:69 P:27 SP:FB CYC:318 SL:21\nCFB7 A9 LDA #$03        PC:CFB8 A:00 X:55 Y:69 P:27 SP:FB CYC:327 SL:21\nCFB9 85 STA $83         PC:CFBA A:03 X:55 Y:69 P:25 SP:FB CYC:333 SL:21\nCFBB 85 STA $84         PC:CFBC A:03 X:55 Y:69 P:25 SP:FB CYC:1 SL:22\nCFBD A9 LDA #$00        PC:CFBE A:03 X:55 Y:69 P:25 SP:FB CYC:10 SL:22\nCFBF 85 STA $FF         PC:CFC0 A:00 X:55 Y:69 P:27 SP:FB CYC:16 SL:22\nCFC1 A9 LDA #$04        PC:CFC2 A:00 X:55 Y:69 P:27 SP:FB CYC:25 SL:22\nCFC3 85 STA $00         PC:CFC4 A:04 X:55 Y:69 P:25 SP:FB CYC:31 SL:22\nCFC5 A9 LDA #$5A        PC:CFC6 A:04 X:55 Y:69 P:25 SP:FB CYC:40 SL:22\nCFC7 8D STA $0200       PC:CFC8 A:5A X:55 Y:69 P:25 SP:FB CYC:46 SL:22\nCFCA A9 LDA #$5B        PC:CFCB A:5A X:55 Y:69 P:25 SP:FB CYC:58 SL:22\nCFCC 8D STA $0300       PC:CFCD A:5B X:55 Y:69 P:25 SP:FB CYC:64 SL:22\nCFCF A9 LDA #$5C        PC:CFD0 A:5B X:55 Y:69 P:25 SP:FB CYC:76 SL:22\nCFD1 8D STA $0303       PC:CFD2 A:5C X:55 Y:69 P:25 SP:FB CYC:82 SL:22\nCFD4 A9 LDA #$5D        PC:CFD5 A:5C X:55 Y:69 P:25 SP:FB CYC:94 SL:22\nCFD6 8D STA $0400       PC:CFD7 A:5D X:55 Y:69 P:25 SP:FB CYC:100 SL:22\nCFD9 A2 LDX #$00        PC:CFDA A:5D X:55 Y:69 P:25 SP:FB CYC:112 SL:22\nCFDB A1 LDA $(C980,x)   PC:CFDC A:5D X:00 Y:69 P:27 SP:FB CYC:118 SL:22\nCFDD C9 CMP #$5A        PC:CFDE A:5A X:00 Y:69 P:25 SP:FB CYC:136 SL:22\nCFDF D0 BNE $D000       PC:CFE0 A:5A X:00 Y:69 P:27 SP:FB CYC:142 SL:22\nCFE1 E8 INX             PC:CFE2 A:5A X:00 Y:69 P:27 SP:FB CYC:148 SL:22\nCFE2 E8 INX             PC:CFE3 A:5A X:01 Y:69 P:25 SP:FB CYC:154 SL:22\nCFE3 A1 LDA $(C980,x)   PC:CFE4 A:5A X:02 Y:69 P:25 SP:FB CYC:160 SL:22\nCFE5 C9 CMP #$5B        PC:CFE6 A:5B X:02 Y:69 P:25 SP:FB CYC:178 SL:22\nCFE7 D0 BNE $D000       PC:CFE8 A:5B X:02 Y:69 P:27 SP:FB CYC:184 SL:22\nCFE9 E8 INX             PC:CFEA A:5B X:02 Y:69 P:27 SP:FB CYC:190 SL:22\nCFEA A1 LDA $(C980,x)   PC:CFEB A:5B X:03 Y:69 P:25 SP:FB CYC:196 SL:22\nCFEC C9 CMP #$5C        PC:CFED A:5C X:03 Y:69 P:25 SP:FB CYC:214 SL:22\nCFEE D0 BNE $D000       PC:CFEF A:5C X:03 Y:69 P:27 SP:FB CYC:220 SL:22\nCFF0 A2 LDX #$00        PC:CFF1 A:5C X:03 Y:69 P:27 SP:FB CYC:226 SL:22\nCFF2 A1 LDA $(C9FF,x)   PC:CFF3 A:5C X:00 Y:69 P:27 SP:FB CYC:232 SL:22\nCFF4 C9 CMP #$5D        PC:CFF5 A:5D X:00 Y:69 P:25 SP:FB CYC:250 SL:22\nCFF6 D0 BNE $D000       PC:CFF7 A:5D X:00 Y:69 P:27 SP:FB CYC:256 SL:22\nCFF8 A2 LDX #$81        PC:CFF9 A:5D X:00 Y:69 P:27 SP:FB CYC:262 SL:22\nCFFA A1 LDA $(C9FF,x)   PC:CFFB A:5D X:81 Y:69 P:A5 SP:FB CYC:268 SL:22\nCFFC C9 CMP #$5A        PC:CFFD A:5A X:81 Y:69 P:25 SP:FB CYC:286 SL:22\nCFFE F0 BEQ $D005       PC:CFFF A:5A X:81 Y:69 P:27 SP:FB CYC:292 SL:22\nD005 A9 LDA #$AA        PC:D006 A:5A X:81 Y:69 P:27 SP:FB CYC:301 SL:22\nD007 A2 LDX #$00        PC:D008 A:AA X:81 Y:69 P:A5 SP:FB CYC:307 SL:22\nD009 81 STA $(E880,x)   PC:D00A A:AA X:00 Y:69 P:27 SP:FB CYC:313 SL:22\nD00B E8 INX             PC:D00C A:AA X:00 Y:69 P:27 SP:FB CYC:331 SL:22\nD00C E8 INX             PC:D00D A:AA X:01 Y:69 P:25 SP:FB CYC:337 SL:22\nD00D A9 LDA #$AB        PC:D00E A:AA X:02 Y:69 P:25 SP:FB CYC:2 SL:23\nD00F 81 STA $(E880,x)   PC:D010 A:AB X:02 Y:69 P:A5 SP:FB CYC:8 SL:23\nD011 E8 INX             PC:D012 A:AB X:02 Y:69 P:A5 SP:FB CYC:26 SL:23\nD012 A9 LDA #$AC        PC:D013 A:AB X:03 Y:69 P:25 SP:FB CYC:32 SL:23\nD014 81 STA $(A280,x)   PC:D015 A:AC X:03 Y:69 P:A5 SP:FB CYC:38 SL:23\nD016 A2 LDX #$00        PC:D017 A:AC X:03 Y:69 P:A5 SP:FB CYC:56 SL:23\nD018 A9 LDA #$AD        PC:D019 A:AC X:00 Y:69 P:27 SP:FB CYC:62 SL:23\nD01A 81 STA $(ADFF,x)   PC:D01B A:AD X:00 Y:69 P:A5 SP:FB CYC:68 SL:23\nD01C AD LDA $0200       PC:D01D A:AD X:00 Y:69 P:A5 SP:FB CYC:86 SL:23\nD01F C9 CMP #$AA        PC:D020 A:AA X:00 Y:69 P:A5 SP:FB CYC:98 SL:23\nD021 D0 BNE $D038       PC:D022 A:AA X:00 Y:69 P:27 SP:FB CYC:104 SL:23\nD023 AD LDA $0300       PC:D024 A:AA X:00 Y:69 P:27 SP:FB CYC:110 SL:23\nD026 C9 CMP #$AB        PC:D027 A:AB X:00 Y:69 P:A5 SP:FB CYC:122 SL:23\nD028 D0 BNE $D038       PC:D029 A:AB X:00 Y:69 P:27 SP:FB CYC:128 SL:23\nD02A AD LDA $0303       PC:D02B A:AB X:00 Y:69 P:27 SP:FB CYC:134 SL:23\nD02D C9 CMP #$AC        PC:D02E A:AC X:00 Y:69 P:A5 SP:FB CYC:146 SL:23\nD02F D0 BNE $D038       PC:D030 A:AC X:00 Y:69 P:27 SP:FB CYC:152 SL:23\nD031 AD LDA $0400       PC:D032 A:AC X:00 Y:69 P:27 SP:FB CYC:158 SL:23\nD034 C9 CMP #$AD        PC:D035 A:AD X:00 Y:69 P:A5 SP:FB CYC:170 SL:23\nD036 F0 BEQ $D03D       PC:D037 A:AD X:00 Y:69 P:27 SP:FB CYC:176 SL:23\nD03D AD LDA $07FF       PC:D03E A:AD X:00 Y:69 P:27 SP:FB CYC:185 SL:23\nD040 85 STA $00         PC:D041 A:00 X:00 Y:69 P:27 SP:FB CYC:197 SL:23\nD042 A9 LDA #$00        PC:D043 A:00 X:00 Y:69 P:27 SP:FB CYC:206 SL:23\nD044 8D STA $0300       PC:D045 A:00 X:00 Y:69 P:27 SP:FB CYC:212 SL:23\nD047 A9 LDA #$AA        PC:D048 A:00 X:00 Y:69 P:27 SP:FB CYC:224 SL:23\nD049 8D STA $0200       PC:D04A A:AA X:00 Y:69 P:A5 SP:FB CYC:230 SL:23\nD04C A2 LDX #$00        PC:D04D A:AA X:00 Y:69 P:A5 SP:FB CYC:242 SL:23\nD04E A0 LDY #$5A        PC:D04F A:AA X:00 Y:69 P:27 SP:FB CYC:248 SL:23\nD050 20 JSR $F7B6       PC:D051 A:AA X:00 Y:5A P:25 SP:FB CYC:254 SL:23\nF7B6 18 CLC             PC:F7B7 A:AA X:00 Y:5A P:25 SP:F9 CYC:272 SL:23\nF7B7 A9 LDA #$FF        PC:F7B8 A:AA X:00 Y:5A P:24 SP:F9 CYC:278 SL:23\nF7B9 85 STA $01         PC:F7BA A:FF X:00 Y:5A P:A4 SP:F9 CYC:284 SL:23\nF7BB 24 BIT $01         PC:F7BC A:FF X:00 Y:5A P:A4 SP:F9 CYC:293 SL:23\nF7BD A9 LDA #$55        PC:F7BE A:FF X:00 Y:5A P:E4 SP:F9 CYC:302 SL:23\nF7BF 60 RTS             PC:F7C0 A:55 X:00 Y:5A P:64 SP:F9 CYC:308 SL:23\nD053 01 ORA $(2080,x)   PC:D054 A:55 X:00 Y:5A P:64 SP:FB CYC:326 SL:23\nD055 20 JSR $F7C0       PC:D056 A:FF X:00 Y:5A P:E4 SP:FB CYC:3 SL:24\nF7C0 B0 BCS $F7CB       PC:F7C1 A:FF X:00 Y:5A P:E4 SP:F9 CYC:21 SL:24\nF7C2 10 BPL $F7CB       PC:F7C3 A:FF X:00 Y:5A P:E4 SP:F9 CYC:27 SL:24\nF7C4 C9 CMP #$FF        PC:F7C5 A:FF X:00 Y:5A P:E4 SP:F9 CYC:33 SL:24\nF7C6 D0 BNE $F7CB       PC:F7C7 A:FF X:00 Y:5A P:67 SP:F9 CYC:39 SL:24\nF7C8 50 BVC $F7CB       PC:F7C9 A:FF X:00 Y:5A P:67 SP:F9 CYC:45 SL:24\nF7CA 60 RTS             PC:F7CB A:FF X:00 Y:5A P:67 SP:F9 CYC:51 SL:24\nD058 C8 INY             PC:D059 A:FF X:00 Y:5A P:67 SP:FB CYC:69 SL:24\nD059 20 JSR $F7CE       PC:D05A A:FF X:00 Y:5B P:65 SP:FB CYC:75 SL:24\nF7CE 38 SEC             PC:F7CF A:FF X:00 Y:5B P:65 SP:F9 CYC:93 SL:24\nF7CF B8 CLV             PC:F7D0 A:FF X:00 Y:5B P:65 SP:F9 CYC:99 SL:24\nF7D0 A9 LDA #$00        PC:F7D1 A:FF X:00 Y:5B P:25 SP:F9 CYC:105 SL:24\nF7D2 60 RTS             PC:F7D3 A:00 X:00 Y:5B P:27 SP:F9 CYC:111 SL:24\nD05C 01 ORA $(2082,x)   PC:D05D A:00 X:00 Y:5B P:27 SP:FB CYC:129 SL:24\nD05E 20 JSR $F7D3       PC:D05F A:00 X:00 Y:5B P:27 SP:FB CYC:147 SL:24\nF7D3 D0 BNE $F7DC       PC:F7D4 A:00 X:00 Y:5B P:27 SP:F9 CYC:165 SL:24\nF7D5 70 BVS $F7DC       PC:F7D6 A:00 X:00 Y:5B P:27 SP:F9 CYC:171 SL:24\nF7D7 90 BCC $F7DC       PC:F7D8 A:00 X:00 Y:5B P:27 SP:F9 CYC:177 SL:24\nF7D9 30 BMI $F7DC       PC:F7DA A:00 X:00 Y:5B P:27 SP:F9 CYC:183 SL:24\nF7DB 60 RTS             PC:F7DC A:00 X:00 Y:5B P:27 SP:F9 CYC:189 SL:24\nD061 C8 INY             PC:D062 A:00 X:00 Y:5B P:27 SP:FB CYC:207 SL:24\nD062 20 JSR $F7DF       PC:D063 A:00 X:00 Y:5C P:25 SP:FB CYC:213 SL:24\nF7DF 18 CLC             PC:F7E0 A:00 X:00 Y:5C P:25 SP:F9 CYC:231 SL:24\nF7E0 24 BIT $01         PC:F7E1 A:00 X:00 Y:5C P:24 SP:F9 CYC:237 SL:24\nF7E2 A9 LDA #$55        PC:F7E3 A:00 X:00 Y:5C P:E6 SP:F9 CYC:246 SL:24\nF7E4 60 RTS             PC:F7E5 A:55 X:00 Y:5C P:64 SP:F9 CYC:252 SL:24\nD065 21 AND $(2080,x)   PC:D066 A:55 X:00 Y:5C P:64 SP:FB CYC:270 SL:24\nD067 20 JSR $F7E5       PC:D068 A:00 X:00 Y:5C P:66 SP:FB CYC:288 SL:24\nF7E5 D0 BNE $F7EE       PC:F7E6 A:00 X:00 Y:5C P:66 SP:F9 CYC:306 SL:24\nF7E7 50 BVC $F7EE       PC:F7E8 A:00 X:00 Y:5C P:66 SP:F9 CYC:312 SL:24\nF7E9 B0 BCS $F7EE       PC:F7EA A:00 X:00 Y:5C P:66 SP:F9 CYC:318 SL:24\nF7EB 30 BMI $F7EE       PC:F7EC A:00 X:00 Y:5C P:66 SP:F9 CYC:324 SL:24\nF7ED 60 RTS             PC:F7EE A:00 X:00 Y:5C P:66 SP:F9 CYC:330 SL:24\nD06A C8 INY             PC:D06B A:00 X:00 Y:5C P:66 SP:FB CYC:7 SL:25\nD06B A9 LDA #$EF        PC:D06C A:00 X:00 Y:5D P:64 SP:FB CYC:13 SL:25\nD06D 8D STA $0300       PC:D06E A:EF X:00 Y:5D P:E4 SP:FB CYC:19 SL:25\nD070 20 JSR $F7F1       PC:D071 A:EF X:00 Y:5D P:E4 SP:FB CYC:31 SL:25\nF7F1 38 SEC             PC:F7F2 A:EF X:00 Y:5D P:E4 SP:F9 CYC:49 SL:25\nF7F2 B8 CLV             PC:F7F3 A:EF X:00 Y:5D P:E5 SP:F9 CYC:55 SL:25\nF7F3 A9 LDA #$F8        PC:F7F4 A:EF X:00 Y:5D P:A5 SP:F9 CYC:61 SL:25\nF7F5 60 RTS             PC:F7F6 A:F8 X:00 Y:5D P:A5 SP:F9 CYC:67 SL:25\nD073 21 AND $(2082,x)   PC:D074 A:F8 X:00 Y:5D P:A5 SP:FB CYC:85 SL:25\nD075 20 JSR $F7F6       PC:D076 A:E8 X:00 Y:5D P:A5 SP:FB CYC:103 SL:25\nF7F6 90 BCC $F801       PC:F7F7 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:121 SL:25\nF7F8 10 BPL $F801       PC:F7F9 A:E8 X:00 Y:5D P:A5 SP:F9 CYC:127 SL:25\nF7FA C9 CMP #$E8        PC:F7FB A:E8 X:00 Y:5D P:A5 SP:F9 CYC:133 SL:25\nF7FC D0 BNE $F801       PC:F7FD A:E8 X:00 Y:5D P:27 SP:F9 CYC:139 SL:25\nF7FE 70 BVS $F801       PC:F7FF A:E8 X:00 Y:5D P:27 SP:F9 CYC:145 SL:25\nF800 60 RTS             PC:F801 A:E8 X:00 Y:5D P:27 SP:F9 CYC:151 SL:25\nD078 C8 INY             PC:D079 A:E8 X:00 Y:5D P:27 SP:FB CYC:169 SL:25\nD079 20 JSR $F804       PC:D07A A:E8 X:00 Y:5E P:25 SP:FB CYC:175 SL:25\nF804 18 CLC             PC:F805 A:E8 X:00 Y:5E P:25 SP:F9 CYC:193 SL:25\nF805 24 BIT $01         PC:F806 A:E8 X:00 Y:5E P:24 SP:F9 CYC:199 SL:25\nF807 A9 LDA #$5F        PC:F808 A:E8 X:00 Y:5E P:E4 SP:F9 CYC:208 SL:25\nF809 60 RTS             PC:F80A A:5F X:00 Y:5E P:64 SP:F9 CYC:214 SL:25\nD07C 41 EOR $(2080,x)   PC:D07D A:5F X:00 Y:5E P:64 SP:FB CYC:232 SL:25\nD07E 20 JSR $F80A       PC:D07F A:F5 X:00 Y:5E P:E4 SP:FB CYC:250 SL:25\nF80A B0 BCS $F815       PC:F80B A:F5 X:00 Y:5E P:E4 SP:F9 CYC:268 SL:25\nF80C 10 BPL $F815       PC:F80D A:F5 X:00 Y:5E P:E4 SP:F9 CYC:274 SL:25\nF80E C9 CMP #$F5        PC:F80F A:F5 X:00 Y:5E P:E4 SP:F9 CYC:280 SL:25\nF810 D0 BNE $F815       PC:F811 A:F5 X:00 Y:5E P:67 SP:F9 CYC:286 SL:25\nF812 50 BVC $F815       PC:F813 A:F5 X:00 Y:5E P:67 SP:F9 CYC:292 SL:25\nF814 60 RTS             PC:F815 A:F5 X:00 Y:5E P:67 SP:F9 CYC:298 SL:25\nD081 C8 INY             PC:D082 A:F5 X:00 Y:5E P:67 SP:FB CYC:316 SL:25\nD082 A9 LDA #$70        PC:D083 A:F5 X:00 Y:5F P:65 SP:FB CYC:322 SL:25\nD084 8D STA $0300       PC:D085 A:70 X:00 Y:5F P:65 SP:FB CYC:328 SL:25\nD087 20 JSR $F818       PC:D088 A:70 X:00 Y:5F P:65 SP:FB CYC:340 SL:25\nF818 38 SEC             PC:F819 A:70 X:00 Y:5F P:65 SP:F9 CYC:17 SL:26\nF819 B8 CLV             PC:F81A A:70 X:00 Y:5F P:65 SP:F9 CYC:23 SL:26\nF81A A9 LDA #$70        PC:F81B A:70 X:00 Y:5F P:25 SP:F9 CYC:29 SL:26\nF81C 60 RTS             PC:F81D A:70 X:00 Y:5F P:25 SP:F9 CYC:35 SL:26\nD08A 41 EOR $(2082,x)   PC:D08B A:70 X:00 Y:5F P:25 SP:FB CYC:53 SL:26\nD08C 20 JSR $F81D       PC:D08D A:00 X:00 Y:5F P:27 SP:FB CYC:71 SL:26\nF81D D0 BNE $F826       PC:F81E A:00 X:00 Y:5F P:27 SP:F9 CYC:89 SL:26\nF81F 70 BVS $F826       PC:F820 A:00 X:00 Y:5F P:27 SP:F9 CYC:95 SL:26\nF821 90 BCC $F826       PC:F822 A:00 X:00 Y:5F P:27 SP:F9 CYC:101 SL:26\nF823 30 BMI $F826       PC:F824 A:00 X:00 Y:5F P:27 SP:F9 CYC:107 SL:26\nF825 60 RTS             PC:F826 A:00 X:00 Y:5F P:27 SP:F9 CYC:113 SL:26\nD08F C8 INY             PC:D090 A:00 X:00 Y:5F P:27 SP:FB CYC:131 SL:26\nD090 A9 LDA #$69        PC:D091 A:00 X:00 Y:60 P:25 SP:FB CYC:137 SL:26\nD092 8D STA $0200       PC:D093 A:69 X:00 Y:60 P:25 SP:FB CYC:143 SL:26\nD095 20 JSR $F829       PC:D096 A:69 X:00 Y:60 P:25 SP:FB CYC:155 SL:26\nF829 18 CLC             PC:F82A A:69 X:00 Y:60 P:25 SP:F9 CYC:173 SL:26\nF82A 24 BIT $01         PC:F82B A:69 X:00 Y:60 P:24 SP:F9 CYC:179 SL:26\nF82C A9 LDA #$00        PC:F82D A:69 X:00 Y:60 P:E4 SP:F9 CYC:188 SL:26\nF82E 60 RTS             PC:F82F A:00 X:00 Y:60 P:66 SP:F9 CYC:194 SL:26\nD098 61 ADC $(2080,x)   PC:D099 A:00 X:00 Y:60 P:66 SP:FB CYC:212 SL:26\nD09A 20 JSR $F82F       PC:D09B A:69 X:00 Y:60 P:24 SP:FB CYC:230 SL:26\nF82F 30 BMI $F83A       PC:F830 A:69 X:00 Y:60 P:24 SP:F9 CYC:248 SL:26\nF831 B0 BCS $F83A       PC:F832 A:69 X:00 Y:60 P:24 SP:F9 CYC:254 SL:26\nF833 C9 CMP #$69        PC:F834 A:69 X:00 Y:60 P:24 SP:F9 CYC:260 SL:26\nF835 D0 BNE $F83A       PC:F836 A:69 X:00 Y:60 P:27 SP:F9 CYC:266 SL:26\nF837 70 BVS $F83A       PC:F838 A:69 X:00 Y:60 P:27 SP:F9 CYC:272 SL:26\nF839 60 RTS             PC:F83A A:69 X:00 Y:60 P:27 SP:F9 CYC:278 SL:26\nD09D C8 INY             PC:D09E A:69 X:00 Y:60 P:27 SP:FB CYC:296 SL:26\nD09E 20 JSR $F83D       PC:D09F A:69 X:00 Y:61 P:25 SP:FB CYC:302 SL:26\nF83D 38 SEC             PC:F83E A:69 X:00 Y:61 P:25 SP:F9 CYC:320 SL:26\nF83E 24 BIT $01         PC:F83F A:69 X:00 Y:61 P:25 SP:F9 CYC:326 SL:26\nF840 A9 LDA #$00        PC:F841 A:69 X:00 Y:61 P:E5 SP:F9 CYC:335 SL:26\nF842 60 RTS             PC:F843 A:00 X:00 Y:61 P:67 SP:F9 CYC:0 SL:27\nD0A1 61 ADC $(2080,x)   PC:D0A2 A:00 X:00 Y:61 P:67 SP:FB CYC:18 SL:27\nD0A3 20 JSR $F843       PC:D0A4 A:6A X:00 Y:61 P:24 SP:FB CYC:36 SL:27\nF843 30 BMI $F84E       PC:F844 A:6A X:00 Y:61 P:24 SP:F9 CYC:54 SL:27\nF845 B0 BCS $F84E       PC:F846 A:6A X:00 Y:61 P:24 SP:F9 CYC:60 SL:27\nF847 C9 CMP #$6A        PC:F848 A:6A X:00 Y:61 P:24 SP:F9 CYC:66 SL:27\nF849 D0 BNE $F84E       PC:F84A A:6A X:00 Y:61 P:27 SP:F9 CYC:72 SL:27\nF84B 70 BVS $F84E       PC:F84C A:6A X:00 Y:61 P:27 SP:F9 CYC:78 SL:27\nF84D 60 RTS             PC:F84E A:6A X:00 Y:61 P:27 SP:F9 CYC:84 SL:27\nD0A6 C8 INY             PC:D0A7 A:6A X:00 Y:61 P:27 SP:FB CYC:102 SL:27\nD0A7 A9 LDA #$7F        PC:D0A8 A:6A X:00 Y:62 P:25 SP:FB CYC:108 SL:27\nD0A9 8D STA $0200       PC:D0AA A:7F X:00 Y:62 P:25 SP:FB CYC:114 SL:27\nD0AC 20 JSR $F851       PC:D0AD A:7F X:00 Y:62 P:25 SP:FB CYC:126 SL:27\nF851 38 SEC             PC:F852 A:7F X:00 Y:62 P:25 SP:F9 CYC:144 SL:27\nF852 B8 CLV             PC:F853 A:7F X:00 Y:62 P:25 SP:F9 CYC:150 SL:27\nF853 A9 LDA #$7F        PC:F854 A:7F X:00 Y:62 P:25 SP:F9 CYC:156 SL:27\nF855 60 RTS             PC:F856 A:7F X:00 Y:62 P:25 SP:F9 CYC:162 SL:27\nD0AF 61 ADC $(2080,x)   PC:D0B0 A:7F X:00 Y:62 P:25 SP:FB CYC:180 SL:27\nD0B1 20 JSR $F856       PC:D0B2 A:FF X:00 Y:62 P:E4 SP:FB CYC:198 SL:27\nF856 10 BPL $F861       PC:F857 A:FF X:00 Y:62 P:E4 SP:F9 CYC:216 SL:27\nF858 B0 BCS $F861       PC:F859 A:FF X:00 Y:62 P:E4 SP:F9 CYC:222 SL:27\nF85A C9 CMP #$FF        PC:F85B A:FF X:00 Y:62 P:E4 SP:F9 CYC:228 SL:27\nF85C D0 BNE $F861       PC:F85D A:FF X:00 Y:62 P:67 SP:F9 CYC:234 SL:27\nF85E 50 BVC $F861       PC:F85F A:FF X:00 Y:62 P:67 SP:F9 CYC:240 SL:27\nF860 60 RTS             PC:F861 A:FF X:00 Y:62 P:67 SP:F9 CYC:246 SL:27\nD0B4 C8 INY             PC:D0B5 A:FF X:00 Y:62 P:67 SP:FB CYC:264 SL:27\nD0B5 A9 LDA #$80        PC:D0B6 A:FF X:00 Y:63 P:65 SP:FB CYC:270 SL:27\nD0B7 8D STA $0200       PC:D0B8 A:80 X:00 Y:63 P:E5 SP:FB CYC:276 SL:27\nD0BA 20 JSR $F864       PC:D0BB A:80 X:00 Y:63 P:E5 SP:FB CYC:288 SL:27\nF864 18 CLC             PC:F865 A:80 X:00 Y:63 P:E5 SP:F9 CYC:306 SL:27\nF865 24 BIT $01         PC:F866 A:80 X:00 Y:63 P:E4 SP:F9 CYC:312 SL:27\nF867 A9 LDA #$7F        PC:F868 A:80 X:00 Y:63 P:E4 SP:F9 CYC:321 SL:27\nF869 60 RTS             PC:F86A A:7F X:00 Y:63 P:64 SP:F9 CYC:327 SL:27\nD0BD 61 ADC $(2080,x)   PC:D0BE A:7F X:00 Y:63 P:64 SP:FB CYC:4 SL:28\nD0BF 20 JSR $F86A       PC:D0C0 A:FF X:00 Y:63 P:A4 SP:FB CYC:22 SL:28\nF86A 10 BPL $F875       PC:F86B A:FF X:00 Y:63 P:A4 SP:F9 CYC:40 SL:28\nF86C B0 BCS $F875       PC:F86D A:FF X:00 Y:63 P:A4 SP:F9 CYC:46 SL:28\nF86E C9 CMP #$FF        PC:F86F A:FF X:00 Y:63 P:A4 SP:F9 CYC:52 SL:28\nF870 D0 BNE $F875       PC:F871 A:FF X:00 Y:63 P:27 SP:F9 CYC:58 SL:28\nF872 70 BVS $F875       PC:F873 A:FF X:00 Y:63 P:27 SP:F9 CYC:64 SL:28\nF874 60 RTS             PC:F875 A:FF X:00 Y:63 P:27 SP:F9 CYC:70 SL:28\nD0C2 C8 INY             PC:D0C3 A:FF X:00 Y:63 P:27 SP:FB CYC:88 SL:28\nD0C3 20 JSR $F878       PC:D0C4 A:FF X:00 Y:64 P:25 SP:FB CYC:94 SL:28\nF878 38 SEC             PC:F879 A:FF X:00 Y:64 P:25 SP:F9 CYC:112 SL:28\nF879 B8 CLV             PC:F87A A:FF X:00 Y:64 P:25 SP:F9 CYC:118 SL:28\nF87A A9 LDA #$7F        PC:F87B A:FF X:00 Y:64 P:25 SP:F9 CYC:124 SL:28\nF87C 60 RTS             PC:F87D A:7F X:00 Y:64 P:25 SP:F9 CYC:130 SL:28\nD0C6 61 ADC $(2080,x)   PC:D0C7 A:7F X:00 Y:64 P:25 SP:FB CYC:148 SL:28\nD0C8 20 JSR $F87D       PC:D0C9 A:00 X:00 Y:64 P:27 SP:FB CYC:166 SL:28\nF87D D0 BNE $F886       PC:F87E A:00 X:00 Y:64 P:27 SP:F9 CYC:184 SL:28\nF87F 30 BMI $F886       PC:F880 A:00 X:00 Y:64 P:27 SP:F9 CYC:190 SL:28\nF881 70 BVS $F886       PC:F882 A:00 X:00 Y:64 P:27 SP:F9 CYC:196 SL:28\nF883 90 BCC $F886       PC:F884 A:00 X:00 Y:64 P:27 SP:F9 CYC:202 SL:28\nF885 60 RTS             PC:F886 A:00 X:00 Y:64 P:27 SP:F9 CYC:208 SL:28\nD0CB C8 INY             PC:D0CC A:00 X:00 Y:64 P:27 SP:FB CYC:226 SL:28\nD0CC A9 LDA #$40        PC:D0CD A:00 X:00 Y:65 P:25 SP:FB CYC:232 SL:28\nD0CE 8D STA $0200       PC:D0CF A:40 X:00 Y:65 P:25 SP:FB CYC:238 SL:28\nD0D1 20 JSR $F889       PC:D0D2 A:40 X:00 Y:65 P:25 SP:FB CYC:250 SL:28\nF889 24 BIT $01         PC:F88A A:40 X:00 Y:65 P:25 SP:F9 CYC:268 SL:28\nF88B A9 LDA #$40        PC:F88C A:40 X:00 Y:65 P:E5 SP:F9 CYC:277 SL:28\nF88D 60 RTS             PC:F88E A:40 X:00 Y:65 P:65 SP:F9 CYC:283 SL:28\nD0D4 C1 CMP $(2080,x)   PC:D0D5 A:40 X:00 Y:65 P:65 SP:FB CYC:301 SL:28\nD0D6 20 JSR $F88E       PC:D0D7 A:40 X:00 Y:65 P:67 SP:FB CYC:319 SL:28\nF88E 30 BMI $F897       PC:F88F A:40 X:00 Y:65 P:67 SP:F9 CYC:337 SL:28\nF890 90 BCC $F897       PC:F891 A:40 X:00 Y:65 P:67 SP:F9 CYC:2 SL:29\nF892 D0 BNE $F897       PC:F893 A:40 X:00 Y:65 P:67 SP:F9 CYC:8 SL:29\nF894 50 BVC $F897       PC:F895 A:40 X:00 Y:65 P:67 SP:F9 CYC:14 SL:29\nF896 60 RTS             PC:F897 A:40 X:00 Y:65 P:67 SP:F9 CYC:20 SL:29\nD0D9 C8 INY             PC:D0DA A:40 X:00 Y:65 P:67 SP:FB CYC:38 SL:29\nD0DA 48 PHA             PC:D0DB A:40 X:00 Y:66 P:65 SP:FB CYC:44 SL:29\nD0DB A9 LDA #$3F        PC:D0DC A:40 X:00 Y:66 P:65 SP:FA CYC:53 SL:29\nD0DD 8D STA $0200       PC:D0DE A:3F X:00 Y:66 P:65 SP:FA CYC:59 SL:29\nD0E0 68 PLA             PC:D0E1 A:3F X:00 Y:66 P:65 SP:FA CYC:71 SL:29\nD0E1 20 JSR $F89A       PC:D0E2 A:40 X:00 Y:66 P:65 SP:FB CYC:83 SL:29\nF89A B8 CLV             PC:F89B A:40 X:00 Y:66 P:65 SP:F9 CYC:101 SL:29\nF89B 60 RTS             PC:F89C A:40 X:00 Y:66 P:25 SP:F9 CYC:107 SL:29\nD0E4 C1 CMP $(2080,x)   PC:D0E5 A:40 X:00 Y:66 P:25 SP:FB CYC:125 SL:29\nD0E6 20 JSR $F89C       PC:D0E7 A:40 X:00 Y:66 P:25 SP:FB CYC:143 SL:29\nF89C F0 BEQ $F8A5       PC:F89D A:40 X:00 Y:66 P:25 SP:F9 CYC:161 SL:29\nF89E 30 BMI $F8A5       PC:F89F A:40 X:00 Y:66 P:25 SP:F9 CYC:167 SL:29\nF8A0 90 BCC $F8A5       PC:F8A1 A:40 X:00 Y:66 P:25 SP:F9 CYC:173 SL:29\nF8A2 70 BVS $F8A5       PC:F8A3 A:40 X:00 Y:66 P:25 SP:F9 CYC:179 SL:29\nF8A4 60 RTS             PC:F8A5 A:40 X:00 Y:66 P:25 SP:F9 CYC:185 SL:29\nD0E9 C8 INY             PC:D0EA A:40 X:00 Y:66 P:25 SP:FB CYC:203 SL:29\nD0EA 48 PHA             PC:D0EB A:40 X:00 Y:67 P:25 SP:FB CYC:209 SL:29\nD0EB A9 LDA #$41        PC:D0EC A:40 X:00 Y:67 P:25 SP:FA CYC:218 SL:29\nD0ED 8D STA $0200       PC:D0EE A:41 X:00 Y:67 P:25 SP:FA CYC:224 SL:29\nD0F0 68 PLA             PC:D0F1 A:41 X:00 Y:67 P:25 SP:FA CYC:236 SL:29\nD0F1 C1 CMP $(2080,x)   PC:D0F2 A:40 X:00 Y:67 P:25 SP:FB CYC:248 SL:29\nD0F3 20 JSR $F8A8       PC:D0F4 A:40 X:00 Y:67 P:A4 SP:FB CYC:266 SL:29\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:40 X:00 Y:67 P:A4 SP:F9 CYC:284 SL:29\nF8AA 10 BPL $F8AF       PC:F8AB A:40 X:00 Y:67 P:A4 SP:F9 CYC:290 SL:29\nF8AC 10 BPL $F8AF       PC:F8AD A:40 X:00 Y:67 P:A4 SP:F9 CYC:296 SL:29\nF8AE 60 RTS             PC:F8AF A:40 X:00 Y:67 P:A4 SP:F9 CYC:302 SL:29\nD0F6 C8 INY             PC:D0F7 A:40 X:00 Y:67 P:A4 SP:FB CYC:320 SL:29\nD0F7 48 PHA             PC:D0F8 A:40 X:00 Y:68 P:24 SP:FB CYC:326 SL:29\nD0F8 A9 LDA #$00        PC:D0F9 A:40 X:00 Y:68 P:24 SP:FA CYC:335 SL:29\nD0FA 8D STA $0200       PC:D0FB A:00 X:00 Y:68 P:26 SP:FA CYC:0 SL:30\nD0FD 68 PLA             PC:D0FE A:00 X:00 Y:68 P:26 SP:FA CYC:12 SL:30\nD0FE 20 JSR $F8B2       PC:D0FF A:40 X:00 Y:68 P:24 SP:FB CYC:24 SL:30\nF8B2 A9 LDA #$80        PC:F8B3 A:40 X:00 Y:68 P:24 SP:F9 CYC:42 SL:30\nF8B4 60 RTS             PC:F8B5 A:80 X:00 Y:68 P:A4 SP:F9 CYC:48 SL:30\nD101 C1 CMP $(2080,x)   PC:D102 A:80 X:00 Y:68 P:A4 SP:FB CYC:66 SL:30\nD103 20 JSR $F8B5       PC:D104 A:80 X:00 Y:68 P:A5 SP:FB CYC:84 SL:30\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:00 Y:68 P:A5 SP:F9 CYC:102 SL:30\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:00 Y:68 P:A5 SP:F9 CYC:108 SL:30\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:00 Y:68 P:A5 SP:F9 CYC:114 SL:30\nF8BB 60 RTS             PC:F8BC A:80 X:00 Y:68 P:A5 SP:F9 CYC:120 SL:30\nD106 C8 INY             PC:D107 A:80 X:00 Y:68 P:A5 SP:FB CYC:138 SL:30\nD107 48 PHA             PC:D108 A:80 X:00 Y:69 P:25 SP:FB CYC:144 SL:30\nD108 A9 LDA #$80        PC:D109 A:80 X:00 Y:69 P:25 SP:FA CYC:153 SL:30\nD10A 8D STA $0200       PC:D10B A:80 X:00 Y:69 P:A5 SP:FA CYC:159 SL:30\nD10D 68 PLA             PC:D10E A:80 X:00 Y:69 P:A5 SP:FA CYC:171 SL:30\nD10E C1 CMP $(2080,x)   PC:D10F A:80 X:00 Y:69 P:A5 SP:FB CYC:183 SL:30\nD110 20 JSR $F8BF       PC:D111 A:80 X:00 Y:69 P:27 SP:FB CYC:201 SL:30\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:00 Y:69 P:27 SP:F9 CYC:219 SL:30\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:00 Y:69 P:27 SP:F9 CYC:225 SL:30\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:00 Y:69 P:27 SP:F9 CYC:231 SL:30\nF8C5 60 RTS             PC:F8C6 A:80 X:00 Y:69 P:27 SP:F9 CYC:237 SL:30\nD113 C8 INY             PC:D114 A:80 X:00 Y:69 P:27 SP:FB CYC:255 SL:30\nD114 48 PHA             PC:D115 A:80 X:00 Y:6A P:25 SP:FB CYC:261 SL:30\nD115 A9 LDA #$81        PC:D116 A:80 X:00 Y:6A P:25 SP:FA CYC:270 SL:30\nD117 8D STA $0200       PC:D118 A:81 X:00 Y:6A P:A5 SP:FA CYC:276 SL:30\nD11A 68 PLA             PC:D11B A:81 X:00 Y:6A P:A5 SP:FA CYC:288 SL:30\nD11B C1 CMP $(2080,x)   PC:D11C A:80 X:00 Y:6A P:A5 SP:FB CYC:300 SL:30\nD11D 20 JSR $F8C9       PC:D11E A:80 X:00 Y:6A P:A4 SP:FB CYC:318 SL:30\nF8C9 B0 BCS $F8D0       PC:F8CA A:80 X:00 Y:6A P:A4 SP:F9 CYC:336 SL:30\nF8CB F0 BEQ $F8D0       PC:F8CC A:80 X:00 Y:6A P:A4 SP:F9 CYC:1 SL:31\nF8CD 10 BPL $F8D0       PC:F8CE A:80 X:00 Y:6A P:A4 SP:F9 CYC:7 SL:31\nF8CF 60 RTS             PC:F8D0 A:80 X:00 Y:6A P:A4 SP:F9 CYC:13 SL:31\nD120 C8 INY             PC:D121 A:80 X:00 Y:6A P:A4 SP:FB CYC:31 SL:31\nD121 48 PHA             PC:D122 A:80 X:00 Y:6B P:24 SP:FB CYC:37 SL:31\nD122 A9 LDA #$7F        PC:D123 A:80 X:00 Y:6B P:24 SP:FA CYC:46 SL:31\nD124 8D STA $0200       PC:D125 A:7F X:00 Y:6B P:24 SP:FA CYC:52 SL:31\nD127 68 PLA             PC:D128 A:7F X:00 Y:6B P:24 SP:FA CYC:64 SL:31\nD128 C1 CMP $(2080,x)   PC:D129 A:80 X:00 Y:6B P:A4 SP:FB CYC:76 SL:31\nD12A 20 JSR $F8D3       PC:D12B A:80 X:00 Y:6B P:25 SP:FB CYC:94 SL:31\nF8D3 90 BCC $F8DA       PC:F8D4 A:80 X:00 Y:6B P:25 SP:F9 CYC:112 SL:31\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:80 X:00 Y:6B P:25 SP:F9 CYC:118 SL:31\nF8D7 30 BMI $F8DA       PC:F8D8 A:80 X:00 Y:6B P:25 SP:F9 CYC:124 SL:31\nF8D9 60 RTS             PC:F8DA A:80 X:00 Y:6B P:25 SP:F9 CYC:130 SL:31\nD12D C8 INY             PC:D12E A:80 X:00 Y:6B P:25 SP:FB CYC:148 SL:31\nD12E A9 LDA #$40        PC:D12F A:80 X:00 Y:6C P:25 SP:FB CYC:154 SL:31\nD130 8D STA $0200       PC:D131 A:40 X:00 Y:6C P:25 SP:FB CYC:160 SL:31\nD133 20 JSR $F931       PC:D134 A:40 X:00 Y:6C P:25 SP:FB CYC:172 SL:31\nF931 24 BIT $01         PC:F932 A:40 X:00 Y:6C P:25 SP:F9 CYC:190 SL:31\nF933 A9 LDA #$40        PC:F934 A:40 X:00 Y:6C P:E5 SP:F9 CYC:199 SL:31\nF935 38 SEC             PC:F936 A:40 X:00 Y:6C P:65 SP:F9 CYC:205 SL:31\nF936 60 RTS             PC:F937 A:40 X:00 Y:6C P:65 SP:F9 CYC:211 SL:31\nD136 E1 SBC $(2080,x)   PC:D137 A:40 X:00 Y:6C P:65 SP:FB CYC:229 SL:31\nD138 20 JSR $F937       PC:D139 A:00 X:00 Y:6C P:27 SP:FB CYC:247 SL:31\nF937 30 BMI $F944       PC:F938 A:00 X:00 Y:6C P:27 SP:F9 CYC:265 SL:31\nF939 90 BCC $F944       PC:F93A A:00 X:00 Y:6C P:27 SP:F9 CYC:271 SL:31\nF93B D0 BNE $F944       PC:F93C A:00 X:00 Y:6C P:27 SP:F9 CYC:277 SL:31\nF93D 70 BVS $F944       PC:F93E A:00 X:00 Y:6C P:27 SP:F9 CYC:283 SL:31\nF93F C9 CMP #$00        PC:F940 A:00 X:00 Y:6C P:27 SP:F9 CYC:289 SL:31\nF941 D0 BNE $F944       PC:F942 A:00 X:00 Y:6C P:27 SP:F9 CYC:295 SL:31\nF943 60 RTS             PC:F944 A:00 X:00 Y:6C P:27 SP:F9 CYC:301 SL:31\nD13B C8 INY             PC:D13C A:00 X:00 Y:6C P:27 SP:FB CYC:319 SL:31\nD13C A9 LDA #$3F        PC:D13D A:00 X:00 Y:6D P:25 SP:FB CYC:325 SL:31\nD13E 8D STA $0200       PC:D13F A:3F X:00 Y:6D P:25 SP:FB CYC:331 SL:31\nD141 20 JSR $F947       PC:D142 A:3F X:00 Y:6D P:25 SP:FB CYC:2 SL:32\nF947 B8 CLV             PC:F948 A:3F X:00 Y:6D P:25 SP:F9 CYC:20 SL:32\nF948 38 SEC             PC:F949 A:3F X:00 Y:6D P:25 SP:F9 CYC:26 SL:32\nF949 A9 LDA #$40        PC:F94A A:3F X:00 Y:6D P:25 SP:F9 CYC:32 SL:32\nF94B 60 RTS             PC:F94C A:40 X:00 Y:6D P:25 SP:F9 CYC:38 SL:32\nD144 E1 SBC $(2080,x)   PC:D145 A:40 X:00 Y:6D P:25 SP:FB CYC:56 SL:32\nD146 20 JSR $F94C       PC:D147 A:01 X:00 Y:6D P:25 SP:FB CYC:74 SL:32\nF94C F0 BEQ $F959       PC:F94D A:01 X:00 Y:6D P:25 SP:F9 CYC:92 SL:32\nF94E 30 BMI $F959       PC:F94F A:01 X:00 Y:6D P:25 SP:F9 CYC:98 SL:32\nF950 90 BCC $F959       PC:F951 A:01 X:00 Y:6D P:25 SP:F9 CYC:104 SL:32\nF952 70 BVS $F959       PC:F953 A:01 X:00 Y:6D P:25 SP:F9 CYC:110 SL:32\nF954 C9 CMP #$01        PC:F955 A:01 X:00 Y:6D P:25 SP:F9 CYC:116 SL:32\nF956 D0 BNE $F959       PC:F957 A:01 X:00 Y:6D P:27 SP:F9 CYC:122 SL:32\nF958 60 RTS             PC:F959 A:01 X:00 Y:6D P:27 SP:F9 CYC:128 SL:32\nD149 C8 INY             PC:D14A A:01 X:00 Y:6D P:27 SP:FB CYC:146 SL:32\nD14A A9 LDA #$41        PC:D14B A:01 X:00 Y:6E P:25 SP:FB CYC:152 SL:32\nD14C 8D STA $0200       PC:D14D A:41 X:00 Y:6E P:25 SP:FB CYC:158 SL:32\nD14F 20 JSR $F95C       PC:D150 A:41 X:00 Y:6E P:25 SP:FB CYC:170 SL:32\nF95C A9 LDA #$40        PC:F95D A:41 X:00 Y:6E P:25 SP:F9 CYC:188 SL:32\nF95E 38 SEC             PC:F95F A:40 X:00 Y:6E P:25 SP:F9 CYC:194 SL:32\nF95F 24 BIT $01         PC:F960 A:40 X:00 Y:6E P:25 SP:F9 CYC:200 SL:32\nF961 60 RTS             PC:F962 A:40 X:00 Y:6E P:E5 SP:F9 CYC:209 SL:32\nD152 E1 SBC $(2080,x)   PC:D153 A:40 X:00 Y:6E P:E5 SP:FB CYC:227 SL:32\nD154 20 JSR $F962       PC:D155 A:FF X:00 Y:6E P:A4 SP:FB CYC:245 SL:32\nF962 B0 BCS $F96F       PC:F963 A:FF X:00 Y:6E P:A4 SP:F9 CYC:263 SL:32\nF964 F0 BEQ $F96F       PC:F965 A:FF X:00 Y:6E P:A4 SP:F9 CYC:269 SL:32\nF966 10 BPL $F96F       PC:F967 A:FF X:00 Y:6E P:A4 SP:F9 CYC:275 SL:32\nF968 70 BVS $F96F       PC:F969 A:FF X:00 Y:6E P:A4 SP:F9 CYC:281 SL:32\nF96A C9 CMP #$FF        PC:F96B A:FF X:00 Y:6E P:A4 SP:F9 CYC:287 SL:32\nF96C D0 BNE $F96F       PC:F96D A:FF X:00 Y:6E P:27 SP:F9 CYC:293 SL:32\nF96E 60 RTS             PC:F96F A:FF X:00 Y:6E P:27 SP:F9 CYC:299 SL:32\nD157 C8 INY             PC:D158 A:FF X:00 Y:6E P:27 SP:FB CYC:317 SL:32\nD158 A9 LDA #$00        PC:D159 A:FF X:00 Y:6F P:25 SP:FB CYC:323 SL:32\nD15A 8D STA $0200       PC:D15B A:00 X:00 Y:6F P:27 SP:FB CYC:329 SL:32\nD15D 20 JSR $F972       PC:D15E A:00 X:00 Y:6F P:27 SP:FB CYC:0 SL:33\nF972 18 CLC             PC:F973 A:00 X:00 Y:6F P:27 SP:F9 CYC:18 SL:33\nF973 A9 LDA #$80        PC:F974 A:00 X:00 Y:6F P:26 SP:F9 CYC:24 SL:33\nF975 60 RTS             PC:F976 A:80 X:00 Y:6F P:A4 SP:F9 CYC:30 SL:33\nD160 E1 SBC $(2080,x)   PC:D161 A:80 X:00 Y:6F P:A4 SP:FB CYC:48 SL:33\nD162 20 JSR $F976       PC:D163 A:7F X:00 Y:6F P:65 SP:FB CYC:66 SL:33\nF976 90 BCC $F97D       PC:F977 A:7F X:00 Y:6F P:65 SP:F9 CYC:84 SL:33\nF978 C9 CMP #$7F        PC:F979 A:7F X:00 Y:6F P:65 SP:F9 CYC:90 SL:33\nF97A D0 BNE $F97D       PC:F97B A:7F X:00 Y:6F P:67 SP:F9 CYC:96 SL:33\nF97C 60 RTS             PC:F97D A:7F X:00 Y:6F P:67 SP:F9 CYC:102 SL:33\nD165 C8 INY             PC:D166 A:7F X:00 Y:6F P:67 SP:FB CYC:120 SL:33\nD166 A9 LDA #$7F        PC:D167 A:7F X:00 Y:70 P:65 SP:FB CYC:126 SL:33\nD168 8D STA $0200       PC:D169 A:7F X:00 Y:70 P:65 SP:FB CYC:132 SL:33\nD16B 20 JSR $F980       PC:D16C A:7F X:00 Y:70 P:65 SP:FB CYC:144 SL:33\nF980 38 SEC             PC:F981 A:7F X:00 Y:70 P:65 SP:F9 CYC:162 SL:33\nF981 A9 LDA #$81        PC:F982 A:7F X:00 Y:70 P:65 SP:F9 CYC:168 SL:33\nF983 60 RTS             PC:F984 A:81 X:00 Y:70 P:E5 SP:F9 CYC:174 SL:33\nD16E E1 SBC $(2080,x)   PC:D16F A:81 X:00 Y:70 P:E5 SP:FB CYC:192 SL:33\nD170 20 JSR $F984       PC:D171 A:02 X:00 Y:70 P:65 SP:FB CYC:210 SL:33\nF984 50 BVC $F98D       PC:F985 A:02 X:00 Y:70 P:65 SP:F9 CYC:228 SL:33\nF986 90 BCC $F98D       PC:F987 A:02 X:00 Y:70 P:65 SP:F9 CYC:234 SL:33\nF988 C9 CMP #$02        PC:F989 A:02 X:00 Y:70 P:65 SP:F9 CYC:240 SL:33\nF98A D0 BNE $F98D       PC:F98B A:02 X:00 Y:70 P:67 SP:F9 CYC:246 SL:33\nF98C 60 RTS             PC:F98D A:02 X:00 Y:70 P:67 SP:F9 CYC:252 SL:33\nD173 60 RTS             PC:D174 A:02 X:00 Y:70 P:67 SP:FB CYC:270 SL:33\nC612 20 JSR $D174       PC:C613 A:02 X:00 Y:70 P:67 SP:FD CYC:288 SL:33\nD174 A9 LDA #$55        PC:D175 A:02 X:00 Y:70 P:67 SP:FB CYC:306 SL:33\nD176 85 STA $78         PC:D177 A:55 X:00 Y:70 P:65 SP:FB CYC:312 SL:33\nD178 A9 LDA #$FF        PC:D179 A:55 X:00 Y:70 P:65 SP:FB CYC:321 SL:33\nD17A 85 STA $01         PC:D17B A:FF X:00 Y:70 P:E5 SP:FB CYC:327 SL:33\nD17C 24 BIT $01         PC:D17D A:FF X:00 Y:70 P:E5 SP:FB CYC:336 SL:33\nD17E A0 LDY #$11        PC:D17F A:FF X:00 Y:70 P:E5 SP:FB CYC:4 SL:34\nD180 A2 LDX #$23        PC:D181 A:FF X:00 Y:11 P:65 SP:FB CYC:10 SL:34\nD182 A9 LDA #$00        PC:D183 A:FF X:23 Y:11 P:65 SP:FB CYC:16 SL:34\nD184 A5 LDA $78         PC:D185 A:00 X:23 Y:11 P:67 SP:FB CYC:22 SL:34\nD186 F0 BEQ $D198       PC:D187 A:55 X:23 Y:11 P:65 SP:FB CYC:31 SL:34\nD188 30 BMI $D198       PC:D189 A:55 X:23 Y:11 P:65 SP:FB CYC:37 SL:34\nD18A C9 CMP #$55        PC:D18B A:55 X:23 Y:11 P:65 SP:FB CYC:43 SL:34\nD18C D0 BNE $D198       PC:D18D A:55 X:23 Y:11 P:67 SP:FB CYC:49 SL:34\nD18E C0 CPY #$11        PC:D18F A:55 X:23 Y:11 P:67 SP:FB CYC:55 SL:34\nD190 D0 BNE $D198       PC:D191 A:55 X:23 Y:11 P:67 SP:FB CYC:61 SL:34\nD192 E0 CPX #$23        PC:D193 A:55 X:23 Y:11 P:67 SP:FB CYC:67 SL:34\nD194 50 BVC $D198       PC:D195 A:55 X:23 Y:11 P:67 SP:FB CYC:73 SL:34\nD196 F0 BEQ $D19C       PC:D197 A:55 X:23 Y:11 P:67 SP:FB CYC:79 SL:34\nD19C A9 LDA #$46        PC:D19D A:55 X:23 Y:11 P:67 SP:FB CYC:88 SL:34\nD19E 24 BIT $01         PC:D19F A:46 X:23 Y:11 P:65 SP:FB CYC:94 SL:34\nD1A0 85 STA $78         PC:D1A1 A:46 X:23 Y:11 P:E5 SP:FB CYC:103 SL:34\nD1A2 F0 BEQ $D1AE       PC:D1A3 A:46 X:23 Y:11 P:E5 SP:FB CYC:112 SL:34\nD1A4 10 BPL $D1AE       PC:D1A5 A:46 X:23 Y:11 P:E5 SP:FB CYC:118 SL:34\nD1A6 50 BVC $D1AE       PC:D1A7 A:46 X:23 Y:11 P:E5 SP:FB CYC:124 SL:34\nD1A8 A5 LDA $78         PC:D1A9 A:46 X:23 Y:11 P:E5 SP:FB CYC:130 SL:34\nD1AA C9 CMP #$46        PC:D1AB A:46 X:23 Y:11 P:65 SP:FB CYC:139 SL:34\nD1AC F0 BEQ $D1B2       PC:D1AD A:46 X:23 Y:11 P:67 SP:FB CYC:145 SL:34\nD1B2 A9 LDA #$55        PC:D1B3 A:46 X:23 Y:11 P:67 SP:FB CYC:154 SL:34\nD1B4 85 STA $78         PC:D1B5 A:55 X:23 Y:11 P:65 SP:FB CYC:160 SL:34\nD1B6 24 BIT $01         PC:D1B7 A:55 X:23 Y:11 P:65 SP:FB CYC:169 SL:34\nD1B8 A9 LDA #$11        PC:D1B9 A:55 X:23 Y:11 P:E5 SP:FB CYC:178 SL:34\nD1BA A2 LDX #$23        PC:D1BB A:11 X:23 Y:11 P:65 SP:FB CYC:184 SL:34\nD1BC A0 LDY #$00        PC:D1BD A:11 X:23 Y:11 P:65 SP:FB CYC:190 SL:34\nD1BE A4 LDY $78         PC:D1BF A:11 X:23 Y:00 P:67 SP:FB CYC:196 SL:34\nD1C0 F0 BEQ $D1D2       PC:D1C1 A:11 X:23 Y:55 P:65 SP:FB CYC:205 SL:34\nD1C2 30 BMI $D1D2       PC:D1C3 A:11 X:23 Y:55 P:65 SP:FB CYC:211 SL:34\nD1C4 C0 CPY #$55        PC:D1C5 A:11 X:23 Y:55 P:65 SP:FB CYC:217 SL:34\nD1C6 D0 BNE $D1D2       PC:D1C7 A:11 X:23 Y:55 P:67 SP:FB CYC:223 SL:34\nD1C8 C9 CMP #$11        PC:D1C9 A:11 X:23 Y:55 P:67 SP:FB CYC:229 SL:34\nD1CA D0 BNE $D1D2       PC:D1CB A:11 X:23 Y:55 P:67 SP:FB CYC:235 SL:34\nD1CC E0 CPX #$23        PC:D1CD A:11 X:23 Y:55 P:67 SP:FB CYC:241 SL:34\nD1CE 50 BVC $D1D2       PC:D1CF A:11 X:23 Y:55 P:67 SP:FB CYC:247 SL:34\nD1D0 F0 BEQ $D1D6       PC:D1D1 A:11 X:23 Y:55 P:67 SP:FB CYC:253 SL:34\nD1D6 A0 LDY #$46        PC:D1D7 A:11 X:23 Y:55 P:67 SP:FB CYC:262 SL:34\nD1D8 24 BIT $01         PC:D1D9 A:11 X:23 Y:46 P:65 SP:FB CYC:268 SL:34\nD1DA 84 STY $78         PC:D1DB A:11 X:23 Y:46 P:E5 SP:FB CYC:277 SL:34\nD1DC F0 BEQ $D1E8       PC:D1DD A:11 X:23 Y:46 P:E5 SP:FB CYC:286 SL:34\nD1DE 10 BPL $D1E8       PC:D1DF A:11 X:23 Y:46 P:E5 SP:FB CYC:292 SL:34\nD1E0 50 BVC $D1E8       PC:D1E1 A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:34\nD1E2 A4 LDY $78         PC:D1E3 A:11 X:23 Y:46 P:E5 SP:FB CYC:304 SL:34\nD1E4 C0 CPY #$46        PC:D1E5 A:11 X:23 Y:46 P:65 SP:FB CYC:313 SL:34\nD1E6 F0 BEQ $D1EC       PC:D1E7 A:11 X:23 Y:46 P:67 SP:FB CYC:319 SL:34\nD1EC 24 BIT $01         PC:D1ED A:11 X:23 Y:46 P:67 SP:FB CYC:328 SL:34\nD1EE A9 LDA #$55        PC:D1EF A:11 X:23 Y:46 P:E5 SP:FB CYC:337 SL:34\nD1F0 85 STA $78         PC:D1F1 A:55 X:23 Y:46 P:65 SP:FB CYC:2 SL:35\nD1F2 A0 LDY #$11        PC:D1F3 A:55 X:23 Y:46 P:65 SP:FB CYC:11 SL:35\nD1F4 A9 LDA #$23        PC:D1F5 A:55 X:23 Y:11 P:65 SP:FB CYC:17 SL:35\nD1F6 A2 LDX #$00        PC:D1F7 A:23 X:23 Y:11 P:65 SP:FB CYC:23 SL:35\nD1F8 A6 LDX $78         PC:D1F9 A:23 X:00 Y:11 P:67 SP:FB CYC:29 SL:35\nD1FA F0 BEQ $D20C       PC:D1FB A:23 X:55 Y:11 P:65 SP:FB CYC:38 SL:35\nD1FC 30 BMI $D20C       PC:D1FD A:23 X:55 Y:11 P:65 SP:FB CYC:44 SL:35\nD1FE E0 CPX #$55        PC:D1FF A:23 X:55 Y:11 P:65 SP:FB CYC:50 SL:35\nD200 D0 BNE $D20C       PC:D201 A:23 X:55 Y:11 P:67 SP:FB CYC:56 SL:35\nD202 C0 CPY #$11        PC:D203 A:23 X:55 Y:11 P:67 SP:FB CYC:62 SL:35\nD204 D0 BNE $D20C       PC:D205 A:23 X:55 Y:11 P:67 SP:FB CYC:68 SL:35\nD206 C9 CMP #$23        PC:D207 A:23 X:55 Y:11 P:67 SP:FB CYC:74 SL:35\nD208 50 BVC $D20C       PC:D209 A:23 X:55 Y:11 P:67 SP:FB CYC:80 SL:35\nD20A F0 BEQ $D210       PC:D20B A:23 X:55 Y:11 P:67 SP:FB CYC:86 SL:35\nD210 A2 LDX #$46        PC:D211 A:23 X:55 Y:11 P:67 SP:FB CYC:95 SL:35\nD212 24 BIT $01         PC:D213 A:23 X:46 Y:11 P:65 SP:FB CYC:101 SL:35\nD214 86 STX $78         PC:D215 A:23 X:46 Y:11 P:E5 SP:FB CYC:110 SL:35\nD216 F0 BEQ $D222       PC:D217 A:23 X:46 Y:11 P:E5 SP:FB CYC:119 SL:35\nD218 10 BPL $D222       PC:D219 A:23 X:46 Y:11 P:E5 SP:FB CYC:125 SL:35\nD21A 50 BVC $D222       PC:D21B A:23 X:46 Y:11 P:E5 SP:FB CYC:131 SL:35\nD21C A6 LDX $78         PC:D21D A:23 X:46 Y:11 P:E5 SP:FB CYC:137 SL:35\nD21E E0 CPX #$46        PC:D21F A:23 X:46 Y:11 P:65 SP:FB CYC:146 SL:35\nD220 F0 BEQ $D226       PC:D221 A:23 X:46 Y:11 P:67 SP:FB CYC:152 SL:35\nD226 A9 LDA #$C0        PC:D227 A:23 X:46 Y:11 P:67 SP:FB CYC:161 SL:35\nD228 85 STA $78         PC:D229 A:C0 X:46 Y:11 P:E5 SP:FB CYC:167 SL:35\nD22A A2 LDX #$33        PC:D22B A:C0 X:46 Y:11 P:E5 SP:FB CYC:176 SL:35\nD22C A0 LDY #$88        PC:D22D A:C0 X:33 Y:11 P:65 SP:FB CYC:182 SL:35\nD22E A9 LDA #$05        PC:D22F A:C0 X:33 Y:88 P:E5 SP:FB CYC:188 SL:35\nD230 24 BIT $78         PC:D231 A:05 X:33 Y:88 P:65 SP:FB CYC:194 SL:35\nD232 10 BPL $D244       PC:D233 A:05 X:33 Y:88 P:E7 SP:FB CYC:203 SL:35\nD234 50 BVC $D244       PC:D235 A:05 X:33 Y:88 P:E7 SP:FB CYC:209 SL:35\nD236 D0 BNE $D244       PC:D237 A:05 X:33 Y:88 P:E7 SP:FB CYC:215 SL:35\nD238 C9 CMP #$05        PC:D239 A:05 X:33 Y:88 P:E7 SP:FB CYC:221 SL:35\nD23A D0 BNE $D244       PC:D23B A:05 X:33 Y:88 P:67 SP:FB CYC:227 SL:35\nD23C E0 CPX #$33        PC:D23D A:05 X:33 Y:88 P:67 SP:FB CYC:233 SL:35\nD23E D0 BNE $D244       PC:D23F A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:35\nD240 C0 CPY #$88        PC:D241 A:05 X:33 Y:88 P:67 SP:FB CYC:245 SL:35\nD242 F0 BEQ $D248       PC:D243 A:05 X:33 Y:88 P:67 SP:FB CYC:251 SL:35\nD248 A9 LDA #$03        PC:D249 A:05 X:33 Y:88 P:67 SP:FB CYC:260 SL:35\nD24A 85 STA $78         PC:D24B A:03 X:33 Y:88 P:65 SP:FB CYC:266 SL:35\nD24C A9 LDA #$01        PC:D24D A:03 X:33 Y:88 P:65 SP:FB CYC:275 SL:35\nD24E 24 BIT $78         PC:D24F A:01 X:33 Y:88 P:65 SP:FB CYC:281 SL:35\nD250 30 BMI $D25A       PC:D251 A:01 X:33 Y:88 P:25 SP:FB CYC:290 SL:35\nD252 70 BVS $D25A       PC:D253 A:01 X:33 Y:88 P:25 SP:FB CYC:296 SL:35\nD254 F0 BEQ $D25A       PC:D255 A:01 X:33 Y:88 P:25 SP:FB CYC:302 SL:35\nD256 C9 CMP #$01        PC:D257 A:01 X:33 Y:88 P:25 SP:FB CYC:308 SL:35\nD258 F0 BEQ $D25E       PC:D259 A:01 X:33 Y:88 P:27 SP:FB CYC:314 SL:35\nD25E A0 LDY #$7E        PC:D25F A:01 X:33 Y:88 P:27 SP:FB CYC:323 SL:35\nD260 A9 LDA #$AA        PC:D261 A:01 X:33 Y:7E P:25 SP:FB CYC:329 SL:35\nD262 85 STA $78         PC:D263 A:AA X:33 Y:7E P:A5 SP:FB CYC:335 SL:35\nD264 20 JSR $F7B6       PC:D265 A:AA X:33 Y:7E P:A5 SP:FB CYC:3 SL:36\nF7B6 18 CLC             PC:F7B7 A:AA X:33 Y:7E P:A5 SP:F9 CYC:21 SL:36\nF7B7 A9 LDA #$FF        PC:F7B8 A:AA X:33 Y:7E P:A4 SP:F9 CYC:27 SL:36\nF7B9 85 STA $01         PC:F7BA A:FF X:33 Y:7E P:A4 SP:F9 CYC:33 SL:36\nF7BB 24 BIT $01         PC:F7BC A:FF X:33 Y:7E P:A4 SP:F9 CYC:42 SL:36\nF7BD A9 LDA #$55        PC:F7BE A:FF X:33 Y:7E P:E4 SP:F9 CYC:51 SL:36\nF7BF 60 RTS             PC:F7C0 A:55 X:33 Y:7E P:64 SP:F9 CYC:57 SL:36\nD267 05 ORA $78         PC:D268 A:55 X:33 Y:7E P:64 SP:FB CYC:75 SL:36\nD269 20 JSR $F7C0       PC:D26A A:FF X:33 Y:7E P:E4 SP:FB CYC:84 SL:36\nF7C0 B0 BCS $F7CB       PC:F7C1 A:FF X:33 Y:7E P:E4 SP:F9 CYC:102 SL:36\nF7C2 10 BPL $F7CB       PC:F7C3 A:FF X:33 Y:7E P:E4 SP:F9 CYC:108 SL:36\nF7C4 C9 CMP #$FF        PC:F7C5 A:FF X:33 Y:7E P:E4 SP:F9 CYC:114 SL:36\nF7C6 D0 BNE $F7CB       PC:F7C7 A:FF X:33 Y:7E P:67 SP:F9 CYC:120 SL:36\nF7C8 50 BVC $F7CB       PC:F7C9 A:FF X:33 Y:7E P:67 SP:F9 CYC:126 SL:36\nF7CA 60 RTS             PC:F7CB A:FF X:33 Y:7E P:67 SP:F9 CYC:132 SL:36\nD26C C8 INY             PC:D26D A:FF X:33 Y:7E P:67 SP:FB CYC:150 SL:36\nD26D A9 LDA #$00        PC:D26E A:FF X:33 Y:7F P:65 SP:FB CYC:156 SL:36\nD26F 85 STA $78         PC:D270 A:00 X:33 Y:7F P:67 SP:FB CYC:162 SL:36\nD271 20 JSR $F7CE       PC:D272 A:00 X:33 Y:7F P:67 SP:FB CYC:171 SL:36\nF7CE 38 SEC             PC:F7CF A:00 X:33 Y:7F P:67 SP:F9 CYC:189 SL:36\nF7CF B8 CLV             PC:F7D0 A:00 X:33 Y:7F P:67 SP:F9 CYC:195 SL:36\nF7D0 A9 LDA #$00        PC:F7D1 A:00 X:33 Y:7F P:27 SP:F9 CYC:201 SL:36\nF7D2 60 RTS             PC:F7D3 A:00 X:33 Y:7F P:27 SP:F9 CYC:207 SL:36\nD274 05 ORA $78         PC:D275 A:00 X:33 Y:7F P:27 SP:FB CYC:225 SL:36\nD276 20 JSR $F7D3       PC:D277 A:00 X:33 Y:7F P:27 SP:FB CYC:234 SL:36\nF7D3 D0 BNE $F7DC       PC:F7D4 A:00 X:33 Y:7F P:27 SP:F9 CYC:252 SL:36\nF7D5 70 BVS $F7DC       PC:F7D6 A:00 X:33 Y:7F P:27 SP:F9 CYC:258 SL:36\nF7D7 90 BCC $F7DC       PC:F7D8 A:00 X:33 Y:7F P:27 SP:F9 CYC:264 SL:36\nF7D9 30 BMI $F7DC       PC:F7DA A:00 X:33 Y:7F P:27 SP:F9 CYC:270 SL:36\nF7DB 60 RTS             PC:F7DC A:00 X:33 Y:7F P:27 SP:F9 CYC:276 SL:36\nD279 C8 INY             PC:D27A A:00 X:33 Y:7F P:27 SP:FB CYC:294 SL:36\nD27A A9 LDA #$AA        PC:D27B A:00 X:33 Y:80 P:A5 SP:FB CYC:300 SL:36\nD27C 85 STA $78         PC:D27D A:AA X:33 Y:80 P:A5 SP:FB CYC:306 SL:36\nD27E 20 JSR $F7DF       PC:D27F A:AA X:33 Y:80 P:A5 SP:FB CYC:315 SL:36\nF7DF 18 CLC             PC:F7E0 A:AA X:33 Y:80 P:A5 SP:F9 CYC:333 SL:36\nF7E0 24 BIT $01         PC:F7E1 A:AA X:33 Y:80 P:A4 SP:F9 CYC:339 SL:36\nF7E2 A9 LDA #$55        PC:F7E3 A:AA X:33 Y:80 P:E4 SP:F9 CYC:7 SL:37\nF7E4 60 RTS             PC:F7E5 A:55 X:33 Y:80 P:64 SP:F9 CYC:13 SL:37\nD281 25 AND $78         PC:D282 A:55 X:33 Y:80 P:64 SP:FB CYC:31 SL:37\nD283 20 JSR $F7E5       PC:D284 A:00 X:33 Y:80 P:66 SP:FB CYC:40 SL:37\nF7E5 D0 BNE $F7EE       PC:F7E6 A:00 X:33 Y:80 P:66 SP:F9 CYC:58 SL:37\nF7E7 50 BVC $F7EE       PC:F7E8 A:00 X:33 Y:80 P:66 SP:F9 CYC:64 SL:37\nF7E9 B0 BCS $F7EE       PC:F7EA A:00 X:33 Y:80 P:66 SP:F9 CYC:70 SL:37\nF7EB 30 BMI $F7EE       PC:F7EC A:00 X:33 Y:80 P:66 SP:F9 CYC:76 SL:37\nF7ED 60 RTS             PC:F7EE A:00 X:33 Y:80 P:66 SP:F9 CYC:82 SL:37\nD286 C8 INY             PC:D287 A:00 X:33 Y:80 P:66 SP:FB CYC:100 SL:37\nD287 A9 LDA #$EF        PC:D288 A:00 X:33 Y:81 P:E4 SP:FB CYC:106 SL:37\nD289 85 STA $78         PC:D28A A:EF X:33 Y:81 P:E4 SP:FB CYC:112 SL:37\nD28B 20 JSR $F7F1       PC:D28C A:EF X:33 Y:81 P:E4 SP:FB CYC:121 SL:37\nF7F1 38 SEC             PC:F7F2 A:EF X:33 Y:81 P:E4 SP:F9 CYC:139 SL:37\nF7F2 B8 CLV             PC:F7F3 A:EF X:33 Y:81 P:E5 SP:F9 CYC:145 SL:37\nF7F3 A9 LDA #$F8        PC:F7F4 A:EF X:33 Y:81 P:A5 SP:F9 CYC:151 SL:37\nF7F5 60 RTS             PC:F7F6 A:F8 X:33 Y:81 P:A5 SP:F9 CYC:157 SL:37\nD28E 25 AND $78         PC:D28F A:F8 X:33 Y:81 P:A5 SP:FB CYC:175 SL:37\nD290 20 JSR $F7F6       PC:D291 A:E8 X:33 Y:81 P:A5 SP:FB CYC:184 SL:37\nF7F6 90 BCC $F801       PC:F7F7 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:202 SL:37\nF7F8 10 BPL $F801       PC:F7F9 A:E8 X:33 Y:81 P:A5 SP:F9 CYC:208 SL:37\nF7FA C9 CMP #$E8        PC:F7FB A:E8 X:33 Y:81 P:A5 SP:F9 CYC:214 SL:37\nF7FC D0 BNE $F801       PC:F7FD A:E8 X:33 Y:81 P:27 SP:F9 CYC:220 SL:37\nF7FE 70 BVS $F801       PC:F7FF A:E8 X:33 Y:81 P:27 SP:F9 CYC:226 SL:37\nF800 60 RTS             PC:F801 A:E8 X:33 Y:81 P:27 SP:F9 CYC:232 SL:37\nD293 C8 INY             PC:D294 A:E8 X:33 Y:81 P:27 SP:FB CYC:250 SL:37\nD294 A9 LDA #$AA        PC:D295 A:E8 X:33 Y:82 P:A5 SP:FB CYC:256 SL:37\nD296 85 STA $78         PC:D297 A:AA X:33 Y:82 P:A5 SP:FB CYC:262 SL:37\nD298 20 JSR $F804       PC:D299 A:AA X:33 Y:82 P:A5 SP:FB CYC:271 SL:37\nF804 18 CLC             PC:F805 A:AA X:33 Y:82 P:A5 SP:F9 CYC:289 SL:37\nF805 24 BIT $01         PC:F806 A:AA X:33 Y:82 P:A4 SP:F9 CYC:295 SL:37\nF807 A9 LDA #$5F        PC:F808 A:AA X:33 Y:82 P:E4 SP:F9 CYC:304 SL:37\nF809 60 RTS             PC:F80A A:5F X:33 Y:82 P:64 SP:F9 CYC:310 SL:37\nD29B 45 EOR $78         PC:D29C A:5F X:33 Y:82 P:64 SP:FB CYC:328 SL:37\nD29D 20 JSR $F80A       PC:D29E A:F5 X:33 Y:82 P:E4 SP:FB CYC:337 SL:37\nF80A B0 BCS $F815       PC:F80B A:F5 X:33 Y:82 P:E4 SP:F9 CYC:14 SL:38\nF80C 10 BPL $F815       PC:F80D A:F5 X:33 Y:82 P:E4 SP:F9 CYC:20 SL:38\nF80E C9 CMP #$F5        PC:F80F A:F5 X:33 Y:82 P:E4 SP:F9 CYC:26 SL:38\nF810 D0 BNE $F815       PC:F811 A:F5 X:33 Y:82 P:67 SP:F9 CYC:32 SL:38\nF812 50 BVC $F815       PC:F813 A:F5 X:33 Y:82 P:67 SP:F9 CYC:38 SL:38\nF814 60 RTS             PC:F815 A:F5 X:33 Y:82 P:67 SP:F9 CYC:44 SL:38\nD2A0 C8 INY             PC:D2A1 A:F5 X:33 Y:82 P:67 SP:FB CYC:62 SL:38\nD2A1 A9 LDA #$70        PC:D2A2 A:F5 X:33 Y:83 P:E5 SP:FB CYC:68 SL:38\nD2A3 85 STA $78         PC:D2A4 A:70 X:33 Y:83 P:65 SP:FB CYC:74 SL:38\nD2A5 20 JSR $F818       PC:D2A6 A:70 X:33 Y:83 P:65 SP:FB CYC:83 SL:38\nF818 38 SEC             PC:F819 A:70 X:33 Y:83 P:65 SP:F9 CYC:101 SL:38\nF819 B8 CLV             PC:F81A A:70 X:33 Y:83 P:65 SP:F9 CYC:107 SL:38\nF81A A9 LDA #$70        PC:F81B A:70 X:33 Y:83 P:25 SP:F9 CYC:113 SL:38\nF81C 60 RTS             PC:F81D A:70 X:33 Y:83 P:25 SP:F9 CYC:119 SL:38\nD2A8 45 EOR $78         PC:D2A9 A:70 X:33 Y:83 P:25 SP:FB CYC:137 SL:38\nD2AA 20 JSR $F81D       PC:D2AB A:00 X:33 Y:83 P:27 SP:FB CYC:146 SL:38\nF81D D0 BNE $F826       PC:F81E A:00 X:33 Y:83 P:27 SP:F9 CYC:164 SL:38\nF81F 70 BVS $F826       PC:F820 A:00 X:33 Y:83 P:27 SP:F9 CYC:170 SL:38\nF821 90 BCC $F826       PC:F822 A:00 X:33 Y:83 P:27 SP:F9 CYC:176 SL:38\nF823 30 BMI $F826       PC:F824 A:00 X:33 Y:83 P:27 SP:F9 CYC:182 SL:38\nF825 60 RTS             PC:F826 A:00 X:33 Y:83 P:27 SP:F9 CYC:188 SL:38\nD2AD C8 INY             PC:D2AE A:00 X:33 Y:83 P:27 SP:FB CYC:206 SL:38\nD2AE A9 LDA #$69        PC:D2AF A:00 X:33 Y:84 P:A5 SP:FB CYC:212 SL:38\nD2B0 85 STA $78         PC:D2B1 A:69 X:33 Y:84 P:25 SP:FB CYC:218 SL:38\nD2B2 20 JSR $F829       PC:D2B3 A:69 X:33 Y:84 P:25 SP:FB CYC:227 SL:38\nF829 18 CLC             PC:F82A A:69 X:33 Y:84 P:25 SP:F9 CYC:245 SL:38\nF82A 24 BIT $01         PC:F82B A:69 X:33 Y:84 P:24 SP:F9 CYC:251 SL:38\nF82C A9 LDA #$00        PC:F82D A:69 X:33 Y:84 P:E4 SP:F9 CYC:260 SL:38\nF82E 60 RTS             PC:F82F A:00 X:33 Y:84 P:66 SP:F9 CYC:266 SL:38\nD2B5 65 ADC $78         PC:D2B6 A:00 X:33 Y:84 P:66 SP:FB CYC:284 SL:38\nD2B7 20 JSR $F82F       PC:D2B8 A:69 X:33 Y:84 P:24 SP:FB CYC:293 SL:38\nF82F 30 BMI $F83A       PC:F830 A:69 X:33 Y:84 P:24 SP:F9 CYC:311 SL:38\nF831 B0 BCS $F83A       PC:F832 A:69 X:33 Y:84 P:24 SP:F9 CYC:317 SL:38\nF833 C9 CMP #$69        PC:F834 A:69 X:33 Y:84 P:24 SP:F9 CYC:323 SL:38\nF835 D0 BNE $F83A       PC:F836 A:69 X:33 Y:84 P:27 SP:F9 CYC:329 SL:38\nF837 70 BVS $F83A       PC:F838 A:69 X:33 Y:84 P:27 SP:F9 CYC:335 SL:38\nF839 60 RTS             PC:F83A A:69 X:33 Y:84 P:27 SP:F9 CYC:0 SL:39\nD2BA C8 INY             PC:D2BB A:69 X:33 Y:84 P:27 SP:FB CYC:18 SL:39\nD2BB 20 JSR $F83D       PC:D2BC A:69 X:33 Y:85 P:A5 SP:FB CYC:24 SL:39\nF83D 38 SEC             PC:F83E A:69 X:33 Y:85 P:A5 SP:F9 CYC:42 SL:39\nF83E 24 BIT $01         PC:F83F A:69 X:33 Y:85 P:A5 SP:F9 CYC:48 SL:39\nF840 A9 LDA #$00        PC:F841 A:69 X:33 Y:85 P:E5 SP:F9 CYC:57 SL:39\nF842 60 RTS             PC:F843 A:00 X:33 Y:85 P:67 SP:F9 CYC:63 SL:39\nD2BE 65 ADC $78         PC:D2BF A:00 X:33 Y:85 P:67 SP:FB CYC:81 SL:39\nD2C0 20 JSR $F843       PC:D2C1 A:6A X:33 Y:85 P:24 SP:FB CYC:90 SL:39\nF843 30 BMI $F84E       PC:F844 A:6A X:33 Y:85 P:24 SP:F9 CYC:108 SL:39\nF845 B0 BCS $F84E       PC:F846 A:6A X:33 Y:85 P:24 SP:F9 CYC:114 SL:39\nF847 C9 CMP #$6A        PC:F848 A:6A X:33 Y:85 P:24 SP:F9 CYC:120 SL:39\nF849 D0 BNE $F84E       PC:F84A A:6A X:33 Y:85 P:27 SP:F9 CYC:126 SL:39\nF84B 70 BVS $F84E       PC:F84C A:6A X:33 Y:85 P:27 SP:F9 CYC:132 SL:39\nF84D 60 RTS             PC:F84E A:6A X:33 Y:85 P:27 SP:F9 CYC:138 SL:39\nD2C3 C8 INY             PC:D2C4 A:6A X:33 Y:85 P:27 SP:FB CYC:156 SL:39\nD2C4 A9 LDA #$7F        PC:D2C5 A:6A X:33 Y:86 P:A5 SP:FB CYC:162 SL:39\nD2C6 85 STA $78         PC:D2C7 A:7F X:33 Y:86 P:25 SP:FB CYC:168 SL:39\nD2C8 20 JSR $F851       PC:D2C9 A:7F X:33 Y:86 P:25 SP:FB CYC:177 SL:39\nF851 38 SEC             PC:F852 A:7F X:33 Y:86 P:25 SP:F9 CYC:195 SL:39\nF852 B8 CLV             PC:F853 A:7F X:33 Y:86 P:25 SP:F9 CYC:201 SL:39\nF853 A9 LDA #$7F        PC:F854 A:7F X:33 Y:86 P:25 SP:F9 CYC:207 SL:39\nF855 60 RTS             PC:F856 A:7F X:33 Y:86 P:25 SP:F9 CYC:213 SL:39\nD2CB 65 ADC $78         PC:D2CC A:7F X:33 Y:86 P:25 SP:FB CYC:231 SL:39\nD2CD 20 JSR $F856       PC:D2CE A:FF X:33 Y:86 P:E4 SP:FB CYC:240 SL:39\nF856 10 BPL $F861       PC:F857 A:FF X:33 Y:86 P:E4 SP:F9 CYC:258 SL:39\nF858 B0 BCS $F861       PC:F859 A:FF X:33 Y:86 P:E4 SP:F9 CYC:264 SL:39\nF85A C9 CMP #$FF        PC:F85B A:FF X:33 Y:86 P:E4 SP:F9 CYC:270 SL:39\nF85C D0 BNE $F861       PC:F85D A:FF X:33 Y:86 P:67 SP:F9 CYC:276 SL:39\nF85E 50 BVC $F861       PC:F85F A:FF X:33 Y:86 P:67 SP:F9 CYC:282 SL:39\nF860 60 RTS             PC:F861 A:FF X:33 Y:86 P:67 SP:F9 CYC:288 SL:39\nD2D0 C8 INY             PC:D2D1 A:FF X:33 Y:86 P:67 SP:FB CYC:306 SL:39\nD2D1 A9 LDA #$80        PC:D2D2 A:FF X:33 Y:87 P:E5 SP:FB CYC:312 SL:39\nD2D3 85 STA $78         PC:D2D4 A:80 X:33 Y:87 P:E5 SP:FB CYC:318 SL:39\nD2D5 20 JSR $F864       PC:D2D6 A:80 X:33 Y:87 P:E5 SP:FB CYC:327 SL:39\nF864 18 CLC             PC:F865 A:80 X:33 Y:87 P:E5 SP:F9 CYC:4 SL:40\nF865 24 BIT $01         PC:F866 A:80 X:33 Y:87 P:E4 SP:F9 CYC:10 SL:40\nF867 A9 LDA #$7F        PC:F868 A:80 X:33 Y:87 P:E4 SP:F9 CYC:19 SL:40\nF869 60 RTS             PC:F86A A:7F X:33 Y:87 P:64 SP:F9 CYC:25 SL:40\nD2D8 65 ADC $78         PC:D2D9 A:7F X:33 Y:87 P:64 SP:FB CYC:43 SL:40\nD2DA 20 JSR $F86A       PC:D2DB A:FF X:33 Y:87 P:A4 SP:FB CYC:52 SL:40\nF86A 10 BPL $F875       PC:F86B A:FF X:33 Y:87 P:A4 SP:F9 CYC:70 SL:40\nF86C B0 BCS $F875       PC:F86D A:FF X:33 Y:87 P:A4 SP:F9 CYC:76 SL:40\nF86E C9 CMP #$FF        PC:F86F A:FF X:33 Y:87 P:A4 SP:F9 CYC:82 SL:40\nF870 D0 BNE $F875       PC:F871 A:FF X:33 Y:87 P:27 SP:F9 CYC:88 SL:40\nF872 70 BVS $F875       PC:F873 A:FF X:33 Y:87 P:27 SP:F9 CYC:94 SL:40\nF874 60 RTS             PC:F875 A:FF X:33 Y:87 P:27 SP:F9 CYC:100 SL:40\nD2DD C8 INY             PC:D2DE A:FF X:33 Y:87 P:27 SP:FB CYC:118 SL:40\nD2DE 20 JSR $F878       PC:D2DF A:FF X:33 Y:88 P:A5 SP:FB CYC:124 SL:40\nF878 38 SEC             PC:F879 A:FF X:33 Y:88 P:A5 SP:F9 CYC:142 SL:40\nF879 B8 CLV             PC:F87A A:FF X:33 Y:88 P:A5 SP:F9 CYC:148 SL:40\nF87A A9 LDA #$7F        PC:F87B A:FF X:33 Y:88 P:A5 SP:F9 CYC:154 SL:40\nF87C 60 RTS             PC:F87D A:7F X:33 Y:88 P:25 SP:F9 CYC:160 SL:40\nD2E1 65 ADC $78         PC:D2E2 A:7F X:33 Y:88 P:25 SP:FB CYC:178 SL:40\nD2E3 20 JSR $F87D       PC:D2E4 A:00 X:33 Y:88 P:27 SP:FB CYC:187 SL:40\nF87D D0 BNE $F886       PC:F87E A:00 X:33 Y:88 P:27 SP:F9 CYC:205 SL:40\nF87F 30 BMI $F886       PC:F880 A:00 X:33 Y:88 P:27 SP:F9 CYC:211 SL:40\nF881 70 BVS $F886       PC:F882 A:00 X:33 Y:88 P:27 SP:F9 CYC:217 SL:40\nF883 90 BCC $F886       PC:F884 A:00 X:33 Y:88 P:27 SP:F9 CYC:223 SL:40\nF885 60 RTS             PC:F886 A:00 X:33 Y:88 P:27 SP:F9 CYC:229 SL:40\nD2E6 C8 INY             PC:D2E7 A:00 X:33 Y:88 P:27 SP:FB CYC:247 SL:40\nD2E7 A9 LDA #$40        PC:D2E8 A:00 X:33 Y:89 P:A5 SP:FB CYC:253 SL:40\nD2E9 85 STA $78         PC:D2EA A:40 X:33 Y:89 P:25 SP:FB CYC:259 SL:40\nD2EB 20 JSR $F889       PC:D2EC A:40 X:33 Y:89 P:25 SP:FB CYC:268 SL:40\nF889 24 BIT $01         PC:F88A A:40 X:33 Y:89 P:25 SP:F9 CYC:286 SL:40\nF88B A9 LDA #$40        PC:F88C A:40 X:33 Y:89 P:E5 SP:F9 CYC:295 SL:40\nF88D 60 RTS             PC:F88E A:40 X:33 Y:89 P:65 SP:F9 CYC:301 SL:40\nD2EE C5 CMP $78         PC:D2EF A:40 X:33 Y:89 P:65 SP:FB CYC:319 SL:40\nD2F0 20 JSR $F88E       PC:D2F1 A:40 X:33 Y:89 P:67 SP:FB CYC:328 SL:40\nF88E 30 BMI $F897       PC:F88F A:40 X:33 Y:89 P:67 SP:F9 CYC:5 SL:41\nF890 90 BCC $F897       PC:F891 A:40 X:33 Y:89 P:67 SP:F9 CYC:11 SL:41\nF892 D0 BNE $F897       PC:F893 A:40 X:33 Y:89 P:67 SP:F9 CYC:17 SL:41\nF894 50 BVC $F897       PC:F895 A:40 X:33 Y:89 P:67 SP:F9 CYC:23 SL:41\nF896 60 RTS             PC:F897 A:40 X:33 Y:89 P:67 SP:F9 CYC:29 SL:41\nD2F3 C8 INY             PC:D2F4 A:40 X:33 Y:89 P:67 SP:FB CYC:47 SL:41\nD2F4 48 PHA             PC:D2F5 A:40 X:33 Y:8A P:E5 SP:FB CYC:53 SL:41\nD2F5 A9 LDA #$3F        PC:D2F6 A:40 X:33 Y:8A P:E5 SP:FA CYC:62 SL:41\nD2F7 85 STA $78         PC:D2F8 A:3F X:33 Y:8A P:65 SP:FA CYC:68 SL:41\nD2F9 68 PLA             PC:D2FA A:3F X:33 Y:8A P:65 SP:FA CYC:77 SL:41\nD2FA 20 JSR $F89A       PC:D2FB A:40 X:33 Y:8A P:65 SP:FB CYC:89 SL:41\nF89A B8 CLV             PC:F89B A:40 X:33 Y:8A P:65 SP:F9 CYC:107 SL:41\nF89B 60 RTS             PC:F89C A:40 X:33 Y:8A P:25 SP:F9 CYC:113 SL:41\nD2FD C5 CMP $78         PC:D2FE A:40 X:33 Y:8A P:25 SP:FB CYC:131 SL:41\nD2FF 20 JSR $F89C       PC:D300 A:40 X:33 Y:8A P:25 SP:FB CYC:140 SL:41\nF89C F0 BEQ $F8A5       PC:F89D A:40 X:33 Y:8A P:25 SP:F9 CYC:158 SL:41\nF89E 30 BMI $F8A5       PC:F89F A:40 X:33 Y:8A P:25 SP:F9 CYC:164 SL:41\nF8A0 90 BCC $F8A5       PC:F8A1 A:40 X:33 Y:8A P:25 SP:F9 CYC:170 SL:41\nF8A2 70 BVS $F8A5       PC:F8A3 A:40 X:33 Y:8A P:25 SP:F9 CYC:176 SL:41\nF8A4 60 RTS             PC:F8A5 A:40 X:33 Y:8A P:25 SP:F9 CYC:182 SL:41\nD302 C8 INY             PC:D303 A:40 X:33 Y:8A P:25 SP:FB CYC:200 SL:41\nD303 48 PHA             PC:D304 A:40 X:33 Y:8B P:A5 SP:FB CYC:206 SL:41\nD304 A9 LDA #$41        PC:D305 A:40 X:33 Y:8B P:A5 SP:FA CYC:215 SL:41\nD306 85 STA $78         PC:D307 A:41 X:33 Y:8B P:25 SP:FA CYC:221 SL:41\nD308 68 PLA             PC:D309 A:41 X:33 Y:8B P:25 SP:FA CYC:230 SL:41\nD309 C5 CMP $78         PC:D30A A:40 X:33 Y:8B P:25 SP:FB CYC:242 SL:41\nD30B 20 JSR $F8A8       PC:D30C A:40 X:33 Y:8B P:A4 SP:FB CYC:251 SL:41\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:40 X:33 Y:8B P:A4 SP:F9 CYC:269 SL:41\nF8AA 10 BPL $F8AF       PC:F8AB A:40 X:33 Y:8B P:A4 SP:F9 CYC:275 SL:41\nF8AC 10 BPL $F8AF       PC:F8AD A:40 X:33 Y:8B P:A4 SP:F9 CYC:281 SL:41\nF8AE 60 RTS             PC:F8AF A:40 X:33 Y:8B P:A4 SP:F9 CYC:287 SL:41\nD30E C8 INY             PC:D30F A:40 X:33 Y:8B P:A4 SP:FB CYC:305 SL:41\nD30F 48 PHA             PC:D310 A:40 X:33 Y:8C P:A4 SP:FB CYC:311 SL:41\nD310 A9 LDA #$00        PC:D311 A:40 X:33 Y:8C P:A4 SP:FA CYC:320 SL:41\nD312 85 STA $78         PC:D313 A:00 X:33 Y:8C P:26 SP:FA CYC:326 SL:41\nD314 68 PLA             PC:D315 A:00 X:33 Y:8C P:26 SP:FA CYC:335 SL:41\nD315 20 JSR $F8B2       PC:D316 A:40 X:33 Y:8C P:24 SP:FB CYC:6 SL:42\nF8B2 A9 LDA #$80        PC:F8B3 A:40 X:33 Y:8C P:24 SP:F9 CYC:24 SL:42\nF8B4 60 RTS             PC:F8B5 A:80 X:33 Y:8C P:A4 SP:F9 CYC:30 SL:42\nD318 C5 CMP $78         PC:D319 A:80 X:33 Y:8C P:A4 SP:FB CYC:48 SL:42\nD31A 20 JSR $F8B5       PC:D31B A:80 X:33 Y:8C P:A5 SP:FB CYC:57 SL:42\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:33 Y:8C P:A5 SP:F9 CYC:75 SL:42\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:33 Y:8C P:A5 SP:F9 CYC:81 SL:42\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:33 Y:8C P:A5 SP:F9 CYC:87 SL:42\nF8BB 60 RTS             PC:F8BC A:80 X:33 Y:8C P:A5 SP:F9 CYC:93 SL:42\nD31D C8 INY             PC:D31E A:80 X:33 Y:8C P:A5 SP:FB CYC:111 SL:42\nD31E 48 PHA             PC:D31F A:80 X:33 Y:8D P:A5 SP:FB CYC:117 SL:42\nD31F A9 LDA #$80        PC:D320 A:80 X:33 Y:8D P:A5 SP:FA CYC:126 SL:42\nD321 85 STA $78         PC:D322 A:80 X:33 Y:8D P:A5 SP:FA CYC:132 SL:42\nD323 68 PLA             PC:D324 A:80 X:33 Y:8D P:A5 SP:FA CYC:141 SL:42\nD324 C5 CMP $78         PC:D325 A:80 X:33 Y:8D P:A5 SP:FB CYC:153 SL:42\nD326 20 JSR $F8BF       PC:D327 A:80 X:33 Y:8D P:27 SP:FB CYC:162 SL:42\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:33 Y:8D P:27 SP:F9 CYC:180 SL:42\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:33 Y:8D P:27 SP:F9 CYC:186 SL:42\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:33 Y:8D P:27 SP:F9 CYC:192 SL:42\nF8C5 60 RTS             PC:F8C6 A:80 X:33 Y:8D P:27 SP:F9 CYC:198 SL:42\nD329 C8 INY             PC:D32A A:80 X:33 Y:8D P:27 SP:FB CYC:216 SL:42\nD32A 48 PHA             PC:D32B A:80 X:33 Y:8E P:A5 SP:FB CYC:222 SL:42\nD32B A9 LDA #$81        PC:D32C A:80 X:33 Y:8E P:A5 SP:FA CYC:231 SL:42\nD32D 85 STA $78         PC:D32E A:81 X:33 Y:8E P:A5 SP:FA CYC:237 SL:42\nD32F 68 PLA             PC:D330 A:81 X:33 Y:8E P:A5 SP:FA CYC:246 SL:42\nD330 C5 CMP $78         PC:D331 A:80 X:33 Y:8E P:A5 SP:FB CYC:258 SL:42\nD332 20 JSR $F8C9       PC:D333 A:80 X:33 Y:8E P:A4 SP:FB CYC:267 SL:42\nF8C9 B0 BCS $F8D0       PC:F8CA A:80 X:33 Y:8E P:A4 SP:F9 CYC:285 SL:42\nF8CB F0 BEQ $F8D0       PC:F8CC A:80 X:33 Y:8E P:A4 SP:F9 CYC:291 SL:42\nF8CD 10 BPL $F8D0       PC:F8CE A:80 X:33 Y:8E P:A4 SP:F9 CYC:297 SL:42\nF8CF 60 RTS             PC:F8D0 A:80 X:33 Y:8E P:A4 SP:F9 CYC:303 SL:42\nD335 C8 INY             PC:D336 A:80 X:33 Y:8E P:A4 SP:FB CYC:321 SL:42\nD336 48 PHA             PC:D337 A:80 X:33 Y:8F P:A4 SP:FB CYC:327 SL:42\nD337 A9 LDA #$7F        PC:D338 A:80 X:33 Y:8F P:A4 SP:FA CYC:336 SL:42\nD339 85 STA $78         PC:D33A A:7F X:33 Y:8F P:24 SP:FA CYC:1 SL:43\nD33B 68 PLA             PC:D33C A:7F X:33 Y:8F P:24 SP:FA CYC:10 SL:43\nD33C C5 CMP $78         PC:D33D A:80 X:33 Y:8F P:A4 SP:FB CYC:22 SL:43\nD33E 20 JSR $F8D3       PC:D33F A:80 X:33 Y:8F P:25 SP:FB CYC:31 SL:43\nF8D3 90 BCC $F8DA       PC:F8D4 A:80 X:33 Y:8F P:25 SP:F9 CYC:49 SL:43\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:80 X:33 Y:8F P:25 SP:F9 CYC:55 SL:43\nF8D7 30 BMI $F8DA       PC:F8D8 A:80 X:33 Y:8F P:25 SP:F9 CYC:61 SL:43\nF8D9 60 RTS             PC:F8DA A:80 X:33 Y:8F P:25 SP:F9 CYC:67 SL:43\nD341 C8 INY             PC:D342 A:80 X:33 Y:8F P:25 SP:FB CYC:85 SL:43\nD342 A9 LDA #$40        PC:D343 A:80 X:33 Y:90 P:A5 SP:FB CYC:91 SL:43\nD344 85 STA $78         PC:D345 A:40 X:33 Y:90 P:25 SP:FB CYC:97 SL:43\nD346 20 JSR $F931       PC:D347 A:40 X:33 Y:90 P:25 SP:FB CYC:106 SL:43\nF931 24 BIT $01         PC:F932 A:40 X:33 Y:90 P:25 SP:F9 CYC:124 SL:43\nF933 A9 LDA #$40        PC:F934 A:40 X:33 Y:90 P:E5 SP:F9 CYC:133 SL:43\nF935 38 SEC             PC:F936 A:40 X:33 Y:90 P:65 SP:F9 CYC:139 SL:43\nF936 60 RTS             PC:F937 A:40 X:33 Y:90 P:65 SP:F9 CYC:145 SL:43\nD349 E5 SBC $78         PC:D34A A:40 X:33 Y:90 P:65 SP:FB CYC:163 SL:43\nD34B 20 JSR $F937       PC:D34C A:00 X:33 Y:90 P:27 SP:FB CYC:172 SL:43\nF937 30 BMI $F944       PC:F938 A:00 X:33 Y:90 P:27 SP:F9 CYC:190 SL:43\nF939 90 BCC $F944       PC:F93A A:00 X:33 Y:90 P:27 SP:F9 CYC:196 SL:43\nF93B D0 BNE $F944       PC:F93C A:00 X:33 Y:90 P:27 SP:F9 CYC:202 SL:43\nF93D 70 BVS $F944       PC:F93E A:00 X:33 Y:90 P:27 SP:F9 CYC:208 SL:43\nF93F C9 CMP #$00        PC:F940 A:00 X:33 Y:90 P:27 SP:F9 CYC:214 SL:43\nF941 D0 BNE $F944       PC:F942 A:00 X:33 Y:90 P:27 SP:F9 CYC:220 SL:43\nF943 60 RTS             PC:F944 A:00 X:33 Y:90 P:27 SP:F9 CYC:226 SL:43\nD34E C8 INY             PC:D34F A:00 X:33 Y:90 P:27 SP:FB CYC:244 SL:43\nD34F A9 LDA #$3F        PC:D350 A:00 X:33 Y:91 P:A5 SP:FB CYC:250 SL:43\nD351 85 STA $78         PC:D352 A:3F X:33 Y:91 P:25 SP:FB CYC:256 SL:43\nD353 20 JSR $F947       PC:D354 A:3F X:33 Y:91 P:25 SP:FB CYC:265 SL:43\nF947 B8 CLV             PC:F948 A:3F X:33 Y:91 P:25 SP:F9 CYC:283 SL:43\nF948 38 SEC             PC:F949 A:3F X:33 Y:91 P:25 SP:F9 CYC:289 SL:43\nF949 A9 LDA #$40        PC:F94A A:3F X:33 Y:91 P:25 SP:F9 CYC:295 SL:43\nF94B 60 RTS             PC:F94C A:40 X:33 Y:91 P:25 SP:F9 CYC:301 SL:43\nD356 E5 SBC $78         PC:D357 A:40 X:33 Y:91 P:25 SP:FB CYC:319 SL:43\nD358 20 JSR $F94C       PC:D359 A:01 X:33 Y:91 P:25 SP:FB CYC:328 SL:43\nF94C F0 BEQ $F959       PC:F94D A:01 X:33 Y:91 P:25 SP:F9 CYC:5 SL:44\nF94E 30 BMI $F959       PC:F94F A:01 X:33 Y:91 P:25 SP:F9 CYC:11 SL:44\nF950 90 BCC $F959       PC:F951 A:01 X:33 Y:91 P:25 SP:F9 CYC:17 SL:44\nF952 70 BVS $F959       PC:F953 A:01 X:33 Y:91 P:25 SP:F9 CYC:23 SL:44\nF954 C9 CMP #$01        PC:F955 A:01 X:33 Y:91 P:25 SP:F9 CYC:29 SL:44\nF956 D0 BNE $F959       PC:F957 A:01 X:33 Y:91 P:27 SP:F9 CYC:35 SL:44\nF958 60 RTS             PC:F959 A:01 X:33 Y:91 P:27 SP:F9 CYC:41 SL:44\nD35B C8 INY             PC:D35C A:01 X:33 Y:91 P:27 SP:FB CYC:59 SL:44\nD35C A9 LDA #$41        PC:D35D A:01 X:33 Y:92 P:A5 SP:FB CYC:65 SL:44\nD35E 85 STA $78         PC:D35F A:41 X:33 Y:92 P:25 SP:FB CYC:71 SL:44\nD360 20 JSR $F95C       PC:D361 A:41 X:33 Y:92 P:25 SP:FB CYC:80 SL:44\nF95C A9 LDA #$40        PC:F95D A:41 X:33 Y:92 P:25 SP:F9 CYC:98 SL:44\nF95E 38 SEC             PC:F95F A:40 X:33 Y:92 P:25 SP:F9 CYC:104 SL:44\nF95F 24 BIT $01         PC:F960 A:40 X:33 Y:92 P:25 SP:F9 CYC:110 SL:44\nF961 60 RTS             PC:F962 A:40 X:33 Y:92 P:E5 SP:F9 CYC:119 SL:44\nD363 E5 SBC $78         PC:D364 A:40 X:33 Y:92 P:E5 SP:FB CYC:137 SL:44\nD365 20 JSR $F962       PC:D366 A:FF X:33 Y:92 P:A4 SP:FB CYC:146 SL:44\nF962 B0 BCS $F96F       PC:F963 A:FF X:33 Y:92 P:A4 SP:F9 CYC:164 SL:44\nF964 F0 BEQ $F96F       PC:F965 A:FF X:33 Y:92 P:A4 SP:F9 CYC:170 SL:44\nF966 10 BPL $F96F       PC:F967 A:FF X:33 Y:92 P:A4 SP:F9 CYC:176 SL:44\nF968 70 BVS $F96F       PC:F969 A:FF X:33 Y:92 P:A4 SP:F9 CYC:182 SL:44\nF96A C9 CMP #$FF        PC:F96B A:FF X:33 Y:92 P:A4 SP:F9 CYC:188 SL:44\nF96C D0 BNE $F96F       PC:F96D A:FF X:33 Y:92 P:27 SP:F9 CYC:194 SL:44\nF96E 60 RTS             PC:F96F A:FF X:33 Y:92 P:27 SP:F9 CYC:200 SL:44\nD368 C8 INY             PC:D369 A:FF X:33 Y:92 P:27 SP:FB CYC:218 SL:44\nD369 A9 LDA #$00        PC:D36A A:FF X:33 Y:93 P:A5 SP:FB CYC:224 SL:44\nD36B 85 STA $78         PC:D36C A:00 X:33 Y:93 P:27 SP:FB CYC:230 SL:44\nD36D 20 JSR $F972       PC:D36E A:00 X:33 Y:93 P:27 SP:FB CYC:239 SL:44\nF972 18 CLC             PC:F973 A:00 X:33 Y:93 P:27 SP:F9 CYC:257 SL:44\nF973 A9 LDA #$80        PC:F974 A:00 X:33 Y:93 P:26 SP:F9 CYC:263 SL:44\nF975 60 RTS             PC:F976 A:80 X:33 Y:93 P:A4 SP:F9 CYC:269 SL:44\nD370 E5 SBC $78         PC:D371 A:80 X:33 Y:93 P:A4 SP:FB CYC:287 SL:44\nD372 20 JSR $F976       PC:D373 A:7F X:33 Y:93 P:65 SP:FB CYC:296 SL:44\nF976 90 BCC $F97D       PC:F977 A:7F X:33 Y:93 P:65 SP:F9 CYC:314 SL:44\nF978 C9 CMP #$7F        PC:F979 A:7F X:33 Y:93 P:65 SP:F9 CYC:320 SL:44\nF97A D0 BNE $F97D       PC:F97B A:7F X:33 Y:93 P:67 SP:F9 CYC:326 SL:44\nF97C 60 RTS             PC:F97D A:7F X:33 Y:93 P:67 SP:F9 CYC:332 SL:44\nD375 C8 INY             PC:D376 A:7F X:33 Y:93 P:67 SP:FB CYC:9 SL:45\nD376 A9 LDA #$7F        PC:D377 A:7F X:33 Y:94 P:E5 SP:FB CYC:15 SL:45\nD378 85 STA $78         PC:D379 A:7F X:33 Y:94 P:65 SP:FB CYC:21 SL:45\nD37A 20 JSR $F980       PC:D37B A:7F X:33 Y:94 P:65 SP:FB CYC:30 SL:45\nF980 38 SEC             PC:F981 A:7F X:33 Y:94 P:65 SP:F9 CYC:48 SL:45\nF981 A9 LDA #$81        PC:F982 A:7F X:33 Y:94 P:65 SP:F9 CYC:54 SL:45\nF983 60 RTS             PC:F984 A:81 X:33 Y:94 P:E5 SP:F9 CYC:60 SL:45\nD37D E5 SBC $78         PC:D37E A:81 X:33 Y:94 P:E5 SP:FB CYC:78 SL:45\nD37F 20 JSR $F984       PC:D380 A:02 X:33 Y:94 P:65 SP:FB CYC:87 SL:45\nF984 50 BVC $F98D       PC:F985 A:02 X:33 Y:94 P:65 SP:F9 CYC:105 SL:45\nF986 90 BCC $F98D       PC:F987 A:02 X:33 Y:94 P:65 SP:F9 CYC:111 SL:45\nF988 C9 CMP #$02        PC:F989 A:02 X:33 Y:94 P:65 SP:F9 CYC:117 SL:45\nF98A D0 BNE $F98D       PC:F98B A:02 X:33 Y:94 P:67 SP:F9 CYC:123 SL:45\nF98C 60 RTS             PC:F98D A:02 X:33 Y:94 P:67 SP:F9 CYC:129 SL:45\nD382 C8 INY             PC:D383 A:02 X:33 Y:94 P:67 SP:FB CYC:147 SL:45\nD383 A9 LDA #$40        PC:D384 A:02 X:33 Y:95 P:E5 SP:FB CYC:153 SL:45\nD385 85 STA $78         PC:D386 A:40 X:33 Y:95 P:65 SP:FB CYC:159 SL:45\nD387 20 JSR $F889       PC:D388 A:40 X:33 Y:95 P:65 SP:FB CYC:168 SL:45\nF889 24 BIT $01         PC:F88A A:40 X:33 Y:95 P:65 SP:F9 CYC:186 SL:45\nF88B A9 LDA #$40        PC:F88C A:40 X:33 Y:95 P:E5 SP:F9 CYC:195 SL:45\nF88D 60 RTS             PC:F88E A:40 X:33 Y:95 P:65 SP:F9 CYC:201 SL:45\nD38A AA TAX             PC:D38B A:40 X:33 Y:95 P:65 SP:FB CYC:219 SL:45\nD38B E4 CPX $78         PC:D38C A:40 X:40 Y:95 P:65 SP:FB CYC:225 SL:45\nD38D 20 JSR $F88E       PC:D38E A:40 X:40 Y:95 P:67 SP:FB CYC:234 SL:45\nF88E 30 BMI $F897       PC:F88F A:40 X:40 Y:95 P:67 SP:F9 CYC:252 SL:45\nF890 90 BCC $F897       PC:F891 A:40 X:40 Y:95 P:67 SP:F9 CYC:258 SL:45\nF892 D0 BNE $F897       PC:F893 A:40 X:40 Y:95 P:67 SP:F9 CYC:264 SL:45\nF894 50 BVC $F897       PC:F895 A:40 X:40 Y:95 P:67 SP:F9 CYC:270 SL:45\nF896 60 RTS             PC:F897 A:40 X:40 Y:95 P:67 SP:F9 CYC:276 SL:45\nD390 C8 INY             PC:D391 A:40 X:40 Y:95 P:67 SP:FB CYC:294 SL:45\nD391 A9 LDA #$3F        PC:D392 A:40 X:40 Y:96 P:E5 SP:FB CYC:300 SL:45\nD393 85 STA $78         PC:D394 A:3F X:40 Y:96 P:65 SP:FB CYC:306 SL:45\nD395 20 JSR $F89A       PC:D396 A:3F X:40 Y:96 P:65 SP:FB CYC:315 SL:45\nF89A B8 CLV             PC:F89B A:3F X:40 Y:96 P:65 SP:F9 CYC:333 SL:45\nF89B 60 RTS             PC:F89C A:3F X:40 Y:96 P:25 SP:F9 CYC:339 SL:45\nD398 E4 CPX $78         PC:D399 A:3F X:40 Y:96 P:25 SP:FB CYC:16 SL:46\nD39A 20 JSR $F89C       PC:D39B A:3F X:40 Y:96 P:25 SP:FB CYC:25 SL:46\nF89C F0 BEQ $F8A5       PC:F89D A:3F X:40 Y:96 P:25 SP:F9 CYC:43 SL:46\nF89E 30 BMI $F8A5       PC:F89F A:3F X:40 Y:96 P:25 SP:F9 CYC:49 SL:46\nF8A0 90 BCC $F8A5       PC:F8A1 A:3F X:40 Y:96 P:25 SP:F9 CYC:55 SL:46\nF8A2 70 BVS $F8A5       PC:F8A3 A:3F X:40 Y:96 P:25 SP:F9 CYC:61 SL:46\nF8A4 60 RTS             PC:F8A5 A:3F X:40 Y:96 P:25 SP:F9 CYC:67 SL:46\nD39D C8 INY             PC:D39E A:3F X:40 Y:96 P:25 SP:FB CYC:85 SL:46\nD39E A9 LDA #$41        PC:D39F A:3F X:40 Y:97 P:A5 SP:FB CYC:91 SL:46\nD3A0 85 STA $78         PC:D3A1 A:41 X:40 Y:97 P:25 SP:FB CYC:97 SL:46\nD3A2 E4 CPX $78         PC:D3A3 A:41 X:40 Y:97 P:25 SP:FB CYC:106 SL:46\nD3A4 20 JSR $F8A8       PC:D3A5 A:41 X:40 Y:97 P:A4 SP:FB CYC:115 SL:46\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:41 X:40 Y:97 P:A4 SP:F9 CYC:133 SL:46\nF8AA 10 BPL $F8AF       PC:F8AB A:41 X:40 Y:97 P:A4 SP:F9 CYC:139 SL:46\nF8AC 10 BPL $F8AF       PC:F8AD A:41 X:40 Y:97 P:A4 SP:F9 CYC:145 SL:46\nF8AE 60 RTS             PC:F8AF A:41 X:40 Y:97 P:A4 SP:F9 CYC:151 SL:46\nD3A7 C8 INY             PC:D3A8 A:41 X:40 Y:97 P:A4 SP:FB CYC:169 SL:46\nD3A8 A9 LDA #$00        PC:D3A9 A:41 X:40 Y:98 P:A4 SP:FB CYC:175 SL:46\nD3AA 85 STA $78         PC:D3AB A:00 X:40 Y:98 P:26 SP:FB CYC:181 SL:46\nD3AC 20 JSR $F8B2       PC:D3AD A:00 X:40 Y:98 P:26 SP:FB CYC:190 SL:46\nF8B2 A9 LDA #$80        PC:F8B3 A:00 X:40 Y:98 P:26 SP:F9 CYC:208 SL:46\nF8B4 60 RTS             PC:F8B5 A:80 X:40 Y:98 P:A4 SP:F9 CYC:214 SL:46\nD3AF AA TAX             PC:D3B0 A:80 X:40 Y:98 P:A4 SP:FB CYC:232 SL:46\nD3B0 E4 CPX $78         PC:D3B1 A:80 X:80 Y:98 P:A4 SP:FB CYC:238 SL:46\nD3B2 20 JSR $F8B5       PC:D3B3 A:80 X:80 Y:98 P:A5 SP:FB CYC:247 SL:46\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:80 Y:98 P:A5 SP:F9 CYC:265 SL:46\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:80 Y:98 P:A5 SP:F9 CYC:271 SL:46\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:80 Y:98 P:A5 SP:F9 CYC:277 SL:46\nF8BB 60 RTS             PC:F8BC A:80 X:80 Y:98 P:A5 SP:F9 CYC:283 SL:46\nD3B5 C8 INY             PC:D3B6 A:80 X:80 Y:98 P:A5 SP:FB CYC:301 SL:46\nD3B6 A9 LDA #$80        PC:D3B7 A:80 X:80 Y:99 P:A5 SP:FB CYC:307 SL:46\nD3B8 85 STA $78         PC:D3B9 A:80 X:80 Y:99 P:A5 SP:FB CYC:313 SL:46\nD3BA E4 CPX $78         PC:D3BB A:80 X:80 Y:99 P:A5 SP:FB CYC:322 SL:46\nD3BC 20 JSR $F8BF       PC:D3BD A:80 X:80 Y:99 P:27 SP:FB CYC:331 SL:46\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:80 Y:99 P:27 SP:F9 CYC:8 SL:47\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:80 Y:99 P:27 SP:F9 CYC:14 SL:47\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:80 Y:99 P:27 SP:F9 CYC:20 SL:47\nF8C5 60 RTS             PC:F8C6 A:80 X:80 Y:99 P:27 SP:F9 CYC:26 SL:47\nD3BF C8 INY             PC:D3C0 A:80 X:80 Y:99 P:27 SP:FB CYC:44 SL:47\nD3C0 A9 LDA #$81        PC:D3C1 A:80 X:80 Y:9A P:A5 SP:FB CYC:50 SL:47\nD3C2 85 STA $78         PC:D3C3 A:81 X:80 Y:9A P:A5 SP:FB CYC:56 SL:47\nD3C4 E4 CPX $78         PC:D3C5 A:81 X:80 Y:9A P:A5 SP:FB CYC:65 SL:47\nD3C6 20 JSR $F8C9       PC:D3C7 A:81 X:80 Y:9A P:A4 SP:FB CYC:74 SL:47\nF8C9 B0 BCS $F8D0       PC:F8CA A:81 X:80 Y:9A P:A4 SP:F9 CYC:92 SL:47\nF8CB F0 BEQ $F8D0       PC:F8CC A:81 X:80 Y:9A P:A4 SP:F9 CYC:98 SL:47\nF8CD 10 BPL $F8D0       PC:F8CE A:81 X:80 Y:9A P:A4 SP:F9 CYC:104 SL:47\nF8CF 60 RTS             PC:F8D0 A:81 X:80 Y:9A P:A4 SP:F9 CYC:110 SL:47\nD3C9 C8 INY             PC:D3CA A:81 X:80 Y:9A P:A4 SP:FB CYC:128 SL:47\nD3CA A9 LDA #$7F        PC:D3CB A:81 X:80 Y:9B P:A4 SP:FB CYC:134 SL:47\nD3CC 85 STA $78         PC:D3CD A:7F X:80 Y:9B P:24 SP:FB CYC:140 SL:47\nD3CE E4 CPX $78         PC:D3CF A:7F X:80 Y:9B P:24 SP:FB CYC:149 SL:47\nD3D0 20 JSR $F8D3       PC:D3D1 A:7F X:80 Y:9B P:25 SP:FB CYC:158 SL:47\nF8D3 90 BCC $F8DA       PC:F8D4 A:7F X:80 Y:9B P:25 SP:F9 CYC:176 SL:47\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:7F X:80 Y:9B P:25 SP:F9 CYC:182 SL:47\nF8D7 30 BMI $F8DA       PC:F8D8 A:7F X:80 Y:9B P:25 SP:F9 CYC:188 SL:47\nF8D9 60 RTS             PC:F8DA A:7F X:80 Y:9B P:25 SP:F9 CYC:194 SL:47\nD3D3 C8 INY             PC:D3D4 A:7F X:80 Y:9B P:25 SP:FB CYC:212 SL:47\nD3D4 98 TYA             PC:D3D5 A:7F X:80 Y:9C P:A5 SP:FB CYC:218 SL:47\nD3D5 AA TAX             PC:D3D6 A:9C X:80 Y:9C P:A5 SP:FB CYC:224 SL:47\nD3D6 A9 LDA #$40        PC:D3D7 A:9C X:9C Y:9C P:A5 SP:FB CYC:230 SL:47\nD3D8 85 STA $78         PC:D3D9 A:40 X:9C Y:9C P:25 SP:FB CYC:236 SL:47\nD3DA 20 JSR $F8DD       PC:D3DB A:40 X:9C Y:9C P:25 SP:FB CYC:245 SL:47\nF8DD 24 BIT $01         PC:F8DE A:40 X:9C Y:9C P:25 SP:F9 CYC:263 SL:47\nF8DF A0 LDY #$40        PC:F8E0 A:40 X:9C Y:9C P:E5 SP:F9 CYC:272 SL:47\nF8E1 60 RTS             PC:F8E2 A:40 X:9C Y:40 P:65 SP:F9 CYC:278 SL:47\nD3DD C4 CPY $78         PC:D3DE A:40 X:9C Y:40 P:65 SP:FB CYC:296 SL:47\nD3DF 20 JSR $F8E2       PC:D3E0 A:40 X:9C Y:40 P:67 SP:FB CYC:305 SL:47\nF8E2 30 BMI $F8EB       PC:F8E3 A:40 X:9C Y:40 P:67 SP:F9 CYC:323 SL:47\nF8E4 90 BCC $F8EB       PC:F8E5 A:40 X:9C Y:40 P:67 SP:F9 CYC:329 SL:47\nF8E6 D0 BNE $F8EB       PC:F8E7 A:40 X:9C Y:40 P:67 SP:F9 CYC:335 SL:47\nF8E8 50 BVC $F8EB       PC:F8E9 A:40 X:9C Y:40 P:67 SP:F9 CYC:0 SL:48\nF8EA 60 RTS             PC:F8EB A:40 X:9C Y:40 P:67 SP:F9 CYC:6 SL:48\nD3E2 E8 INX             PC:D3E3 A:40 X:9C Y:40 P:67 SP:FB CYC:24 SL:48\nD3E3 A9 LDA #$3F        PC:D3E4 A:40 X:9D Y:40 P:E5 SP:FB CYC:30 SL:48\nD3E5 85 STA $78         PC:D3E6 A:3F X:9D Y:40 P:65 SP:FB CYC:36 SL:48\nD3E7 20 JSR $F8EE       PC:D3E8 A:3F X:9D Y:40 P:65 SP:FB CYC:45 SL:48\nF8EE B8 CLV             PC:F8EF A:3F X:9D Y:40 P:65 SP:F9 CYC:63 SL:48\nF8EF 60 RTS             PC:F8F0 A:3F X:9D Y:40 P:25 SP:F9 CYC:69 SL:48\nD3EA C4 CPY $78         PC:D3EB A:3F X:9D Y:40 P:25 SP:FB CYC:87 SL:48\nD3EC 20 JSR $F8F0       PC:D3ED A:3F X:9D Y:40 P:25 SP:FB CYC:96 SL:48\nF8F0 F0 BEQ $F8F9       PC:F8F1 A:3F X:9D Y:40 P:25 SP:F9 CYC:114 SL:48\nF8F2 30 BMI $F8F9       PC:F8F3 A:3F X:9D Y:40 P:25 SP:F9 CYC:120 SL:48\nF8F4 90 BCC $F8F9       PC:F8F5 A:3F X:9D Y:40 P:25 SP:F9 CYC:126 SL:48\nF8F6 70 BVS $F8F9       PC:F8F7 A:3F X:9D Y:40 P:25 SP:F9 CYC:132 SL:48\nF8F8 60 RTS             PC:F8F9 A:3F X:9D Y:40 P:25 SP:F9 CYC:138 SL:48\nD3EF E8 INX             PC:D3F0 A:3F X:9D Y:40 P:25 SP:FB CYC:156 SL:48\nD3F0 A9 LDA #$41        PC:D3F1 A:3F X:9E Y:40 P:A5 SP:FB CYC:162 SL:48\nD3F2 85 STA $78         PC:D3F3 A:41 X:9E Y:40 P:25 SP:FB CYC:168 SL:48\nD3F4 C4 CPY $78         PC:D3F5 A:41 X:9E Y:40 P:25 SP:FB CYC:177 SL:48\nD3F6 20 JSR $F8FC       PC:D3F7 A:41 X:9E Y:40 P:A4 SP:FB CYC:186 SL:48\nF8FC F0 BEQ $F903       PC:F8FD A:41 X:9E Y:40 P:A4 SP:F9 CYC:204 SL:48\nF8FE 10 BPL $F903       PC:F8FF A:41 X:9E Y:40 P:A4 SP:F9 CYC:210 SL:48\nF900 10 BPL $F903       PC:F901 A:41 X:9E Y:40 P:A4 SP:F9 CYC:216 SL:48\nF902 60 RTS             PC:F903 A:41 X:9E Y:40 P:A4 SP:F9 CYC:222 SL:48\nD3F9 E8 INX             PC:D3FA A:41 X:9E Y:40 P:A4 SP:FB CYC:240 SL:48\nD3FA A9 LDA #$00        PC:D3FB A:41 X:9F Y:40 P:A4 SP:FB CYC:246 SL:48\nD3FC 85 STA $78         PC:D3FD A:00 X:9F Y:40 P:26 SP:FB CYC:252 SL:48\nD3FE 20 JSR $F906       PC:D3FF A:00 X:9F Y:40 P:26 SP:FB CYC:261 SL:48\nF906 A0 LDY #$80        PC:F907 A:00 X:9F Y:40 P:26 SP:F9 CYC:279 SL:48\nF908 60 RTS             PC:F909 A:00 X:9F Y:80 P:A4 SP:F9 CYC:285 SL:48\nD401 C4 CPY $78         PC:D402 A:00 X:9F Y:80 P:A4 SP:FB CYC:303 SL:48\nD403 20 JSR $F909       PC:D404 A:00 X:9F Y:80 P:A5 SP:FB CYC:312 SL:48\nF909 F0 BEQ $F910       PC:F90A A:00 X:9F Y:80 P:A5 SP:F9 CYC:330 SL:48\nF90B 10 BPL $F910       PC:F90C A:00 X:9F Y:80 P:A5 SP:F9 CYC:336 SL:48\nF90D 90 BCC $F910       PC:F90E A:00 X:9F Y:80 P:A5 SP:F9 CYC:1 SL:49\nF90F 60 RTS             PC:F910 A:00 X:9F Y:80 P:A5 SP:F9 CYC:7 SL:49\nD406 E8 INX             PC:D407 A:00 X:9F Y:80 P:A5 SP:FB CYC:25 SL:49\nD407 A9 LDA #$80        PC:D408 A:00 X:A0 Y:80 P:A5 SP:FB CYC:31 SL:49\nD409 85 STA $78         PC:D40A A:80 X:A0 Y:80 P:A5 SP:FB CYC:37 SL:49\nD40B C4 CPY $78         PC:D40C A:80 X:A0 Y:80 P:A5 SP:FB CYC:46 SL:49\nD40D 20 JSR $F913       PC:D40E A:80 X:A0 Y:80 P:27 SP:FB CYC:55 SL:49\nF913 D0 BNE $F91A       PC:F914 A:80 X:A0 Y:80 P:27 SP:F9 CYC:73 SL:49\nF915 30 BMI $F91A       PC:F916 A:80 X:A0 Y:80 P:27 SP:F9 CYC:79 SL:49\nF917 90 BCC $F91A       PC:F918 A:80 X:A0 Y:80 P:27 SP:F9 CYC:85 SL:49\nF919 60 RTS             PC:F91A A:80 X:A0 Y:80 P:27 SP:F9 CYC:91 SL:49\nD410 E8 INX             PC:D411 A:80 X:A0 Y:80 P:27 SP:FB CYC:109 SL:49\nD411 A9 LDA #$81        PC:D412 A:80 X:A1 Y:80 P:A5 SP:FB CYC:115 SL:49\nD413 85 STA $78         PC:D414 A:81 X:A1 Y:80 P:A5 SP:FB CYC:121 SL:49\nD415 C4 CPY $78         PC:D416 A:81 X:A1 Y:80 P:A5 SP:FB CYC:130 SL:49\nD417 20 JSR $F91D       PC:D418 A:81 X:A1 Y:80 P:A4 SP:FB CYC:139 SL:49\nF91D B0 BCS $F924       PC:F91E A:81 X:A1 Y:80 P:A4 SP:F9 CYC:157 SL:49\nF91F F0 BEQ $F924       PC:F920 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:163 SL:49\nF921 10 BPL $F924       PC:F922 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:169 SL:49\nF923 60 RTS             PC:F924 A:81 X:A1 Y:80 P:A4 SP:F9 CYC:175 SL:49\nD41A E8 INX             PC:D41B A:81 X:A1 Y:80 P:A4 SP:FB CYC:193 SL:49\nD41B A9 LDA #$7F        PC:D41C A:81 X:A2 Y:80 P:A4 SP:FB CYC:199 SL:49\nD41D 85 STA $78         PC:D41E A:7F X:A2 Y:80 P:24 SP:FB CYC:205 SL:49\nD41F C4 CPY $78         PC:D420 A:7F X:A2 Y:80 P:24 SP:FB CYC:214 SL:49\nD421 20 JSR $F927       PC:D422 A:7F X:A2 Y:80 P:25 SP:FB CYC:223 SL:49\nF927 90 BCC $F92E       PC:F928 A:7F X:A2 Y:80 P:25 SP:F9 CYC:241 SL:49\nF929 F0 BEQ $F92E       PC:F92A A:7F X:A2 Y:80 P:25 SP:F9 CYC:247 SL:49\nF92B 30 BMI $F92E       PC:F92C A:7F X:A2 Y:80 P:25 SP:F9 CYC:253 SL:49\nF92D 60 RTS             PC:F92E A:7F X:A2 Y:80 P:25 SP:F9 CYC:259 SL:49\nD424 E8 INX             PC:D425 A:7F X:A2 Y:80 P:25 SP:FB CYC:277 SL:49\nD425 8A TXA             PC:D426 A:7F X:A3 Y:80 P:A5 SP:FB CYC:283 SL:49\nD426 A8 TAY             PC:D427 A:A3 X:A3 Y:80 P:A5 SP:FB CYC:289 SL:49\nD427 20 JSR $F990       PC:D428 A:A3 X:A3 Y:A3 P:A5 SP:FB CYC:295 SL:49\nF990 A2 LDX #$55        PC:F991 A:A3 X:A3 Y:A3 P:A5 SP:F9 CYC:313 SL:49\nF992 A9 LDA #$FF        PC:F993 A:A3 X:55 Y:A3 P:25 SP:F9 CYC:319 SL:49\nF994 85 STA $01         PC:F995 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:325 SL:49\nF996 EA NOP             PC:F997 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:334 SL:49\nF997 24 BIT $01         PC:F998 A:FF X:55 Y:A3 P:A5 SP:F9 CYC:340 SL:49\nF999 38 SEC             PC:F99A A:FF X:55 Y:A3 P:E5 SP:F9 CYC:8 SL:50\nF99A A9 LDA #$01        PC:F99B A:FF X:55 Y:A3 P:E5 SP:F9 CYC:14 SL:50\nF99C 60 RTS             PC:F99D A:01 X:55 Y:A3 P:65 SP:F9 CYC:20 SL:50\nD42A 85 STA $78         PC:D42B A:01 X:55 Y:A3 P:65 SP:FB CYC:38 SL:50\nD42C 46 LSR $78         PC:D42D A:01 X:55 Y:A3 P:65 SP:FB CYC:47 SL:50\nD42E A5 LDA $78         PC:D42F A:01 X:55 Y:A3 P:67 SP:FB CYC:62 SL:50\nD430 20 JSR $F99D       PC:D431 A:00 X:55 Y:A3 P:67 SP:FB CYC:71 SL:50\nF99D 90 BCC $F9BA       PC:F99E A:00 X:55 Y:A3 P:67 SP:F9 CYC:89 SL:50\nF99F D0 BNE $F9BA       PC:F9A0 A:00 X:55 Y:A3 P:67 SP:F9 CYC:95 SL:50\nF9A1 30 BMI $F9BA       PC:F9A2 A:00 X:55 Y:A3 P:67 SP:F9 CYC:101 SL:50\nF9A3 50 BVC $F9BA       PC:F9A4 A:00 X:55 Y:A3 P:67 SP:F9 CYC:107 SL:50\nF9A5 C9 CMP #$00        PC:F9A6 A:00 X:55 Y:A3 P:67 SP:F9 CYC:113 SL:50\nF9A7 D0 BNE $F9BA       PC:F9A8 A:00 X:55 Y:A3 P:67 SP:F9 CYC:119 SL:50\nF9A9 B8 CLV             PC:F9AA A:00 X:55 Y:A3 P:67 SP:F9 CYC:125 SL:50\nF9AA A9 LDA #$AA        PC:F9AB A:00 X:55 Y:A3 P:27 SP:F9 CYC:131 SL:50\nF9AC 60 RTS             PC:F9AD A:AA X:55 Y:A3 P:A5 SP:F9 CYC:137 SL:50\nD433 C8 INY             PC:D434 A:AA X:55 Y:A3 P:A5 SP:FB CYC:155 SL:50\nD434 85 STA $78         PC:D435 A:AA X:55 Y:A4 P:A5 SP:FB CYC:161 SL:50\nD436 46 LSR $78         PC:D437 A:AA X:55 Y:A4 P:A5 SP:FB CYC:170 SL:50\nD438 A5 LDA $78         PC:D439 A:AA X:55 Y:A4 P:24 SP:FB CYC:185 SL:50\nD43A 20 JSR $F9AD       PC:D43B A:55 X:55 Y:A4 P:24 SP:FB CYC:194 SL:50\nF9AD B0 BCS $F9BA       PC:F9AE A:55 X:55 Y:A4 P:24 SP:F9 CYC:212 SL:50\nF9AF F0 BEQ $F9BA       PC:F9B0 A:55 X:55 Y:A4 P:24 SP:F9 CYC:218 SL:50\nF9B1 30 BMI $F9BA       PC:F9B2 A:55 X:55 Y:A4 P:24 SP:F9 CYC:224 SL:50\nF9B3 70 BVS $F9BA       PC:F9B4 A:55 X:55 Y:A4 P:24 SP:F9 CYC:230 SL:50\nF9B5 C9 CMP #$55        PC:F9B6 A:55 X:55 Y:A4 P:24 SP:F9 CYC:236 SL:50\nF9B7 D0 BNE $F9BA       PC:F9B8 A:55 X:55 Y:A4 P:27 SP:F9 CYC:242 SL:50\nF9B9 60 RTS             PC:F9BA A:55 X:55 Y:A4 P:27 SP:F9 CYC:248 SL:50\nD43D C8 INY             PC:D43E A:55 X:55 Y:A4 P:27 SP:FB CYC:266 SL:50\nD43E 20 JSR $F9BD       PC:D43F A:55 X:55 Y:A5 P:A5 SP:FB CYC:272 SL:50\nF9BD 24 BIT $01         PC:F9BE A:55 X:55 Y:A5 P:A5 SP:F9 CYC:290 SL:50\nF9BF 38 SEC             PC:F9C0 A:55 X:55 Y:A5 P:E5 SP:F9 CYC:299 SL:50\nF9C0 A9 LDA #$80        PC:F9C1 A:55 X:55 Y:A5 P:E5 SP:F9 CYC:305 SL:50\nF9C2 60 RTS             PC:F9C3 A:80 X:55 Y:A5 P:E5 SP:F9 CYC:311 SL:50\nD441 85 STA $78         PC:D442 A:80 X:55 Y:A5 P:E5 SP:FB CYC:329 SL:50\nD443 06 ASL $78         PC:D444 A:80 X:55 Y:A5 P:E5 SP:FB CYC:338 SL:50\nD445 A5 LDA $78         PC:D446 A:80 X:55 Y:A5 P:67 SP:FB CYC:12 SL:51\nD447 20 JSR $F9C3       PC:D448 A:00 X:55 Y:A5 P:67 SP:FB CYC:21 SL:51\nF9C3 90 BCC $F9E1       PC:F9C4 A:00 X:55 Y:A5 P:67 SP:F9 CYC:39 SL:51\nF9C5 D0 BNE $F9E1       PC:F9C6 A:00 X:55 Y:A5 P:67 SP:F9 CYC:45 SL:51\nF9C7 30 BMI $F9E1       PC:F9C8 A:00 X:55 Y:A5 P:67 SP:F9 CYC:51 SL:51\nF9C9 50 BVC $F9E1       PC:F9CA A:00 X:55 Y:A5 P:67 SP:F9 CYC:57 SL:51\nF9CB C9 CMP #$00        PC:F9CC A:00 X:55 Y:A5 P:67 SP:F9 CYC:63 SL:51\nF9CD D0 BNE $F9E1       PC:F9CE A:00 X:55 Y:A5 P:67 SP:F9 CYC:69 SL:51\nF9CF B8 CLV             PC:F9D0 A:00 X:55 Y:A5 P:67 SP:F9 CYC:75 SL:51\nF9D0 A9 LDA #$55        PC:F9D1 A:00 X:55 Y:A5 P:27 SP:F9 CYC:81 SL:51\nF9D2 38 SEC             PC:F9D3 A:55 X:55 Y:A5 P:25 SP:F9 CYC:87 SL:51\nF9D3 60 RTS             PC:F9D4 A:55 X:55 Y:A5 P:25 SP:F9 CYC:93 SL:51\nD44A C8 INY             PC:D44B A:55 X:55 Y:A5 P:25 SP:FB CYC:111 SL:51\nD44B 85 STA $78         PC:D44C A:55 X:55 Y:A6 P:A5 SP:FB CYC:117 SL:51\nD44D 06 ASL $78         PC:D44E A:55 X:55 Y:A6 P:A5 SP:FB CYC:126 SL:51\nD44F A5 LDA $78         PC:D450 A:55 X:55 Y:A6 P:A4 SP:FB CYC:141 SL:51\nD451 20 JSR $F9D4       PC:D452 A:AA X:55 Y:A6 P:A4 SP:FB CYC:150 SL:51\nF9D4 B0 BCS $F9E1       PC:F9D5 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:168 SL:51\nF9D6 F0 BEQ $F9E1       PC:F9D7 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:174 SL:51\nF9D8 10 BPL $F9E1       PC:F9D9 A:AA X:55 Y:A6 P:A4 SP:F9 CYC:180 SL:51\nF9DA 70 BVS $F9E1       PC:F9DB A:AA X:55 Y:A6 P:A4 SP:F9 CYC:186 SL:51\nF9DC C9 CMP #$AA        PC:F9DD A:AA X:55 Y:A6 P:A4 SP:F9 CYC:192 SL:51\nF9DE D0 BNE $F9E1       PC:F9DF A:AA X:55 Y:A6 P:27 SP:F9 CYC:198 SL:51\nF9E0 60 RTS             PC:F9E1 A:AA X:55 Y:A6 P:27 SP:F9 CYC:204 SL:51\nD454 C8 INY             PC:D455 A:AA X:55 Y:A6 P:27 SP:FB CYC:222 SL:51\nD455 20 JSR $F9E4       PC:D456 A:AA X:55 Y:A7 P:A5 SP:FB CYC:228 SL:51\nF9E4 24 BIT $01         PC:F9E5 A:AA X:55 Y:A7 P:A5 SP:F9 CYC:246 SL:51\nF9E6 38 SEC             PC:F9E7 A:AA X:55 Y:A7 P:E5 SP:F9 CYC:255 SL:51\nF9E7 A9 LDA #$01        PC:F9E8 A:AA X:55 Y:A7 P:E5 SP:F9 CYC:261 SL:51\nF9E9 60 RTS             PC:F9EA A:01 X:55 Y:A7 P:65 SP:F9 CYC:267 SL:51\nD458 85 STA $78         PC:D459 A:01 X:55 Y:A7 P:65 SP:FB CYC:285 SL:51\nD45A 66 ROR $78         PC:D45B A:01 X:55 Y:A7 P:65 SP:FB CYC:294 SL:51\nD45C A5 LDA $78         PC:D45D A:01 X:55 Y:A7 P:E5 SP:FB CYC:309 SL:51\nD45E 20 JSR $F9EA       PC:D45F A:80 X:55 Y:A7 P:E5 SP:FB CYC:318 SL:51\nF9EA 90 BCC $FA08       PC:F9EB A:80 X:55 Y:A7 P:E5 SP:F9 CYC:336 SL:51\nF9EC F0 BEQ $FA08       PC:F9ED A:80 X:55 Y:A7 P:E5 SP:F9 CYC:1 SL:52\nF9EE 10 BPL $FA08       PC:F9EF A:80 X:55 Y:A7 P:E5 SP:F9 CYC:7 SL:52\nF9F0 50 BVC $FA08       PC:F9F1 A:80 X:55 Y:A7 P:E5 SP:F9 CYC:13 SL:52\nF9F2 C9 CMP #$80        PC:F9F3 A:80 X:55 Y:A7 P:E5 SP:F9 CYC:19 SL:52\nF9F4 D0 BNE $FA08       PC:F9F5 A:80 X:55 Y:A7 P:67 SP:F9 CYC:25 SL:52\nF9F6 B8 CLV             PC:F9F7 A:80 X:55 Y:A7 P:67 SP:F9 CYC:31 SL:52\nF9F7 18 CLC             PC:F9F8 A:80 X:55 Y:A7 P:27 SP:F9 CYC:37 SL:52\nF9F8 A9 LDA #$55        PC:F9F9 A:80 X:55 Y:A7 P:26 SP:F9 CYC:43 SL:52\nF9FA 60 RTS             PC:F9FB A:55 X:55 Y:A7 P:24 SP:F9 CYC:49 SL:52\nD461 C8 INY             PC:D462 A:55 X:55 Y:A7 P:24 SP:FB CYC:67 SL:52\nD462 85 STA $78         PC:D463 A:55 X:55 Y:A8 P:A4 SP:FB CYC:73 SL:52\nD464 66 ROR $78         PC:D465 A:55 X:55 Y:A8 P:A4 SP:FB CYC:82 SL:52\nD466 A5 LDA $78         PC:D467 A:55 X:55 Y:A8 P:25 SP:FB CYC:97 SL:52\nD468 20 JSR $F9FB       PC:D469 A:2A X:55 Y:A8 P:25 SP:FB CYC:106 SL:52\nF9FB 90 BCC $FA08       PC:F9FC A:2A X:55 Y:A8 P:25 SP:F9 CYC:124 SL:52\nF9FD F0 BEQ $FA08       PC:F9FE A:2A X:55 Y:A8 P:25 SP:F9 CYC:130 SL:52\nF9FF 30 BMI $FA08       PC:FA00 A:2A X:55 Y:A8 P:25 SP:F9 CYC:136 SL:52\nFA01 70 BVS $FA08       PC:FA02 A:2A X:55 Y:A8 P:25 SP:F9 CYC:142 SL:52\nFA03 C9 CMP #$2A        PC:FA04 A:2A X:55 Y:A8 P:25 SP:F9 CYC:148 SL:52\nFA05 D0 BNE $FA08       PC:FA06 A:2A X:55 Y:A8 P:27 SP:F9 CYC:154 SL:52\nFA07 60 RTS             PC:FA08 A:2A X:55 Y:A8 P:27 SP:F9 CYC:160 SL:52\nD46B C8 INY             PC:D46C A:2A X:55 Y:A8 P:27 SP:FB CYC:178 SL:52\nD46C 20 JSR $FA0A       PC:D46D A:2A X:55 Y:A9 P:A5 SP:FB CYC:184 SL:52\nFA0A 24 BIT $01         PC:FA0B A:2A X:55 Y:A9 P:A5 SP:F9 CYC:202 SL:52\nFA0C 38 SEC             PC:FA0D A:2A X:55 Y:A9 P:E5 SP:F9 CYC:211 SL:52\nFA0D A9 LDA #$80        PC:FA0E A:2A X:55 Y:A9 P:E5 SP:F9 CYC:217 SL:52\nFA0F 60 RTS             PC:FA10 A:80 X:55 Y:A9 P:E5 SP:F9 CYC:223 SL:52\nD46F 85 STA $78         PC:D470 A:80 X:55 Y:A9 P:E5 SP:FB CYC:241 SL:52\nD471 26 ROL $78         PC:D472 A:80 X:55 Y:A9 P:E5 SP:FB CYC:250 SL:52\nD473 A5 LDA $78         PC:D474 A:80 X:55 Y:A9 P:65 SP:FB CYC:265 SL:52\nD475 20 JSR $FA10       PC:D476 A:01 X:55 Y:A9 P:65 SP:FB CYC:274 SL:52\nFA10 90 BCC $FA2E       PC:FA11 A:01 X:55 Y:A9 P:65 SP:F9 CYC:292 SL:52\nFA12 F0 BEQ $FA2E       PC:FA13 A:01 X:55 Y:A9 P:65 SP:F9 CYC:298 SL:52\nFA14 30 BMI $FA2E       PC:FA15 A:01 X:55 Y:A9 P:65 SP:F9 CYC:304 SL:52\nFA16 50 BVC $FA2E       PC:FA17 A:01 X:55 Y:A9 P:65 SP:F9 CYC:310 SL:52\nFA18 C9 CMP #$01        PC:FA19 A:01 X:55 Y:A9 P:65 SP:F9 CYC:316 SL:52\nFA1A D0 BNE $FA2E       PC:FA1B A:01 X:55 Y:A9 P:67 SP:F9 CYC:322 SL:52\nFA1C B8 CLV             PC:FA1D A:01 X:55 Y:A9 P:67 SP:F9 CYC:328 SL:52\nFA1D 18 CLC             PC:FA1E A:01 X:55 Y:A9 P:27 SP:F9 CYC:334 SL:52\nFA1E A9 LDA #$55        PC:FA1F A:01 X:55 Y:A9 P:26 SP:F9 CYC:340 SL:52\nFA20 60 RTS             PC:FA21 A:55 X:55 Y:A9 P:24 SP:F9 CYC:5 SL:53\nD478 C8 INY             PC:D479 A:55 X:55 Y:A9 P:24 SP:FB CYC:23 SL:53\nD479 85 STA $78         PC:D47A A:55 X:55 Y:AA P:A4 SP:FB CYC:29 SL:53\nD47B 26 ROL $78         PC:D47C A:55 X:55 Y:AA P:A4 SP:FB CYC:38 SL:53\nD47D A5 LDA $78         PC:D47E A:55 X:55 Y:AA P:A4 SP:FB CYC:53 SL:53\nD47F 20 JSR $FA21       PC:D480 A:AA X:55 Y:AA P:A4 SP:FB CYC:62 SL:53\nFA21 B0 BCS $FA2E       PC:FA22 A:AA X:55 Y:AA P:A4 SP:F9 CYC:80 SL:53\nFA23 F0 BEQ $FA2E       PC:FA24 A:AA X:55 Y:AA P:A4 SP:F9 CYC:86 SL:53\nFA25 10 BPL $FA2E       PC:FA26 A:AA X:55 Y:AA P:A4 SP:F9 CYC:92 SL:53\nFA27 70 BVS $FA2E       PC:FA28 A:AA X:55 Y:AA P:A4 SP:F9 CYC:98 SL:53\nFA29 C9 CMP #$AA        PC:FA2A A:AA X:55 Y:AA P:A4 SP:F9 CYC:104 SL:53\nFA2B D0 BNE $FA2E       PC:FA2C A:AA X:55 Y:AA P:27 SP:F9 CYC:110 SL:53\nFA2D 60 RTS             PC:FA2E A:AA X:55 Y:AA P:27 SP:F9 CYC:116 SL:53\nD482 A9 LDA #$FF        PC:D483 A:AA X:55 Y:AA P:27 SP:FB CYC:134 SL:53\nD484 85 STA $78         PC:D485 A:FF X:55 Y:AA P:A5 SP:FB CYC:140 SL:53\nD486 85 STA $01         PC:D487 A:FF X:55 Y:AA P:A5 SP:FB CYC:149 SL:53\nD488 24 BIT $01         PC:D489 A:FF X:55 Y:AA P:A5 SP:FB CYC:158 SL:53\nD48A 38 SEC             PC:D48B A:FF X:55 Y:AA P:E5 SP:FB CYC:167 SL:53\nD48B E6 INC $78         PC:D48C A:FF X:55 Y:AA P:E5 SP:FB CYC:173 SL:53\nD48D D0 BNE $D49B       PC:D48E A:FF X:55 Y:AA P:67 SP:FB CYC:188 SL:53\nD48F 30 BMI $D49B       PC:D490 A:FF X:55 Y:AA P:67 SP:FB CYC:194 SL:53\nD491 50 BVC $D49B       PC:D492 A:FF X:55 Y:AA P:67 SP:FB CYC:200 SL:53\nD493 90 BCC $D49B       PC:D494 A:FF X:55 Y:AA P:67 SP:FB CYC:206 SL:53\nD495 A5 LDA $78         PC:D496 A:FF X:55 Y:AA P:67 SP:FB CYC:212 SL:53\nD497 C9 CMP #$00        PC:D498 A:00 X:55 Y:AA P:67 SP:FB CYC:221 SL:53\nD499 F0 BEQ $D49F       PC:D49A A:00 X:55 Y:AA P:67 SP:FB CYC:227 SL:53\nD49F A9 LDA #$7F        PC:D4A0 A:00 X:55 Y:AA P:67 SP:FB CYC:236 SL:53\nD4A1 85 STA $78         PC:D4A2 A:7F X:55 Y:AA P:65 SP:FB CYC:242 SL:53\nD4A3 B8 CLV             PC:D4A4 A:7F X:55 Y:AA P:65 SP:FB CYC:251 SL:53\nD4A4 18 CLC             PC:D4A5 A:7F X:55 Y:AA P:25 SP:FB CYC:257 SL:53\nD4A5 E6 INC $78         PC:D4A6 A:7F X:55 Y:AA P:24 SP:FB CYC:263 SL:53\nD4A7 F0 BEQ $D4B5       PC:D4A8 A:7F X:55 Y:AA P:A4 SP:FB CYC:278 SL:53\nD4A9 10 BPL $D4B5       PC:D4AA A:7F X:55 Y:AA P:A4 SP:FB CYC:284 SL:53\nD4AB 70 BVS $D4B5       PC:D4AC A:7F X:55 Y:AA P:A4 SP:FB CYC:290 SL:53\nD4AD B0 BCS $D4B5       PC:D4AE A:7F X:55 Y:AA P:A4 SP:FB CYC:296 SL:53\nD4AF A5 LDA $78         PC:D4B0 A:7F X:55 Y:AA P:A4 SP:FB CYC:302 SL:53\nD4B1 C9 CMP #$80        PC:D4B2 A:80 X:55 Y:AA P:A4 SP:FB CYC:311 SL:53\nD4B3 F0 BEQ $D4B9       PC:D4B4 A:80 X:55 Y:AA P:27 SP:FB CYC:317 SL:53\nD4B9 A9 LDA #$00        PC:D4BA A:80 X:55 Y:AA P:27 SP:FB CYC:326 SL:53\nD4BB 85 STA $78         PC:D4BC A:00 X:55 Y:AA P:27 SP:FB CYC:332 SL:53\nD4BD 24 BIT $01         PC:D4BE A:00 X:55 Y:AA P:27 SP:FB CYC:0 SL:54\nD4BF 38 SEC             PC:D4C0 A:00 X:55 Y:AA P:E7 SP:FB CYC:9 SL:54\nD4C0 C6 DEC $78         PC:D4C1 A:00 X:55 Y:AA P:E7 SP:FB CYC:15 SL:54\nD4C2 F0 BEQ $D4D0       PC:D4C3 A:00 X:55 Y:AA P:E5 SP:FB CYC:30 SL:54\nD4C4 10 BPL $D4D0       PC:D4C5 A:00 X:55 Y:AA P:E5 SP:FB CYC:36 SL:54\nD4C6 50 BVC $D4D0       PC:D4C7 A:00 X:55 Y:AA P:E5 SP:FB CYC:42 SL:54\nD4C8 90 BCC $D4D0       PC:D4C9 A:00 X:55 Y:AA P:E5 SP:FB CYC:48 SL:54\nD4CA A5 LDA $78         PC:D4CB A:00 X:55 Y:AA P:E5 SP:FB CYC:54 SL:54\nD4CC C9 CMP #$FF        PC:D4CD A:FF X:55 Y:AA P:E5 SP:FB CYC:63 SL:54\nD4CE F0 BEQ $D4D4       PC:D4CF A:FF X:55 Y:AA P:67 SP:FB CYC:69 SL:54\nD4D4 A9 LDA #$80        PC:D4D5 A:FF X:55 Y:AA P:67 SP:FB CYC:78 SL:54\nD4D6 85 STA $78         PC:D4D7 A:80 X:55 Y:AA P:E5 SP:FB CYC:84 SL:54\nD4D8 B8 CLV             PC:D4D9 A:80 X:55 Y:AA P:E5 SP:FB CYC:93 SL:54\nD4D9 18 CLC             PC:D4DA A:80 X:55 Y:AA P:A5 SP:FB CYC:99 SL:54\nD4DA C6 DEC $78         PC:D4DB A:80 X:55 Y:AA P:A4 SP:FB CYC:105 SL:54\nD4DC F0 BEQ $D4EA       PC:D4DD A:80 X:55 Y:AA P:24 SP:FB CYC:120 SL:54\nD4DE 30 BMI $D4EA       PC:D4DF A:80 X:55 Y:AA P:24 SP:FB CYC:126 SL:54\nD4E0 70 BVS $D4EA       PC:D4E1 A:80 X:55 Y:AA P:24 SP:FB CYC:132 SL:54\nD4E2 B0 BCS $D4EA       PC:D4E3 A:80 X:55 Y:AA P:24 SP:FB CYC:138 SL:54\nD4E4 A5 LDA $78         PC:D4E5 A:80 X:55 Y:AA P:24 SP:FB CYC:144 SL:54\nD4E6 C9 CMP #$7F        PC:D4E7 A:7F X:55 Y:AA P:24 SP:FB CYC:153 SL:54\nD4E8 F0 BEQ $D4EE       PC:D4E9 A:7F X:55 Y:AA P:27 SP:FB CYC:159 SL:54\nD4EE A9 LDA #$01        PC:D4EF A:7F X:55 Y:AA P:27 SP:FB CYC:168 SL:54\nD4F0 85 STA $78         PC:D4F1 A:01 X:55 Y:AA P:25 SP:FB CYC:174 SL:54\nD4F2 C6 DEC $78         PC:D4F3 A:01 X:55 Y:AA P:25 SP:FB CYC:183 SL:54\nD4F4 F0 BEQ $D4FA       PC:D4F5 A:01 X:55 Y:AA P:27 SP:FB CYC:198 SL:54\nD4FA 60 RTS             PC:D4FB A:01 X:55 Y:AA P:27 SP:FB CYC:207 SL:54\nC615 20 JSR $D4FB       PC:C616 A:01 X:55 Y:AA P:27 SP:FD CYC:225 SL:54\nD4FB A9 LDA #$55        PC:D4FC A:01 X:55 Y:AA P:27 SP:FB CYC:243 SL:54\nD4FD 8D STA $0678       PC:D4FE A:55 X:55 Y:AA P:25 SP:FB CYC:249 SL:54\nD500 A9 LDA #$FF        PC:D501 A:55 X:55 Y:AA P:25 SP:FB CYC:261 SL:54\nD502 85 STA $01         PC:D503 A:FF X:55 Y:AA P:A5 SP:FB CYC:267 SL:54\nD504 24 BIT $01         PC:D505 A:FF X:55 Y:AA P:A5 SP:FB CYC:276 SL:54\nD506 A0 LDY #$11        PC:D507 A:FF X:55 Y:AA P:E5 SP:FB CYC:285 SL:54\nD508 A2 LDX #$23        PC:D509 A:FF X:55 Y:11 P:65 SP:FB CYC:291 SL:54\nD50A A9 LDA #$00        PC:D50B A:FF X:23 Y:11 P:65 SP:FB CYC:297 SL:54\nD50C AD LDA $0678       PC:D50D A:00 X:23 Y:11 P:67 SP:FB CYC:303 SL:54\nD50F F0 BEQ $D521       PC:D510 A:55 X:23 Y:11 P:65 SP:FB CYC:315 SL:54\nD511 30 BMI $D521       PC:D512 A:55 X:23 Y:11 P:65 SP:FB CYC:321 SL:54\nD513 C9 CMP #$55        PC:D514 A:55 X:23 Y:11 P:65 SP:FB CYC:327 SL:54\nD515 D0 BNE $D521       PC:D516 A:55 X:23 Y:11 P:67 SP:FB CYC:333 SL:54\nD517 C0 CPY #$11        PC:D518 A:55 X:23 Y:11 P:67 SP:FB CYC:339 SL:54\nD519 D0 BNE $D521       PC:D51A A:55 X:23 Y:11 P:67 SP:FB CYC:4 SL:55\nD51B E0 CPX #$23        PC:D51C A:55 X:23 Y:11 P:67 SP:FB CYC:10 SL:55\nD51D 50 BVC $D521       PC:D51E A:55 X:23 Y:11 P:67 SP:FB CYC:16 SL:55\nD51F F0 BEQ $D525       PC:D520 A:55 X:23 Y:11 P:67 SP:FB CYC:22 SL:55\nD525 A9 LDA #$46        PC:D526 A:55 X:23 Y:11 P:67 SP:FB CYC:31 SL:55\nD527 24 BIT $01         PC:D528 A:46 X:23 Y:11 P:65 SP:FB CYC:37 SL:55\nD529 8D STA $0678       PC:D52A A:46 X:23 Y:11 P:E5 SP:FB CYC:46 SL:55\nD52C F0 BEQ $D539       PC:D52D A:46 X:23 Y:11 P:E5 SP:FB CYC:58 SL:55\nD52E 10 BPL $D539       PC:D52F A:46 X:23 Y:11 P:E5 SP:FB CYC:64 SL:55\nD530 50 BVC $D539       PC:D531 A:46 X:23 Y:11 P:E5 SP:FB CYC:70 SL:55\nD532 AD LDA $0678       PC:D533 A:46 X:23 Y:11 P:E5 SP:FB CYC:76 SL:55\nD535 C9 CMP #$46        PC:D536 A:46 X:23 Y:11 P:65 SP:FB CYC:88 SL:55\nD537 F0 BEQ $D53D       PC:D538 A:46 X:23 Y:11 P:67 SP:FB CYC:94 SL:55\nD53D A9 LDA #$55        PC:D53E A:46 X:23 Y:11 P:67 SP:FB CYC:103 SL:55\nD53F 8D STA $0678       PC:D540 A:55 X:23 Y:11 P:65 SP:FB CYC:109 SL:55\nD542 24 BIT $01         PC:D543 A:55 X:23 Y:11 P:65 SP:FB CYC:121 SL:55\nD544 A9 LDA #$11        PC:D545 A:55 X:23 Y:11 P:E5 SP:FB CYC:130 SL:55\nD546 A2 LDX #$23        PC:D547 A:11 X:23 Y:11 P:65 SP:FB CYC:136 SL:55\nD548 A0 LDY #$00        PC:D549 A:11 X:23 Y:11 P:65 SP:FB CYC:142 SL:55\nD54A AC LDY $0678       PC:D54B A:11 X:23 Y:00 P:67 SP:FB CYC:148 SL:55\nD54D F0 BEQ $D55F       PC:D54E A:11 X:23 Y:55 P:65 SP:FB CYC:160 SL:55\nD54F 30 BMI $D55F       PC:D550 A:11 X:23 Y:55 P:65 SP:FB CYC:166 SL:55\nD551 C0 CPY #$55        PC:D552 A:11 X:23 Y:55 P:65 SP:FB CYC:172 SL:55\nD553 D0 BNE $D55F       PC:D554 A:11 X:23 Y:55 P:67 SP:FB CYC:178 SL:55\nD555 C9 CMP #$11        PC:D556 A:11 X:23 Y:55 P:67 SP:FB CYC:184 SL:55\nD557 D0 BNE $D55F       PC:D558 A:11 X:23 Y:55 P:67 SP:FB CYC:190 SL:55\nD559 E0 CPX #$23        PC:D55A A:11 X:23 Y:55 P:67 SP:FB CYC:196 SL:55\nD55B 50 BVC $D55F       PC:D55C A:11 X:23 Y:55 P:67 SP:FB CYC:202 SL:55\nD55D F0 BEQ $D563       PC:D55E A:11 X:23 Y:55 P:67 SP:FB CYC:208 SL:55\nD563 A0 LDY #$46        PC:D564 A:11 X:23 Y:55 P:67 SP:FB CYC:217 SL:55\nD565 24 BIT $01         PC:D566 A:11 X:23 Y:46 P:65 SP:FB CYC:223 SL:55\nD567 8C STY $0678       PC:D568 A:11 X:23 Y:46 P:E5 SP:FB CYC:232 SL:55\nD56A F0 BEQ $D577       PC:D56B A:11 X:23 Y:46 P:E5 SP:FB CYC:244 SL:55\nD56C 10 BPL $D577       PC:D56D A:11 X:23 Y:46 P:E5 SP:FB CYC:250 SL:55\nD56E 50 BVC $D577       PC:D56F A:11 X:23 Y:46 P:E5 SP:FB CYC:256 SL:55\nD570 AC LDY $0678       PC:D571 A:11 X:23 Y:46 P:E5 SP:FB CYC:262 SL:55\nD573 C0 CPY #$46        PC:D574 A:11 X:23 Y:46 P:65 SP:FB CYC:274 SL:55\nD575 F0 BEQ $D57B       PC:D576 A:11 X:23 Y:46 P:67 SP:FB CYC:280 SL:55\nD57B 24 BIT $01         PC:D57C A:11 X:23 Y:46 P:67 SP:FB CYC:289 SL:55\nD57D A9 LDA #$55        PC:D57E A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:55\nD57F 8D STA $0678       PC:D580 A:55 X:23 Y:46 P:65 SP:FB CYC:304 SL:55\nD582 A0 LDY #$11        PC:D583 A:55 X:23 Y:46 P:65 SP:FB CYC:316 SL:55\nD584 A9 LDA #$23        PC:D585 A:55 X:23 Y:11 P:65 SP:FB CYC:322 SL:55\nD586 A2 LDX #$00        PC:D587 A:23 X:23 Y:11 P:65 SP:FB CYC:328 SL:55\nD588 AE LDX $0678       PC:D589 A:23 X:00 Y:11 P:67 SP:FB CYC:334 SL:55\nD58B F0 BEQ $D59D       PC:D58C A:23 X:55 Y:11 P:65 SP:FB CYC:5 SL:56\nD58D 30 BMI $D59D       PC:D58E A:23 X:55 Y:11 P:65 SP:FB CYC:11 SL:56\nD58F E0 CPX #$55        PC:D590 A:23 X:55 Y:11 P:65 SP:FB CYC:17 SL:56\nD591 D0 BNE $D59D       PC:D592 A:23 X:55 Y:11 P:67 SP:FB CYC:23 SL:56\nD593 C0 CPY #$11        PC:D594 A:23 X:55 Y:11 P:67 SP:FB CYC:29 SL:56\nD595 D0 BNE $D59D       PC:D596 A:23 X:55 Y:11 P:67 SP:FB CYC:35 SL:56\nD597 C9 CMP #$23        PC:D598 A:23 X:55 Y:11 P:67 SP:FB CYC:41 SL:56\nD599 50 BVC $D59D       PC:D59A A:23 X:55 Y:11 P:67 SP:FB CYC:47 SL:56\nD59B F0 BEQ $D5A1       PC:D59C A:23 X:55 Y:11 P:67 SP:FB CYC:53 SL:56\nD5A1 A2 LDX #$46        PC:D5A2 A:23 X:55 Y:11 P:67 SP:FB CYC:62 SL:56\nD5A3 24 BIT $01         PC:D5A4 A:23 X:46 Y:11 P:65 SP:FB CYC:68 SL:56\nD5A5 8E STX $0678       PC:D5A6 A:23 X:46 Y:11 P:E5 SP:FB CYC:77 SL:56\nD5A8 F0 BEQ $D5B5       PC:D5A9 A:23 X:46 Y:11 P:E5 SP:FB CYC:89 SL:56\nD5AA 10 BPL $D5B5       PC:D5AB A:23 X:46 Y:11 P:E5 SP:FB CYC:95 SL:56\nD5AC 50 BVC $D5B5       PC:D5AD A:23 X:46 Y:11 P:E5 SP:FB CYC:101 SL:56\nD5AE AE LDX $0678       PC:D5AF A:23 X:46 Y:11 P:E5 SP:FB CYC:107 SL:56\nD5B1 E0 CPX #$46        PC:D5B2 A:23 X:46 Y:11 P:65 SP:FB CYC:119 SL:56\nD5B3 F0 BEQ $D5B9       PC:D5B4 A:23 X:46 Y:11 P:67 SP:FB CYC:125 SL:56\nD5B9 A9 LDA #$C0        PC:D5BA A:23 X:46 Y:11 P:67 SP:FB CYC:134 SL:56\nD5BB 8D STA $0678       PC:D5BC A:C0 X:46 Y:11 P:E5 SP:FB CYC:140 SL:56\nD5BE A2 LDX #$33        PC:D5BF A:C0 X:46 Y:11 P:E5 SP:FB CYC:152 SL:56\nD5C0 A0 LDY #$88        PC:D5C1 A:C0 X:33 Y:11 P:65 SP:FB CYC:158 SL:56\nD5C2 A9 LDA #$05        PC:D5C3 A:C0 X:33 Y:88 P:E5 SP:FB CYC:164 SL:56\nD5C4 2C BIT $0678       PC:D5C5 A:05 X:33 Y:88 P:65 SP:FB CYC:170 SL:56\nD5C7 10 BPL $D5D9       PC:D5C8 A:05 X:33 Y:88 P:E7 SP:FB CYC:182 SL:56\nD5C9 50 BVC $D5D9       PC:D5CA A:05 X:33 Y:88 P:E7 SP:FB CYC:188 SL:56\nD5CB D0 BNE $D5D9       PC:D5CC A:05 X:33 Y:88 P:E7 SP:FB CYC:194 SL:56\nD5CD C9 CMP #$05        PC:D5CE A:05 X:33 Y:88 P:E7 SP:FB CYC:200 SL:56\nD5CF D0 BNE $D5D9       PC:D5D0 A:05 X:33 Y:88 P:67 SP:FB CYC:206 SL:56\nD5D1 E0 CPX #$33        PC:D5D2 A:05 X:33 Y:88 P:67 SP:FB CYC:212 SL:56\nD5D3 D0 BNE $D5D9       PC:D5D4 A:05 X:33 Y:88 P:67 SP:FB CYC:218 SL:56\nD5D5 C0 CPY #$88        PC:D5D6 A:05 X:33 Y:88 P:67 SP:FB CYC:224 SL:56\nD5D7 F0 BEQ $D5DD       PC:D5D8 A:05 X:33 Y:88 P:67 SP:FB CYC:230 SL:56\nD5DD A9 LDA #$03        PC:D5DE A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:56\nD5DF 8D STA $0678       PC:D5E0 A:03 X:33 Y:88 P:65 SP:FB CYC:245 SL:56\nD5E2 A9 LDA #$01        PC:D5E3 A:03 X:33 Y:88 P:65 SP:FB CYC:257 SL:56\nD5E4 2C BIT $0678       PC:D5E5 A:01 X:33 Y:88 P:65 SP:FB CYC:263 SL:56\nD5E7 30 BMI $D5F1       PC:D5E8 A:01 X:33 Y:88 P:25 SP:FB CYC:275 SL:56\nD5E9 70 BVS $D5F1       PC:D5EA A:01 X:33 Y:88 P:25 SP:FB CYC:281 SL:56\nD5EB F0 BEQ $D5F1       PC:D5EC A:01 X:33 Y:88 P:25 SP:FB CYC:287 SL:56\nD5ED C9 CMP #$01        PC:D5EE A:01 X:33 Y:88 P:25 SP:FB CYC:293 SL:56\nD5EF F0 BEQ $D5F5       PC:D5F0 A:01 X:33 Y:88 P:27 SP:FB CYC:299 SL:56\nD5F5 A0 LDY #$B8        PC:D5F6 A:01 X:33 Y:88 P:27 SP:FB CYC:308 SL:56\nD5F7 A9 LDA #$AA        PC:D5F8 A:01 X:33 Y:B8 P:A5 SP:FB CYC:314 SL:56\nD5F9 8D STA $0678       PC:D5FA A:AA X:33 Y:B8 P:A5 SP:FB CYC:320 SL:56\nD5FC 20 JSR $F7B6       PC:D5FD A:AA X:33 Y:B8 P:A5 SP:FB CYC:332 SL:56\nF7B6 18 CLC             PC:F7B7 A:AA X:33 Y:B8 P:A5 SP:F9 CYC:9 SL:57\nF7B7 A9 LDA #$FF        PC:F7B8 A:AA X:33 Y:B8 P:A4 SP:F9 CYC:15 SL:57\nF7B9 85 STA $01         PC:F7BA A:FF X:33 Y:B8 P:A4 SP:F9 CYC:21 SL:57\nF7BB 24 BIT $01         PC:F7BC A:FF X:33 Y:B8 P:A4 SP:F9 CYC:30 SL:57\nF7BD A9 LDA #$55        PC:F7BE A:FF X:33 Y:B8 P:E4 SP:F9 CYC:39 SL:57\nF7BF 60 RTS             PC:F7C0 A:55 X:33 Y:B8 P:64 SP:F9 CYC:45 SL:57\nD5FF 0D ORA $0678       PC:D600 A:55 X:33 Y:B8 P:64 SP:FB CYC:63 SL:57\nD602 20 JSR $F7C0       PC:D603 A:FF X:33 Y:B8 P:E4 SP:FB CYC:75 SL:57\nF7C0 B0 BCS $F7CB       PC:F7C1 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:93 SL:57\nF7C2 10 BPL $F7CB       PC:F7C3 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:99 SL:57\nF7C4 C9 CMP #$FF        PC:F7C5 A:FF X:33 Y:B8 P:E4 SP:F9 CYC:105 SL:57\nF7C6 D0 BNE $F7CB       PC:F7C7 A:FF X:33 Y:B8 P:67 SP:F9 CYC:111 SL:57\nF7C8 50 BVC $F7CB       PC:F7C9 A:FF X:33 Y:B8 P:67 SP:F9 CYC:117 SL:57\nF7CA 60 RTS             PC:F7CB A:FF X:33 Y:B8 P:67 SP:F9 CYC:123 SL:57\nD605 C8 INY             PC:D606 A:FF X:33 Y:B8 P:67 SP:FB CYC:141 SL:57\nD606 A9 LDA #$00        PC:D607 A:FF X:33 Y:B9 P:E5 SP:FB CYC:147 SL:57\nD608 8D STA $0678       PC:D609 A:00 X:33 Y:B9 P:67 SP:FB CYC:153 SL:57\nD60B 20 JSR $F7CE       PC:D60C A:00 X:33 Y:B9 P:67 SP:FB CYC:165 SL:57\nF7CE 38 SEC             PC:F7CF A:00 X:33 Y:B9 P:67 SP:F9 CYC:183 SL:57\nF7CF B8 CLV             PC:F7D0 A:00 X:33 Y:B9 P:67 SP:F9 CYC:189 SL:57\nF7D0 A9 LDA #$00        PC:F7D1 A:00 X:33 Y:B9 P:27 SP:F9 CYC:195 SL:57\nF7D2 60 RTS             PC:F7D3 A:00 X:33 Y:B9 P:27 SP:F9 CYC:201 SL:57\nD60E 0D ORA $0678       PC:D60F A:00 X:33 Y:B9 P:27 SP:FB CYC:219 SL:57\nD611 20 JSR $F7D3       PC:D612 A:00 X:33 Y:B9 P:27 SP:FB CYC:231 SL:57\nF7D3 D0 BNE $F7DC       PC:F7D4 A:00 X:33 Y:B9 P:27 SP:F9 CYC:249 SL:57\nF7D5 70 BVS $F7DC       PC:F7D6 A:00 X:33 Y:B9 P:27 SP:F9 CYC:255 SL:57\nF7D7 90 BCC $F7DC       PC:F7D8 A:00 X:33 Y:B9 P:27 SP:F9 CYC:261 SL:57\nF7D9 30 BMI $F7DC       PC:F7DA A:00 X:33 Y:B9 P:27 SP:F9 CYC:267 SL:57\nF7DB 60 RTS             PC:F7DC A:00 X:33 Y:B9 P:27 SP:F9 CYC:273 SL:57\nD614 C8 INY             PC:D615 A:00 X:33 Y:B9 P:27 SP:FB CYC:291 SL:57\nD615 A9 LDA #$AA        PC:D616 A:00 X:33 Y:BA P:A5 SP:FB CYC:297 SL:57\nD617 8D STA $0678       PC:D618 A:AA X:33 Y:BA P:A5 SP:FB CYC:303 SL:57\nD61A 20 JSR $F7DF       PC:D61B A:AA X:33 Y:BA P:A5 SP:FB CYC:315 SL:57\nF7DF 18 CLC             PC:F7E0 A:AA X:33 Y:BA P:A5 SP:F9 CYC:333 SL:57\nF7E0 24 BIT $01         PC:F7E1 A:AA X:33 Y:BA P:A4 SP:F9 CYC:339 SL:57\nF7E2 A9 LDA #$55        PC:F7E3 A:AA X:33 Y:BA P:E4 SP:F9 CYC:7 SL:58\nF7E4 60 RTS             PC:F7E5 A:55 X:33 Y:BA P:64 SP:F9 CYC:13 SL:58\nD61D 2D AND $0678       PC:D61E A:55 X:33 Y:BA P:64 SP:FB CYC:31 SL:58\nD620 20 JSR $F7E5       PC:D621 A:00 X:33 Y:BA P:66 SP:FB CYC:43 SL:58\nF7E5 D0 BNE $F7EE       PC:F7E6 A:00 X:33 Y:BA P:66 SP:F9 CYC:61 SL:58\nF7E7 50 BVC $F7EE       PC:F7E8 A:00 X:33 Y:BA P:66 SP:F9 CYC:67 SL:58\nF7E9 B0 BCS $F7EE       PC:F7EA A:00 X:33 Y:BA P:66 SP:F9 CYC:73 SL:58\nF7EB 30 BMI $F7EE       PC:F7EC A:00 X:33 Y:BA P:66 SP:F9 CYC:79 SL:58\nF7ED 60 RTS             PC:F7EE A:00 X:33 Y:BA P:66 SP:F9 CYC:85 SL:58\nD623 C8 INY             PC:D624 A:00 X:33 Y:BA P:66 SP:FB CYC:103 SL:58\nD624 A9 LDA #$EF        PC:D625 A:00 X:33 Y:BB P:E4 SP:FB CYC:109 SL:58\nD626 8D STA $0678       PC:D627 A:EF X:33 Y:BB P:E4 SP:FB CYC:115 SL:58\nD629 20 JSR $F7F1       PC:D62A A:EF X:33 Y:BB P:E4 SP:FB CYC:127 SL:58\nF7F1 38 SEC             PC:F7F2 A:EF X:33 Y:BB P:E4 SP:F9 CYC:145 SL:58\nF7F2 B8 CLV             PC:F7F3 A:EF X:33 Y:BB P:E5 SP:F9 CYC:151 SL:58\nF7F3 A9 LDA #$F8        PC:F7F4 A:EF X:33 Y:BB P:A5 SP:F9 CYC:157 SL:58\nF7F5 60 RTS             PC:F7F6 A:F8 X:33 Y:BB P:A5 SP:F9 CYC:163 SL:58\nD62C 2D AND $0678       PC:D62D A:F8 X:33 Y:BB P:A5 SP:FB CYC:181 SL:58\nD62F 20 JSR $F7F6       PC:D630 A:E8 X:33 Y:BB P:A5 SP:FB CYC:193 SL:58\nF7F6 90 BCC $F801       PC:F7F7 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:211 SL:58\nF7F8 10 BPL $F801       PC:F7F9 A:E8 X:33 Y:BB P:A5 SP:F9 CYC:217 SL:58\nF7FA C9 CMP #$E8        PC:F7FB A:E8 X:33 Y:BB P:A5 SP:F9 CYC:223 SL:58\nF7FC D0 BNE $F801       PC:F7FD A:E8 X:33 Y:BB P:27 SP:F9 CYC:229 SL:58\nF7FE 70 BVS $F801       PC:F7FF A:E8 X:33 Y:BB P:27 SP:F9 CYC:235 SL:58\nF800 60 RTS             PC:F801 A:E8 X:33 Y:BB P:27 SP:F9 CYC:241 SL:58\nD632 C8 INY             PC:D633 A:E8 X:33 Y:BB P:27 SP:FB CYC:259 SL:58\nD633 A9 LDA #$AA        PC:D634 A:E8 X:33 Y:BC P:A5 SP:FB CYC:265 SL:58\nD635 8D STA $0678       PC:D636 A:AA X:33 Y:BC P:A5 SP:FB CYC:271 SL:58\nD638 20 JSR $F804       PC:D639 A:AA X:33 Y:BC P:A5 SP:FB CYC:283 SL:58\nF804 18 CLC             PC:F805 A:AA X:33 Y:BC P:A5 SP:F9 CYC:301 SL:58\nF805 24 BIT $01         PC:F806 A:AA X:33 Y:BC P:A4 SP:F9 CYC:307 SL:58\nF807 A9 LDA #$5F        PC:F808 A:AA X:33 Y:BC P:E4 SP:F9 CYC:316 SL:58\nF809 60 RTS             PC:F80A A:5F X:33 Y:BC P:64 SP:F9 CYC:322 SL:58\nD63B 4D EOR $0678       PC:D63C A:5F X:33 Y:BC P:64 SP:FB CYC:340 SL:58\nD63E 20 JSR $F80A       PC:D63F A:F5 X:33 Y:BC P:E4 SP:FB CYC:11 SL:59\nF80A B0 BCS $F815       PC:F80B A:F5 X:33 Y:BC P:E4 SP:F9 CYC:29 SL:59\nF80C 10 BPL $F815       PC:F80D A:F5 X:33 Y:BC P:E4 SP:F9 CYC:35 SL:59\nF80E C9 CMP #$F5        PC:F80F A:F5 X:33 Y:BC P:E4 SP:F9 CYC:41 SL:59\nF810 D0 BNE $F815       PC:F811 A:F5 X:33 Y:BC P:67 SP:F9 CYC:47 SL:59\nF812 50 BVC $F815       PC:F813 A:F5 X:33 Y:BC P:67 SP:F9 CYC:53 SL:59\nF814 60 RTS             PC:F815 A:F5 X:33 Y:BC P:67 SP:F9 CYC:59 SL:59\nD641 C8 INY             PC:D642 A:F5 X:33 Y:BC P:67 SP:FB CYC:77 SL:59\nD642 A9 LDA #$70        PC:D643 A:F5 X:33 Y:BD P:E5 SP:FB CYC:83 SL:59\nD644 8D STA $0678       PC:D645 A:70 X:33 Y:BD P:65 SP:FB CYC:89 SL:59\nD647 20 JSR $F818       PC:D648 A:70 X:33 Y:BD P:65 SP:FB CYC:101 SL:59\nF818 38 SEC             PC:F819 A:70 X:33 Y:BD P:65 SP:F9 CYC:119 SL:59\nF819 B8 CLV             PC:F81A A:70 X:33 Y:BD P:65 SP:F9 CYC:125 SL:59\nF81A A9 LDA #$70        PC:F81B A:70 X:33 Y:BD P:25 SP:F9 CYC:131 SL:59\nF81C 60 RTS             PC:F81D A:70 X:33 Y:BD P:25 SP:F9 CYC:137 SL:59\nD64A 4D EOR $0678       PC:D64B A:70 X:33 Y:BD P:25 SP:FB CYC:155 SL:59\nD64D 20 JSR $F81D       PC:D64E A:00 X:33 Y:BD P:27 SP:FB CYC:167 SL:59\nF81D D0 BNE $F826       PC:F81E A:00 X:33 Y:BD P:27 SP:F9 CYC:185 SL:59\nF81F 70 BVS $F826       PC:F820 A:00 X:33 Y:BD P:27 SP:F9 CYC:191 SL:59\nF821 90 BCC $F826       PC:F822 A:00 X:33 Y:BD P:27 SP:F9 CYC:197 SL:59\nF823 30 BMI $F826       PC:F824 A:00 X:33 Y:BD P:27 SP:F9 CYC:203 SL:59\nF825 60 RTS             PC:F826 A:00 X:33 Y:BD P:27 SP:F9 CYC:209 SL:59\nD650 C8 INY             PC:D651 A:00 X:33 Y:BD P:27 SP:FB CYC:227 SL:59\nD651 A9 LDA #$69        PC:D652 A:00 X:33 Y:BE P:A5 SP:FB CYC:233 SL:59\nD653 8D STA $0678       PC:D654 A:69 X:33 Y:BE P:25 SP:FB CYC:239 SL:59\nD656 20 JSR $F829       PC:D657 A:69 X:33 Y:BE P:25 SP:FB CYC:251 SL:59\nF829 18 CLC             PC:F82A A:69 X:33 Y:BE P:25 SP:F9 CYC:269 SL:59\nF82A 24 BIT $01         PC:F82B A:69 X:33 Y:BE P:24 SP:F9 CYC:275 SL:59\nF82C A9 LDA #$00        PC:F82D A:69 X:33 Y:BE P:E4 SP:F9 CYC:284 SL:59\nF82E 60 RTS             PC:F82F A:00 X:33 Y:BE P:66 SP:F9 CYC:290 SL:59\nD659 6D ADC $0678       PC:D65A A:00 X:33 Y:BE P:66 SP:FB CYC:308 SL:59\nD65C 20 JSR $F82F       PC:D65D A:69 X:33 Y:BE P:24 SP:FB CYC:320 SL:59\nF82F 30 BMI $F83A       PC:F830 A:69 X:33 Y:BE P:24 SP:F9 CYC:338 SL:59\nF831 B0 BCS $F83A       PC:F832 A:69 X:33 Y:BE P:24 SP:F9 CYC:3 SL:60\nF833 C9 CMP #$69        PC:F834 A:69 X:33 Y:BE P:24 SP:F9 CYC:9 SL:60\nF835 D0 BNE $F83A       PC:F836 A:69 X:33 Y:BE P:27 SP:F9 CYC:15 SL:60\nF837 70 BVS $F83A       PC:F838 A:69 X:33 Y:BE P:27 SP:F9 CYC:21 SL:60\nF839 60 RTS             PC:F83A A:69 X:33 Y:BE P:27 SP:F9 CYC:27 SL:60\nD65F C8 INY             PC:D660 A:69 X:33 Y:BE P:27 SP:FB CYC:45 SL:60\nD660 20 JSR $F83D       PC:D661 A:69 X:33 Y:BF P:A5 SP:FB CYC:51 SL:60\nF83D 38 SEC             PC:F83E A:69 X:33 Y:BF P:A5 SP:F9 CYC:69 SL:60\nF83E 24 BIT $01         PC:F83F A:69 X:33 Y:BF P:A5 SP:F9 CYC:75 SL:60\nF840 A9 LDA #$00        PC:F841 A:69 X:33 Y:BF P:E5 SP:F9 CYC:84 SL:60\nF842 60 RTS             PC:F843 A:00 X:33 Y:BF P:67 SP:F9 CYC:90 SL:60\nD663 6D ADC $0678       PC:D664 A:00 X:33 Y:BF P:67 SP:FB CYC:108 SL:60\nD666 20 JSR $F843       PC:D667 A:6A X:33 Y:BF P:24 SP:FB CYC:120 SL:60\nF843 30 BMI $F84E       PC:F844 A:6A X:33 Y:BF P:24 SP:F9 CYC:138 SL:60\nF845 B0 BCS $F84E       PC:F846 A:6A X:33 Y:BF P:24 SP:F9 CYC:144 SL:60\nF847 C9 CMP #$6A        PC:F848 A:6A X:33 Y:BF P:24 SP:F9 CYC:150 SL:60\nF849 D0 BNE $F84E       PC:F84A A:6A X:33 Y:BF P:27 SP:F9 CYC:156 SL:60\nF84B 70 BVS $F84E       PC:F84C A:6A X:33 Y:BF P:27 SP:F9 CYC:162 SL:60\nF84D 60 RTS             PC:F84E A:6A X:33 Y:BF P:27 SP:F9 CYC:168 SL:60\nD669 C8 INY             PC:D66A A:6A X:33 Y:BF P:27 SP:FB CYC:186 SL:60\nD66A A9 LDA #$7F        PC:D66B A:6A X:33 Y:C0 P:A5 SP:FB CYC:192 SL:60\nD66C 8D STA $0678       PC:D66D A:7F X:33 Y:C0 P:25 SP:FB CYC:198 SL:60\nD66F 20 JSR $F851       PC:D670 A:7F X:33 Y:C0 P:25 SP:FB CYC:210 SL:60\nF851 38 SEC             PC:F852 A:7F X:33 Y:C0 P:25 SP:F9 CYC:228 SL:60\nF852 B8 CLV             PC:F853 A:7F X:33 Y:C0 P:25 SP:F9 CYC:234 SL:60\nF853 A9 LDA #$7F        PC:F854 A:7F X:33 Y:C0 P:25 SP:F9 CYC:240 SL:60\nF855 60 RTS             PC:F856 A:7F X:33 Y:C0 P:25 SP:F9 CYC:246 SL:60\nD672 6D ADC $0678       PC:D673 A:7F X:33 Y:C0 P:25 SP:FB CYC:264 SL:60\nD675 20 JSR $F856       PC:D676 A:FF X:33 Y:C0 P:E4 SP:FB CYC:276 SL:60\nF856 10 BPL $F861       PC:F857 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:294 SL:60\nF858 B0 BCS $F861       PC:F859 A:FF X:33 Y:C0 P:E4 SP:F9 CYC:300 SL:60\nF85A C9 CMP #$FF        PC:F85B A:FF X:33 Y:C0 P:E4 SP:F9 CYC:306 SL:60\nF85C D0 BNE $F861       PC:F85D A:FF X:33 Y:C0 P:67 SP:F9 CYC:312 SL:60\nF85E 50 BVC $F861       PC:F85F A:FF X:33 Y:C0 P:67 SP:F9 CYC:318 SL:60\nF860 60 RTS             PC:F861 A:FF X:33 Y:C0 P:67 SP:F9 CYC:324 SL:60\nD678 C8 INY             PC:D679 A:FF X:33 Y:C0 P:67 SP:FB CYC:1 SL:61\nD679 A9 LDA #$80        PC:D67A A:FF X:33 Y:C1 P:E5 SP:FB CYC:7 SL:61\nD67B 8D STA $0678       PC:D67C A:80 X:33 Y:C1 P:E5 SP:FB CYC:13 SL:61\nD67E 20 JSR $F864       PC:D67F A:80 X:33 Y:C1 P:E5 SP:FB CYC:25 SL:61\nF864 18 CLC             PC:F865 A:80 X:33 Y:C1 P:E5 SP:F9 CYC:43 SL:61\nF865 24 BIT $01         PC:F866 A:80 X:33 Y:C1 P:E4 SP:F9 CYC:49 SL:61\nF867 A9 LDA #$7F        PC:F868 A:80 X:33 Y:C1 P:E4 SP:F9 CYC:58 SL:61\nF869 60 RTS             PC:F86A A:7F X:33 Y:C1 P:64 SP:F9 CYC:64 SL:61\nD681 6D ADC $0678       PC:D682 A:7F X:33 Y:C1 P:64 SP:FB CYC:82 SL:61\nD684 20 JSR $F86A       PC:D685 A:FF X:33 Y:C1 P:A4 SP:FB CYC:94 SL:61\nF86A 10 BPL $F875       PC:F86B A:FF X:33 Y:C1 P:A4 SP:F9 CYC:112 SL:61\nF86C B0 BCS $F875       PC:F86D A:FF X:33 Y:C1 P:A4 SP:F9 CYC:118 SL:61\nF86E C9 CMP #$FF        PC:F86F A:FF X:33 Y:C1 P:A4 SP:F9 CYC:124 SL:61\nF870 D0 BNE $F875       PC:F871 A:FF X:33 Y:C1 P:27 SP:F9 CYC:130 SL:61\nF872 70 BVS $F875       PC:F873 A:FF X:33 Y:C1 P:27 SP:F9 CYC:136 SL:61\nF874 60 RTS             PC:F875 A:FF X:33 Y:C1 P:27 SP:F9 CYC:142 SL:61\nD687 C8 INY             PC:D688 A:FF X:33 Y:C1 P:27 SP:FB CYC:160 SL:61\nD688 20 JSR $F878       PC:D689 A:FF X:33 Y:C2 P:A5 SP:FB CYC:166 SL:61\nF878 38 SEC             PC:F879 A:FF X:33 Y:C2 P:A5 SP:F9 CYC:184 SL:61\nF879 B8 CLV             PC:F87A A:FF X:33 Y:C2 P:A5 SP:F9 CYC:190 SL:61\nF87A A9 LDA #$7F        PC:F87B A:FF X:33 Y:C2 P:A5 SP:F9 CYC:196 SL:61\nF87C 60 RTS             PC:F87D A:7F X:33 Y:C2 P:25 SP:F9 CYC:202 SL:61\nD68B 6D ADC $0678       PC:D68C A:7F X:33 Y:C2 P:25 SP:FB CYC:220 SL:61\nD68E 20 JSR $F87D       PC:D68F A:00 X:33 Y:C2 P:27 SP:FB CYC:232 SL:61\nF87D D0 BNE $F886       PC:F87E A:00 X:33 Y:C2 P:27 SP:F9 CYC:250 SL:61\nF87F 30 BMI $F886       PC:F880 A:00 X:33 Y:C2 P:27 SP:F9 CYC:256 SL:61\nF881 70 BVS $F886       PC:F882 A:00 X:33 Y:C2 P:27 SP:F9 CYC:262 SL:61\nF883 90 BCC $F886       PC:F884 A:00 X:33 Y:C2 P:27 SP:F9 CYC:268 SL:61\nF885 60 RTS             PC:F886 A:00 X:33 Y:C2 P:27 SP:F9 CYC:274 SL:61\nD691 C8 INY             PC:D692 A:00 X:33 Y:C2 P:27 SP:FB CYC:292 SL:61\nD692 A9 LDA #$40        PC:D693 A:00 X:33 Y:C3 P:A5 SP:FB CYC:298 SL:61\nD694 8D STA $0678       PC:D695 A:40 X:33 Y:C3 P:25 SP:FB CYC:304 SL:61\nD697 20 JSR $F889       PC:D698 A:40 X:33 Y:C3 P:25 SP:FB CYC:316 SL:61\nF889 24 BIT $01         PC:F88A A:40 X:33 Y:C3 P:25 SP:F9 CYC:334 SL:61\nF88B A9 LDA #$40        PC:F88C A:40 X:33 Y:C3 P:E5 SP:F9 CYC:2 SL:62\nF88D 60 RTS             PC:F88E A:40 X:33 Y:C3 P:65 SP:F9 CYC:8 SL:62\nD69A CD CMP $0678       PC:D69B A:40 X:33 Y:C3 P:65 SP:FB CYC:26 SL:62\nD69D 20 JSR $F88E       PC:D69E A:40 X:33 Y:C3 P:67 SP:FB CYC:38 SL:62\nF88E 30 BMI $F897       PC:F88F A:40 X:33 Y:C3 P:67 SP:F9 CYC:56 SL:62\nF890 90 BCC $F897       PC:F891 A:40 X:33 Y:C3 P:67 SP:F9 CYC:62 SL:62\nF892 D0 BNE $F897       PC:F893 A:40 X:33 Y:C3 P:67 SP:F9 CYC:68 SL:62\nF894 50 BVC $F897       PC:F895 A:40 X:33 Y:C3 P:67 SP:F9 CYC:74 SL:62\nF896 60 RTS             PC:F897 A:40 X:33 Y:C3 P:67 SP:F9 CYC:80 SL:62\nD6A0 C8 INY             PC:D6A1 A:40 X:33 Y:C3 P:67 SP:FB CYC:98 SL:62\nD6A1 48 PHA             PC:D6A2 A:40 X:33 Y:C4 P:E5 SP:FB CYC:104 SL:62\nD6A2 A9 LDA #$3F        PC:D6A3 A:40 X:33 Y:C4 P:E5 SP:FA CYC:113 SL:62\nD6A4 8D STA $0678       PC:D6A5 A:3F X:33 Y:C4 P:65 SP:FA CYC:119 SL:62\nD6A7 68 PLA             PC:D6A8 A:3F X:33 Y:C4 P:65 SP:FA CYC:131 SL:62\nD6A8 20 JSR $F89A       PC:D6A9 A:40 X:33 Y:C4 P:65 SP:FB CYC:143 SL:62\nF89A B8 CLV             PC:F89B A:40 X:33 Y:C4 P:65 SP:F9 CYC:161 SL:62\nF89B 60 RTS             PC:F89C A:40 X:33 Y:C4 P:25 SP:F9 CYC:167 SL:62\nD6AB CD CMP $0678       PC:D6AC A:40 X:33 Y:C4 P:25 SP:FB CYC:185 SL:62\nD6AE 20 JSR $F89C       PC:D6AF A:40 X:33 Y:C4 P:25 SP:FB CYC:197 SL:62\nF89C F0 BEQ $F8A5       PC:F89D A:40 X:33 Y:C4 P:25 SP:F9 CYC:215 SL:62\nF89E 30 BMI $F8A5       PC:F89F A:40 X:33 Y:C4 P:25 SP:F9 CYC:221 SL:62\nF8A0 90 BCC $F8A5       PC:F8A1 A:40 X:33 Y:C4 P:25 SP:F9 CYC:227 SL:62\nF8A2 70 BVS $F8A5       PC:F8A3 A:40 X:33 Y:C4 P:25 SP:F9 CYC:233 SL:62\nF8A4 60 RTS             PC:F8A5 A:40 X:33 Y:C4 P:25 SP:F9 CYC:239 SL:62\nD6B1 C8 INY             PC:D6B2 A:40 X:33 Y:C4 P:25 SP:FB CYC:257 SL:62\nD6B2 48 PHA             PC:D6B3 A:40 X:33 Y:C5 P:A5 SP:FB CYC:263 SL:62\nD6B3 A9 LDA #$41        PC:D6B4 A:40 X:33 Y:C5 P:A5 SP:FA CYC:272 SL:62\nD6B5 8D STA $0678       PC:D6B6 A:41 X:33 Y:C5 P:25 SP:FA CYC:278 SL:62\nD6B8 68 PLA             PC:D6B9 A:41 X:33 Y:C5 P:25 SP:FA CYC:290 SL:62\nD6B9 CD CMP $0678       PC:D6BA A:40 X:33 Y:C5 P:25 SP:FB CYC:302 SL:62\nD6BC 20 JSR $F8A8       PC:D6BD A:40 X:33 Y:C5 P:A4 SP:FB CYC:314 SL:62\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:40 X:33 Y:C5 P:A4 SP:F9 CYC:332 SL:62\nF8AA 10 BPL $F8AF       PC:F8AB A:40 X:33 Y:C5 P:A4 SP:F9 CYC:338 SL:62\nF8AC 10 BPL $F8AF       PC:F8AD A:40 X:33 Y:C5 P:A4 SP:F9 CYC:3 SL:63\nF8AE 60 RTS             PC:F8AF A:40 X:33 Y:C5 P:A4 SP:F9 CYC:9 SL:63\nD6BF C8 INY             PC:D6C0 A:40 X:33 Y:C5 P:A4 SP:FB CYC:27 SL:63\nD6C0 48 PHA             PC:D6C1 A:40 X:33 Y:C6 P:A4 SP:FB CYC:33 SL:63\nD6C1 A9 LDA #$00        PC:D6C2 A:40 X:33 Y:C6 P:A4 SP:FA CYC:42 SL:63\nD6C3 8D STA $0678       PC:D6C4 A:00 X:33 Y:C6 P:26 SP:FA CYC:48 SL:63\nD6C6 68 PLA             PC:D6C7 A:00 X:33 Y:C6 P:26 SP:FA CYC:60 SL:63\nD6C7 20 JSR $F8B2       PC:D6C8 A:40 X:33 Y:C6 P:24 SP:FB CYC:72 SL:63\nF8B2 A9 LDA #$80        PC:F8B3 A:40 X:33 Y:C6 P:24 SP:F9 CYC:90 SL:63\nF8B4 60 RTS             PC:F8B5 A:80 X:33 Y:C6 P:A4 SP:F9 CYC:96 SL:63\nD6CA CD CMP $0678       PC:D6CB A:80 X:33 Y:C6 P:A4 SP:FB CYC:114 SL:63\nD6CD 20 JSR $F8B5       PC:D6CE A:80 X:33 Y:C6 P:A5 SP:FB CYC:126 SL:63\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:33 Y:C6 P:A5 SP:F9 CYC:144 SL:63\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:33 Y:C6 P:A5 SP:F9 CYC:150 SL:63\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:33 Y:C6 P:A5 SP:F9 CYC:156 SL:63\nF8BB 60 RTS             PC:F8BC A:80 X:33 Y:C6 P:A5 SP:F9 CYC:162 SL:63\nD6D0 C8 INY             PC:D6D1 A:80 X:33 Y:C6 P:A5 SP:FB CYC:180 SL:63\nD6D1 48 PHA             PC:D6D2 A:80 X:33 Y:C7 P:A5 SP:FB CYC:186 SL:63\nD6D2 A9 LDA #$80        PC:D6D3 A:80 X:33 Y:C7 P:A5 SP:FA CYC:195 SL:63\nD6D4 8D STA $0678       PC:D6D5 A:80 X:33 Y:C7 P:A5 SP:FA CYC:201 SL:63\nD6D7 68 PLA             PC:D6D8 A:80 X:33 Y:C7 P:A5 SP:FA CYC:213 SL:63\nD6D8 CD CMP $0678       PC:D6D9 A:80 X:33 Y:C7 P:A5 SP:FB CYC:225 SL:63\nD6DB 20 JSR $F8BF       PC:D6DC A:80 X:33 Y:C7 P:27 SP:FB CYC:237 SL:63\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:33 Y:C7 P:27 SP:F9 CYC:255 SL:63\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:33 Y:C7 P:27 SP:F9 CYC:261 SL:63\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:33 Y:C7 P:27 SP:F9 CYC:267 SL:63\nF8C5 60 RTS             PC:F8C6 A:80 X:33 Y:C7 P:27 SP:F9 CYC:273 SL:63\nD6DE C8 INY             PC:D6DF A:80 X:33 Y:C7 P:27 SP:FB CYC:291 SL:63\nD6DF 48 PHA             PC:D6E0 A:80 X:33 Y:C8 P:A5 SP:FB CYC:297 SL:63\nD6E0 A9 LDA #$81        PC:D6E1 A:80 X:33 Y:C8 P:A5 SP:FA CYC:306 SL:63\nD6E2 8D STA $0678       PC:D6E3 A:81 X:33 Y:C8 P:A5 SP:FA CYC:312 SL:63\nD6E5 68 PLA             PC:D6E6 A:81 X:33 Y:C8 P:A5 SP:FA CYC:324 SL:63\nD6E6 CD CMP $0678       PC:D6E7 A:80 X:33 Y:C8 P:A5 SP:FB CYC:336 SL:63\nD6E9 20 JSR $F8C9       PC:D6EA A:80 X:33 Y:C8 P:A4 SP:FB CYC:7 SL:64\nF8C9 B0 BCS $F8D0       PC:F8CA A:80 X:33 Y:C8 P:A4 SP:F9 CYC:25 SL:64\nF8CB F0 BEQ $F8D0       PC:F8CC A:80 X:33 Y:C8 P:A4 SP:F9 CYC:31 SL:64\nF8CD 10 BPL $F8D0       PC:F8CE A:80 X:33 Y:C8 P:A4 SP:F9 CYC:37 SL:64\nF8CF 60 RTS             PC:F8D0 A:80 X:33 Y:C8 P:A4 SP:F9 CYC:43 SL:64\nD6EC C8 INY             PC:D6ED A:80 X:33 Y:C8 P:A4 SP:FB CYC:61 SL:64\nD6ED 48 PHA             PC:D6EE A:80 X:33 Y:C9 P:A4 SP:FB CYC:67 SL:64\nD6EE A9 LDA #$7F        PC:D6EF A:80 X:33 Y:C9 P:A4 SP:FA CYC:76 SL:64\nD6F0 8D STA $0678       PC:D6F1 A:7F X:33 Y:C9 P:24 SP:FA CYC:82 SL:64\nD6F3 68 PLA             PC:D6F4 A:7F X:33 Y:C9 P:24 SP:FA CYC:94 SL:64\nD6F4 CD CMP $0678       PC:D6F5 A:80 X:33 Y:C9 P:A4 SP:FB CYC:106 SL:64\nD6F7 20 JSR $F8D3       PC:D6F8 A:80 X:33 Y:C9 P:25 SP:FB CYC:118 SL:64\nF8D3 90 BCC $F8DA       PC:F8D4 A:80 X:33 Y:C9 P:25 SP:F9 CYC:136 SL:64\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:80 X:33 Y:C9 P:25 SP:F9 CYC:142 SL:64\nF8D7 30 BMI $F8DA       PC:F8D8 A:80 X:33 Y:C9 P:25 SP:F9 CYC:148 SL:64\nF8D9 60 RTS             PC:F8DA A:80 X:33 Y:C9 P:25 SP:F9 CYC:154 SL:64\nD6FA C8 INY             PC:D6FB A:80 X:33 Y:C9 P:25 SP:FB CYC:172 SL:64\nD6FB A9 LDA #$40        PC:D6FC A:80 X:33 Y:CA P:A5 SP:FB CYC:178 SL:64\nD6FD 8D STA $0678       PC:D6FE A:40 X:33 Y:CA P:25 SP:FB CYC:184 SL:64\nD700 20 JSR $F931       PC:D701 A:40 X:33 Y:CA P:25 SP:FB CYC:196 SL:64\nF931 24 BIT $01         PC:F932 A:40 X:33 Y:CA P:25 SP:F9 CYC:214 SL:64\nF933 A9 LDA #$40        PC:F934 A:40 X:33 Y:CA P:E5 SP:F9 CYC:223 SL:64\nF935 38 SEC             PC:F936 A:40 X:33 Y:CA P:65 SP:F9 CYC:229 SL:64\nF936 60 RTS             PC:F937 A:40 X:33 Y:CA P:65 SP:F9 CYC:235 SL:64\nD703 ED SBC $0678       PC:D704 A:40 X:33 Y:CA P:65 SP:FB CYC:253 SL:64\nD706 20 JSR $F937       PC:D707 A:00 X:33 Y:CA P:27 SP:FB CYC:265 SL:64\nF937 30 BMI $F944       PC:F938 A:00 X:33 Y:CA P:27 SP:F9 CYC:283 SL:64\nF939 90 BCC $F944       PC:F93A A:00 X:33 Y:CA P:27 SP:F9 CYC:289 SL:64\nF93B D0 BNE $F944       PC:F93C A:00 X:33 Y:CA P:27 SP:F9 CYC:295 SL:64\nF93D 70 BVS $F944       PC:F93E A:00 X:33 Y:CA P:27 SP:F9 CYC:301 SL:64\nF93F C9 CMP #$00        PC:F940 A:00 X:33 Y:CA P:27 SP:F9 CYC:307 SL:64\nF941 D0 BNE $F944       PC:F942 A:00 X:33 Y:CA P:27 SP:F9 CYC:313 SL:64\nF943 60 RTS             PC:F944 A:00 X:33 Y:CA P:27 SP:F9 CYC:319 SL:64\nD709 C8 INY             PC:D70A A:00 X:33 Y:CA P:27 SP:FB CYC:337 SL:64\nD70A A9 LDA #$3F        PC:D70B A:00 X:33 Y:CB P:A5 SP:FB CYC:2 SL:65\nD70C 8D STA $0678       PC:D70D A:3F X:33 Y:CB P:25 SP:FB CYC:8 SL:65\nD70F 20 JSR $F947       PC:D710 A:3F X:33 Y:CB P:25 SP:FB CYC:20 SL:65\nF947 B8 CLV             PC:F948 A:3F X:33 Y:CB P:25 SP:F9 CYC:38 SL:65\nF948 38 SEC             PC:F949 A:3F X:33 Y:CB P:25 SP:F9 CYC:44 SL:65\nF949 A9 LDA #$40        PC:F94A A:3F X:33 Y:CB P:25 SP:F9 CYC:50 SL:65\nF94B 60 RTS             PC:F94C A:40 X:33 Y:CB P:25 SP:F9 CYC:56 SL:65\nD712 ED SBC $0678       PC:D713 A:40 X:33 Y:CB P:25 SP:FB CYC:74 SL:65\nD715 20 JSR $F94C       PC:D716 A:01 X:33 Y:CB P:25 SP:FB CYC:86 SL:65\nF94C F0 BEQ $F959       PC:F94D A:01 X:33 Y:CB P:25 SP:F9 CYC:104 SL:65\nF94E 30 BMI $F959       PC:F94F A:01 X:33 Y:CB P:25 SP:F9 CYC:110 SL:65\nF950 90 BCC $F959       PC:F951 A:01 X:33 Y:CB P:25 SP:F9 CYC:116 SL:65\nF952 70 BVS $F959       PC:F953 A:01 X:33 Y:CB P:25 SP:F9 CYC:122 SL:65\nF954 C9 CMP #$01        PC:F955 A:01 X:33 Y:CB P:25 SP:F9 CYC:128 SL:65\nF956 D0 BNE $F959       PC:F957 A:01 X:33 Y:CB P:27 SP:F9 CYC:134 SL:65\nF958 60 RTS             PC:F959 A:01 X:33 Y:CB P:27 SP:F9 CYC:140 SL:65\nD718 C8 INY             PC:D719 A:01 X:33 Y:CB P:27 SP:FB CYC:158 SL:65\nD719 A9 LDA #$41        PC:D71A A:01 X:33 Y:CC P:A5 SP:FB CYC:164 SL:65\nD71B 8D STA $0678       PC:D71C A:41 X:33 Y:CC P:25 SP:FB CYC:170 SL:65\nD71E 20 JSR $F95C       PC:D71F A:41 X:33 Y:CC P:25 SP:FB CYC:182 SL:65\nF95C A9 LDA #$40        PC:F95D A:41 X:33 Y:CC P:25 SP:F9 CYC:200 SL:65\nF95E 38 SEC             PC:F95F A:40 X:33 Y:CC P:25 SP:F9 CYC:206 SL:65\nF95F 24 BIT $01         PC:F960 A:40 X:33 Y:CC P:25 SP:F9 CYC:212 SL:65\nF961 60 RTS             PC:F962 A:40 X:33 Y:CC P:E5 SP:F9 CYC:221 SL:65\nD721 ED SBC $0678       PC:D722 A:40 X:33 Y:CC P:E5 SP:FB CYC:239 SL:65\nD724 20 JSR $F962       PC:D725 A:FF X:33 Y:CC P:A4 SP:FB CYC:251 SL:65\nF962 B0 BCS $F96F       PC:F963 A:FF X:33 Y:CC P:A4 SP:F9 CYC:269 SL:65\nF964 F0 BEQ $F96F       PC:F965 A:FF X:33 Y:CC P:A4 SP:F9 CYC:275 SL:65\nF966 10 BPL $F96F       PC:F967 A:FF X:33 Y:CC P:A4 SP:F9 CYC:281 SL:65\nF968 70 BVS $F96F       PC:F969 A:FF X:33 Y:CC P:A4 SP:F9 CYC:287 SL:65\nF96A C9 CMP #$FF        PC:F96B A:FF X:33 Y:CC P:A4 SP:F9 CYC:293 SL:65\nF96C D0 BNE $F96F       PC:F96D A:FF X:33 Y:CC P:27 SP:F9 CYC:299 SL:65\nF96E 60 RTS             PC:F96F A:FF X:33 Y:CC P:27 SP:F9 CYC:305 SL:65\nD727 C8 INY             PC:D728 A:FF X:33 Y:CC P:27 SP:FB CYC:323 SL:65\nD728 A9 LDA #$00        PC:D729 A:FF X:33 Y:CD P:A5 SP:FB CYC:329 SL:65\nD72A 8D STA $0678       PC:D72B A:00 X:33 Y:CD P:27 SP:FB CYC:335 SL:65\nD72D 20 JSR $F972       PC:D72E A:00 X:33 Y:CD P:27 SP:FB CYC:6 SL:66\nF972 18 CLC             PC:F973 A:00 X:33 Y:CD P:27 SP:F9 CYC:24 SL:66\nF973 A9 LDA #$80        PC:F974 A:00 X:33 Y:CD P:26 SP:F9 CYC:30 SL:66\nF975 60 RTS             PC:F976 A:80 X:33 Y:CD P:A4 SP:F9 CYC:36 SL:66\nD730 ED SBC $0678       PC:D731 A:80 X:33 Y:CD P:A4 SP:FB CYC:54 SL:66\nD733 20 JSR $F976       PC:D734 A:7F X:33 Y:CD P:65 SP:FB CYC:66 SL:66\nF976 90 BCC $F97D       PC:F977 A:7F X:33 Y:CD P:65 SP:F9 CYC:84 SL:66\nF978 C9 CMP #$7F        PC:F979 A:7F X:33 Y:CD P:65 SP:F9 CYC:90 SL:66\nF97A D0 BNE $F97D       PC:F97B A:7F X:33 Y:CD P:67 SP:F9 CYC:96 SL:66\nF97C 60 RTS             PC:F97D A:7F X:33 Y:CD P:67 SP:F9 CYC:102 SL:66\nD736 C8 INY             PC:D737 A:7F X:33 Y:CD P:67 SP:FB CYC:120 SL:66\nD737 A9 LDA #$7F        PC:D738 A:7F X:33 Y:CE P:E5 SP:FB CYC:126 SL:66\nD739 8D STA $0678       PC:D73A A:7F X:33 Y:CE P:65 SP:FB CYC:132 SL:66\nD73C 20 JSR $F980       PC:D73D A:7F X:33 Y:CE P:65 SP:FB CYC:144 SL:66\nF980 38 SEC             PC:F981 A:7F X:33 Y:CE P:65 SP:F9 CYC:162 SL:66\nF981 A9 LDA #$81        PC:F982 A:7F X:33 Y:CE P:65 SP:F9 CYC:168 SL:66\nF983 60 RTS             PC:F984 A:81 X:33 Y:CE P:E5 SP:F9 CYC:174 SL:66\nD73F ED SBC $0678       PC:D740 A:81 X:33 Y:CE P:E5 SP:FB CYC:192 SL:66\nD742 20 JSR $F984       PC:D743 A:02 X:33 Y:CE P:65 SP:FB CYC:204 SL:66\nF984 50 BVC $F98D       PC:F985 A:02 X:33 Y:CE P:65 SP:F9 CYC:222 SL:66\nF986 90 BCC $F98D       PC:F987 A:02 X:33 Y:CE P:65 SP:F9 CYC:228 SL:66\nF988 C9 CMP #$02        PC:F989 A:02 X:33 Y:CE P:65 SP:F9 CYC:234 SL:66\nF98A D0 BNE $F98D       PC:F98B A:02 X:33 Y:CE P:67 SP:F9 CYC:240 SL:66\nF98C 60 RTS             PC:F98D A:02 X:33 Y:CE P:67 SP:F9 CYC:246 SL:66\nD745 C8 INY             PC:D746 A:02 X:33 Y:CE P:67 SP:FB CYC:264 SL:66\nD746 A9 LDA #$40        PC:D747 A:02 X:33 Y:CF P:E5 SP:FB CYC:270 SL:66\nD748 8D STA $0678       PC:D749 A:40 X:33 Y:CF P:65 SP:FB CYC:276 SL:66\nD74B 20 JSR $F889       PC:D74C A:40 X:33 Y:CF P:65 SP:FB CYC:288 SL:66\nF889 24 BIT $01         PC:F88A A:40 X:33 Y:CF P:65 SP:F9 CYC:306 SL:66\nF88B A9 LDA #$40        PC:F88C A:40 X:33 Y:CF P:E5 SP:F9 CYC:315 SL:66\nF88D 60 RTS             PC:F88E A:40 X:33 Y:CF P:65 SP:F9 CYC:321 SL:66\nD74E AA TAX             PC:D74F A:40 X:33 Y:CF P:65 SP:FB CYC:339 SL:66\nD74F EC CPX $0678       PC:D750 A:40 X:40 Y:CF P:65 SP:FB CYC:4 SL:67\nD752 20 JSR $F88E       PC:D753 A:40 X:40 Y:CF P:67 SP:FB CYC:16 SL:67\nF88E 30 BMI $F897       PC:F88F A:40 X:40 Y:CF P:67 SP:F9 CYC:34 SL:67\nF890 90 BCC $F897       PC:F891 A:40 X:40 Y:CF P:67 SP:F9 CYC:40 SL:67\nF892 D0 BNE $F897       PC:F893 A:40 X:40 Y:CF P:67 SP:F9 CYC:46 SL:67\nF894 50 BVC $F897       PC:F895 A:40 X:40 Y:CF P:67 SP:F9 CYC:52 SL:67\nF896 60 RTS             PC:F897 A:40 X:40 Y:CF P:67 SP:F9 CYC:58 SL:67\nD755 C8 INY             PC:D756 A:40 X:40 Y:CF P:67 SP:FB CYC:76 SL:67\nD756 A9 LDA #$3F        PC:D757 A:40 X:40 Y:D0 P:E5 SP:FB CYC:82 SL:67\nD758 8D STA $0678       PC:D759 A:3F X:40 Y:D0 P:65 SP:FB CYC:88 SL:67\nD75B 20 JSR $F89A       PC:D75C A:3F X:40 Y:D0 P:65 SP:FB CYC:100 SL:67\nF89A B8 CLV             PC:F89B A:3F X:40 Y:D0 P:65 SP:F9 CYC:118 SL:67\nF89B 60 RTS             PC:F89C A:3F X:40 Y:D0 P:25 SP:F9 CYC:124 SL:67\nD75E EC CPX $0678       PC:D75F A:3F X:40 Y:D0 P:25 SP:FB CYC:142 SL:67\nD761 20 JSR $F89C       PC:D762 A:3F X:40 Y:D0 P:25 SP:FB CYC:154 SL:67\nF89C F0 BEQ $F8A5       PC:F89D A:3F X:40 Y:D0 P:25 SP:F9 CYC:172 SL:67\nF89E 30 BMI $F8A5       PC:F89F A:3F X:40 Y:D0 P:25 SP:F9 CYC:178 SL:67\nF8A0 90 BCC $F8A5       PC:F8A1 A:3F X:40 Y:D0 P:25 SP:F9 CYC:184 SL:67\nF8A2 70 BVS $F8A5       PC:F8A3 A:3F X:40 Y:D0 P:25 SP:F9 CYC:190 SL:67\nF8A4 60 RTS             PC:F8A5 A:3F X:40 Y:D0 P:25 SP:F9 CYC:196 SL:67\nD764 C8 INY             PC:D765 A:3F X:40 Y:D0 P:25 SP:FB CYC:214 SL:67\nD765 A9 LDA #$41        PC:D766 A:3F X:40 Y:D1 P:A5 SP:FB CYC:220 SL:67\nD767 8D STA $0678       PC:D768 A:41 X:40 Y:D1 P:25 SP:FB CYC:226 SL:67\nD76A EC CPX $0678       PC:D76B A:41 X:40 Y:D1 P:25 SP:FB CYC:238 SL:67\nD76D 20 JSR $F8A8       PC:D76E A:41 X:40 Y:D1 P:A4 SP:FB CYC:250 SL:67\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:41 X:40 Y:D1 P:A4 SP:F9 CYC:268 SL:67\nF8AA 10 BPL $F8AF       PC:F8AB A:41 X:40 Y:D1 P:A4 SP:F9 CYC:274 SL:67\nF8AC 10 BPL $F8AF       PC:F8AD A:41 X:40 Y:D1 P:A4 SP:F9 CYC:280 SL:67\nF8AE 60 RTS             PC:F8AF A:41 X:40 Y:D1 P:A4 SP:F9 CYC:286 SL:67\nD770 C8 INY             PC:D771 A:41 X:40 Y:D1 P:A4 SP:FB CYC:304 SL:67\nD771 A9 LDA #$00        PC:D772 A:41 X:40 Y:D2 P:A4 SP:FB CYC:310 SL:67\nD773 8D STA $0678       PC:D774 A:00 X:40 Y:D2 P:26 SP:FB CYC:316 SL:67\nD776 20 JSR $F8B2       PC:D777 A:00 X:40 Y:D2 P:26 SP:FB CYC:328 SL:67\nF8B2 A9 LDA #$80        PC:F8B3 A:00 X:40 Y:D2 P:26 SP:F9 CYC:5 SL:68\nF8B4 60 RTS             PC:F8B5 A:80 X:40 Y:D2 P:A4 SP:F9 CYC:11 SL:68\nD779 AA TAX             PC:D77A A:80 X:40 Y:D2 P:A4 SP:FB CYC:29 SL:68\nD77A EC CPX $0678       PC:D77B A:80 X:80 Y:D2 P:A4 SP:FB CYC:35 SL:68\nD77D 20 JSR $F8B5       PC:D77E A:80 X:80 Y:D2 P:A5 SP:FB CYC:47 SL:68\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:80 Y:D2 P:A5 SP:F9 CYC:65 SL:68\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:80 Y:D2 P:A5 SP:F9 CYC:71 SL:68\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:80 Y:D2 P:A5 SP:F9 CYC:77 SL:68\nF8BB 60 RTS             PC:F8BC A:80 X:80 Y:D2 P:A5 SP:F9 CYC:83 SL:68\nD780 C8 INY             PC:D781 A:80 X:80 Y:D2 P:A5 SP:FB CYC:101 SL:68\nD781 A9 LDA #$80        PC:D782 A:80 X:80 Y:D3 P:A5 SP:FB CYC:107 SL:68\nD783 8D STA $0678       PC:D784 A:80 X:80 Y:D3 P:A5 SP:FB CYC:113 SL:68\nD786 EC CPX $0678       PC:D787 A:80 X:80 Y:D3 P:A5 SP:FB CYC:125 SL:68\nD789 20 JSR $F8BF       PC:D78A A:80 X:80 Y:D3 P:27 SP:FB CYC:137 SL:68\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:80 Y:D3 P:27 SP:F9 CYC:155 SL:68\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:80 Y:D3 P:27 SP:F9 CYC:161 SL:68\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:80 Y:D3 P:27 SP:F9 CYC:167 SL:68\nF8C5 60 RTS             PC:F8C6 A:80 X:80 Y:D3 P:27 SP:F9 CYC:173 SL:68\nD78C C8 INY             PC:D78D A:80 X:80 Y:D3 P:27 SP:FB CYC:191 SL:68\nD78D A9 LDA #$81        PC:D78E A:80 X:80 Y:D4 P:A5 SP:FB CYC:197 SL:68\nD78F 8D STA $0678       PC:D790 A:81 X:80 Y:D4 P:A5 SP:FB CYC:203 SL:68\nD792 EC CPX $0678       PC:D793 A:81 X:80 Y:D4 P:A5 SP:FB CYC:215 SL:68\nD795 20 JSR $F8C9       PC:D796 A:81 X:80 Y:D4 P:A4 SP:FB CYC:227 SL:68\nF8C9 B0 BCS $F8D0       PC:F8CA A:81 X:80 Y:D4 P:A4 SP:F9 CYC:245 SL:68\nF8CB F0 BEQ $F8D0       PC:F8CC A:81 X:80 Y:D4 P:A4 SP:F9 CYC:251 SL:68\nF8CD 10 BPL $F8D0       PC:F8CE A:81 X:80 Y:D4 P:A4 SP:F9 CYC:257 SL:68\nF8CF 60 RTS             PC:F8D0 A:81 X:80 Y:D4 P:A4 SP:F9 CYC:263 SL:68\nD798 C8 INY             PC:D799 A:81 X:80 Y:D4 P:A4 SP:FB CYC:281 SL:68\nD799 A9 LDA #$7F        PC:D79A A:81 X:80 Y:D5 P:A4 SP:FB CYC:287 SL:68\nD79B 8D STA $0678       PC:D79C A:7F X:80 Y:D5 P:24 SP:FB CYC:293 SL:68\nD79E EC CPX $0678       PC:D79F A:7F X:80 Y:D5 P:24 SP:FB CYC:305 SL:68\nD7A1 20 JSR $F8D3       PC:D7A2 A:7F X:80 Y:D5 P:25 SP:FB CYC:317 SL:68\nF8D3 90 BCC $F8DA       PC:F8D4 A:7F X:80 Y:D5 P:25 SP:F9 CYC:335 SL:68\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:7F X:80 Y:D5 P:25 SP:F9 CYC:0 SL:69\nF8D7 30 BMI $F8DA       PC:F8D8 A:7F X:80 Y:D5 P:25 SP:F9 CYC:6 SL:69\nF8D9 60 RTS             PC:F8DA A:7F X:80 Y:D5 P:25 SP:F9 CYC:12 SL:69\nD7A4 C8 INY             PC:D7A5 A:7F X:80 Y:D5 P:25 SP:FB CYC:30 SL:69\nD7A5 98 TYA             PC:D7A6 A:7F X:80 Y:D6 P:A5 SP:FB CYC:36 SL:69\nD7A6 AA TAX             PC:D7A7 A:D6 X:80 Y:D6 P:A5 SP:FB CYC:42 SL:69\nD7A7 A9 LDA #$40        PC:D7A8 A:D6 X:D6 Y:D6 P:A5 SP:FB CYC:48 SL:69\nD7A9 8D STA $0678       PC:D7AA A:40 X:D6 Y:D6 P:25 SP:FB CYC:54 SL:69\nD7AC 20 JSR $F8DD       PC:D7AD A:40 X:D6 Y:D6 P:25 SP:FB CYC:66 SL:69\nF8DD 24 BIT $01         PC:F8DE A:40 X:D6 Y:D6 P:25 SP:F9 CYC:84 SL:69\nF8DF A0 LDY #$40        PC:F8E0 A:40 X:D6 Y:D6 P:E5 SP:F9 CYC:93 SL:69\nF8E1 60 RTS             PC:F8E2 A:40 X:D6 Y:40 P:65 SP:F9 CYC:99 SL:69\nD7AF CC CPY $0678       PC:D7B0 A:40 X:D6 Y:40 P:65 SP:FB CYC:117 SL:69\nD7B2 20 JSR $F8E2       PC:D7B3 A:40 X:D6 Y:40 P:67 SP:FB CYC:129 SL:69\nF8E2 30 BMI $F8EB       PC:F8E3 A:40 X:D6 Y:40 P:67 SP:F9 CYC:147 SL:69\nF8E4 90 BCC $F8EB       PC:F8E5 A:40 X:D6 Y:40 P:67 SP:F9 CYC:153 SL:69\nF8E6 D0 BNE $F8EB       PC:F8E7 A:40 X:D6 Y:40 P:67 SP:F9 CYC:159 SL:69\nF8E8 50 BVC $F8EB       PC:F8E9 A:40 X:D6 Y:40 P:67 SP:F9 CYC:165 SL:69\nF8EA 60 RTS             PC:F8EB A:40 X:D6 Y:40 P:67 SP:F9 CYC:171 SL:69\nD7B5 E8 INX             PC:D7B6 A:40 X:D6 Y:40 P:67 SP:FB CYC:189 SL:69\nD7B6 A9 LDA #$3F        PC:D7B7 A:40 X:D7 Y:40 P:E5 SP:FB CYC:195 SL:69\nD7B8 8D STA $0678       PC:D7B9 A:3F X:D7 Y:40 P:65 SP:FB CYC:201 SL:69\nD7BB 20 JSR $F8EE       PC:D7BC A:3F X:D7 Y:40 P:65 SP:FB CYC:213 SL:69\nF8EE B8 CLV             PC:F8EF A:3F X:D7 Y:40 P:65 SP:F9 CYC:231 SL:69\nF8EF 60 RTS             PC:F8F0 A:3F X:D7 Y:40 P:25 SP:F9 CYC:237 SL:69\nD7BE CC CPY $0678       PC:D7BF A:3F X:D7 Y:40 P:25 SP:FB CYC:255 SL:69\nD7C1 20 JSR $F8F0       PC:D7C2 A:3F X:D7 Y:40 P:25 SP:FB CYC:267 SL:69\nF8F0 F0 BEQ $F8F9       PC:F8F1 A:3F X:D7 Y:40 P:25 SP:F9 CYC:285 SL:69\nF8F2 30 BMI $F8F9       PC:F8F3 A:3F X:D7 Y:40 P:25 SP:F9 CYC:291 SL:69\nF8F4 90 BCC $F8F9       PC:F8F5 A:3F X:D7 Y:40 P:25 SP:F9 CYC:297 SL:69\nF8F6 70 BVS $F8F9       PC:F8F7 A:3F X:D7 Y:40 P:25 SP:F9 CYC:303 SL:69\nF8F8 60 RTS             PC:F8F9 A:3F X:D7 Y:40 P:25 SP:F9 CYC:309 SL:69\nD7C4 E8 INX             PC:D7C5 A:3F X:D7 Y:40 P:25 SP:FB CYC:327 SL:69\nD7C5 A9 LDA #$41        PC:D7C6 A:3F X:D8 Y:40 P:A5 SP:FB CYC:333 SL:69\nD7C7 8D STA $0678       PC:D7C8 A:41 X:D8 Y:40 P:25 SP:FB CYC:339 SL:69\nD7CA CC CPY $0678       PC:D7CB A:41 X:D8 Y:40 P:25 SP:FB CYC:10 SL:70\nD7CD 20 JSR $F8FC       PC:D7CE A:41 X:D8 Y:40 P:A4 SP:FB CYC:22 SL:70\nF8FC F0 BEQ $F903       PC:F8FD A:41 X:D8 Y:40 P:A4 SP:F9 CYC:40 SL:70\nF8FE 10 BPL $F903       PC:F8FF A:41 X:D8 Y:40 P:A4 SP:F9 CYC:46 SL:70\nF900 10 BPL $F903       PC:F901 A:41 X:D8 Y:40 P:A4 SP:F9 CYC:52 SL:70\nF902 60 RTS             PC:F903 A:41 X:D8 Y:40 P:A4 SP:F9 CYC:58 SL:70\nD7D0 E8 INX             PC:D7D1 A:41 X:D8 Y:40 P:A4 SP:FB CYC:76 SL:70\nD7D1 A9 LDA #$00        PC:D7D2 A:41 X:D9 Y:40 P:A4 SP:FB CYC:82 SL:70\nD7D3 8D STA $0678       PC:D7D4 A:00 X:D9 Y:40 P:26 SP:FB CYC:88 SL:70\nD7D6 20 JSR $F906       PC:D7D7 A:00 X:D9 Y:40 P:26 SP:FB CYC:100 SL:70\nF906 A0 LDY #$80        PC:F907 A:00 X:D9 Y:40 P:26 SP:F9 CYC:118 SL:70\nF908 60 RTS             PC:F909 A:00 X:D9 Y:80 P:A4 SP:F9 CYC:124 SL:70\nD7D9 CC CPY $0678       PC:D7DA A:00 X:D9 Y:80 P:A4 SP:FB CYC:142 SL:70\nD7DC 20 JSR $F909       PC:D7DD A:00 X:D9 Y:80 P:A5 SP:FB CYC:154 SL:70\nF909 F0 BEQ $F910       PC:F90A A:00 X:D9 Y:80 P:A5 SP:F9 CYC:172 SL:70\nF90B 10 BPL $F910       PC:F90C A:00 X:D9 Y:80 P:A5 SP:F9 CYC:178 SL:70\nF90D 90 BCC $F910       PC:F90E A:00 X:D9 Y:80 P:A5 SP:F9 CYC:184 SL:70\nF90F 60 RTS             PC:F910 A:00 X:D9 Y:80 P:A5 SP:F9 CYC:190 SL:70\nD7DF E8 INX             PC:D7E0 A:00 X:D9 Y:80 P:A5 SP:FB CYC:208 SL:70\nD7E0 A9 LDA #$80        PC:D7E1 A:00 X:DA Y:80 P:A5 SP:FB CYC:214 SL:70\nD7E2 8D STA $0678       PC:D7E3 A:80 X:DA Y:80 P:A5 SP:FB CYC:220 SL:70\nD7E5 CC CPY $0678       PC:D7E6 A:80 X:DA Y:80 P:A5 SP:FB CYC:232 SL:70\nD7E8 20 JSR $F913       PC:D7E9 A:80 X:DA Y:80 P:27 SP:FB CYC:244 SL:70\nF913 D0 BNE $F91A       PC:F914 A:80 X:DA Y:80 P:27 SP:F9 CYC:262 SL:70\nF915 30 BMI $F91A       PC:F916 A:80 X:DA Y:80 P:27 SP:F9 CYC:268 SL:70\nF917 90 BCC $F91A       PC:F918 A:80 X:DA Y:80 P:27 SP:F9 CYC:274 SL:70\nF919 60 RTS             PC:F91A A:80 X:DA Y:80 P:27 SP:F9 CYC:280 SL:70\nD7EB E8 INX             PC:D7EC A:80 X:DA Y:80 P:27 SP:FB CYC:298 SL:70\nD7EC A9 LDA #$81        PC:D7ED A:80 X:DB Y:80 P:A5 SP:FB CYC:304 SL:70\nD7EE 8D STA $0678       PC:D7EF A:81 X:DB Y:80 P:A5 SP:FB CYC:310 SL:70\nD7F1 CC CPY $0678       PC:D7F2 A:81 X:DB Y:80 P:A5 SP:FB CYC:322 SL:70\nD7F4 20 JSR $F91D       PC:D7F5 A:81 X:DB Y:80 P:A4 SP:FB CYC:334 SL:70\nF91D B0 BCS $F924       PC:F91E A:81 X:DB Y:80 P:A4 SP:F9 CYC:11 SL:71\nF91F F0 BEQ $F924       PC:F920 A:81 X:DB Y:80 P:A4 SP:F9 CYC:17 SL:71\nF921 10 BPL $F924       PC:F922 A:81 X:DB Y:80 P:A4 SP:F9 CYC:23 SL:71\nF923 60 RTS             PC:F924 A:81 X:DB Y:80 P:A4 SP:F9 CYC:29 SL:71\nD7F7 E8 INX             PC:D7F8 A:81 X:DB Y:80 P:A4 SP:FB CYC:47 SL:71\nD7F8 A9 LDA #$7F        PC:D7F9 A:81 X:DC Y:80 P:A4 SP:FB CYC:53 SL:71\nD7FA 8D STA $0678       PC:D7FB A:7F X:DC Y:80 P:24 SP:FB CYC:59 SL:71\nD7FD CC CPY $0678       PC:D7FE A:7F X:DC Y:80 P:24 SP:FB CYC:71 SL:71\nD800 20 JSR $F927       PC:D801 A:7F X:DC Y:80 P:25 SP:FB CYC:83 SL:71\nF927 90 BCC $F92E       PC:F928 A:7F X:DC Y:80 P:25 SP:F9 CYC:101 SL:71\nF929 F0 BEQ $F92E       PC:F92A A:7F X:DC Y:80 P:25 SP:F9 CYC:107 SL:71\nF92B 30 BMI $F92E       PC:F92C A:7F X:DC Y:80 P:25 SP:F9 CYC:113 SL:71\nF92D 60 RTS             PC:F92E A:7F X:DC Y:80 P:25 SP:F9 CYC:119 SL:71\nD803 E8 INX             PC:D804 A:7F X:DC Y:80 P:25 SP:FB CYC:137 SL:71\nD804 8A TXA             PC:D805 A:7F X:DD Y:80 P:A5 SP:FB CYC:143 SL:71\nD805 A8 TAY             PC:D806 A:DD X:DD Y:80 P:A5 SP:FB CYC:149 SL:71\nD806 20 JSR $F990       PC:D807 A:DD X:DD Y:DD P:A5 SP:FB CYC:155 SL:71\nF990 A2 LDX #$55        PC:F991 A:DD X:DD Y:DD P:A5 SP:F9 CYC:173 SL:71\nF992 A9 LDA #$FF        PC:F993 A:DD X:55 Y:DD P:25 SP:F9 CYC:179 SL:71\nF994 85 STA $01         PC:F995 A:FF X:55 Y:DD P:A5 SP:F9 CYC:185 SL:71\nF996 EA NOP             PC:F997 A:FF X:55 Y:DD P:A5 SP:F9 CYC:194 SL:71\nF997 24 BIT $01         PC:F998 A:FF X:55 Y:DD P:A5 SP:F9 CYC:200 SL:71\nF999 38 SEC             PC:F99A A:FF X:55 Y:DD P:E5 SP:F9 CYC:209 SL:71\nF99A A9 LDA #$01        PC:F99B A:FF X:55 Y:DD P:E5 SP:F9 CYC:215 SL:71\nF99C 60 RTS             PC:F99D A:01 X:55 Y:DD P:65 SP:F9 CYC:221 SL:71\nD809 8D STA $0678       PC:D80A A:01 X:55 Y:DD P:65 SP:FB CYC:239 SL:71\nD80C 4E LSR $0678       PC:D80D A:01 X:55 Y:DD P:65 SP:FB CYC:251 SL:71\nD80F AD LDA $0678       PC:D810 A:01 X:55 Y:DD P:67 SP:FB CYC:269 SL:71\nD812 20 JSR $F99D       PC:D813 A:00 X:55 Y:DD P:67 SP:FB CYC:281 SL:71\nF99D 90 BCC $F9BA       PC:F99E A:00 X:55 Y:DD P:67 SP:F9 CYC:299 SL:71\nF99F D0 BNE $F9BA       PC:F9A0 A:00 X:55 Y:DD P:67 SP:F9 CYC:305 SL:71\nF9A1 30 BMI $F9BA       PC:F9A2 A:00 X:55 Y:DD P:67 SP:F9 CYC:311 SL:71\nF9A3 50 BVC $F9BA       PC:F9A4 A:00 X:55 Y:DD P:67 SP:F9 CYC:317 SL:71\nF9A5 C9 CMP #$00        PC:F9A6 A:00 X:55 Y:DD P:67 SP:F9 CYC:323 SL:71\nF9A7 D0 BNE $F9BA       PC:F9A8 A:00 X:55 Y:DD P:67 SP:F9 CYC:329 SL:71\nF9A9 B8 CLV             PC:F9AA A:00 X:55 Y:DD P:67 SP:F9 CYC:335 SL:71\nF9AA A9 LDA #$AA        PC:F9AB A:00 X:55 Y:DD P:27 SP:F9 CYC:0 SL:72\nF9AC 60 RTS             PC:F9AD A:AA X:55 Y:DD P:A5 SP:F9 CYC:6 SL:72\nD815 C8 INY             PC:D816 A:AA X:55 Y:DD P:A5 SP:FB CYC:24 SL:72\nD816 8D STA $0678       PC:D817 A:AA X:55 Y:DE P:A5 SP:FB CYC:30 SL:72\nD819 4E LSR $0678       PC:D81A A:AA X:55 Y:DE P:A5 SP:FB CYC:42 SL:72\nD81C AD LDA $0678       PC:D81D A:AA X:55 Y:DE P:24 SP:FB CYC:60 SL:72\nD81F 20 JSR $F9AD       PC:D820 A:55 X:55 Y:DE P:24 SP:FB CYC:72 SL:72\nF9AD B0 BCS $F9BA       PC:F9AE A:55 X:55 Y:DE P:24 SP:F9 CYC:90 SL:72\nF9AF F0 BEQ $F9BA       PC:F9B0 A:55 X:55 Y:DE P:24 SP:F9 CYC:96 SL:72\nF9B1 30 BMI $F9BA       PC:F9B2 A:55 X:55 Y:DE P:24 SP:F9 CYC:102 SL:72\nF9B3 70 BVS $F9BA       PC:F9B4 A:55 X:55 Y:DE P:24 SP:F9 CYC:108 SL:72\nF9B5 C9 CMP #$55        PC:F9B6 A:55 X:55 Y:DE P:24 SP:F9 CYC:114 SL:72\nF9B7 D0 BNE $F9BA       PC:F9B8 A:55 X:55 Y:DE P:27 SP:F9 CYC:120 SL:72\nF9B9 60 RTS             PC:F9BA A:55 X:55 Y:DE P:27 SP:F9 CYC:126 SL:72\nD822 C8 INY             PC:D823 A:55 X:55 Y:DE P:27 SP:FB CYC:144 SL:72\nD823 20 JSR $F9BD       PC:D824 A:55 X:55 Y:DF P:A5 SP:FB CYC:150 SL:72\nF9BD 24 BIT $01         PC:F9BE A:55 X:55 Y:DF P:A5 SP:F9 CYC:168 SL:72\nF9BF 38 SEC             PC:F9C0 A:55 X:55 Y:DF P:E5 SP:F9 CYC:177 SL:72\nF9C0 A9 LDA #$80        PC:F9C1 A:55 X:55 Y:DF P:E5 SP:F9 CYC:183 SL:72\nF9C2 60 RTS             PC:F9C3 A:80 X:55 Y:DF P:E5 SP:F9 CYC:189 SL:72\nD826 8D STA $0678       PC:D827 A:80 X:55 Y:DF P:E5 SP:FB CYC:207 SL:72\nD829 0E ASL $0678       PC:D82A A:80 X:55 Y:DF P:E5 SP:FB CYC:219 SL:72\nD82C AD LDA $0678       PC:D82D A:80 X:55 Y:DF P:67 SP:FB CYC:237 SL:72\nD82F 20 JSR $F9C3       PC:D830 A:00 X:55 Y:DF P:67 SP:FB CYC:249 SL:72\nF9C3 90 BCC $F9E1       PC:F9C4 A:00 X:55 Y:DF P:67 SP:F9 CYC:267 SL:72\nF9C5 D0 BNE $F9E1       PC:F9C6 A:00 X:55 Y:DF P:67 SP:F9 CYC:273 SL:72\nF9C7 30 BMI $F9E1       PC:F9C8 A:00 X:55 Y:DF P:67 SP:F9 CYC:279 SL:72\nF9C9 50 BVC $F9E1       PC:F9CA A:00 X:55 Y:DF P:67 SP:F9 CYC:285 SL:72\nF9CB C9 CMP #$00        PC:F9CC A:00 X:55 Y:DF P:67 SP:F9 CYC:291 SL:72\nF9CD D0 BNE $F9E1       PC:F9CE A:00 X:55 Y:DF P:67 SP:F9 CYC:297 SL:72\nF9CF B8 CLV             PC:F9D0 A:00 X:55 Y:DF P:67 SP:F9 CYC:303 SL:72\nF9D0 A9 LDA #$55        PC:F9D1 A:00 X:55 Y:DF P:27 SP:F9 CYC:309 SL:72\nF9D2 38 SEC             PC:F9D3 A:55 X:55 Y:DF P:25 SP:F9 CYC:315 SL:72\nF9D3 60 RTS             PC:F9D4 A:55 X:55 Y:DF P:25 SP:F9 CYC:321 SL:72\nD832 C8 INY             PC:D833 A:55 X:55 Y:DF P:25 SP:FB CYC:339 SL:72\nD833 8D STA $0678       PC:D834 A:55 X:55 Y:E0 P:A5 SP:FB CYC:4 SL:73\nD836 0E ASL $0678       PC:D837 A:55 X:55 Y:E0 P:A5 SP:FB CYC:16 SL:73\nD839 AD LDA $0678       PC:D83A A:55 X:55 Y:E0 P:A4 SP:FB CYC:34 SL:73\nD83C 20 JSR $F9D4       PC:D83D A:AA X:55 Y:E0 P:A4 SP:FB CYC:46 SL:73\nF9D4 B0 BCS $F9E1       PC:F9D5 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:64 SL:73\nF9D6 F0 BEQ $F9E1       PC:F9D7 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:70 SL:73\nF9D8 10 BPL $F9E1       PC:F9D9 A:AA X:55 Y:E0 P:A4 SP:F9 CYC:76 SL:73\nF9DA 70 BVS $F9E1       PC:F9DB A:AA X:55 Y:E0 P:A4 SP:F9 CYC:82 SL:73\nF9DC C9 CMP #$AA        PC:F9DD A:AA X:55 Y:E0 P:A4 SP:F9 CYC:88 SL:73\nF9DE D0 BNE $F9E1       PC:F9DF A:AA X:55 Y:E0 P:27 SP:F9 CYC:94 SL:73\nF9E0 60 RTS             PC:F9E1 A:AA X:55 Y:E0 P:27 SP:F9 CYC:100 SL:73\nD83F C8 INY             PC:D840 A:AA X:55 Y:E0 P:27 SP:FB CYC:118 SL:73\nD840 20 JSR $F9E4       PC:D841 A:AA X:55 Y:E1 P:A5 SP:FB CYC:124 SL:73\nF9E4 24 BIT $01         PC:F9E5 A:AA X:55 Y:E1 P:A5 SP:F9 CYC:142 SL:73\nF9E6 38 SEC             PC:F9E7 A:AA X:55 Y:E1 P:E5 SP:F9 CYC:151 SL:73\nF9E7 A9 LDA #$01        PC:F9E8 A:AA X:55 Y:E1 P:E5 SP:F9 CYC:157 SL:73\nF9E9 60 RTS             PC:F9EA A:01 X:55 Y:E1 P:65 SP:F9 CYC:163 SL:73\nD843 8D STA $0678       PC:D844 A:01 X:55 Y:E1 P:65 SP:FB CYC:181 SL:73\nD846 6E ROR $0678       PC:D847 A:01 X:55 Y:E1 P:65 SP:FB CYC:193 SL:73\nD849 AD LDA $0678       PC:D84A A:01 X:55 Y:E1 P:E5 SP:FB CYC:211 SL:73\nD84C 20 JSR $F9EA       PC:D84D A:80 X:55 Y:E1 P:E5 SP:FB CYC:223 SL:73\nF9EA 90 BCC $FA08       PC:F9EB A:80 X:55 Y:E1 P:E5 SP:F9 CYC:241 SL:73\nF9EC F0 BEQ $FA08       PC:F9ED A:80 X:55 Y:E1 P:E5 SP:F9 CYC:247 SL:73\nF9EE 10 BPL $FA08       PC:F9EF A:80 X:55 Y:E1 P:E5 SP:F9 CYC:253 SL:73\nF9F0 50 BVC $FA08       PC:F9F1 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:259 SL:73\nF9F2 C9 CMP #$80        PC:F9F3 A:80 X:55 Y:E1 P:E5 SP:F9 CYC:265 SL:73\nF9F4 D0 BNE $FA08       PC:F9F5 A:80 X:55 Y:E1 P:67 SP:F9 CYC:271 SL:73\nF9F6 B8 CLV             PC:F9F7 A:80 X:55 Y:E1 P:67 SP:F9 CYC:277 SL:73\nF9F7 18 CLC             PC:F9F8 A:80 X:55 Y:E1 P:27 SP:F9 CYC:283 SL:73\nF9F8 A9 LDA #$55        PC:F9F9 A:80 X:55 Y:E1 P:26 SP:F9 CYC:289 SL:73\nF9FA 60 RTS             PC:F9FB A:55 X:55 Y:E1 P:24 SP:F9 CYC:295 SL:73\nD84F C8 INY             PC:D850 A:55 X:55 Y:E1 P:24 SP:FB CYC:313 SL:73\nD850 8D STA $0678       PC:D851 A:55 X:55 Y:E2 P:A4 SP:FB CYC:319 SL:73\nD853 6E ROR $0678       PC:D854 A:55 X:55 Y:E2 P:A4 SP:FB CYC:331 SL:73\nD856 AD LDA $0678       PC:D857 A:55 X:55 Y:E2 P:25 SP:FB CYC:8 SL:74\nD859 20 JSR $F9FB       PC:D85A A:2A X:55 Y:E2 P:25 SP:FB CYC:20 SL:74\nF9FB 90 BCC $FA08       PC:F9FC A:2A X:55 Y:E2 P:25 SP:F9 CYC:38 SL:74\nF9FD F0 BEQ $FA08       PC:F9FE A:2A X:55 Y:E2 P:25 SP:F9 CYC:44 SL:74\nF9FF 30 BMI $FA08       PC:FA00 A:2A X:55 Y:E2 P:25 SP:F9 CYC:50 SL:74\nFA01 70 BVS $FA08       PC:FA02 A:2A X:55 Y:E2 P:25 SP:F9 CYC:56 SL:74\nFA03 C9 CMP #$2A        PC:FA04 A:2A X:55 Y:E2 P:25 SP:F9 CYC:62 SL:74\nFA05 D0 BNE $FA08       PC:FA06 A:2A X:55 Y:E2 P:27 SP:F9 CYC:68 SL:74\nFA07 60 RTS             PC:FA08 A:2A X:55 Y:E2 P:27 SP:F9 CYC:74 SL:74\nD85C C8 INY             PC:D85D A:2A X:55 Y:E2 P:27 SP:FB CYC:92 SL:74\nD85D 20 JSR $FA0A       PC:D85E A:2A X:55 Y:E3 P:A5 SP:FB CYC:98 SL:74\nFA0A 24 BIT $01         PC:FA0B A:2A X:55 Y:E3 P:A5 SP:F9 CYC:116 SL:74\nFA0C 38 SEC             PC:FA0D A:2A X:55 Y:E3 P:E5 SP:F9 CYC:125 SL:74\nFA0D A9 LDA #$80        PC:FA0E A:2A X:55 Y:E3 P:E5 SP:F9 CYC:131 SL:74\nFA0F 60 RTS             PC:FA10 A:80 X:55 Y:E3 P:E5 SP:F9 CYC:137 SL:74\nD860 8D STA $0678       PC:D861 A:80 X:55 Y:E3 P:E5 SP:FB CYC:155 SL:74\nD863 2E ROL $0678       PC:D864 A:80 X:55 Y:E3 P:E5 SP:FB CYC:167 SL:74\nD866 AD LDA $0678       PC:D867 A:80 X:55 Y:E3 P:65 SP:FB CYC:185 SL:74\nD869 20 JSR $FA10       PC:D86A A:01 X:55 Y:E3 P:65 SP:FB CYC:197 SL:74\nFA10 90 BCC $FA2E       PC:FA11 A:01 X:55 Y:E3 P:65 SP:F9 CYC:215 SL:74\nFA12 F0 BEQ $FA2E       PC:FA13 A:01 X:55 Y:E3 P:65 SP:F9 CYC:221 SL:74\nFA14 30 BMI $FA2E       PC:FA15 A:01 X:55 Y:E3 P:65 SP:F9 CYC:227 SL:74\nFA16 50 BVC $FA2E       PC:FA17 A:01 X:55 Y:E3 P:65 SP:F9 CYC:233 SL:74\nFA18 C9 CMP #$01        PC:FA19 A:01 X:55 Y:E3 P:65 SP:F9 CYC:239 SL:74\nFA1A D0 BNE $FA2E       PC:FA1B A:01 X:55 Y:E3 P:67 SP:F9 CYC:245 SL:74\nFA1C B8 CLV             PC:FA1D A:01 X:55 Y:E3 P:67 SP:F9 CYC:251 SL:74\nFA1D 18 CLC             PC:FA1E A:01 X:55 Y:E3 P:27 SP:F9 CYC:257 SL:74\nFA1E A9 LDA #$55        PC:FA1F A:01 X:55 Y:E3 P:26 SP:F9 CYC:263 SL:74\nFA20 60 RTS             PC:FA21 A:55 X:55 Y:E3 P:24 SP:F9 CYC:269 SL:74\nD86C C8 INY             PC:D86D A:55 X:55 Y:E3 P:24 SP:FB CYC:287 SL:74\nD86D 8D STA $0678       PC:D86E A:55 X:55 Y:E4 P:A4 SP:FB CYC:293 SL:74\nD870 2E ROL $0678       PC:D871 A:55 X:55 Y:E4 P:A4 SP:FB CYC:305 SL:74\nD873 AD LDA $0678       PC:D874 A:55 X:55 Y:E4 P:A4 SP:FB CYC:323 SL:74\nD876 20 JSR $FA21       PC:D877 A:AA X:55 Y:E4 P:A4 SP:FB CYC:335 SL:74\nFA21 B0 BCS $FA2E       PC:FA22 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:12 SL:75\nFA23 F0 BEQ $FA2E       PC:FA24 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:18 SL:75\nFA25 10 BPL $FA2E       PC:FA26 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:24 SL:75\nFA27 70 BVS $FA2E       PC:FA28 A:AA X:55 Y:E4 P:A4 SP:F9 CYC:30 SL:75\nFA29 C9 CMP #$AA        PC:FA2A A:AA X:55 Y:E4 P:A4 SP:F9 CYC:36 SL:75\nFA2B D0 BNE $FA2E       PC:FA2C A:AA X:55 Y:E4 P:27 SP:F9 CYC:42 SL:75\nFA2D 60 RTS             PC:FA2E A:AA X:55 Y:E4 P:27 SP:F9 CYC:48 SL:75\nD879 A9 LDA #$FF        PC:D87A A:AA X:55 Y:E4 P:27 SP:FB CYC:66 SL:75\nD87B 8D STA $0678       PC:D87C A:FF X:55 Y:E4 P:A5 SP:FB CYC:72 SL:75\nD87E 85 STA $01         PC:D87F A:FF X:55 Y:E4 P:A5 SP:FB CYC:84 SL:75\nD880 24 BIT $01         PC:D881 A:FF X:55 Y:E4 P:A5 SP:FB CYC:93 SL:75\nD882 38 SEC             PC:D883 A:FF X:55 Y:E4 P:E5 SP:FB CYC:102 SL:75\nD883 EE INC $0678       PC:D884 A:FF X:55 Y:E4 P:E5 SP:FB CYC:108 SL:75\nD886 D0 BNE $D895       PC:D887 A:FF X:55 Y:E4 P:67 SP:FB CYC:126 SL:75\nD888 30 BMI $D895       PC:D889 A:FF X:55 Y:E4 P:67 SP:FB CYC:132 SL:75\nD88A 50 BVC $D895       PC:D88B A:FF X:55 Y:E4 P:67 SP:FB CYC:138 SL:75\nD88C 90 BCC $D895       PC:D88D A:FF X:55 Y:E4 P:67 SP:FB CYC:144 SL:75\nD88E AD LDA $0678       PC:D88F A:FF X:55 Y:E4 P:67 SP:FB CYC:150 SL:75\nD891 C9 CMP #$00        PC:D892 A:00 X:55 Y:E4 P:67 SP:FB CYC:162 SL:75\nD893 F0 BEQ $D899       PC:D894 A:00 X:55 Y:E4 P:67 SP:FB CYC:168 SL:75\nD899 A9 LDA #$7F        PC:D89A A:00 X:55 Y:E4 P:67 SP:FB CYC:177 SL:75\nD89B 8D STA $0678       PC:D89C A:7F X:55 Y:E4 P:65 SP:FB CYC:183 SL:75\nD89E B8 CLV             PC:D89F A:7F X:55 Y:E4 P:65 SP:FB CYC:195 SL:75\nD89F 18 CLC             PC:D8A0 A:7F X:55 Y:E4 P:25 SP:FB CYC:201 SL:75\nD8A0 EE INC $0678       PC:D8A1 A:7F X:55 Y:E4 P:24 SP:FB CYC:207 SL:75\nD8A3 F0 BEQ $D8B2       PC:D8A4 A:7F X:55 Y:E4 P:A4 SP:FB CYC:225 SL:75\nD8A5 10 BPL $D8B2       PC:D8A6 A:7F X:55 Y:E4 P:A4 SP:FB CYC:231 SL:75\nD8A7 70 BVS $D8B2       PC:D8A8 A:7F X:55 Y:E4 P:A4 SP:FB CYC:237 SL:75\nD8A9 B0 BCS $D8B2       PC:D8AA A:7F X:55 Y:E4 P:A4 SP:FB CYC:243 SL:75\nD8AB AD LDA $0678       PC:D8AC A:7F X:55 Y:E4 P:A4 SP:FB CYC:249 SL:75\nD8AE C9 CMP #$80        PC:D8AF A:80 X:55 Y:E4 P:A4 SP:FB CYC:261 SL:75\nD8B0 F0 BEQ $D8B6       PC:D8B1 A:80 X:55 Y:E4 P:27 SP:FB CYC:267 SL:75\nD8B6 A9 LDA #$00        PC:D8B7 A:80 X:55 Y:E4 P:27 SP:FB CYC:276 SL:75\nD8B8 8D STA $0678       PC:D8B9 A:00 X:55 Y:E4 P:27 SP:FB CYC:282 SL:75\nD8BB 24 BIT $01         PC:D8BC A:00 X:55 Y:E4 P:27 SP:FB CYC:294 SL:75\nD8BD 38 SEC             PC:D8BE A:00 X:55 Y:E4 P:E7 SP:FB CYC:303 SL:75\nD8BE CE DEC $0678       PC:D8BF A:00 X:55 Y:E4 P:E7 SP:FB CYC:309 SL:75\nD8C1 F0 BEQ $D8D0       PC:D8C2 A:00 X:55 Y:E4 P:E5 SP:FB CYC:327 SL:75\nD8C3 10 BPL $D8D0       PC:D8C4 A:00 X:55 Y:E4 P:E5 SP:FB CYC:333 SL:75\nD8C5 50 BVC $D8D0       PC:D8C6 A:00 X:55 Y:E4 P:E5 SP:FB CYC:339 SL:75\nD8C7 90 BCC $D8D0       PC:D8C8 A:00 X:55 Y:E4 P:E5 SP:FB CYC:4 SL:76\nD8C9 AD LDA $0678       PC:D8CA A:00 X:55 Y:E4 P:E5 SP:FB CYC:10 SL:76\nD8CC C9 CMP #$FF        PC:D8CD A:FF X:55 Y:E4 P:E5 SP:FB CYC:22 SL:76\nD8CE F0 BEQ $D8D4       PC:D8CF A:FF X:55 Y:E4 P:67 SP:FB CYC:28 SL:76\nD8D4 A9 LDA #$80        PC:D8D5 A:FF X:55 Y:E4 P:67 SP:FB CYC:37 SL:76\nD8D6 8D STA $0678       PC:D8D7 A:80 X:55 Y:E4 P:E5 SP:FB CYC:43 SL:76\nD8D9 B8 CLV             PC:D8DA A:80 X:55 Y:E4 P:E5 SP:FB CYC:55 SL:76\nD8DA 18 CLC             PC:D8DB A:80 X:55 Y:E4 P:A5 SP:FB CYC:61 SL:76\nD8DB CE DEC $0678       PC:D8DC A:80 X:55 Y:E4 P:A4 SP:FB CYC:67 SL:76\nD8DE F0 BEQ $D8ED       PC:D8DF A:80 X:55 Y:E4 P:24 SP:FB CYC:85 SL:76\nD8E0 30 BMI $D8ED       PC:D8E1 A:80 X:55 Y:E4 P:24 SP:FB CYC:91 SL:76\nD8E2 70 BVS $D8ED       PC:D8E3 A:80 X:55 Y:E4 P:24 SP:FB CYC:97 SL:76\nD8E4 B0 BCS $D8ED       PC:D8E5 A:80 X:55 Y:E4 P:24 SP:FB CYC:103 SL:76\nD8E6 AD LDA $0678       PC:D8E7 A:80 X:55 Y:E4 P:24 SP:FB CYC:109 SL:76\nD8E9 C9 CMP #$7F        PC:D8EA A:7F X:55 Y:E4 P:24 SP:FB CYC:121 SL:76\nD8EB F0 BEQ $D8F1       PC:D8EC A:7F X:55 Y:E4 P:27 SP:FB CYC:127 SL:76\nD8F1 A9 LDA #$01        PC:D8F2 A:7F X:55 Y:E4 P:27 SP:FB CYC:136 SL:76\nD8F3 8D STA $0678       PC:D8F4 A:01 X:55 Y:E4 P:25 SP:FB CYC:142 SL:76\nD8F6 CE DEC $0678       PC:D8F7 A:01 X:55 Y:E4 P:25 SP:FB CYC:154 SL:76\nD8F9 F0 BEQ $D8FF       PC:D8FA A:01 X:55 Y:E4 P:27 SP:FB CYC:172 SL:76\nD8FF 60 RTS             PC:D900 A:01 X:55 Y:E4 P:27 SP:FB CYC:181 SL:76\nC618 20 JSR $D900       PC:C619 A:01 X:55 Y:E4 P:27 SP:FD CYC:199 SL:76\nD900 A9 LDA #$A3        PC:D901 A:01 X:55 Y:E4 P:27 SP:FB CYC:217 SL:76\nD902 85 STA $33         PC:D903 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:223 SL:76\nD904 A9 LDA #$89        PC:D905 A:A3 X:55 Y:E4 P:A5 SP:FB CYC:232 SL:76\nD906 8D STA $0300       PC:D907 A:89 X:55 Y:E4 P:A5 SP:FB CYC:238 SL:76\nD909 A9 LDA #$12        PC:D90A A:89 X:55 Y:E4 P:A5 SP:FB CYC:250 SL:76\nD90B 8D STA $0245       PC:D90C A:12 X:55 Y:E4 P:25 SP:FB CYC:256 SL:76\nD90E A9 LDA #$FF        PC:D90F A:12 X:55 Y:E4 P:25 SP:FB CYC:268 SL:76\nD910 85 STA $01         PC:D911 A:FF X:55 Y:E4 P:A5 SP:FB CYC:274 SL:76\nD912 A2 LDX #$65        PC:D913 A:FF X:55 Y:E4 P:A5 SP:FB CYC:283 SL:76\nD914 A9 LDA #$00        PC:D915 A:FF X:65 Y:E4 P:25 SP:FB CYC:289 SL:76\nD916 85 STA $89         PC:D917 A:00 X:65 Y:E4 P:27 SP:FB CYC:295 SL:76\nD918 A9 LDA #$03        PC:D919 A:00 X:65 Y:E4 P:27 SP:FB CYC:304 SL:76\nD91A 85 STA $8A         PC:D91B A:03 X:65 Y:E4 P:25 SP:FB CYC:310 SL:76\nD91C A0 LDY #$00        PC:D91D A:03 X:65 Y:E4 P:25 SP:FB CYC:319 SL:76\nD91E 38 SEC             PC:D91F A:03 X:65 Y:00 P:27 SP:FB CYC:325 SL:76\nD91F A9 LDA #$00        PC:D920 A:03 X:65 Y:00 P:27 SP:FB CYC:331 SL:76\nD921 B8 CLV             PC:D922 A:00 X:65 Y:00 P:27 SP:FB CYC:337 SL:76\nD922 B1 LDA ($89), y    PC:D923 A:00 X:65 Y:00 P:27 SP:FB CYC:2 SL:77\nD924 F0 BEQ $D932       PC:D925 A:89 X:65 Y:00 P:A5 SP:FB CYC:17 SL:77\nD926 90 BCC $D932       PC:D927 A:89 X:65 Y:00 P:A5 SP:FB CYC:23 SL:77\nD928 70 BVS $D932       PC:D929 A:89 X:65 Y:00 P:A5 SP:FB CYC:29 SL:77\nD92A C9 CMP #$89        PC:D92B A:89 X:65 Y:00 P:A5 SP:FB CYC:35 SL:77\nD92C D0 BNE $D932       PC:D92D A:89 X:65 Y:00 P:27 SP:FB CYC:41 SL:77\nD92E E0 CPX #$65        PC:D92F A:89 X:65 Y:00 P:27 SP:FB CYC:47 SL:77\nD930 F0 BEQ $D936       PC:D931 A:89 X:65 Y:00 P:27 SP:FB CYC:53 SL:77\nD936 A9 LDA #$FF        PC:D937 A:89 X:65 Y:00 P:27 SP:FB CYC:62 SL:77\nD938 85 STA $97         PC:D939 A:FF X:65 Y:00 P:A5 SP:FB CYC:68 SL:77\nD93A 85 STA $98         PC:D93B A:FF X:65 Y:00 P:A5 SP:FB CYC:77 SL:77\nD93C 24 BIT $98         PC:D93D A:FF X:65 Y:00 P:A5 SP:FB CYC:86 SL:77\nD93E A0 LDY #$34        PC:D93F A:FF X:65 Y:00 P:E5 SP:FB CYC:95 SL:77\nD940 B1 LDA ($97), y    PC:D941 A:FF X:65 Y:34 P:65 SP:FB CYC:101 SL:77\nD942 C9 CMP #$A3        PC:D943 A:A3 X:65 Y:34 P:E5 SP:FB CYC:119 SL:77\nD944 D0 BNE $D948       PC:D945 A:A3 X:65 Y:34 P:67 SP:FB CYC:125 SL:77\nD946 B0 BCS $D94C       PC:D947 A:A3 X:65 Y:34 P:67 SP:FB CYC:131 SL:77\nD94C A5 LDA $00         PC:D94D A:A3 X:65 Y:34 P:67 SP:FB CYC:140 SL:77\nD94E 48 PHA             PC:D94F A:00 X:65 Y:34 P:67 SP:FB CYC:149 SL:77\nD94F A9 LDA #$46        PC:D950 A:00 X:65 Y:34 P:67 SP:FA CYC:158 SL:77\nD951 85 STA $FF         PC:D952 A:46 X:65 Y:34 P:65 SP:FA CYC:164 SL:77\nD953 A9 LDA #$01        PC:D954 A:46 X:65 Y:34 P:65 SP:FA CYC:173 SL:77\nD955 85 STA $00         PC:D956 A:01 X:65 Y:34 P:65 SP:FA CYC:179 SL:77\nD957 A0 LDY #$FF        PC:D958 A:01 X:65 Y:34 P:65 SP:FA CYC:188 SL:77\nD959 B1 LDA ($FF), y    PC:D95A A:01 X:65 Y:FF P:E5 SP:FA CYC:194 SL:77\nD95B C9 CMP #$12        PC:D95C A:12 X:65 Y:FF P:65 SP:FA CYC:212 SL:77\nD95D F0 BEQ $D963       PC:D95E A:12 X:65 Y:FF P:67 SP:FA CYC:218 SL:77\nD963 68 PLA             PC:D964 A:12 X:65 Y:FF P:67 SP:FA CYC:227 SL:77\nD964 85 STA $00         PC:D965 A:00 X:65 Y:FF P:67 SP:FB CYC:239 SL:77\nD966 A2 LDX #$ED        PC:D967 A:00 X:65 Y:FF P:67 SP:FB CYC:248 SL:77\nD968 A9 LDA #$00        PC:D969 A:00 X:ED Y:FF P:E5 SP:FB CYC:254 SL:77\nD96A 85 STA $33         PC:D96B A:00 X:ED Y:FF P:67 SP:FB CYC:260 SL:77\nD96C A9 LDA #$04        PC:D96D A:00 X:ED Y:FF P:67 SP:FB CYC:269 SL:77\nD96E 85 STA $34         PC:D96F A:04 X:ED Y:FF P:65 SP:FB CYC:275 SL:77\nD970 A0 LDY #$00        PC:D971 A:04 X:ED Y:FF P:65 SP:FB CYC:284 SL:77\nD972 18 CLC             PC:D973 A:04 X:ED Y:00 P:67 SP:FB CYC:290 SL:77\nD973 A9 LDA #$FF        PC:D974 A:04 X:ED Y:00 P:66 SP:FB CYC:296 SL:77\nD975 85 STA $01         PC:D976 A:FF X:ED Y:00 P:E4 SP:FB CYC:302 SL:77\nD977 24 BIT $01         PC:D978 A:FF X:ED Y:00 P:E4 SP:FB CYC:311 SL:77\nD979 A9 LDA #$AA        PC:D97A A:FF X:ED Y:00 P:E4 SP:FB CYC:320 SL:77\nD97B 8D STA $0400       PC:D97C A:AA X:ED Y:00 P:E4 SP:FB CYC:326 SL:77\nD97E A9 LDA #$55        PC:D97F A:AA X:ED Y:00 P:E4 SP:FB CYC:338 SL:77\nD980 11 ORA ($33), y    PC:D981 A:55 X:ED Y:00 P:64 SP:FB CYC:3 SL:78\nD982 B0 BCS $D98C       PC:D983 A:FF X:ED Y:00 P:E4 SP:FB CYC:18 SL:78\nD984 10 BPL $D98C       PC:D985 A:FF X:ED Y:00 P:E4 SP:FB CYC:24 SL:78\nD986 C9 CMP #$FF        PC:D987 A:FF X:ED Y:00 P:E4 SP:FB CYC:30 SL:78\nD988 D0 BNE $D98C       PC:D989 A:FF X:ED Y:00 P:67 SP:FB CYC:36 SL:78\nD98A 70 BVS $D98E       PC:D98B A:FF X:ED Y:00 P:67 SP:FB CYC:42 SL:78\nD98E E8 INX             PC:D98F A:FF X:ED Y:00 P:67 SP:FB CYC:51 SL:78\nD98F 38 SEC             PC:D990 A:FF X:EE Y:00 P:E5 SP:FB CYC:57 SL:78\nD990 B8 CLV             PC:D991 A:FF X:EE Y:00 P:E5 SP:FB CYC:63 SL:78\nD991 A9 LDA #$00        PC:D992 A:FF X:EE Y:00 P:A5 SP:FB CYC:69 SL:78\nD993 11 ORA ($33), y    PC:D994 A:00 X:EE Y:00 P:27 SP:FB CYC:75 SL:78\nD995 F0 BEQ $D99D       PC:D996 A:AA X:EE Y:00 P:A5 SP:FB CYC:90 SL:78\nD997 70 BVS $D99D       PC:D998 A:AA X:EE Y:00 P:A5 SP:FB CYC:96 SL:78\nD999 90 BCC $D99D       PC:D99A A:AA X:EE Y:00 P:A5 SP:FB CYC:102 SL:78\nD99B 30 BMI $D99F       PC:D99C A:AA X:EE Y:00 P:A5 SP:FB CYC:108 SL:78\nD99F E8 INX             PC:D9A0 A:AA X:EE Y:00 P:A5 SP:FB CYC:117 SL:78\nD9A0 18 CLC             PC:D9A1 A:AA X:EF Y:00 P:A5 SP:FB CYC:123 SL:78\nD9A1 24 BIT $01         PC:D9A2 A:AA X:EF Y:00 P:A4 SP:FB CYC:129 SL:78\nD9A3 A9 LDA #$55        PC:D9A4 A:AA X:EF Y:00 P:E4 SP:FB CYC:138 SL:78\nD9A5 31 AND ($33), y    PC:D9A6 A:55 X:EF Y:00 P:64 SP:FB CYC:144 SL:78\nD9A7 D0 BNE $D9AF       PC:D9A8 A:00 X:EF Y:00 P:66 SP:FB CYC:159 SL:78\nD9A9 50 BVC $D9AF       PC:D9AA A:00 X:EF Y:00 P:66 SP:FB CYC:165 SL:78\nD9AB B0 BCS $D9AF       PC:D9AC A:00 X:EF Y:00 P:66 SP:FB CYC:171 SL:78\nD9AD 10 BPL $D9B1       PC:D9AE A:00 X:EF Y:00 P:66 SP:FB CYC:177 SL:78\nD9B1 E8 INX             PC:D9B2 A:00 X:EF Y:00 P:66 SP:FB CYC:186 SL:78\nD9B2 38 SEC             PC:D9B3 A:00 X:F0 Y:00 P:E4 SP:FB CYC:192 SL:78\nD9B3 B8 CLV             PC:D9B4 A:00 X:F0 Y:00 P:E5 SP:FB CYC:198 SL:78\nD9B4 A9 LDA #$EF        PC:D9B5 A:00 X:F0 Y:00 P:A5 SP:FB CYC:204 SL:78\nD9B6 8D STA $0400       PC:D9B7 A:EF X:F0 Y:00 P:A5 SP:FB CYC:210 SL:78\nD9B9 A9 LDA #$F8        PC:D9BA A:EF X:F0 Y:00 P:A5 SP:FB CYC:222 SL:78\nD9BB 31 AND ($33), y    PC:D9BC A:F8 X:F0 Y:00 P:A5 SP:FB CYC:228 SL:78\nD9BD 90 BCC $D9C7       PC:D9BE A:E8 X:F0 Y:00 P:A5 SP:FB CYC:243 SL:78\nD9BF 10 BPL $D9C7       PC:D9C0 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:249 SL:78\nD9C1 C9 CMP #$E8        PC:D9C2 A:E8 X:F0 Y:00 P:A5 SP:FB CYC:255 SL:78\nD9C3 D0 BNE $D9C7       PC:D9C4 A:E8 X:F0 Y:00 P:27 SP:FB CYC:261 SL:78\nD9C5 50 BVC $D9C9       PC:D9C6 A:E8 X:F0 Y:00 P:27 SP:FB CYC:267 SL:78\nD9C9 E8 INX             PC:D9CA A:E8 X:F0 Y:00 P:27 SP:FB CYC:276 SL:78\nD9CA 18 CLC             PC:D9CB A:E8 X:F1 Y:00 P:A5 SP:FB CYC:282 SL:78\nD9CB 24 BIT $01         PC:D9CC A:E8 X:F1 Y:00 P:A4 SP:FB CYC:288 SL:78\nD9CD A9 LDA #$AA        PC:D9CE A:E8 X:F1 Y:00 P:E4 SP:FB CYC:297 SL:78\nD9CF 8D STA $0400       PC:D9D0 A:AA X:F1 Y:00 P:E4 SP:FB CYC:303 SL:78\nD9D2 A9 LDA #$5F        PC:D9D3 A:AA X:F1 Y:00 P:E4 SP:FB CYC:315 SL:78\nD9D4 51 EOR ($33), y    PC:D9D5 A:5F X:F1 Y:00 P:64 SP:FB CYC:321 SL:78\nD9D6 B0 BCS $D9E0       PC:D9D7 A:F5 X:F1 Y:00 P:E4 SP:FB CYC:336 SL:78\nD9D8 10 BPL $D9E0       PC:D9D9 A:F5 X:F1 Y:00 P:E4 SP:FB CYC:1 SL:79\nD9DA C9 CMP #$F5        PC:D9DB A:F5 X:F1 Y:00 P:E4 SP:FB CYC:7 SL:79\nD9DC D0 BNE $D9E0       PC:D9DD A:F5 X:F1 Y:00 P:67 SP:FB CYC:13 SL:79\nD9DE 70 BVS $D9E2       PC:D9DF A:F5 X:F1 Y:00 P:67 SP:FB CYC:19 SL:79\nD9E2 E8 INX             PC:D9E3 A:F5 X:F1 Y:00 P:67 SP:FB CYC:28 SL:79\nD9E3 38 SEC             PC:D9E4 A:F5 X:F2 Y:00 P:E5 SP:FB CYC:34 SL:79\nD9E4 B8 CLV             PC:D9E5 A:F5 X:F2 Y:00 P:E5 SP:FB CYC:40 SL:79\nD9E5 A9 LDA #$70        PC:D9E6 A:F5 X:F2 Y:00 P:A5 SP:FB CYC:46 SL:79\nD9E7 8D STA $0400       PC:D9E8 A:70 X:F2 Y:00 P:25 SP:FB CYC:52 SL:79\nD9EA 51 EOR ($33), y    PC:D9EB A:70 X:F2 Y:00 P:25 SP:FB CYC:64 SL:79\nD9EC D0 BNE $D9F4       PC:D9ED A:00 X:F2 Y:00 P:27 SP:FB CYC:79 SL:79\nD9EE 70 BVS $D9F4       PC:D9EF A:00 X:F2 Y:00 P:27 SP:FB CYC:85 SL:79\nD9F0 90 BCC $D9F4       PC:D9F1 A:00 X:F2 Y:00 P:27 SP:FB CYC:91 SL:79\nD9F2 10 BPL $D9F6       PC:D9F3 A:00 X:F2 Y:00 P:27 SP:FB CYC:97 SL:79\nD9F6 E8 INX             PC:D9F7 A:00 X:F2 Y:00 P:27 SP:FB CYC:106 SL:79\nD9F7 18 CLC             PC:D9F8 A:00 X:F3 Y:00 P:A5 SP:FB CYC:112 SL:79\nD9F8 24 BIT $01         PC:D9F9 A:00 X:F3 Y:00 P:A4 SP:FB CYC:118 SL:79\nD9FA A9 LDA #$69        PC:D9FB A:00 X:F3 Y:00 P:E6 SP:FB CYC:127 SL:79\nD9FC 8D STA $0400       PC:D9FD A:69 X:F3 Y:00 P:64 SP:FB CYC:133 SL:79\nD9FF A9 LDA #$00        PC:DA00 A:69 X:F3 Y:00 P:64 SP:FB CYC:145 SL:79\nDA01 71 ADC ($33), y    PC:DA02 A:00 X:F3 Y:00 P:66 SP:FB CYC:151 SL:79\nDA03 30 BMI $DA0D       PC:DA04 A:69 X:F3 Y:00 P:24 SP:FB CYC:166 SL:79\nDA05 B0 BCS $DA0D       PC:DA06 A:69 X:F3 Y:00 P:24 SP:FB CYC:172 SL:79\nDA07 C9 CMP #$69        PC:DA08 A:69 X:F3 Y:00 P:24 SP:FB CYC:178 SL:79\nDA09 D0 BNE $DA0D       PC:DA0A A:69 X:F3 Y:00 P:27 SP:FB CYC:184 SL:79\nDA0B 50 BVC $DA0F       PC:DA0C A:69 X:F3 Y:00 P:27 SP:FB CYC:190 SL:79\nDA0F E8 INX             PC:DA10 A:69 X:F3 Y:00 P:27 SP:FB CYC:199 SL:79\nDA10 38 SEC             PC:DA11 A:69 X:F4 Y:00 P:A5 SP:FB CYC:205 SL:79\nDA11 24 BIT $01         PC:DA12 A:69 X:F4 Y:00 P:A5 SP:FB CYC:211 SL:79\nDA13 A9 LDA #$00        PC:DA14 A:69 X:F4 Y:00 P:E5 SP:FB CYC:220 SL:79\nDA15 71 ADC ($33), y    PC:DA16 A:00 X:F4 Y:00 P:67 SP:FB CYC:226 SL:79\nDA17 30 BMI $DA21       PC:DA18 A:6A X:F4 Y:00 P:24 SP:FB CYC:241 SL:79\nDA19 B0 BCS $DA21       PC:DA1A A:6A X:F4 Y:00 P:24 SP:FB CYC:247 SL:79\nDA1B C9 CMP #$6A        PC:DA1C A:6A X:F4 Y:00 P:24 SP:FB CYC:253 SL:79\nDA1D D0 BNE $DA21       PC:DA1E A:6A X:F4 Y:00 P:27 SP:FB CYC:259 SL:79\nDA1F 50 BVC $DA23       PC:DA20 A:6A X:F4 Y:00 P:27 SP:FB CYC:265 SL:79\nDA23 E8 INX             PC:DA24 A:6A X:F4 Y:00 P:27 SP:FB CYC:274 SL:79\nDA24 38 SEC             PC:DA25 A:6A X:F5 Y:00 P:A5 SP:FB CYC:280 SL:79\nDA25 B8 CLV             PC:DA26 A:6A X:F5 Y:00 P:A5 SP:FB CYC:286 SL:79\nDA26 A9 LDA #$7F        PC:DA27 A:6A X:F5 Y:00 P:A5 SP:FB CYC:292 SL:79\nDA28 8D STA $0400       PC:DA29 A:7F X:F5 Y:00 P:25 SP:FB CYC:298 SL:79\nDA2B 71 ADC ($33), y    PC:DA2C A:7F X:F5 Y:00 P:25 SP:FB CYC:310 SL:79\nDA2D 10 BPL $DA37       PC:DA2E A:FF X:F5 Y:00 P:E4 SP:FB CYC:325 SL:79\nDA2F B0 BCS $DA37       PC:DA30 A:FF X:F5 Y:00 P:E4 SP:FB CYC:331 SL:79\nDA31 C9 CMP #$FF        PC:DA32 A:FF X:F5 Y:00 P:E4 SP:FB CYC:337 SL:79\nDA33 D0 BNE $DA37       PC:DA34 A:FF X:F5 Y:00 P:67 SP:FB CYC:2 SL:80\nDA35 70 BVS $DA39       PC:DA36 A:FF X:F5 Y:00 P:67 SP:FB CYC:8 SL:80\nDA39 E8 INX             PC:DA3A A:FF X:F5 Y:00 P:67 SP:FB CYC:17 SL:80\nDA3A 18 CLC             PC:DA3B A:FF X:F6 Y:00 P:E5 SP:FB CYC:23 SL:80\nDA3B 24 BIT $01         PC:DA3C A:FF X:F6 Y:00 P:E4 SP:FB CYC:29 SL:80\nDA3D A9 LDA #$80        PC:DA3E A:FF X:F6 Y:00 P:E4 SP:FB CYC:38 SL:80\nDA3F 8D STA $0400       PC:DA40 A:80 X:F6 Y:00 P:E4 SP:FB CYC:44 SL:80\nDA42 A9 LDA #$7F        PC:DA43 A:80 X:F6 Y:00 P:E4 SP:FB CYC:56 SL:80\nDA44 71 ADC ($33), y    PC:DA45 A:7F X:F6 Y:00 P:64 SP:FB CYC:62 SL:80\nDA46 10 BPL $DA50       PC:DA47 A:FF X:F6 Y:00 P:A4 SP:FB CYC:77 SL:80\nDA48 B0 BCS $DA50       PC:DA49 A:FF X:F6 Y:00 P:A4 SP:FB CYC:83 SL:80\nDA4A C9 CMP #$FF        PC:DA4B A:FF X:F6 Y:00 P:A4 SP:FB CYC:89 SL:80\nDA4C D0 BNE $DA50       PC:DA4D A:FF X:F6 Y:00 P:27 SP:FB CYC:95 SL:80\nDA4E 50 BVC $DA52       PC:DA4F A:FF X:F6 Y:00 P:27 SP:FB CYC:101 SL:80\nDA52 E8 INX             PC:DA53 A:FF X:F6 Y:00 P:27 SP:FB CYC:110 SL:80\nDA53 38 SEC             PC:DA54 A:FF X:F7 Y:00 P:A5 SP:FB CYC:116 SL:80\nDA54 B8 CLV             PC:DA55 A:FF X:F7 Y:00 P:A5 SP:FB CYC:122 SL:80\nDA55 A9 LDA #$80        PC:DA56 A:FF X:F7 Y:00 P:A5 SP:FB CYC:128 SL:80\nDA57 8D STA $0400       PC:DA58 A:80 X:F7 Y:00 P:A5 SP:FB CYC:134 SL:80\nDA5A A9 LDA #$7F        PC:DA5B A:80 X:F7 Y:00 P:A5 SP:FB CYC:146 SL:80\nDA5C 71 ADC ($33), y    PC:DA5D A:7F X:F7 Y:00 P:25 SP:FB CYC:152 SL:80\nDA5E D0 BNE $DA66       PC:DA5F A:00 X:F7 Y:00 P:27 SP:FB CYC:167 SL:80\nDA60 30 BMI $DA66       PC:DA61 A:00 X:F7 Y:00 P:27 SP:FB CYC:173 SL:80\nDA62 70 BVS $DA66       PC:DA63 A:00 X:F7 Y:00 P:27 SP:FB CYC:179 SL:80\nDA64 B0 BCS $DA68       PC:DA65 A:00 X:F7 Y:00 P:27 SP:FB CYC:185 SL:80\nDA68 E8 INX             PC:DA69 A:00 X:F7 Y:00 P:27 SP:FB CYC:194 SL:80\nDA69 24 BIT $01         PC:DA6A A:00 X:F8 Y:00 P:A5 SP:FB CYC:200 SL:80\nDA6B A9 LDA #$40        PC:DA6C A:00 X:F8 Y:00 P:E7 SP:FB CYC:209 SL:80\nDA6D 8D STA $0400       PC:DA6E A:40 X:F8 Y:00 P:65 SP:FB CYC:215 SL:80\nDA70 D1 CMP ($33), y    PC:DA71 A:40 X:F8 Y:00 P:65 SP:FB CYC:227 SL:80\nDA72 30 BMI $DA7A       PC:DA73 A:40 X:F8 Y:00 P:67 SP:FB CYC:242 SL:80\nDA74 90 BCC $DA7A       PC:DA75 A:40 X:F8 Y:00 P:67 SP:FB CYC:248 SL:80\nDA76 D0 BNE $DA7A       PC:DA77 A:40 X:F8 Y:00 P:67 SP:FB CYC:254 SL:80\nDA78 70 BVS $DA7C       PC:DA79 A:40 X:F8 Y:00 P:67 SP:FB CYC:260 SL:80\nDA7C E8 INX             PC:DA7D A:40 X:F8 Y:00 P:67 SP:FB CYC:269 SL:80\nDA7D B8 CLV             PC:DA7E A:40 X:F9 Y:00 P:E5 SP:FB CYC:275 SL:80\nDA7E CE DEC $0400       PC:DA7F A:40 X:F9 Y:00 P:A5 SP:FB CYC:281 SL:80\nDA81 D1 CMP ($33), y    PC:DA82 A:40 X:F9 Y:00 P:25 SP:FB CYC:299 SL:80\nDA83 F0 BEQ $DA8B       PC:DA84 A:40 X:F9 Y:00 P:25 SP:FB CYC:314 SL:80\nDA85 30 BMI $DA8B       PC:DA86 A:40 X:F9 Y:00 P:25 SP:FB CYC:320 SL:80\nDA87 90 BCC $DA8B       PC:DA88 A:40 X:F9 Y:00 P:25 SP:FB CYC:326 SL:80\nDA89 50 BVC $DA8D       PC:DA8A A:40 X:F9 Y:00 P:25 SP:FB CYC:332 SL:80\nDA8D E8 INX             PC:DA8E A:40 X:F9 Y:00 P:25 SP:FB CYC:0 SL:81\nDA8E EE INC $0400       PC:DA8F A:40 X:FA Y:00 P:A5 SP:FB CYC:6 SL:81\nDA91 EE INC $0400       PC:DA92 A:40 X:FA Y:00 P:25 SP:FB CYC:24 SL:81\nDA94 D1 CMP ($33), y    PC:DA95 A:40 X:FA Y:00 P:25 SP:FB CYC:42 SL:81\nDA96 F0 BEQ $DA9A       PC:DA97 A:40 X:FA Y:00 P:A4 SP:FB CYC:57 SL:81\nDA98 30 BMI $DA9C       PC:DA99 A:40 X:FA Y:00 P:A4 SP:FB CYC:63 SL:81\nDA9C E8 INX             PC:DA9D A:40 X:FA Y:00 P:A4 SP:FB CYC:72 SL:81\nDA9D A9 LDA #$00        PC:DA9E A:40 X:FB Y:00 P:A4 SP:FB CYC:78 SL:81\nDA9F 8D STA $0400       PC:DAA0 A:00 X:FB Y:00 P:26 SP:FB CYC:84 SL:81\nDAA2 A9 LDA #$80        PC:DAA3 A:00 X:FB Y:00 P:26 SP:FB CYC:96 SL:81\nDAA4 D1 CMP ($33), y    PC:DAA5 A:80 X:FB Y:00 P:A4 SP:FB CYC:102 SL:81\nDAA6 F0 BEQ $DAAC       PC:DAA7 A:80 X:FB Y:00 P:A5 SP:FB CYC:117 SL:81\nDAA8 10 BPL $DAAC       PC:DAA9 A:80 X:FB Y:00 P:A5 SP:FB CYC:123 SL:81\nDAAA B0 BCS $DAAE       PC:DAAB A:80 X:FB Y:00 P:A5 SP:FB CYC:129 SL:81\nDAAE E8 INX             PC:DAAF A:80 X:FB Y:00 P:A5 SP:FB CYC:138 SL:81\nDAAF A0 LDY #$80        PC:DAB0 A:80 X:FC Y:00 P:A5 SP:FB CYC:144 SL:81\nDAB1 8C STY $0400       PC:DAB2 A:80 X:FC Y:80 P:A5 SP:FB CYC:150 SL:81\nDAB4 A0 LDY #$00        PC:DAB5 A:80 X:FC Y:80 P:A5 SP:FB CYC:162 SL:81\nDAB6 D1 CMP ($33), y    PC:DAB7 A:80 X:FC Y:00 P:27 SP:FB CYC:168 SL:81\nDAB8 D0 BNE $DABE       PC:DAB9 A:80 X:FC Y:00 P:27 SP:FB CYC:183 SL:81\nDABA 30 BMI $DABE       PC:DABB A:80 X:FC Y:00 P:27 SP:FB CYC:189 SL:81\nDABC B0 BCS $DAC0       PC:DABD A:80 X:FC Y:00 P:27 SP:FB CYC:195 SL:81\nDAC0 E8 INX             PC:DAC1 A:80 X:FC Y:00 P:27 SP:FB CYC:204 SL:81\nDAC1 EE INC $0400       PC:DAC2 A:80 X:FD Y:00 P:A5 SP:FB CYC:210 SL:81\nDAC4 D1 CMP ($33), y    PC:DAC5 A:80 X:FD Y:00 P:A5 SP:FB CYC:228 SL:81\nDAC6 B0 BCS $DACC       PC:DAC7 A:80 X:FD Y:00 P:A4 SP:FB CYC:243 SL:81\nDAC8 F0 BEQ $DACC       PC:DAC9 A:80 X:FD Y:00 P:A4 SP:FB CYC:249 SL:81\nDACA 30 BMI $DACE       PC:DACB A:80 X:FD Y:00 P:A4 SP:FB CYC:255 SL:81\nDACE E8 INX             PC:DACF A:80 X:FD Y:00 P:A4 SP:FB CYC:264 SL:81\nDACF CE DEC $0400       PC:DAD0 A:80 X:FE Y:00 P:A4 SP:FB CYC:270 SL:81\nDAD2 CE DEC $0400       PC:DAD3 A:80 X:FE Y:00 P:A4 SP:FB CYC:288 SL:81\nDAD5 D1 CMP ($33), y    PC:DAD6 A:80 X:FE Y:00 P:24 SP:FB CYC:306 SL:81\nDAD7 90 BCC $DADD       PC:DAD8 A:80 X:FE Y:00 P:25 SP:FB CYC:321 SL:81\nDAD9 F0 BEQ $DADD       PC:DADA A:80 X:FE Y:00 P:25 SP:FB CYC:327 SL:81\nDADB 10 BPL $DADF       PC:DADC A:80 X:FE Y:00 P:25 SP:FB CYC:333 SL:81\nDADF 60 RTS             PC:DAE0 A:80 X:FE Y:00 P:25 SP:FB CYC:1 SL:82\nC61B A5 LDA $00         PC:C61C A:80 X:FE Y:00 P:25 SP:FD CYC:19 SL:82\nC61D 85 STA $10         PC:C61E A:00 X:FE Y:00 P:27 SP:FD CYC:28 SL:82\nC61F A9 LDA #$00        PC:C620 A:00 X:FE Y:00 P:27 SP:FD CYC:37 SL:82\nC621 85 STA $00         PC:C622 A:00 X:FE Y:00 P:27 SP:FD CYC:43 SL:82\nC623 20 JSR $DAE0       PC:C624 A:00 X:FE Y:00 P:27 SP:FD CYC:52 SL:82\nDAE0 A9 LDA #$00        PC:DAE1 A:00 X:FE Y:00 P:27 SP:FB CYC:70 SL:82\nDAE2 85 STA $33         PC:DAE3 A:00 X:FE Y:00 P:27 SP:FB CYC:76 SL:82\nDAE4 A9 LDA #$04        PC:DAE5 A:00 X:FE Y:00 P:27 SP:FB CYC:85 SL:82\nDAE6 85 STA $34         PC:DAE7 A:04 X:FE Y:00 P:25 SP:FB CYC:91 SL:82\nDAE8 A0 LDY #$00        PC:DAE9 A:04 X:FE Y:00 P:25 SP:FB CYC:100 SL:82\nDAEA A2 LDX #$01        PC:DAEB A:04 X:FE Y:00 P:27 SP:FB CYC:106 SL:82\nDAEC 24 BIT $01         PC:DAED A:04 X:01 Y:00 P:25 SP:FB CYC:112 SL:82\nDAEE A9 LDA #$40        PC:DAEF A:04 X:01 Y:00 P:E5 SP:FB CYC:121 SL:82\nDAF0 8D STA $0400       PC:DAF1 A:40 X:01 Y:00 P:65 SP:FB CYC:127 SL:82\nDAF3 38 SEC             PC:DAF4 A:40 X:01 Y:00 P:65 SP:FB CYC:139 SL:82\nDAF4 F1 SBC ($33), y    PC:DAF5 A:40 X:01 Y:00 P:65 SP:FB CYC:145 SL:82\nDAF6 30 BMI $DB02       PC:DAF7 A:00 X:01 Y:00 P:27 SP:FB CYC:160 SL:82\nDAF8 90 BCC $DB02       PC:DAF9 A:00 X:01 Y:00 P:27 SP:FB CYC:166 SL:82\nDAFA D0 BNE $DB02       PC:DAFB A:00 X:01 Y:00 P:27 SP:FB CYC:172 SL:82\nDAFC 70 BVS $DB02       PC:DAFD A:00 X:01 Y:00 P:27 SP:FB CYC:178 SL:82\nDAFE C9 CMP #$00        PC:DAFF A:00 X:01 Y:00 P:27 SP:FB CYC:184 SL:82\nDB00 F0 BEQ $DB04       PC:DB01 A:00 X:01 Y:00 P:27 SP:FB CYC:190 SL:82\nDB04 E8 INX             PC:DB05 A:00 X:01 Y:00 P:27 SP:FB CYC:199 SL:82\nDB05 B8 CLV             PC:DB06 A:00 X:02 Y:00 P:25 SP:FB CYC:205 SL:82\nDB06 38 SEC             PC:DB07 A:00 X:02 Y:00 P:25 SP:FB CYC:211 SL:82\nDB07 A9 LDA #$40        PC:DB08 A:00 X:02 Y:00 P:25 SP:FB CYC:217 SL:82\nDB09 CE DEC $0400       PC:DB0A A:40 X:02 Y:00 P:25 SP:FB CYC:223 SL:82\nDB0C F1 SBC ($33), y    PC:DB0D A:40 X:02 Y:00 P:25 SP:FB CYC:241 SL:82\nDB0E F0 BEQ $DB1A       PC:DB0F A:01 X:02 Y:00 P:25 SP:FB CYC:256 SL:82\nDB10 30 BMI $DB1A       PC:DB11 A:01 X:02 Y:00 P:25 SP:FB CYC:262 SL:82\nDB12 90 BCC $DB1A       PC:DB13 A:01 X:02 Y:00 P:25 SP:FB CYC:268 SL:82\nDB14 70 BVS $DB1A       PC:DB15 A:01 X:02 Y:00 P:25 SP:FB CYC:274 SL:82\nDB16 C9 CMP #$01        PC:DB17 A:01 X:02 Y:00 P:25 SP:FB CYC:280 SL:82\nDB18 F0 BEQ $DB1C       PC:DB19 A:01 X:02 Y:00 P:27 SP:FB CYC:286 SL:82\nDB1C E8 INX             PC:DB1D A:01 X:02 Y:00 P:27 SP:FB CYC:295 SL:82\nDB1D A9 LDA #$40        PC:DB1E A:01 X:03 Y:00 P:25 SP:FB CYC:301 SL:82\nDB1F 38 SEC             PC:DB20 A:40 X:03 Y:00 P:25 SP:FB CYC:307 SL:82\nDB20 24 BIT $01         PC:DB21 A:40 X:03 Y:00 P:25 SP:FB CYC:313 SL:82\nDB22 EE INC $0400       PC:DB23 A:40 X:03 Y:00 P:E5 SP:FB CYC:322 SL:82\nDB25 EE INC $0400       PC:DB26 A:40 X:03 Y:00 P:65 SP:FB CYC:340 SL:82\nDB28 F1 SBC ($33), y    PC:DB29 A:40 X:03 Y:00 P:65 SP:FB CYC:17 SL:83\nDB2A B0 BCS $DB36       PC:DB2B A:FF X:03 Y:00 P:A4 SP:FB CYC:32 SL:83\nDB2C F0 BEQ $DB36       PC:DB2D A:FF X:03 Y:00 P:A4 SP:FB CYC:38 SL:83\nDB2E 10 BPL $DB36       PC:DB2F A:FF X:03 Y:00 P:A4 SP:FB CYC:44 SL:83\nDB30 70 BVS $DB36       PC:DB31 A:FF X:03 Y:00 P:A4 SP:FB CYC:50 SL:83\nDB32 C9 CMP #$FF        PC:DB33 A:FF X:03 Y:00 P:A4 SP:FB CYC:56 SL:83\nDB34 F0 BEQ $DB38       PC:DB35 A:FF X:03 Y:00 P:27 SP:FB CYC:62 SL:83\nDB38 E8 INX             PC:DB39 A:FF X:03 Y:00 P:27 SP:FB CYC:71 SL:83\nDB39 18 CLC             PC:DB3A A:FF X:04 Y:00 P:25 SP:FB CYC:77 SL:83\nDB3A A9 LDA #$00        PC:DB3B A:FF X:04 Y:00 P:24 SP:FB CYC:83 SL:83\nDB3C 8D STA $0400       PC:DB3D A:00 X:04 Y:00 P:26 SP:FB CYC:89 SL:83\nDB3F A9 LDA #$80        PC:DB40 A:00 X:04 Y:00 P:26 SP:FB CYC:101 SL:83\nDB41 F1 SBC ($33), y    PC:DB42 A:80 X:04 Y:00 P:A4 SP:FB CYC:107 SL:83\nDB43 90 BCC $DB49       PC:DB44 A:7F X:04 Y:00 P:65 SP:FB CYC:122 SL:83\nDB45 C9 CMP #$7F        PC:DB46 A:7F X:04 Y:00 P:65 SP:FB CYC:128 SL:83\nDB47 F0 BEQ $DB4B       PC:DB48 A:7F X:04 Y:00 P:67 SP:FB CYC:134 SL:83\nDB4B E8 INX             PC:DB4C A:7F X:04 Y:00 P:67 SP:FB CYC:143 SL:83\nDB4C 38 SEC             PC:DB4D A:7F X:05 Y:00 P:65 SP:FB CYC:149 SL:83\nDB4D A9 LDA #$7F        PC:DB4E A:7F X:05 Y:00 P:65 SP:FB CYC:155 SL:83\nDB4F 8D STA $0400       PC:DB50 A:7F X:05 Y:00 P:65 SP:FB CYC:161 SL:83\nDB52 A9 LDA #$81        PC:DB53 A:7F X:05 Y:00 P:65 SP:FB CYC:173 SL:83\nDB54 F1 SBC ($33), y    PC:DB55 A:81 X:05 Y:00 P:E5 SP:FB CYC:179 SL:83\nDB56 50 BVC $DB5E       PC:DB57 A:02 X:05 Y:00 P:65 SP:FB CYC:194 SL:83\nDB58 90 BCC $DB5E       PC:DB59 A:02 X:05 Y:00 P:65 SP:FB CYC:200 SL:83\nDB5A C9 CMP #$02        PC:DB5B A:02 X:05 Y:00 P:65 SP:FB CYC:206 SL:83\nDB5C F0 BEQ $DB60       PC:DB5D A:02 X:05 Y:00 P:67 SP:FB CYC:212 SL:83\nDB60 E8 INX             PC:DB61 A:02 X:05 Y:00 P:67 SP:FB CYC:221 SL:83\nDB61 A9 LDA #$00        PC:DB62 A:02 X:06 Y:00 P:65 SP:FB CYC:227 SL:83\nDB63 A9 LDA #$87        PC:DB64 A:00 X:06 Y:00 P:67 SP:FB CYC:233 SL:83\nDB65 91 STA ($33), y    PC:DB66 A:87 X:06 Y:00 P:E5 SP:FB CYC:239 SL:83\nDB67 AD LDA $0400       PC:DB68 A:87 X:06 Y:00 P:E5 SP:FB CYC:257 SL:83\nDB6A C9 CMP #$87        PC:DB6B A:87 X:06 Y:00 P:E5 SP:FB CYC:269 SL:83\nDB6C F0 BEQ $DB70       PC:DB6D A:87 X:06 Y:00 P:67 SP:FB CYC:275 SL:83\nDB70 E8 INX             PC:DB71 A:87 X:06 Y:00 P:67 SP:FB CYC:284 SL:83\nDB71 A9 LDA #$7E        PC:DB72 A:87 X:07 Y:00 P:65 SP:FB CYC:290 SL:83\nDB73 8D STA $0200       PC:DB74 A:7E X:07 Y:00 P:65 SP:FB CYC:296 SL:83\nDB76 A9 LDA #$DB        PC:DB77 A:7E X:07 Y:00 P:65 SP:FB CYC:308 SL:83\nDB78 8D STA $0201       PC:DB79 A:DB X:07 Y:00 P:E5 SP:FB CYC:314 SL:83\nDB7B 6C JMP ($0200)     PC:DB7C A:DB X:07 Y:00 P:E5 SP:FB CYC:326 SL:83\nDB7E A9 LDA #$00        PC:DB7F A:DB X:07 Y:00 P:E5 SP:FB CYC:0 SL:84\nDB80 8D STA $02FF       PC:DB81 A:00 X:07 Y:00 P:67 SP:FB CYC:6 SL:84\nDB83 A9 LDA #$01        PC:DB84 A:00 X:07 Y:00 P:67 SP:FB CYC:18 SL:84\nDB85 8D STA $0300       PC:DB86 A:01 X:07 Y:00 P:65 SP:FB CYC:24 SL:84\nDB88 A9 LDA #$03        PC:DB89 A:01 X:07 Y:00 P:65 SP:FB CYC:36 SL:84\nDB8A 8D STA $0200       PC:DB8B A:03 X:07 Y:00 P:65 SP:FB CYC:42 SL:84\nDB8D A9 LDA #$A9        PC:DB8E A:03 X:07 Y:00 P:65 SP:FB CYC:54 SL:84\nDB8F 8D STA $0100       PC:DB90 A:A9 X:07 Y:00 P:E5 SP:FB CYC:60 SL:84\nDB92 A9 LDA #$55        PC:DB93 A:A9 X:07 Y:00 P:E5 SP:FB CYC:72 SL:84\nDB94 8D STA $0101       PC:DB95 A:55 X:07 Y:00 P:65 SP:FB CYC:78 SL:84\nDB97 A9 LDA #$60        PC:DB98 A:55 X:07 Y:00 P:65 SP:FB CYC:90 SL:84\nDB99 8D STA $0102       PC:DB9A A:60 X:07 Y:00 P:65 SP:FB CYC:96 SL:84\nDB9C A9 LDA #$A9        PC:DB9D A:60 X:07 Y:00 P:65 SP:FB CYC:108 SL:84\nDB9E 8D STA $0300       PC:DB9F A:A9 X:07 Y:00 P:E5 SP:FB CYC:114 SL:84\nDBA1 A9 LDA #$AA        PC:DBA2 A:A9 X:07 Y:00 P:E5 SP:FB CYC:126 SL:84\nDBA3 8D STA $0301       PC:DBA4 A:AA X:07 Y:00 P:E5 SP:FB CYC:132 SL:84\nDBA6 A9 LDA #$60        PC:DBA7 A:AA X:07 Y:00 P:E5 SP:FB CYC:144 SL:84\nDBA8 8D STA $0302       PC:DBA9 A:60 X:07 Y:00 P:65 SP:FB CYC:150 SL:84\nDBAB 20 JSR $DBB5       PC:DBAC A:60 X:07 Y:00 P:65 SP:FB CYC:162 SL:84\nDBB5 6C JMP ($02FF)     PC:DBB6 A:60 X:07 Y:00 P:65 SP:F9 CYC:180 SL:84\n0300 A9 LDA #$AA        PC:0301 A:60 X:07 Y:00 P:65 SP:F9 CYC:195 SL:84\n0302 60 RTS             PC:0303 A:AA X:07 Y:00 P:E5 SP:F9 CYC:201 SL:84\nDBAE C9 CMP #$AA        PC:DBAF A:AA X:07 Y:00 P:E5 SP:FB CYC:219 SL:84\nDBB0 F0 BEQ $DBB4       PC:DBB1 A:AA X:07 Y:00 P:67 SP:FB CYC:225 SL:84\nDBB4 60 RTS             PC:DBB5 A:AA X:07 Y:00 P:67 SP:FB CYC:234 SL:84\nC626 20 JSR $DF4A       PC:C627 A:AA X:07 Y:00 P:67 SP:FD CYC:252 SL:84\nDF4A A9 LDA #$89        PC:DF4B A:AA X:07 Y:00 P:67 SP:FB CYC:270 SL:84\nDF4C 8D STA $0300       PC:DF4D A:89 X:07 Y:00 P:E5 SP:FB CYC:276 SL:84\nDF4F A9 LDA #$A3        PC:DF50 A:89 X:07 Y:00 P:E5 SP:FB CYC:288 SL:84\nDF51 85 STA $33         PC:DF52 A:A3 X:07 Y:00 P:E5 SP:FB CYC:294 SL:84\nDF53 A9 LDA #$12        PC:DF54 A:A3 X:07 Y:00 P:E5 SP:FB CYC:303 SL:84\nDF55 8D STA $0245       PC:DF56 A:12 X:07 Y:00 P:65 SP:FB CYC:309 SL:84\nDF58 A2 LDX #$65        PC:DF59 A:12 X:07 Y:00 P:65 SP:FB CYC:321 SL:84\nDF5A A0 LDY #$00        PC:DF5B A:12 X:65 Y:00 P:65 SP:FB CYC:327 SL:84\nDF5C 38 SEC             PC:DF5D A:12 X:65 Y:00 P:67 SP:FB CYC:333 SL:84\nDF5D A9 LDA #$00        PC:DF5E A:12 X:65 Y:00 P:67 SP:FB CYC:339 SL:84\nDF5F B8 CLV             PC:DF60 A:00 X:65 Y:00 P:67 SP:FB CYC:4 SL:85\nDF60 B9 LDA $0300,y     PC:DF61 A:00 X:65 Y:00 P:27 SP:FB CYC:10 SL:85\nDF63 F0 BEQ $DF71       PC:DF64 A:89 X:65 Y:00 P:A5 SP:FB CYC:22 SL:85\nDF65 90 BCC $DF71       PC:DF66 A:89 X:65 Y:00 P:A5 SP:FB CYC:28 SL:85\nDF67 70 BVS $DF71       PC:DF68 A:89 X:65 Y:00 P:A5 SP:FB CYC:34 SL:85\nDF69 C9 CMP #$89        PC:DF6A A:89 X:65 Y:00 P:A5 SP:FB CYC:40 SL:85\nDF6B D0 BNE $DF71       PC:DF6C A:89 X:65 Y:00 P:27 SP:FB CYC:46 SL:85\nDF6D E0 CPX #$65        PC:DF6E A:89 X:65 Y:00 P:27 SP:FB CYC:52 SL:85\nDF6F F0 BEQ $DF75       PC:DF70 A:89 X:65 Y:00 P:27 SP:FB CYC:58 SL:85\nDF75 A9 LDA #$FF        PC:DF76 A:89 X:65 Y:00 P:27 SP:FB CYC:67 SL:85\nDF77 85 STA $01         PC:DF78 A:FF X:65 Y:00 P:A5 SP:FB CYC:73 SL:85\nDF79 24 BIT $01         PC:DF7A A:FF X:65 Y:00 P:A5 SP:FB CYC:82 SL:85\nDF7B A0 LDY #$34        PC:DF7C A:FF X:65 Y:00 P:E5 SP:FB CYC:91 SL:85\nDF7D B9 LDA $FFFF,y     PC:DF7E A:FF X:65 Y:34 P:65 SP:FB CYC:97 SL:85\nDF80 C9 CMP #$A3        PC:DF81 A:A3 X:65 Y:34 P:E5 SP:FB CYC:112 SL:85\nDF82 D0 BNE $DF86       PC:DF83 A:A3 X:65 Y:34 P:67 SP:FB CYC:118 SL:85\nDF84 B0 BCS $DF8A       PC:DF85 A:A3 X:65 Y:34 P:67 SP:FB CYC:124 SL:85\nDF8A A9 LDA #$46        PC:DF8B A:A3 X:65 Y:34 P:67 SP:FB CYC:133 SL:85\nDF8C 85 STA $FF         PC:DF8D A:46 X:65 Y:34 P:65 SP:FB CYC:139 SL:85\nDF8E A0 LDY #$FF        PC:DF8F A:46 X:65 Y:34 P:65 SP:FB CYC:148 SL:85\nDF90 B9 LDA $0146,y     PC:DF91 A:46 X:65 Y:FF P:E5 SP:FB CYC:154 SL:85\nDF93 C9 CMP #$12        PC:DF94 A:12 X:65 Y:FF P:65 SP:FB CYC:169 SL:85\nDF95 F0 BEQ $DF9B       PC:DF96 A:12 X:65 Y:FF P:67 SP:FB CYC:175 SL:85\nDF9B A2 LDX #$39        PC:DF9C A:12 X:65 Y:FF P:67 SP:FB CYC:184 SL:85\nDF9D 18 CLC             PC:DF9E A:12 X:39 Y:FF P:65 SP:FB CYC:190 SL:85\nDF9E A9 LDA #$FF        PC:DF9F A:12 X:39 Y:FF P:64 SP:FB CYC:196 SL:85\nDFA0 85 STA $01         PC:DFA1 A:FF X:39 Y:FF P:E4 SP:FB CYC:202 SL:85\nDFA2 24 BIT $01         PC:DFA3 A:FF X:39 Y:FF P:E4 SP:FB CYC:211 SL:85\nDFA4 A9 LDA #$AA        PC:DFA5 A:FF X:39 Y:FF P:E4 SP:FB CYC:220 SL:85\nDFA6 8D STA $0400       PC:DFA7 A:AA X:39 Y:FF P:E4 SP:FB CYC:226 SL:85\nDFA9 A9 LDA #$55        PC:DFAA A:AA X:39 Y:FF P:E4 SP:FB CYC:238 SL:85\nDFAB A0 LDY #$00        PC:DFAC A:55 X:39 Y:FF P:64 SP:FB CYC:244 SL:85\nDFAD 19 ORA $0400,y     PC:DFAE A:55 X:39 Y:00 P:66 SP:FB CYC:250 SL:85\nDFB0 B0 BCS $DFBA       PC:DFB1 A:FF X:39 Y:00 P:E4 SP:FB CYC:262 SL:85\nDFB2 10 BPL $DFBA       PC:DFB3 A:FF X:39 Y:00 P:E4 SP:FB CYC:268 SL:85\nDFB4 C9 CMP #$FF        PC:DFB5 A:FF X:39 Y:00 P:E4 SP:FB CYC:274 SL:85\nDFB6 D0 BNE $DFBA       PC:DFB7 A:FF X:39 Y:00 P:67 SP:FB CYC:280 SL:85\nDFB8 70 BVS $DFBC       PC:DFB9 A:FF X:39 Y:00 P:67 SP:FB CYC:286 SL:85\nDFBC E8 INX             PC:DFBD A:FF X:39 Y:00 P:67 SP:FB CYC:295 SL:85\nDFBD 38 SEC             PC:DFBE A:FF X:3A Y:00 P:65 SP:FB CYC:301 SL:85\nDFBE B8 CLV             PC:DFBF A:FF X:3A Y:00 P:65 SP:FB CYC:307 SL:85\nDFBF A9 LDA #$00        PC:DFC0 A:FF X:3A Y:00 P:25 SP:FB CYC:313 SL:85\nDFC1 19 ORA $0400,y     PC:DFC2 A:00 X:3A Y:00 P:27 SP:FB CYC:319 SL:85\nDFC4 F0 BEQ $DFCC       PC:DFC5 A:AA X:3A Y:00 P:A5 SP:FB CYC:331 SL:85\nDFC6 70 BVS $DFCC       PC:DFC7 A:AA X:3A Y:00 P:A5 SP:FB CYC:337 SL:85\nDFC8 90 BCC $DFCC       PC:DFC9 A:AA X:3A Y:00 P:A5 SP:FB CYC:2 SL:86\nDFCA 30 BMI $DFCE       PC:DFCB A:AA X:3A Y:00 P:A5 SP:FB CYC:8 SL:86\nDFCE E8 INX             PC:DFCF A:AA X:3A Y:00 P:A5 SP:FB CYC:17 SL:86\nDFCF 18 CLC             PC:DFD0 A:AA X:3B Y:00 P:25 SP:FB CYC:23 SL:86\nDFD0 24 BIT $01         PC:DFD1 A:AA X:3B Y:00 P:24 SP:FB CYC:29 SL:86\nDFD2 A9 LDA #$55        PC:DFD3 A:AA X:3B Y:00 P:E4 SP:FB CYC:38 SL:86\nDFD4 39 AND $0400,y     PC:DFD5 A:55 X:3B Y:00 P:64 SP:FB CYC:44 SL:86\nDFD7 D0 BNE $DFDF       PC:DFD8 A:00 X:3B Y:00 P:66 SP:FB CYC:56 SL:86\nDFD9 50 BVC $DFDF       PC:DFDA A:00 X:3B Y:00 P:66 SP:FB CYC:62 SL:86\nDFDB B0 BCS $DFDF       PC:DFDC A:00 X:3B Y:00 P:66 SP:FB CYC:68 SL:86\nDFDD 10 BPL $DFE1       PC:DFDE A:00 X:3B Y:00 P:66 SP:FB CYC:74 SL:86\nDFE1 E8 INX             PC:DFE2 A:00 X:3B Y:00 P:66 SP:FB CYC:83 SL:86\nDFE2 38 SEC             PC:DFE3 A:00 X:3C Y:00 P:64 SP:FB CYC:89 SL:86\nDFE3 B8 CLV             PC:DFE4 A:00 X:3C Y:00 P:65 SP:FB CYC:95 SL:86\nDFE4 A9 LDA #$EF        PC:DFE5 A:00 X:3C Y:00 P:25 SP:FB CYC:101 SL:86\nDFE6 8D STA $0400       PC:DFE7 A:EF X:3C Y:00 P:A5 SP:FB CYC:107 SL:86\nDFE9 A9 LDA #$F8        PC:DFEA A:EF X:3C Y:00 P:A5 SP:FB CYC:119 SL:86\nDFEB 39 AND $0400,y     PC:DFEC A:F8 X:3C Y:00 P:A5 SP:FB CYC:125 SL:86\nDFEE 90 BCC $DFF8       PC:DFEF A:E8 X:3C Y:00 P:A5 SP:FB CYC:137 SL:86\nDFF0 10 BPL $DFF8       PC:DFF1 A:E8 X:3C Y:00 P:A5 SP:FB CYC:143 SL:86\nDFF2 C9 CMP #$E8        PC:DFF3 A:E8 X:3C Y:00 P:A5 SP:FB CYC:149 SL:86\nDFF4 D0 BNE $DFF8       PC:DFF5 A:E8 X:3C Y:00 P:27 SP:FB CYC:155 SL:86\nDFF6 50 BVC $DFFA       PC:DFF7 A:E8 X:3C Y:00 P:27 SP:FB CYC:161 SL:86\nDFFA E8 INX             PC:DFFB A:E8 X:3C Y:00 P:27 SP:FB CYC:170 SL:86\nDFFB 18 CLC             PC:DFFC A:E8 X:3D Y:00 P:25 SP:FB CYC:176 SL:86\nDFFC 24 BIT $01         PC:DFFD A:E8 X:3D Y:00 P:24 SP:FB CYC:182 SL:86\nDFFE A9 LDA #$AA        PC:DFFF A:E8 X:3D Y:00 P:E4 SP:FB CYC:191 SL:86\nE000 8D STA $0400       PC:E001 A:AA X:3D Y:00 P:E4 SP:FB CYC:197 SL:86\nE003 A9 LDA #$5F        PC:E004 A:AA X:3D Y:00 P:E4 SP:FB CYC:209 SL:86\nE005 59 EOR $0400,y     PC:E006 A:5F X:3D Y:00 P:64 SP:FB CYC:215 SL:86\nE008 B0 BCS $E012       PC:E009 A:F5 X:3D Y:00 P:E4 SP:FB CYC:227 SL:86\nE00A 10 BPL $E012       PC:E00B A:F5 X:3D Y:00 P:E4 SP:FB CYC:233 SL:86\nE00C C9 CMP #$F5        PC:E00D A:F5 X:3D Y:00 P:E4 SP:FB CYC:239 SL:86\nE00E D0 BNE $E012       PC:E00F A:F5 X:3D Y:00 P:67 SP:FB CYC:245 SL:86\nE010 70 BVS $E014       PC:E011 A:F5 X:3D Y:00 P:67 SP:FB CYC:251 SL:86\nE014 E8 INX             PC:E015 A:F5 X:3D Y:00 P:67 SP:FB CYC:260 SL:86\nE015 38 SEC             PC:E016 A:F5 X:3E Y:00 P:65 SP:FB CYC:266 SL:86\nE016 B8 CLV             PC:E017 A:F5 X:3E Y:00 P:65 SP:FB CYC:272 SL:86\nE017 A9 LDA #$70        PC:E018 A:F5 X:3E Y:00 P:25 SP:FB CYC:278 SL:86\nE019 8D STA $0400       PC:E01A A:70 X:3E Y:00 P:25 SP:FB CYC:284 SL:86\nE01C 59 EOR $0400,y     PC:E01D A:70 X:3E Y:00 P:25 SP:FB CYC:296 SL:86\nE01F D0 BNE $E027       PC:E020 A:00 X:3E Y:00 P:27 SP:FB CYC:308 SL:86\nE021 70 BVS $E027       PC:E022 A:00 X:3E Y:00 P:27 SP:FB CYC:314 SL:86\nE023 90 BCC $E027       PC:E024 A:00 X:3E Y:00 P:27 SP:FB CYC:320 SL:86\nE025 10 BPL $E029       PC:E026 A:00 X:3E Y:00 P:27 SP:FB CYC:326 SL:86\nE029 E8 INX             PC:E02A A:00 X:3E Y:00 P:27 SP:FB CYC:335 SL:86\nE02A 18 CLC             PC:E02B A:00 X:3F Y:00 P:25 SP:FB CYC:0 SL:87\nE02B 24 BIT $01         PC:E02C A:00 X:3F Y:00 P:24 SP:FB CYC:6 SL:87\nE02D A9 LDA #$69        PC:E02E A:00 X:3F Y:00 P:E6 SP:FB CYC:15 SL:87\nE02F 8D STA $0400       PC:E030 A:69 X:3F Y:00 P:64 SP:FB CYC:21 SL:87\nE032 A9 LDA #$00        PC:E033 A:69 X:3F Y:00 P:64 SP:FB CYC:33 SL:87\nE034 79 ADC $0400,y     PC:E035 A:00 X:3F Y:00 P:66 SP:FB CYC:39 SL:87\nE037 30 BMI $E041       PC:E038 A:69 X:3F Y:00 P:24 SP:FB CYC:51 SL:87\nE039 B0 BCS $E041       PC:E03A A:69 X:3F Y:00 P:24 SP:FB CYC:57 SL:87\nE03B C9 CMP #$69        PC:E03C A:69 X:3F Y:00 P:24 SP:FB CYC:63 SL:87\nE03D D0 BNE $E041       PC:E03E A:69 X:3F Y:00 P:27 SP:FB CYC:69 SL:87\nE03F 50 BVC $E043       PC:E040 A:69 X:3F Y:00 P:27 SP:FB CYC:75 SL:87\nE043 E8 INX             PC:E044 A:69 X:3F Y:00 P:27 SP:FB CYC:84 SL:87\nE044 38 SEC             PC:E045 A:69 X:40 Y:00 P:25 SP:FB CYC:90 SL:87\nE045 24 BIT $01         PC:E046 A:69 X:40 Y:00 P:25 SP:FB CYC:96 SL:87\nE047 A9 LDA #$00        PC:E048 A:69 X:40 Y:00 P:E5 SP:FB CYC:105 SL:87\nE049 79 ADC $0400,y     PC:E04A A:00 X:40 Y:00 P:67 SP:FB CYC:111 SL:87\nE04C 30 BMI $E056       PC:E04D A:6A X:40 Y:00 P:24 SP:FB CYC:123 SL:87\nE04E B0 BCS $E056       PC:E04F A:6A X:40 Y:00 P:24 SP:FB CYC:129 SL:87\nE050 C9 CMP #$6A        PC:E051 A:6A X:40 Y:00 P:24 SP:FB CYC:135 SL:87\nE052 D0 BNE $E056       PC:E053 A:6A X:40 Y:00 P:27 SP:FB CYC:141 SL:87\nE054 50 BVC $E058       PC:E055 A:6A X:40 Y:00 P:27 SP:FB CYC:147 SL:87\nE058 E8 INX             PC:E059 A:6A X:40 Y:00 P:27 SP:FB CYC:156 SL:87\nE059 38 SEC             PC:E05A A:6A X:41 Y:00 P:25 SP:FB CYC:162 SL:87\nE05A B8 CLV             PC:E05B A:6A X:41 Y:00 P:25 SP:FB CYC:168 SL:87\nE05B A9 LDA #$7F        PC:E05C A:6A X:41 Y:00 P:25 SP:FB CYC:174 SL:87\nE05D 8D STA $0400       PC:E05E A:7F X:41 Y:00 P:25 SP:FB CYC:180 SL:87\nE060 79 ADC $0400,y     PC:E061 A:7F X:41 Y:00 P:25 SP:FB CYC:192 SL:87\nE063 10 BPL $E06D       PC:E064 A:FF X:41 Y:00 P:E4 SP:FB CYC:204 SL:87\nE065 B0 BCS $E06D       PC:E066 A:FF X:41 Y:00 P:E4 SP:FB CYC:210 SL:87\nE067 C9 CMP #$FF        PC:E068 A:FF X:41 Y:00 P:E4 SP:FB CYC:216 SL:87\nE069 D0 BNE $E06D       PC:E06A A:FF X:41 Y:00 P:67 SP:FB CYC:222 SL:87\nE06B 70 BVS $E06F       PC:E06C A:FF X:41 Y:00 P:67 SP:FB CYC:228 SL:87\nE06F E8 INX             PC:E070 A:FF X:41 Y:00 P:67 SP:FB CYC:237 SL:87\nE070 18 CLC             PC:E071 A:FF X:42 Y:00 P:65 SP:FB CYC:243 SL:87\nE071 24 BIT $01         PC:E072 A:FF X:42 Y:00 P:64 SP:FB CYC:249 SL:87\nE073 A9 LDA #$80        PC:E074 A:FF X:42 Y:00 P:E4 SP:FB CYC:258 SL:87\nE075 8D STA $0400       PC:E076 A:80 X:42 Y:00 P:E4 SP:FB CYC:264 SL:87\nE078 A9 LDA #$7F        PC:E079 A:80 X:42 Y:00 P:E4 SP:FB CYC:276 SL:87\nE07A 79 ADC $0400,y     PC:E07B A:7F X:42 Y:00 P:64 SP:FB CYC:282 SL:87\nE07D 10 BPL $E087       PC:E07E A:FF X:42 Y:00 P:A4 SP:FB CYC:294 SL:87\nE07F B0 BCS $E087       PC:E080 A:FF X:42 Y:00 P:A4 SP:FB CYC:300 SL:87\nE081 C9 CMP #$FF        PC:E082 A:FF X:42 Y:00 P:A4 SP:FB CYC:306 SL:87\nE083 D0 BNE $E087       PC:E084 A:FF X:42 Y:00 P:27 SP:FB CYC:312 SL:87\nE085 50 BVC $E089       PC:E086 A:FF X:42 Y:00 P:27 SP:FB CYC:318 SL:87\nE089 E8 INX             PC:E08A A:FF X:42 Y:00 P:27 SP:FB CYC:327 SL:87\nE08A 38 SEC             PC:E08B A:FF X:43 Y:00 P:25 SP:FB CYC:333 SL:87\nE08B B8 CLV             PC:E08C A:FF X:43 Y:00 P:25 SP:FB CYC:339 SL:87\nE08C A9 LDA #$80        PC:E08D A:FF X:43 Y:00 P:25 SP:FB CYC:4 SL:88\nE08E 8D STA $0400       PC:E08F A:80 X:43 Y:00 P:A5 SP:FB CYC:10 SL:88\nE091 A9 LDA #$7F        PC:E092 A:80 X:43 Y:00 P:A5 SP:FB CYC:22 SL:88\nE093 79 ADC $0400,y     PC:E094 A:7F X:43 Y:00 P:25 SP:FB CYC:28 SL:88\nE096 D0 BNE $E09E       PC:E097 A:00 X:43 Y:00 P:27 SP:FB CYC:40 SL:88\nE098 30 BMI $E09E       PC:E099 A:00 X:43 Y:00 P:27 SP:FB CYC:46 SL:88\nE09A 70 BVS $E09E       PC:E09B A:00 X:43 Y:00 P:27 SP:FB CYC:52 SL:88\nE09C B0 BCS $E0A0       PC:E09D A:00 X:43 Y:00 P:27 SP:FB CYC:58 SL:88\nE0A0 E8 INX             PC:E0A1 A:00 X:43 Y:00 P:27 SP:FB CYC:67 SL:88\nE0A1 24 BIT $01         PC:E0A2 A:00 X:44 Y:00 P:25 SP:FB CYC:73 SL:88\nE0A3 A9 LDA #$40        PC:E0A4 A:00 X:44 Y:00 P:E7 SP:FB CYC:82 SL:88\nE0A5 8D STA $0400       PC:E0A6 A:40 X:44 Y:00 P:65 SP:FB CYC:88 SL:88\nE0A8 D9 CMP $0400,y     PC:E0A9 A:40 X:44 Y:00 P:65 SP:FB CYC:100 SL:88\nE0AB 30 BMI $E0B3       PC:E0AC A:40 X:44 Y:00 P:67 SP:FB CYC:112 SL:88\nE0AD 90 BCC $E0B3       PC:E0AE A:40 X:44 Y:00 P:67 SP:FB CYC:118 SL:88\nE0AF D0 BNE $E0B3       PC:E0B0 A:40 X:44 Y:00 P:67 SP:FB CYC:124 SL:88\nE0B1 70 BVS $E0B5       PC:E0B2 A:40 X:44 Y:00 P:67 SP:FB CYC:130 SL:88\nE0B5 E8 INX             PC:E0B6 A:40 X:44 Y:00 P:67 SP:FB CYC:139 SL:88\nE0B6 B8 CLV             PC:E0B7 A:40 X:45 Y:00 P:65 SP:FB CYC:145 SL:88\nE0B7 CE DEC $0400       PC:E0B8 A:40 X:45 Y:00 P:25 SP:FB CYC:151 SL:88\nE0BA D9 CMP $0400,y     PC:E0BB A:40 X:45 Y:00 P:25 SP:FB CYC:169 SL:88\nE0BD F0 BEQ $E0C5       PC:E0BE A:40 X:45 Y:00 P:25 SP:FB CYC:181 SL:88\nE0BF 30 BMI $E0C5       PC:E0C0 A:40 X:45 Y:00 P:25 SP:FB CYC:187 SL:88\nE0C1 90 BCC $E0C5       PC:E0C2 A:40 X:45 Y:00 P:25 SP:FB CYC:193 SL:88\nE0C3 50 BVC $E0C7       PC:E0C4 A:40 X:45 Y:00 P:25 SP:FB CYC:199 SL:88\nE0C7 E8 INX             PC:E0C8 A:40 X:45 Y:00 P:25 SP:FB CYC:208 SL:88\nE0C8 EE INC $0400       PC:E0C9 A:40 X:46 Y:00 P:25 SP:FB CYC:214 SL:88\nE0CB EE INC $0400       PC:E0CC A:40 X:46 Y:00 P:25 SP:FB CYC:232 SL:88\nE0CE D9 CMP $0400,y     PC:E0CF A:40 X:46 Y:00 P:25 SP:FB CYC:250 SL:88\nE0D1 F0 BEQ $E0D5       PC:E0D2 A:40 X:46 Y:00 P:A4 SP:FB CYC:262 SL:88\nE0D3 30 BMI $E0D7       PC:E0D4 A:40 X:46 Y:00 P:A4 SP:FB CYC:268 SL:88\nE0D7 E8 INX             PC:E0D8 A:40 X:46 Y:00 P:A4 SP:FB CYC:277 SL:88\nE0D8 A9 LDA #$00        PC:E0D9 A:40 X:47 Y:00 P:24 SP:FB CYC:283 SL:88\nE0DA 8D STA $0400       PC:E0DB A:00 X:47 Y:00 P:26 SP:FB CYC:289 SL:88\nE0DD A9 LDA #$80        PC:E0DE A:00 X:47 Y:00 P:26 SP:FB CYC:301 SL:88\nE0DF D9 CMP $0400,y     PC:E0E0 A:80 X:47 Y:00 P:A4 SP:FB CYC:307 SL:88\nE0E2 F0 BEQ $E0E8       PC:E0E3 A:80 X:47 Y:00 P:A5 SP:FB CYC:319 SL:88\nE0E4 10 BPL $E0E8       PC:E0E5 A:80 X:47 Y:00 P:A5 SP:FB CYC:325 SL:88\nE0E6 B0 BCS $E0EA       PC:E0E7 A:80 X:47 Y:00 P:A5 SP:FB CYC:331 SL:88\nE0EA E8 INX             PC:E0EB A:80 X:47 Y:00 P:A5 SP:FB CYC:340 SL:88\nE0EB A0 LDY #$80        PC:E0EC A:80 X:48 Y:00 P:25 SP:FB CYC:5 SL:89\nE0ED 8C STY $0400       PC:E0EE A:80 X:48 Y:80 P:A5 SP:FB CYC:11 SL:89\nE0F0 A0 LDY #$00        PC:E0F1 A:80 X:48 Y:80 P:A5 SP:FB CYC:23 SL:89\nE0F2 D9 CMP $0400,y     PC:E0F3 A:80 X:48 Y:00 P:27 SP:FB CYC:29 SL:89\nE0F5 D0 BNE $E0FB       PC:E0F6 A:80 X:48 Y:00 P:27 SP:FB CYC:41 SL:89\nE0F7 30 BMI $E0FB       PC:E0F8 A:80 X:48 Y:00 P:27 SP:FB CYC:47 SL:89\nE0F9 B0 BCS $E0FD       PC:E0FA A:80 X:48 Y:00 P:27 SP:FB CYC:53 SL:89\nE0FD E8 INX             PC:E0FE A:80 X:48 Y:00 P:27 SP:FB CYC:62 SL:89\nE0FE EE INC $0400       PC:E0FF A:80 X:49 Y:00 P:25 SP:FB CYC:68 SL:89\nE101 D9 CMP $0400,y     PC:E102 A:80 X:49 Y:00 P:A5 SP:FB CYC:86 SL:89\nE104 B0 BCS $E10A       PC:E105 A:80 X:49 Y:00 P:A4 SP:FB CYC:98 SL:89\nE106 F0 BEQ $E10A       PC:E107 A:80 X:49 Y:00 P:A4 SP:FB CYC:104 SL:89\nE108 30 BMI $E10C       PC:E109 A:80 X:49 Y:00 P:A4 SP:FB CYC:110 SL:89\nE10C E8 INX             PC:E10D A:80 X:49 Y:00 P:A4 SP:FB CYC:119 SL:89\nE10D CE DEC $0400       PC:E10E A:80 X:4A Y:00 P:24 SP:FB CYC:125 SL:89\nE110 CE DEC $0400       PC:E111 A:80 X:4A Y:00 P:A4 SP:FB CYC:143 SL:89\nE113 D9 CMP $0400,y     PC:E114 A:80 X:4A Y:00 P:24 SP:FB CYC:161 SL:89\nE116 90 BCC $E11C       PC:E117 A:80 X:4A Y:00 P:25 SP:FB CYC:173 SL:89\nE118 F0 BEQ $E11C       PC:E119 A:80 X:4A Y:00 P:25 SP:FB CYC:179 SL:89\nE11A 10 BPL $E11E       PC:E11B A:80 X:4A Y:00 P:25 SP:FB CYC:185 SL:89\nE11E E8 INX             PC:E11F A:80 X:4A Y:00 P:25 SP:FB CYC:194 SL:89\nE11F 24 BIT $01         PC:E120 A:80 X:4B Y:00 P:25 SP:FB CYC:200 SL:89\nE121 A9 LDA #$40        PC:E122 A:80 X:4B Y:00 P:E5 SP:FB CYC:209 SL:89\nE123 8D STA $0400       PC:E124 A:40 X:4B Y:00 P:65 SP:FB CYC:215 SL:89\nE126 38 SEC             PC:E127 A:40 X:4B Y:00 P:65 SP:FB CYC:227 SL:89\nE127 F9 SBC $0400,y     PC:E128 A:40 X:4B Y:00 P:65 SP:FB CYC:233 SL:89\nE12A 30 BMI $E136       PC:E12B A:00 X:4B Y:00 P:27 SP:FB CYC:245 SL:89\nE12C 90 BCC $E136       PC:E12D A:00 X:4B Y:00 P:27 SP:FB CYC:251 SL:89\nE12E D0 BNE $E136       PC:E12F A:00 X:4B Y:00 P:27 SP:FB CYC:257 SL:89\nE130 70 BVS $E136       PC:E131 A:00 X:4B Y:00 P:27 SP:FB CYC:263 SL:89\nE132 C9 CMP #$00        PC:E133 A:00 X:4B Y:00 P:27 SP:FB CYC:269 SL:89\nE134 F0 BEQ $E138       PC:E135 A:00 X:4B Y:00 P:27 SP:FB CYC:275 SL:89\nE138 E8 INX             PC:E139 A:00 X:4B Y:00 P:27 SP:FB CYC:284 SL:89\nE139 B8 CLV             PC:E13A A:00 X:4C Y:00 P:25 SP:FB CYC:290 SL:89\nE13A 38 SEC             PC:E13B A:00 X:4C Y:00 P:25 SP:FB CYC:296 SL:89\nE13B A9 LDA #$40        PC:E13C A:00 X:4C Y:00 P:25 SP:FB CYC:302 SL:89\nE13D CE DEC $0400       PC:E13E A:40 X:4C Y:00 P:25 SP:FB CYC:308 SL:89\nE140 F9 SBC $0400,y     PC:E141 A:40 X:4C Y:00 P:25 SP:FB CYC:326 SL:89\nE143 F0 BEQ $E14F       PC:E144 A:01 X:4C Y:00 P:25 SP:FB CYC:338 SL:89\nE145 30 BMI $E14F       PC:E146 A:01 X:4C Y:00 P:25 SP:FB CYC:3 SL:90\nE147 90 BCC $E14F       PC:E148 A:01 X:4C Y:00 P:25 SP:FB CYC:9 SL:90\nE149 70 BVS $E14F       PC:E14A A:01 X:4C Y:00 P:25 SP:FB CYC:15 SL:90\nE14B C9 CMP #$01        PC:E14C A:01 X:4C Y:00 P:25 SP:FB CYC:21 SL:90\nE14D F0 BEQ $E151       PC:E14E A:01 X:4C Y:00 P:27 SP:FB CYC:27 SL:90\nE151 E8 INX             PC:E152 A:01 X:4C Y:00 P:27 SP:FB CYC:36 SL:90\nE152 A9 LDA #$40        PC:E153 A:01 X:4D Y:00 P:25 SP:FB CYC:42 SL:90\nE154 38 SEC             PC:E155 A:40 X:4D Y:00 P:25 SP:FB CYC:48 SL:90\nE155 24 BIT $01         PC:E156 A:40 X:4D Y:00 P:25 SP:FB CYC:54 SL:90\nE157 EE INC $0400       PC:E158 A:40 X:4D Y:00 P:E5 SP:FB CYC:63 SL:90\nE15A EE INC $0400       PC:E15B A:40 X:4D Y:00 P:65 SP:FB CYC:81 SL:90\nE15D F9 SBC $0400,y     PC:E15E A:40 X:4D Y:00 P:65 SP:FB CYC:99 SL:90\nE160 B0 BCS $E16C       PC:E161 A:FF X:4D Y:00 P:A4 SP:FB CYC:111 SL:90\nE162 F0 BEQ $E16C       PC:E163 A:FF X:4D Y:00 P:A4 SP:FB CYC:117 SL:90\nE164 10 BPL $E16C       PC:E165 A:FF X:4D Y:00 P:A4 SP:FB CYC:123 SL:90\nE166 70 BVS $E16C       PC:E167 A:FF X:4D Y:00 P:A4 SP:FB CYC:129 SL:90\nE168 C9 CMP #$FF        PC:E169 A:FF X:4D Y:00 P:A4 SP:FB CYC:135 SL:90\nE16A F0 BEQ $E16E       PC:E16B A:FF X:4D Y:00 P:27 SP:FB CYC:141 SL:90\nE16E E8 INX             PC:E16F A:FF X:4D Y:00 P:27 SP:FB CYC:150 SL:90\nE16F 18 CLC             PC:E170 A:FF X:4E Y:00 P:25 SP:FB CYC:156 SL:90\nE170 A9 LDA #$00        PC:E171 A:FF X:4E Y:00 P:24 SP:FB CYC:162 SL:90\nE172 8D STA $0400       PC:E173 A:00 X:4E Y:00 P:26 SP:FB CYC:168 SL:90\nE175 A9 LDA #$80        PC:E176 A:00 X:4E Y:00 P:26 SP:FB CYC:180 SL:90\nE177 F9 SBC $0400,y     PC:E178 A:80 X:4E Y:00 P:A4 SP:FB CYC:186 SL:90\nE17A 90 BCC $E180       PC:E17B A:7F X:4E Y:00 P:65 SP:FB CYC:198 SL:90\nE17C C9 CMP #$7F        PC:E17D A:7F X:4E Y:00 P:65 SP:FB CYC:204 SL:90\nE17E F0 BEQ $E182       PC:E17F A:7F X:4E Y:00 P:67 SP:FB CYC:210 SL:90\nE182 E8 INX             PC:E183 A:7F X:4E Y:00 P:67 SP:FB CYC:219 SL:90\nE183 38 SEC             PC:E184 A:7F X:4F Y:00 P:65 SP:FB CYC:225 SL:90\nE184 A9 LDA #$7F        PC:E185 A:7F X:4F Y:00 P:65 SP:FB CYC:231 SL:90\nE186 8D STA $0400       PC:E187 A:7F X:4F Y:00 P:65 SP:FB CYC:237 SL:90\nE189 A9 LDA #$81        PC:E18A A:7F X:4F Y:00 P:65 SP:FB CYC:249 SL:90\nE18B F9 SBC $0400,y     PC:E18C A:81 X:4F Y:00 P:E5 SP:FB CYC:255 SL:90\nE18E 50 BVC $E196       PC:E18F A:02 X:4F Y:00 P:65 SP:FB CYC:267 SL:90\nE190 90 BCC $E196       PC:E191 A:02 X:4F Y:00 P:65 SP:FB CYC:273 SL:90\nE192 C9 CMP #$02        PC:E193 A:02 X:4F Y:00 P:65 SP:FB CYC:279 SL:90\nE194 F0 BEQ $E198       PC:E195 A:02 X:4F Y:00 P:67 SP:FB CYC:285 SL:90\nE198 E8 INX             PC:E199 A:02 X:4F Y:00 P:67 SP:FB CYC:294 SL:90\nE199 A9 LDA #$00        PC:E19A A:02 X:50 Y:00 P:65 SP:FB CYC:300 SL:90\nE19B A9 LDA #$87        PC:E19C A:00 X:50 Y:00 P:67 SP:FB CYC:306 SL:90\nE19D 99 STA $0400,y     PC:E19E A:87 X:50 Y:00 P:E5 SP:FB CYC:312 SL:90\nE1A0 AD LDA $0400       PC:E1A1 A:87 X:50 Y:00 P:E5 SP:FB CYC:327 SL:90\nE1A3 C9 CMP #$87        PC:E1A4 A:87 X:50 Y:00 P:E5 SP:FB CYC:339 SL:90\nE1A5 F0 BEQ $E1A9       PC:E1A6 A:87 X:50 Y:00 P:67 SP:FB CYC:4 SL:91\nE1A9 60 RTS             PC:E1AA A:87 X:50 Y:00 P:67 SP:FB CYC:13 SL:91\nC629 20 JSR $DBB8       PC:C62A A:87 X:50 Y:00 P:67 SP:FD CYC:31 SL:91\nDBB8 A9 LDA #$FF        PC:DBB9 A:87 X:50 Y:00 P:67 SP:FB CYC:49 SL:91\nDBBA 85 STA $01         PC:DBBB A:FF X:50 Y:00 P:E5 SP:FB CYC:55 SL:91\nDBBC A9 LDA #$AA        PC:DBBD A:FF X:50 Y:00 P:E5 SP:FB CYC:64 SL:91\nDBBE 85 STA $33         PC:DBBF A:AA X:50 Y:00 P:E5 SP:FB CYC:70 SL:91\nDBC0 A9 LDA #$BB        PC:DBC1 A:AA X:50 Y:00 P:E5 SP:FB CYC:79 SL:91\nDBC2 85 STA $89         PC:DBC3 A:BB X:50 Y:00 P:E5 SP:FB CYC:85 SL:91\nDBC4 A2 LDX #$00        PC:DBC5 A:BB X:50 Y:00 P:E5 SP:FB CYC:94 SL:91\nDBC6 A9 LDA #$66        PC:DBC7 A:BB X:00 Y:00 P:67 SP:FB CYC:100 SL:91\nDBC8 24 BIT $01         PC:DBC9 A:66 X:00 Y:00 P:65 SP:FB CYC:106 SL:91\nDBCA 38 SEC             PC:DBCB A:66 X:00 Y:00 P:E5 SP:FB CYC:115 SL:91\nDBCB A0 LDY #$00        PC:DBCC A:66 X:00 Y:00 P:E5 SP:FB CYC:121 SL:91\nDBCD B4 LDY $33,x       PC:DBCE A:66 X:00 Y:00 P:67 SP:FB CYC:127 SL:91\nDBCF 10 BPL $DBE3       PC:DBD0 A:66 X:00 Y:AA P:E5 SP:FB CYC:139 SL:91\nDBD1 F0 BEQ $DBE3       PC:DBD2 A:66 X:00 Y:AA P:E5 SP:FB CYC:145 SL:91\nDBD3 50 BVC $DBE3       PC:DBD4 A:66 X:00 Y:AA P:E5 SP:FB CYC:151 SL:91\nDBD5 90 BCC $DBE3       PC:DBD6 A:66 X:00 Y:AA P:E5 SP:FB CYC:157 SL:91\nDBD7 C9 CMP #$66        PC:DBD8 A:66 X:00 Y:AA P:E5 SP:FB CYC:163 SL:91\nDBD9 D0 BNE $DBE3       PC:DBDA A:66 X:00 Y:AA P:67 SP:FB CYC:169 SL:91\nDBDB E0 CPX #$00        PC:DBDC A:66 X:00 Y:AA P:67 SP:FB CYC:175 SL:91\nDBDD D0 BNE $DBE3       PC:DBDE A:66 X:00 Y:AA P:67 SP:FB CYC:181 SL:91\nDBDF C0 CPY #$AA        PC:DBE0 A:66 X:00 Y:AA P:67 SP:FB CYC:187 SL:91\nDBE1 F0 BEQ $DBE7       PC:DBE2 A:66 X:00 Y:AA P:67 SP:FB CYC:193 SL:91\nDBE7 A2 LDX #$8A        PC:DBE8 A:66 X:00 Y:AA P:67 SP:FB CYC:202 SL:91\nDBE9 A9 LDA #$66        PC:DBEA A:66 X:8A Y:AA P:E5 SP:FB CYC:208 SL:91\nDBEB B8 CLV             PC:DBEC A:66 X:8A Y:AA P:65 SP:FB CYC:214 SL:91\nDBEC 18 CLC             PC:DBED A:66 X:8A Y:AA P:25 SP:FB CYC:220 SL:91\nDBED A0 LDY #$00        PC:DBEE A:66 X:8A Y:AA P:24 SP:FB CYC:226 SL:91\nDBEF B4 LDY $FF,x       PC:DBF0 A:66 X:8A Y:00 P:26 SP:FB CYC:232 SL:91\nDBF1 10 BPL $DC05       PC:DBF2 A:66 X:8A Y:BB P:A4 SP:FB CYC:244 SL:91\nDBF3 F0 BEQ $DC05       PC:DBF4 A:66 X:8A Y:BB P:A4 SP:FB CYC:250 SL:91\nDBF5 70 BVS $DC05       PC:DBF6 A:66 X:8A Y:BB P:A4 SP:FB CYC:256 SL:91\nDBF7 B0 BCS $DC05       PC:DBF8 A:66 X:8A Y:BB P:A4 SP:FB CYC:262 SL:91\nDBF9 C0 CPY #$BB        PC:DBFA A:66 X:8A Y:BB P:A4 SP:FB CYC:268 SL:91\nDBFB D0 BNE $DC05       PC:DBFC A:66 X:8A Y:BB P:27 SP:FB CYC:274 SL:91\nDBFD C9 CMP #$66        PC:DBFE A:66 X:8A Y:BB P:27 SP:FB CYC:280 SL:91\nDBFF D0 BNE $DC05       PC:DC00 A:66 X:8A Y:BB P:27 SP:FB CYC:286 SL:91\nDC01 E0 CPX #$8A        PC:DC02 A:66 X:8A Y:BB P:27 SP:FB CYC:292 SL:91\nDC03 F0 BEQ $DC09       PC:DC04 A:66 X:8A Y:BB P:27 SP:FB CYC:298 SL:91\nDC09 24 BIT $01         PC:DC0A A:66 X:8A Y:BB P:27 SP:FB CYC:307 SL:91\nDC0B 38 SEC             PC:DC0C A:66 X:8A Y:BB P:E5 SP:FB CYC:316 SL:91\nDC0C A0 LDY #$44        PC:DC0D A:66 X:8A Y:BB P:E5 SP:FB CYC:322 SL:91\nDC0E A2 LDX #$00        PC:DC0F A:66 X:8A Y:44 P:65 SP:FB CYC:328 SL:91\nDC10 94 STY $33,x       PC:DC11 A:66 X:00 Y:44 P:67 SP:FB CYC:334 SL:91\nDC12 A5 LDA $33         PC:DC13 A:66 X:00 Y:44 P:67 SP:FB CYC:5 SL:92\nDC14 90 BCC $DC2E       PC:DC15 A:44 X:00 Y:44 P:65 SP:FB CYC:14 SL:92\nDC16 C9 CMP #$44        PC:DC17 A:44 X:00 Y:44 P:65 SP:FB CYC:20 SL:92\nDC18 D0 BNE $DC2E       PC:DC19 A:44 X:00 Y:44 P:67 SP:FB CYC:26 SL:92\nDC1A 50 BVC $DC2E       PC:DC1B A:44 X:00 Y:44 P:67 SP:FB CYC:32 SL:92\nDC1C 18 CLC             PC:DC1D A:44 X:00 Y:44 P:67 SP:FB CYC:38 SL:92\nDC1D B8 CLV             PC:DC1E A:44 X:00 Y:44 P:66 SP:FB CYC:44 SL:92\nDC1E A0 LDY #$99        PC:DC1F A:44 X:00 Y:44 P:26 SP:FB CYC:50 SL:92\nDC20 A2 LDX #$80        PC:DC21 A:44 X:00 Y:99 P:A4 SP:FB CYC:56 SL:92\nDC22 94 STY $85,x       PC:DC23 A:44 X:80 Y:99 P:A4 SP:FB CYC:62 SL:92\nDC24 A5 LDA $05         PC:DC25 A:44 X:80 Y:99 P:A4 SP:FB CYC:74 SL:92\nDC26 B0 BCS $DC2E       PC:DC27 A:99 X:80 Y:99 P:A4 SP:FB CYC:83 SL:92\nDC28 C9 CMP #$99        PC:DC29 A:99 X:80 Y:99 P:A4 SP:FB CYC:89 SL:92\nDC2A D0 BNE $DC2E       PC:DC2B A:99 X:80 Y:99 P:27 SP:FB CYC:95 SL:92\nDC2C 50 BVC $DC32       PC:DC2D A:99 X:80 Y:99 P:27 SP:FB CYC:101 SL:92\nDC32 A0 LDY #$0B        PC:DC33 A:99 X:80 Y:99 P:27 SP:FB CYC:110 SL:92\nDC34 A9 LDA #$AA        PC:DC35 A:99 X:80 Y:0B P:25 SP:FB CYC:116 SL:92\nDC36 A2 LDX #$78        PC:DC37 A:AA X:80 Y:0B P:A5 SP:FB CYC:122 SL:92\nDC38 85 STA $78         PC:DC39 A:AA X:78 Y:0B P:25 SP:FB CYC:128 SL:92\nDC3A 20 JSR $F7B6       PC:DC3B A:AA X:78 Y:0B P:25 SP:FB CYC:137 SL:92\nF7B6 18 CLC             PC:F7B7 A:AA X:78 Y:0B P:25 SP:F9 CYC:155 SL:92\nF7B7 A9 LDA #$FF        PC:F7B8 A:AA X:78 Y:0B P:24 SP:F9 CYC:161 SL:92\nF7B9 85 STA $01         PC:F7BA A:FF X:78 Y:0B P:A4 SP:F9 CYC:167 SL:92\nF7BB 24 BIT $01         PC:F7BC A:FF X:78 Y:0B P:A4 SP:F9 CYC:176 SL:92\nF7BD A9 LDA #$55        PC:F7BE A:FF X:78 Y:0B P:E4 SP:F9 CYC:185 SL:92\nF7BF 60 RTS             PC:F7C0 A:55 X:78 Y:0B P:64 SP:F9 CYC:191 SL:92\nDC3D 15 ORA $00,x       PC:DC3E A:55 X:78 Y:0B P:64 SP:FB CYC:209 SL:92\nDC3F 20 JSR $F7C0       PC:DC40 A:FF X:78 Y:0B P:E4 SP:FB CYC:221 SL:92\nF7C0 B0 BCS $F7CB       PC:F7C1 A:FF X:78 Y:0B P:E4 SP:F9 CYC:239 SL:92\nF7C2 10 BPL $F7CB       PC:F7C3 A:FF X:78 Y:0B P:E4 SP:F9 CYC:245 SL:92\nF7C4 C9 CMP #$FF        PC:F7C5 A:FF X:78 Y:0B P:E4 SP:F9 CYC:251 SL:92\nF7C6 D0 BNE $F7CB       PC:F7C7 A:FF X:78 Y:0B P:67 SP:F9 CYC:257 SL:92\nF7C8 50 BVC $F7CB       PC:F7C9 A:FF X:78 Y:0B P:67 SP:F9 CYC:263 SL:92\nF7CA 60 RTS             PC:F7CB A:FF X:78 Y:0B P:67 SP:F9 CYC:269 SL:92\nDC42 C8 INY             PC:DC43 A:FF X:78 Y:0B P:67 SP:FB CYC:287 SL:92\nDC43 A9 LDA #$00        PC:DC44 A:FF X:78 Y:0C P:65 SP:FB CYC:293 SL:92\nDC45 85 STA $78         PC:DC46 A:00 X:78 Y:0C P:67 SP:FB CYC:299 SL:92\nDC47 20 JSR $F7CE       PC:DC48 A:00 X:78 Y:0C P:67 SP:FB CYC:308 SL:92\nF7CE 38 SEC             PC:F7CF A:00 X:78 Y:0C P:67 SP:F9 CYC:326 SL:92\nF7CF B8 CLV             PC:F7D0 A:00 X:78 Y:0C P:67 SP:F9 CYC:332 SL:92\nF7D0 A9 LDA #$00        PC:F7D1 A:00 X:78 Y:0C P:27 SP:F9 CYC:338 SL:92\nF7D2 60 RTS             PC:F7D3 A:00 X:78 Y:0C P:27 SP:F9 CYC:3 SL:93\nDC4A 15 ORA $00,x       PC:DC4B A:00 X:78 Y:0C P:27 SP:FB CYC:21 SL:93\nDC4C 20 JSR $F7D3       PC:DC4D A:00 X:78 Y:0C P:27 SP:FB CYC:33 SL:93\nF7D3 D0 BNE $F7DC       PC:F7D4 A:00 X:78 Y:0C P:27 SP:F9 CYC:51 SL:93\nF7D5 70 BVS $F7DC       PC:F7D6 A:00 X:78 Y:0C P:27 SP:F9 CYC:57 SL:93\nF7D7 90 BCC $F7DC       PC:F7D8 A:00 X:78 Y:0C P:27 SP:F9 CYC:63 SL:93\nF7D9 30 BMI $F7DC       PC:F7DA A:00 X:78 Y:0C P:27 SP:F9 CYC:69 SL:93\nF7DB 60 RTS             PC:F7DC A:00 X:78 Y:0C P:27 SP:F9 CYC:75 SL:93\nDC4F C8 INY             PC:DC50 A:00 X:78 Y:0C P:27 SP:FB CYC:93 SL:93\nDC50 A9 LDA #$AA        PC:DC51 A:00 X:78 Y:0D P:25 SP:FB CYC:99 SL:93\nDC52 85 STA $78         PC:DC53 A:AA X:78 Y:0D P:A5 SP:FB CYC:105 SL:93\nDC54 20 JSR $F7DF       PC:DC55 A:AA X:78 Y:0D P:A5 SP:FB CYC:114 SL:93\nF7DF 18 CLC             PC:F7E0 A:AA X:78 Y:0D P:A5 SP:F9 CYC:132 SL:93\nF7E0 24 BIT $01         PC:F7E1 A:AA X:78 Y:0D P:A4 SP:F9 CYC:138 SL:93\nF7E2 A9 LDA #$55        PC:F7E3 A:AA X:78 Y:0D P:E4 SP:F9 CYC:147 SL:93\nF7E4 60 RTS             PC:F7E5 A:55 X:78 Y:0D P:64 SP:F9 CYC:153 SL:93\nDC57 35 AND $00,x       PC:DC58 A:55 X:78 Y:0D P:64 SP:FB CYC:171 SL:93\nDC59 20 JSR $F7E5       PC:DC5A A:00 X:78 Y:0D P:66 SP:FB CYC:183 SL:93\nF7E5 D0 BNE $F7EE       PC:F7E6 A:00 X:78 Y:0D P:66 SP:F9 CYC:201 SL:93\nF7E7 50 BVC $F7EE       PC:F7E8 A:00 X:78 Y:0D P:66 SP:F9 CYC:207 SL:93\nF7E9 B0 BCS $F7EE       PC:F7EA A:00 X:78 Y:0D P:66 SP:F9 CYC:213 SL:93\nF7EB 30 BMI $F7EE       PC:F7EC A:00 X:78 Y:0D P:66 SP:F9 CYC:219 SL:93\nF7ED 60 RTS             PC:F7EE A:00 X:78 Y:0D P:66 SP:F9 CYC:225 SL:93\nDC5C C8 INY             PC:DC5D A:00 X:78 Y:0D P:66 SP:FB CYC:243 SL:93\nDC5D A9 LDA #$EF        PC:DC5E A:00 X:78 Y:0E P:64 SP:FB CYC:249 SL:93\nDC5F 85 STA $78         PC:DC60 A:EF X:78 Y:0E P:E4 SP:FB CYC:255 SL:93\nDC61 20 JSR $F7F1       PC:DC62 A:EF X:78 Y:0E P:E4 SP:FB CYC:264 SL:93\nF7F1 38 SEC             PC:F7F2 A:EF X:78 Y:0E P:E4 SP:F9 CYC:282 SL:93\nF7F2 B8 CLV             PC:F7F3 A:EF X:78 Y:0E P:E5 SP:F9 CYC:288 SL:93\nF7F3 A9 LDA #$F8        PC:F7F4 A:EF X:78 Y:0E P:A5 SP:F9 CYC:294 SL:93\nF7F5 60 RTS             PC:F7F6 A:F8 X:78 Y:0E P:A5 SP:F9 CYC:300 SL:93\nDC64 35 AND $00,x       PC:DC65 A:F8 X:78 Y:0E P:A5 SP:FB CYC:318 SL:93\nDC66 20 JSR $F7F6       PC:DC67 A:E8 X:78 Y:0E P:A5 SP:FB CYC:330 SL:93\nF7F6 90 BCC $F801       PC:F7F7 A:E8 X:78 Y:0E P:A5 SP:F9 CYC:7 SL:94\nF7F8 10 BPL $F801       PC:F7F9 A:E8 X:78 Y:0E P:A5 SP:F9 CYC:13 SL:94\nF7FA C9 CMP #$E8        PC:F7FB A:E8 X:78 Y:0E P:A5 SP:F9 CYC:19 SL:94\nF7FC D0 BNE $F801       PC:F7FD A:E8 X:78 Y:0E P:27 SP:F9 CYC:25 SL:94\nF7FE 70 BVS $F801       PC:F7FF A:E8 X:78 Y:0E P:27 SP:F9 CYC:31 SL:94\nF800 60 RTS             PC:F801 A:E8 X:78 Y:0E P:27 SP:F9 CYC:37 SL:94\nDC69 C8 INY             PC:DC6A A:E8 X:78 Y:0E P:27 SP:FB CYC:55 SL:94\nDC6A A9 LDA #$AA        PC:DC6B A:E8 X:78 Y:0F P:25 SP:FB CYC:61 SL:94\nDC6C 85 STA $78         PC:DC6D A:AA X:78 Y:0F P:A5 SP:FB CYC:67 SL:94\nDC6E 20 JSR $F804       PC:DC6F A:AA X:78 Y:0F P:A5 SP:FB CYC:76 SL:94\nF804 18 CLC             PC:F805 A:AA X:78 Y:0F P:A5 SP:F9 CYC:94 SL:94\nF805 24 BIT $01         PC:F806 A:AA X:78 Y:0F P:A4 SP:F9 CYC:100 SL:94\nF807 A9 LDA #$5F        PC:F808 A:AA X:78 Y:0F P:E4 SP:F9 CYC:109 SL:94\nF809 60 RTS             PC:F80A A:5F X:78 Y:0F P:64 SP:F9 CYC:115 SL:94\nDC71 55 EOR $00,x       PC:DC72 A:5F X:78 Y:0F P:64 SP:FB CYC:133 SL:94\nDC73 20 JSR $F80A       PC:DC74 A:F5 X:78 Y:0F P:E4 SP:FB CYC:145 SL:94\nF80A B0 BCS $F815       PC:F80B A:F5 X:78 Y:0F P:E4 SP:F9 CYC:163 SL:94\nF80C 10 BPL $F815       PC:F80D A:F5 X:78 Y:0F P:E4 SP:F9 CYC:169 SL:94\nF80E C9 CMP #$F5        PC:F80F A:F5 X:78 Y:0F P:E4 SP:F9 CYC:175 SL:94\nF810 D0 BNE $F815       PC:F811 A:F5 X:78 Y:0F P:67 SP:F9 CYC:181 SL:94\nF812 50 BVC $F815       PC:F813 A:F5 X:78 Y:0F P:67 SP:F9 CYC:187 SL:94\nF814 60 RTS             PC:F815 A:F5 X:78 Y:0F P:67 SP:F9 CYC:193 SL:94\nDC76 C8 INY             PC:DC77 A:F5 X:78 Y:0F P:67 SP:FB CYC:211 SL:94\nDC77 A9 LDA #$70        PC:DC78 A:F5 X:78 Y:10 P:65 SP:FB CYC:217 SL:94\nDC79 85 STA $78         PC:DC7A A:70 X:78 Y:10 P:65 SP:FB CYC:223 SL:94\nDC7B 20 JSR $F818       PC:DC7C A:70 X:78 Y:10 P:65 SP:FB CYC:232 SL:94\nF818 38 SEC             PC:F819 A:70 X:78 Y:10 P:65 SP:F9 CYC:250 SL:94\nF819 B8 CLV             PC:F81A A:70 X:78 Y:10 P:65 SP:F9 CYC:256 SL:94\nF81A A9 LDA #$70        PC:F81B A:70 X:78 Y:10 P:25 SP:F9 CYC:262 SL:94\nF81C 60 RTS             PC:F81D A:70 X:78 Y:10 P:25 SP:F9 CYC:268 SL:94\nDC7E 55 EOR $00,x       PC:DC7F A:70 X:78 Y:10 P:25 SP:FB CYC:286 SL:94\nDC80 20 JSR $F81D       PC:DC81 A:00 X:78 Y:10 P:27 SP:FB CYC:298 SL:94\nF81D D0 BNE $F826       PC:F81E A:00 X:78 Y:10 P:27 SP:F9 CYC:316 SL:94\nF81F 70 BVS $F826       PC:F820 A:00 X:78 Y:10 P:27 SP:F9 CYC:322 SL:94\nF821 90 BCC $F826       PC:F822 A:00 X:78 Y:10 P:27 SP:F9 CYC:328 SL:94\nF823 30 BMI $F826       PC:F824 A:00 X:78 Y:10 P:27 SP:F9 CYC:334 SL:94\nF825 60 RTS             PC:F826 A:00 X:78 Y:10 P:27 SP:F9 CYC:340 SL:94\nDC83 C8 INY             PC:DC84 A:00 X:78 Y:10 P:27 SP:FB CYC:17 SL:95\nDC84 A9 LDA #$69        PC:DC85 A:00 X:78 Y:11 P:25 SP:FB CYC:23 SL:95\nDC86 85 STA $78         PC:DC87 A:69 X:78 Y:11 P:25 SP:FB CYC:29 SL:95\nDC88 20 JSR $F829       PC:DC89 A:69 X:78 Y:11 P:25 SP:FB CYC:38 SL:95\nF829 18 CLC             PC:F82A A:69 X:78 Y:11 P:25 SP:F9 CYC:56 SL:95\nF82A 24 BIT $01         PC:F82B A:69 X:78 Y:11 P:24 SP:F9 CYC:62 SL:95\nF82C A9 LDA #$00        PC:F82D A:69 X:78 Y:11 P:E4 SP:F9 CYC:71 SL:95\nF82E 60 RTS             PC:F82F A:00 X:78 Y:11 P:66 SP:F9 CYC:77 SL:95\nDC8B 75 ADC $00,x       PC:DC8C A:00 X:78 Y:11 P:66 SP:FB CYC:95 SL:95\nDC8D 20 JSR $F82F       PC:DC8E A:69 X:78 Y:11 P:24 SP:FB CYC:107 SL:95\nF82F 30 BMI $F83A       PC:F830 A:69 X:78 Y:11 P:24 SP:F9 CYC:125 SL:95\nF831 B0 BCS $F83A       PC:F832 A:69 X:78 Y:11 P:24 SP:F9 CYC:131 SL:95\nF833 C9 CMP #$69        PC:F834 A:69 X:78 Y:11 P:24 SP:F9 CYC:137 SL:95\nF835 D0 BNE $F83A       PC:F836 A:69 X:78 Y:11 P:27 SP:F9 CYC:143 SL:95\nF837 70 BVS $F83A       PC:F838 A:69 X:78 Y:11 P:27 SP:F9 CYC:149 SL:95\nF839 60 RTS             PC:F83A A:69 X:78 Y:11 P:27 SP:F9 CYC:155 SL:95\nDC90 C8 INY             PC:DC91 A:69 X:78 Y:11 P:27 SP:FB CYC:173 SL:95\nDC91 20 JSR $F83D       PC:DC92 A:69 X:78 Y:12 P:25 SP:FB CYC:179 SL:95\nF83D 38 SEC             PC:F83E A:69 X:78 Y:12 P:25 SP:F9 CYC:197 SL:95\nF83E 24 BIT $01         PC:F83F A:69 X:78 Y:12 P:25 SP:F9 CYC:203 SL:95\nF840 A9 LDA #$00        PC:F841 A:69 X:78 Y:12 P:E5 SP:F9 CYC:212 SL:95\nF842 60 RTS             PC:F843 A:00 X:78 Y:12 P:67 SP:F9 CYC:218 SL:95\nDC94 75 ADC $00,x       PC:DC95 A:00 X:78 Y:12 P:67 SP:FB CYC:236 SL:95\nDC96 20 JSR $F843       PC:DC97 A:6A X:78 Y:12 P:24 SP:FB CYC:248 SL:95\nF843 30 BMI $F84E       PC:F844 A:6A X:78 Y:12 P:24 SP:F9 CYC:266 SL:95\nF845 B0 BCS $F84E       PC:F846 A:6A X:78 Y:12 P:24 SP:F9 CYC:272 SL:95\nF847 C9 CMP #$6A        PC:F848 A:6A X:78 Y:12 P:24 SP:F9 CYC:278 SL:95\nF849 D0 BNE $F84E       PC:F84A A:6A X:78 Y:12 P:27 SP:F9 CYC:284 SL:95\nF84B 70 BVS $F84E       PC:F84C A:6A X:78 Y:12 P:27 SP:F9 CYC:290 SL:95\nF84D 60 RTS             PC:F84E A:6A X:78 Y:12 P:27 SP:F9 CYC:296 SL:95\nDC99 C8 INY             PC:DC9A A:6A X:78 Y:12 P:27 SP:FB CYC:314 SL:95\nDC9A A9 LDA #$7F        PC:DC9B A:6A X:78 Y:13 P:25 SP:FB CYC:320 SL:95\nDC9C 85 STA $78         PC:DC9D A:7F X:78 Y:13 P:25 SP:FB CYC:326 SL:95\nDC9E 20 JSR $F851       PC:DC9F A:7F X:78 Y:13 P:25 SP:FB CYC:335 SL:95\nF851 38 SEC             PC:F852 A:7F X:78 Y:13 P:25 SP:F9 CYC:12 SL:96\nF852 B8 CLV             PC:F853 A:7F X:78 Y:13 P:25 SP:F9 CYC:18 SL:96\nF853 A9 LDA #$7F        PC:F854 A:7F X:78 Y:13 P:25 SP:F9 CYC:24 SL:96\nF855 60 RTS             PC:F856 A:7F X:78 Y:13 P:25 SP:F9 CYC:30 SL:96\nDCA1 75 ADC $00,x       PC:DCA2 A:7F X:78 Y:13 P:25 SP:FB CYC:48 SL:96\nDCA3 20 JSR $F856       PC:DCA4 A:FF X:78 Y:13 P:E4 SP:FB CYC:60 SL:96\nF856 10 BPL $F861       PC:F857 A:FF X:78 Y:13 P:E4 SP:F9 CYC:78 SL:96\nF858 B0 BCS $F861       PC:F859 A:FF X:78 Y:13 P:E4 SP:F9 CYC:84 SL:96\nF85A C9 CMP #$FF        PC:F85B A:FF X:78 Y:13 P:E4 SP:F9 CYC:90 SL:96\nF85C D0 BNE $F861       PC:F85D A:FF X:78 Y:13 P:67 SP:F9 CYC:96 SL:96\nF85E 50 BVC $F861       PC:F85F A:FF X:78 Y:13 P:67 SP:F9 CYC:102 SL:96\nF860 60 RTS             PC:F861 A:FF X:78 Y:13 P:67 SP:F9 CYC:108 SL:96\nDCA6 C8 INY             PC:DCA7 A:FF X:78 Y:13 P:67 SP:FB CYC:126 SL:96\nDCA7 A9 LDA #$80        PC:DCA8 A:FF X:78 Y:14 P:65 SP:FB CYC:132 SL:96\nDCA9 85 STA $78         PC:DCAA A:80 X:78 Y:14 P:E5 SP:FB CYC:138 SL:96\nDCAB 20 JSR $F864       PC:DCAC A:80 X:78 Y:14 P:E5 SP:FB CYC:147 SL:96\nF864 18 CLC             PC:F865 A:80 X:78 Y:14 P:E5 SP:F9 CYC:165 SL:96\nF865 24 BIT $01         PC:F866 A:80 X:78 Y:14 P:E4 SP:F9 CYC:171 SL:96\nF867 A9 LDA #$7F        PC:F868 A:80 X:78 Y:14 P:E4 SP:F9 CYC:180 SL:96\nF869 60 RTS             PC:F86A A:7F X:78 Y:14 P:64 SP:F9 CYC:186 SL:96\nDCAE 75 ADC $00,x       PC:DCAF A:7F X:78 Y:14 P:64 SP:FB CYC:204 SL:96\nDCB0 20 JSR $F86A       PC:DCB1 A:FF X:78 Y:14 P:A4 SP:FB CYC:216 SL:96\nF86A 10 BPL $F875       PC:F86B A:FF X:78 Y:14 P:A4 SP:F9 CYC:234 SL:96\nF86C B0 BCS $F875       PC:F86D A:FF X:78 Y:14 P:A4 SP:F9 CYC:240 SL:96\nF86E C9 CMP #$FF        PC:F86F A:FF X:78 Y:14 P:A4 SP:F9 CYC:246 SL:96\nF870 D0 BNE $F875       PC:F871 A:FF X:78 Y:14 P:27 SP:F9 CYC:252 SL:96\nF872 70 BVS $F875       PC:F873 A:FF X:78 Y:14 P:27 SP:F9 CYC:258 SL:96\nF874 60 RTS             PC:F875 A:FF X:78 Y:14 P:27 SP:F9 CYC:264 SL:96\nDCB3 C8 INY             PC:DCB4 A:FF X:78 Y:14 P:27 SP:FB CYC:282 SL:96\nDCB4 20 JSR $F878       PC:DCB5 A:FF X:78 Y:15 P:25 SP:FB CYC:288 SL:96\nF878 38 SEC             PC:F879 A:FF X:78 Y:15 P:25 SP:F9 CYC:306 SL:96\nF879 B8 CLV             PC:F87A A:FF X:78 Y:15 P:25 SP:F9 CYC:312 SL:96\nF87A A9 LDA #$7F        PC:F87B A:FF X:78 Y:15 P:25 SP:F9 CYC:318 SL:96\nF87C 60 RTS             PC:F87D A:7F X:78 Y:15 P:25 SP:F9 CYC:324 SL:96\nDCB7 75 ADC $00,x       PC:DCB8 A:7F X:78 Y:15 P:25 SP:FB CYC:1 SL:97\nDCB9 20 JSR $F87D       PC:DCBA A:00 X:78 Y:15 P:27 SP:FB CYC:13 SL:97\nF87D D0 BNE $F886       PC:F87E A:00 X:78 Y:15 P:27 SP:F9 CYC:31 SL:97\nF87F 30 BMI $F886       PC:F880 A:00 X:78 Y:15 P:27 SP:F9 CYC:37 SL:97\nF881 70 BVS $F886       PC:F882 A:00 X:78 Y:15 P:27 SP:F9 CYC:43 SL:97\nF883 90 BCC $F886       PC:F884 A:00 X:78 Y:15 P:27 SP:F9 CYC:49 SL:97\nF885 60 RTS             PC:F886 A:00 X:78 Y:15 P:27 SP:F9 CYC:55 SL:97\nDCBC C8 INY             PC:DCBD A:00 X:78 Y:15 P:27 SP:FB CYC:73 SL:97\nDCBD A9 LDA #$40        PC:DCBE A:00 X:78 Y:16 P:25 SP:FB CYC:79 SL:97\nDCBF 85 STA $78         PC:DCC0 A:40 X:78 Y:16 P:25 SP:FB CYC:85 SL:97\nDCC1 20 JSR $F889       PC:DCC2 A:40 X:78 Y:16 P:25 SP:FB CYC:94 SL:97\nF889 24 BIT $01         PC:F88A A:40 X:78 Y:16 P:25 SP:F9 CYC:112 SL:97\nF88B A9 LDA #$40        PC:F88C A:40 X:78 Y:16 P:E5 SP:F9 CYC:121 SL:97\nF88D 60 RTS             PC:F88E A:40 X:78 Y:16 P:65 SP:F9 CYC:127 SL:97\nDCC4 D5 CMP $00,x       PC:DCC5 A:40 X:78 Y:16 P:65 SP:FB CYC:145 SL:97\nDCC6 20 JSR $F88E       PC:DCC7 A:40 X:78 Y:16 P:67 SP:FB CYC:157 SL:97\nF88E 30 BMI $F897       PC:F88F A:40 X:78 Y:16 P:67 SP:F9 CYC:175 SL:97\nF890 90 BCC $F897       PC:F891 A:40 X:78 Y:16 P:67 SP:F9 CYC:181 SL:97\nF892 D0 BNE $F897       PC:F893 A:40 X:78 Y:16 P:67 SP:F9 CYC:187 SL:97\nF894 50 BVC $F897       PC:F895 A:40 X:78 Y:16 P:67 SP:F9 CYC:193 SL:97\nF896 60 RTS             PC:F897 A:40 X:78 Y:16 P:67 SP:F9 CYC:199 SL:97\nDCC9 C8 INY             PC:DCCA A:40 X:78 Y:16 P:67 SP:FB CYC:217 SL:97\nDCCA 48 PHA             PC:DCCB A:40 X:78 Y:17 P:65 SP:FB CYC:223 SL:97\nDCCB A9 LDA #$3F        PC:DCCC A:40 X:78 Y:17 P:65 SP:FA CYC:232 SL:97\nDCCD 85 STA $78         PC:DCCE A:3F X:78 Y:17 P:65 SP:FA CYC:238 SL:97\nDCCF 68 PLA             PC:DCD0 A:3F X:78 Y:17 P:65 SP:FA CYC:247 SL:97\nDCD0 20 JSR $F89A       PC:DCD1 A:40 X:78 Y:17 P:65 SP:FB CYC:259 SL:97\nF89A B8 CLV             PC:F89B A:40 X:78 Y:17 P:65 SP:F9 CYC:277 SL:97\nF89B 60 RTS             PC:F89C A:40 X:78 Y:17 P:25 SP:F9 CYC:283 SL:97\nDCD3 D5 CMP $00,x       PC:DCD4 A:40 X:78 Y:17 P:25 SP:FB CYC:301 SL:97\nDCD5 20 JSR $F89C       PC:DCD6 A:40 X:78 Y:17 P:25 SP:FB CYC:313 SL:97\nF89C F0 BEQ $F8A5       PC:F89D A:40 X:78 Y:17 P:25 SP:F9 CYC:331 SL:97\nF89E 30 BMI $F8A5       PC:F89F A:40 X:78 Y:17 P:25 SP:F9 CYC:337 SL:97\nF8A0 90 BCC $F8A5       PC:F8A1 A:40 X:78 Y:17 P:25 SP:F9 CYC:2 SL:98\nF8A2 70 BVS $F8A5       PC:F8A3 A:40 X:78 Y:17 P:25 SP:F9 CYC:8 SL:98\nF8A4 60 RTS             PC:F8A5 A:40 X:78 Y:17 P:25 SP:F9 CYC:14 SL:98\nDCD8 C8 INY             PC:DCD9 A:40 X:78 Y:17 P:25 SP:FB CYC:32 SL:98\nDCD9 48 PHA             PC:DCDA A:40 X:78 Y:18 P:25 SP:FB CYC:38 SL:98\nDCDA A9 LDA #$41        PC:DCDB A:40 X:78 Y:18 P:25 SP:FA CYC:47 SL:98\nDCDC 85 STA $78         PC:DCDD A:41 X:78 Y:18 P:25 SP:FA CYC:53 SL:98\nDCDE 68 PLA             PC:DCDF A:41 X:78 Y:18 P:25 SP:FA CYC:62 SL:98\nDCDF D5 CMP $00,x       PC:DCE0 A:40 X:78 Y:18 P:25 SP:FB CYC:74 SL:98\nDCE1 20 JSR $F8A8       PC:DCE2 A:40 X:78 Y:18 P:A4 SP:FB CYC:86 SL:98\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:40 X:78 Y:18 P:A4 SP:F9 CYC:104 SL:98\nF8AA 10 BPL $F8AF       PC:F8AB A:40 X:78 Y:18 P:A4 SP:F9 CYC:110 SL:98\nF8AC 10 BPL $F8AF       PC:F8AD A:40 X:78 Y:18 P:A4 SP:F9 CYC:116 SL:98\nF8AE 60 RTS             PC:F8AF A:40 X:78 Y:18 P:A4 SP:F9 CYC:122 SL:98\nDCE4 C8 INY             PC:DCE5 A:40 X:78 Y:18 P:A4 SP:FB CYC:140 SL:98\nDCE5 48 PHA             PC:DCE6 A:40 X:78 Y:19 P:24 SP:FB CYC:146 SL:98\nDCE6 A9 LDA #$00        PC:DCE7 A:40 X:78 Y:19 P:24 SP:FA CYC:155 SL:98\nDCE8 85 STA $78         PC:DCE9 A:00 X:78 Y:19 P:26 SP:FA CYC:161 SL:98\nDCEA 68 PLA             PC:DCEB A:00 X:78 Y:19 P:26 SP:FA CYC:170 SL:98\nDCEB 20 JSR $F8B2       PC:DCEC A:40 X:78 Y:19 P:24 SP:FB CYC:182 SL:98\nF8B2 A9 LDA #$80        PC:F8B3 A:40 X:78 Y:19 P:24 SP:F9 CYC:200 SL:98\nF8B4 60 RTS             PC:F8B5 A:80 X:78 Y:19 P:A4 SP:F9 CYC:206 SL:98\nDCEE D5 CMP $00,x       PC:DCEF A:80 X:78 Y:19 P:A4 SP:FB CYC:224 SL:98\nDCF0 20 JSR $F8B5       PC:DCF1 A:80 X:78 Y:19 P:A5 SP:FB CYC:236 SL:98\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:78 Y:19 P:A5 SP:F9 CYC:254 SL:98\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:78 Y:19 P:A5 SP:F9 CYC:260 SL:98\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:78 Y:19 P:A5 SP:F9 CYC:266 SL:98\nF8BB 60 RTS             PC:F8BC A:80 X:78 Y:19 P:A5 SP:F9 CYC:272 SL:98\nDCF3 C8 INY             PC:DCF4 A:80 X:78 Y:19 P:A5 SP:FB CYC:290 SL:98\nDCF4 48 PHA             PC:DCF5 A:80 X:78 Y:1A P:25 SP:FB CYC:296 SL:98\nDCF5 A9 LDA #$80        PC:DCF6 A:80 X:78 Y:1A P:25 SP:FA CYC:305 SL:98\nDCF7 85 STA $78         PC:DCF8 A:80 X:78 Y:1A P:A5 SP:FA CYC:311 SL:98\nDCF9 68 PLA             PC:DCFA A:80 X:78 Y:1A P:A5 SP:FA CYC:320 SL:98\nDCFA D5 CMP $00,x       PC:DCFB A:80 X:78 Y:1A P:A5 SP:FB CYC:332 SL:98\nDCFC 20 JSR $F8BF       PC:DCFD A:80 X:78 Y:1A P:27 SP:FB CYC:3 SL:99\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:78 Y:1A P:27 SP:F9 CYC:21 SL:99\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:78 Y:1A P:27 SP:F9 CYC:27 SL:99\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:78 Y:1A P:27 SP:F9 CYC:33 SL:99\nF8C5 60 RTS             PC:F8C6 A:80 X:78 Y:1A P:27 SP:F9 CYC:39 SL:99\nDCFF C8 INY             PC:DD00 A:80 X:78 Y:1A P:27 SP:FB CYC:57 SL:99\nDD00 48 PHA             PC:DD01 A:80 X:78 Y:1B P:25 SP:FB CYC:63 SL:99\nDD01 A9 LDA #$81        PC:DD02 A:80 X:78 Y:1B P:25 SP:FA CYC:72 SL:99\nDD03 85 STA $78         PC:DD04 A:81 X:78 Y:1B P:A5 SP:FA CYC:78 SL:99\nDD05 68 PLA             PC:DD06 A:81 X:78 Y:1B P:A5 SP:FA CYC:87 SL:99\nDD06 D5 CMP $00,x       PC:DD07 A:80 X:78 Y:1B P:A5 SP:FB CYC:99 SL:99\nDD08 20 JSR $F8C9       PC:DD09 A:80 X:78 Y:1B P:A4 SP:FB CYC:111 SL:99\nF8C9 B0 BCS $F8D0       PC:F8CA A:80 X:78 Y:1B P:A4 SP:F9 CYC:129 SL:99\nF8CB F0 BEQ $F8D0       PC:F8CC A:80 X:78 Y:1B P:A4 SP:F9 CYC:135 SL:99\nF8CD 10 BPL $F8D0       PC:F8CE A:80 X:78 Y:1B P:A4 SP:F9 CYC:141 SL:99\nF8CF 60 RTS             PC:F8D0 A:80 X:78 Y:1B P:A4 SP:F9 CYC:147 SL:99\nDD0B C8 INY             PC:DD0C A:80 X:78 Y:1B P:A4 SP:FB CYC:165 SL:99\nDD0C 48 PHA             PC:DD0D A:80 X:78 Y:1C P:24 SP:FB CYC:171 SL:99\nDD0D A9 LDA #$7F        PC:DD0E A:80 X:78 Y:1C P:24 SP:FA CYC:180 SL:99\nDD0F 85 STA $78         PC:DD10 A:7F X:78 Y:1C P:24 SP:FA CYC:186 SL:99\nDD11 68 PLA             PC:DD12 A:7F X:78 Y:1C P:24 SP:FA CYC:195 SL:99\nDD12 D5 CMP $00,x       PC:DD13 A:80 X:78 Y:1C P:A4 SP:FB CYC:207 SL:99\nDD14 20 JSR $F8D3       PC:DD15 A:80 X:78 Y:1C P:25 SP:FB CYC:219 SL:99\nF8D3 90 BCC $F8DA       PC:F8D4 A:80 X:78 Y:1C P:25 SP:F9 CYC:237 SL:99\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:80 X:78 Y:1C P:25 SP:F9 CYC:243 SL:99\nF8D7 30 BMI $F8DA       PC:F8D8 A:80 X:78 Y:1C P:25 SP:F9 CYC:249 SL:99\nF8D9 60 RTS             PC:F8DA A:80 X:78 Y:1C P:25 SP:F9 CYC:255 SL:99\nDD17 C8 INY             PC:DD18 A:80 X:78 Y:1C P:25 SP:FB CYC:273 SL:99\nDD18 A9 LDA #$40        PC:DD19 A:80 X:78 Y:1D P:25 SP:FB CYC:279 SL:99\nDD1A 85 STA $78         PC:DD1B A:40 X:78 Y:1D P:25 SP:FB CYC:285 SL:99\nDD1C 20 JSR $F931       PC:DD1D A:40 X:78 Y:1D P:25 SP:FB CYC:294 SL:99\nF931 24 BIT $01         PC:F932 A:40 X:78 Y:1D P:25 SP:F9 CYC:312 SL:99\nF933 A9 LDA #$40        PC:F934 A:40 X:78 Y:1D P:E5 SP:F9 CYC:321 SL:99\nF935 38 SEC             PC:F936 A:40 X:78 Y:1D P:65 SP:F9 CYC:327 SL:99\nF936 60 RTS             PC:F937 A:40 X:78 Y:1D P:65 SP:F9 CYC:333 SL:99\nDD1F F5 SBC $00,x       PC:DD20 A:40 X:78 Y:1D P:65 SP:FB CYC:10 SL:100\nDD21 20 JSR $F937       PC:DD22 A:00 X:78 Y:1D P:27 SP:FB CYC:22 SL:100\nF937 30 BMI $F944       PC:F938 A:00 X:78 Y:1D P:27 SP:F9 CYC:40 SL:100\nF939 90 BCC $F944       PC:F93A A:00 X:78 Y:1D P:27 SP:F9 CYC:46 SL:100\nF93B D0 BNE $F944       PC:F93C A:00 X:78 Y:1D P:27 SP:F9 CYC:52 SL:100\nF93D 70 BVS $F944       PC:F93E A:00 X:78 Y:1D P:27 SP:F9 CYC:58 SL:100\nF93F C9 CMP #$00        PC:F940 A:00 X:78 Y:1D P:27 SP:F9 CYC:64 SL:100\nF941 D0 BNE $F944       PC:F942 A:00 X:78 Y:1D P:27 SP:F9 CYC:70 SL:100\nF943 60 RTS             PC:F944 A:00 X:78 Y:1D P:27 SP:F9 CYC:76 SL:100\nDD24 C8 INY             PC:DD25 A:00 X:78 Y:1D P:27 SP:FB CYC:94 SL:100\nDD25 A9 LDA #$3F        PC:DD26 A:00 X:78 Y:1E P:25 SP:FB CYC:100 SL:100\nDD27 85 STA $78         PC:DD28 A:3F X:78 Y:1E P:25 SP:FB CYC:106 SL:100\nDD29 20 JSR $F947       PC:DD2A A:3F X:78 Y:1E P:25 SP:FB CYC:115 SL:100\nF947 B8 CLV             PC:F948 A:3F X:78 Y:1E P:25 SP:F9 CYC:133 SL:100\nF948 38 SEC             PC:F949 A:3F X:78 Y:1E P:25 SP:F9 CYC:139 SL:100\nF949 A9 LDA #$40        PC:F94A A:3F X:78 Y:1E P:25 SP:F9 CYC:145 SL:100\nF94B 60 RTS             PC:F94C A:40 X:78 Y:1E P:25 SP:F9 CYC:151 SL:100\nDD2C F5 SBC $00,x       PC:DD2D A:40 X:78 Y:1E P:25 SP:FB CYC:169 SL:100\nDD2E 20 JSR $F94C       PC:DD2F A:01 X:78 Y:1E P:25 SP:FB CYC:181 SL:100\nF94C F0 BEQ $F959       PC:F94D A:01 X:78 Y:1E P:25 SP:F9 CYC:199 SL:100\nF94E 30 BMI $F959       PC:F94F A:01 X:78 Y:1E P:25 SP:F9 CYC:205 SL:100\nF950 90 BCC $F959       PC:F951 A:01 X:78 Y:1E P:25 SP:F9 CYC:211 SL:100\nF952 70 BVS $F959       PC:F953 A:01 X:78 Y:1E P:25 SP:F9 CYC:217 SL:100\nF954 C9 CMP #$01        PC:F955 A:01 X:78 Y:1E P:25 SP:F9 CYC:223 SL:100\nF956 D0 BNE $F959       PC:F957 A:01 X:78 Y:1E P:27 SP:F9 CYC:229 SL:100\nF958 60 RTS             PC:F959 A:01 X:78 Y:1E P:27 SP:F9 CYC:235 SL:100\nDD31 C8 INY             PC:DD32 A:01 X:78 Y:1E P:27 SP:FB CYC:253 SL:100\nDD32 A9 LDA #$41        PC:DD33 A:01 X:78 Y:1F P:25 SP:FB CYC:259 SL:100\nDD34 85 STA $78         PC:DD35 A:41 X:78 Y:1F P:25 SP:FB CYC:265 SL:100\nDD36 20 JSR $F95C       PC:DD37 A:41 X:78 Y:1F P:25 SP:FB CYC:274 SL:100\nF95C A9 LDA #$40        PC:F95D A:41 X:78 Y:1F P:25 SP:F9 CYC:292 SL:100\nF95E 38 SEC             PC:F95F A:40 X:78 Y:1F P:25 SP:F9 CYC:298 SL:100\nF95F 24 BIT $01         PC:F960 A:40 X:78 Y:1F P:25 SP:F9 CYC:304 SL:100\nF961 60 RTS             PC:F962 A:40 X:78 Y:1F P:E5 SP:F9 CYC:313 SL:100\nDD39 F5 SBC $00,x       PC:DD3A A:40 X:78 Y:1F P:E5 SP:FB CYC:331 SL:100\nDD3B 20 JSR $F962       PC:DD3C A:FF X:78 Y:1F P:A4 SP:FB CYC:2 SL:101\nF962 B0 BCS $F96F       PC:F963 A:FF X:78 Y:1F P:A4 SP:F9 CYC:20 SL:101\nF964 F0 BEQ $F96F       PC:F965 A:FF X:78 Y:1F P:A4 SP:F9 CYC:26 SL:101\nF966 10 BPL $F96F       PC:F967 A:FF X:78 Y:1F P:A4 SP:F9 CYC:32 SL:101\nF968 70 BVS $F96F       PC:F969 A:FF X:78 Y:1F P:A4 SP:F9 CYC:38 SL:101\nF96A C9 CMP #$FF        PC:F96B A:FF X:78 Y:1F P:A4 SP:F9 CYC:44 SL:101\nF96C D0 BNE $F96F       PC:F96D A:FF X:78 Y:1F P:27 SP:F9 CYC:50 SL:101\nF96E 60 RTS             PC:F96F A:FF X:78 Y:1F P:27 SP:F9 CYC:56 SL:101\nDD3E C8 INY             PC:DD3F A:FF X:78 Y:1F P:27 SP:FB CYC:74 SL:101\nDD3F A9 LDA #$00        PC:DD40 A:FF X:78 Y:20 P:25 SP:FB CYC:80 SL:101\nDD41 85 STA $78         PC:DD42 A:00 X:78 Y:20 P:27 SP:FB CYC:86 SL:101\nDD43 20 JSR $F972       PC:DD44 A:00 X:78 Y:20 P:27 SP:FB CYC:95 SL:101\nF972 18 CLC             PC:F973 A:00 X:78 Y:20 P:27 SP:F9 CYC:113 SL:101\nF973 A9 LDA #$80        PC:F974 A:00 X:78 Y:20 P:26 SP:F9 CYC:119 SL:101\nF975 60 RTS             PC:F976 A:80 X:78 Y:20 P:A4 SP:F9 CYC:125 SL:101\nDD46 F5 SBC $00,x       PC:DD47 A:80 X:78 Y:20 P:A4 SP:FB CYC:143 SL:101\nDD48 20 JSR $F976       PC:DD49 A:7F X:78 Y:20 P:65 SP:FB CYC:155 SL:101\nF976 90 BCC $F97D       PC:F977 A:7F X:78 Y:20 P:65 SP:F9 CYC:173 SL:101\nF978 C9 CMP #$7F        PC:F979 A:7F X:78 Y:20 P:65 SP:F9 CYC:179 SL:101\nF97A D0 BNE $F97D       PC:F97B A:7F X:78 Y:20 P:67 SP:F9 CYC:185 SL:101\nF97C 60 RTS             PC:F97D A:7F X:78 Y:20 P:67 SP:F9 CYC:191 SL:101\nDD4B C8 INY             PC:DD4C A:7F X:78 Y:20 P:67 SP:FB CYC:209 SL:101\nDD4C A9 LDA #$7F        PC:DD4D A:7F X:78 Y:21 P:65 SP:FB CYC:215 SL:101\nDD4E 85 STA $78         PC:DD4F A:7F X:78 Y:21 P:65 SP:FB CYC:221 SL:101\nDD50 20 JSR $F980       PC:DD51 A:7F X:78 Y:21 P:65 SP:FB CYC:230 SL:101\nF980 38 SEC             PC:F981 A:7F X:78 Y:21 P:65 SP:F9 CYC:248 SL:101\nF981 A9 LDA #$81        PC:F982 A:7F X:78 Y:21 P:65 SP:F9 CYC:254 SL:101\nF983 60 RTS             PC:F984 A:81 X:78 Y:21 P:E5 SP:F9 CYC:260 SL:101\nDD53 F5 SBC $00,x       PC:DD54 A:81 X:78 Y:21 P:E5 SP:FB CYC:278 SL:101\nDD55 20 JSR $F984       PC:DD56 A:02 X:78 Y:21 P:65 SP:FB CYC:290 SL:101\nF984 50 BVC $F98D       PC:F985 A:02 X:78 Y:21 P:65 SP:F9 CYC:308 SL:101\nF986 90 BCC $F98D       PC:F987 A:02 X:78 Y:21 P:65 SP:F9 CYC:314 SL:101\nF988 C9 CMP #$02        PC:F989 A:02 X:78 Y:21 P:65 SP:F9 CYC:320 SL:101\nF98A D0 BNE $F98D       PC:F98B A:02 X:78 Y:21 P:67 SP:F9 CYC:326 SL:101\nF98C 60 RTS             PC:F98D A:02 X:78 Y:21 P:67 SP:F9 CYC:332 SL:101\nDD58 A9 LDA #$AA        PC:DD59 A:02 X:78 Y:21 P:67 SP:FB CYC:9 SL:102\nDD5A 85 STA $33         PC:DD5B A:AA X:78 Y:21 P:E5 SP:FB CYC:15 SL:102\nDD5C A9 LDA #$BB        PC:DD5D A:AA X:78 Y:21 P:E5 SP:FB CYC:24 SL:102\nDD5E 85 STA $89         PC:DD5F A:BB X:78 Y:21 P:E5 SP:FB CYC:30 SL:102\nDD60 A2 LDX #$00        PC:DD61 A:BB X:78 Y:21 P:E5 SP:FB CYC:39 SL:102\nDD62 A0 LDY #$66        PC:DD63 A:BB X:00 Y:21 P:67 SP:FB CYC:45 SL:102\nDD64 24 BIT $01         PC:DD65 A:BB X:00 Y:66 P:65 SP:FB CYC:51 SL:102\nDD66 38 SEC             PC:DD67 A:BB X:00 Y:66 P:E5 SP:FB CYC:60 SL:102\nDD67 A9 LDA #$00        PC:DD68 A:BB X:00 Y:66 P:E5 SP:FB CYC:66 SL:102\nDD69 B5 LDA $33,x       PC:DD6A A:00 X:00 Y:66 P:67 SP:FB CYC:72 SL:102\nDD6B 10 BPL $DD7F       PC:DD6C A:AA X:00 Y:66 P:E5 SP:FB CYC:84 SL:102\nDD6D F0 BEQ $DD7F       PC:DD6E A:AA X:00 Y:66 P:E5 SP:FB CYC:90 SL:102\nDD6F 50 BVC $DD7F       PC:DD70 A:AA X:00 Y:66 P:E5 SP:FB CYC:96 SL:102\nDD71 90 BCC $DD7F       PC:DD72 A:AA X:00 Y:66 P:E5 SP:FB CYC:102 SL:102\nDD73 C0 CPY #$66        PC:DD74 A:AA X:00 Y:66 P:E5 SP:FB CYC:108 SL:102\nDD75 D0 BNE $DD7F       PC:DD76 A:AA X:00 Y:66 P:67 SP:FB CYC:114 SL:102\nDD77 E0 CPX #$00        PC:DD78 A:AA X:00 Y:66 P:67 SP:FB CYC:120 SL:102\nDD79 D0 BNE $DD7F       PC:DD7A A:AA X:00 Y:66 P:67 SP:FB CYC:126 SL:102\nDD7B C9 CMP #$AA        PC:DD7C A:AA X:00 Y:66 P:67 SP:FB CYC:132 SL:102\nDD7D F0 BEQ $DD83       PC:DD7E A:AA X:00 Y:66 P:67 SP:FB CYC:138 SL:102\nDD83 A2 LDX #$8A        PC:DD84 A:AA X:00 Y:66 P:67 SP:FB CYC:147 SL:102\nDD85 A0 LDY #$66        PC:DD86 A:AA X:8A Y:66 P:E5 SP:FB CYC:153 SL:102\nDD87 B8 CLV             PC:DD88 A:AA X:8A Y:66 P:65 SP:FB CYC:159 SL:102\nDD88 18 CLC             PC:DD89 A:AA X:8A Y:66 P:25 SP:FB CYC:165 SL:102\nDD89 A9 LDA #$00        PC:DD8A A:AA X:8A Y:66 P:24 SP:FB CYC:171 SL:102\nDD8B B5 LDA $FF,x       PC:DD8C A:00 X:8A Y:66 P:26 SP:FB CYC:177 SL:102\nDD8D 10 BPL $DDA1       PC:DD8E A:BB X:8A Y:66 P:A4 SP:FB CYC:189 SL:102\nDD8F F0 BEQ $DDA1       PC:DD90 A:BB X:8A Y:66 P:A4 SP:FB CYC:195 SL:102\nDD91 70 BVS $DDA1       PC:DD92 A:BB X:8A Y:66 P:A4 SP:FB CYC:201 SL:102\nDD93 B0 BCS $DDA1       PC:DD94 A:BB X:8A Y:66 P:A4 SP:FB CYC:207 SL:102\nDD95 C9 CMP #$BB        PC:DD96 A:BB X:8A Y:66 P:A4 SP:FB CYC:213 SL:102\nDD97 D0 BNE $DDA1       PC:DD98 A:BB X:8A Y:66 P:27 SP:FB CYC:219 SL:102\nDD99 C0 CPY #$66        PC:DD9A A:BB X:8A Y:66 P:27 SP:FB CYC:225 SL:102\nDD9B D0 BNE $DDA1       PC:DD9C A:BB X:8A Y:66 P:27 SP:FB CYC:231 SL:102\nDD9D E0 CPX #$8A        PC:DD9E A:BB X:8A Y:66 P:27 SP:FB CYC:237 SL:102\nDD9F F0 BEQ $DDA5       PC:DDA0 A:BB X:8A Y:66 P:27 SP:FB CYC:243 SL:102\nDDA5 24 BIT $01         PC:DDA6 A:BB X:8A Y:66 P:27 SP:FB CYC:252 SL:102\nDDA7 38 SEC             PC:DDA8 A:BB X:8A Y:66 P:E5 SP:FB CYC:261 SL:102\nDDA8 A9 LDA #$44        PC:DDA9 A:BB X:8A Y:66 P:E5 SP:FB CYC:267 SL:102\nDDAA A2 LDX #$00        PC:DDAB A:44 X:8A Y:66 P:65 SP:FB CYC:273 SL:102\nDDAC 95 STA $33,x       PC:DDAD A:44 X:00 Y:66 P:67 SP:FB CYC:279 SL:102\nDDAE A5 LDA $33         PC:DDAF A:44 X:00 Y:66 P:67 SP:FB CYC:291 SL:102\nDDB0 90 BCC $DDCA       PC:DDB1 A:44 X:00 Y:66 P:65 SP:FB CYC:300 SL:102\nDDB2 C9 CMP #$44        PC:DDB3 A:44 X:00 Y:66 P:65 SP:FB CYC:306 SL:102\nDDB4 D0 BNE $DDCA       PC:DDB5 A:44 X:00 Y:66 P:67 SP:FB CYC:312 SL:102\nDDB6 50 BVC $DDCA       PC:DDB7 A:44 X:00 Y:66 P:67 SP:FB CYC:318 SL:102\nDDB8 18 CLC             PC:DDB9 A:44 X:00 Y:66 P:67 SP:FB CYC:324 SL:102\nDDB9 B8 CLV             PC:DDBA A:44 X:00 Y:66 P:66 SP:FB CYC:330 SL:102\nDDBA A9 LDA #$99        PC:DDBB A:44 X:00 Y:66 P:26 SP:FB CYC:336 SL:102\nDDBC A2 LDX #$80        PC:DDBD A:99 X:00 Y:66 P:A4 SP:FB CYC:1 SL:103\nDDBE 95 STA $85,x       PC:DDBF A:99 X:80 Y:66 P:A4 SP:FB CYC:7 SL:103\nDDC0 A5 LDA $05         PC:DDC1 A:99 X:80 Y:66 P:A4 SP:FB CYC:19 SL:103\nDDC2 B0 BCS $DDCA       PC:DDC3 A:99 X:80 Y:66 P:A4 SP:FB CYC:28 SL:103\nDDC4 C9 CMP #$99        PC:DDC5 A:99 X:80 Y:66 P:A4 SP:FB CYC:34 SL:103\nDDC6 D0 BNE $DDCA       PC:DDC7 A:99 X:80 Y:66 P:27 SP:FB CYC:40 SL:103\nDDC8 50 BVC $DDCE       PC:DDC9 A:99 X:80 Y:66 P:27 SP:FB CYC:46 SL:103\nDDCE A0 LDY #$25        PC:DDCF A:99 X:80 Y:66 P:27 SP:FB CYC:55 SL:103\nDDD0 A2 LDX #$78        PC:DDD1 A:99 X:80 Y:25 P:25 SP:FB CYC:61 SL:103\nDDD2 20 JSR $F990       PC:DDD3 A:99 X:78 Y:25 P:25 SP:FB CYC:67 SL:103\nF990 A2 LDX #$55        PC:F991 A:99 X:78 Y:25 P:25 SP:F9 CYC:85 SL:103\nF992 A9 LDA #$FF        PC:F993 A:99 X:55 Y:25 P:25 SP:F9 CYC:91 SL:103\nF994 85 STA $01         PC:F995 A:FF X:55 Y:25 P:A5 SP:F9 CYC:97 SL:103\nF996 EA NOP             PC:F997 A:FF X:55 Y:25 P:A5 SP:F9 CYC:106 SL:103\nF997 24 BIT $01         PC:F998 A:FF X:55 Y:25 P:A5 SP:F9 CYC:112 SL:103\nF999 38 SEC             PC:F99A A:FF X:55 Y:25 P:E5 SP:F9 CYC:121 SL:103\nF99A A9 LDA #$01        PC:F99B A:FF X:55 Y:25 P:E5 SP:F9 CYC:127 SL:103\nF99C 60 RTS             PC:F99D A:01 X:55 Y:25 P:65 SP:F9 CYC:133 SL:103\nDDD5 95 STA $00,x       PC:DDD6 A:01 X:55 Y:25 P:65 SP:FB CYC:151 SL:103\nDDD7 56 LSR $00,x       PC:DDD8 A:01 X:55 Y:25 P:65 SP:FB CYC:163 SL:103\nDDD9 B5 LDA $00,x       PC:DDDA A:01 X:55 Y:25 P:67 SP:FB CYC:181 SL:103\nDDDB 20 JSR $F99D       PC:DDDC A:00 X:55 Y:25 P:67 SP:FB CYC:193 SL:103\nF99D 90 BCC $F9BA       PC:F99E A:00 X:55 Y:25 P:67 SP:F9 CYC:211 SL:103\nF99F D0 BNE $F9BA       PC:F9A0 A:00 X:55 Y:25 P:67 SP:F9 CYC:217 SL:103\nF9A1 30 BMI $F9BA       PC:F9A2 A:00 X:55 Y:25 P:67 SP:F9 CYC:223 SL:103\nF9A3 50 BVC $F9BA       PC:F9A4 A:00 X:55 Y:25 P:67 SP:F9 CYC:229 SL:103\nF9A5 C9 CMP #$00        PC:F9A6 A:00 X:55 Y:25 P:67 SP:F9 CYC:235 SL:103\nF9A7 D0 BNE $F9BA       PC:F9A8 A:00 X:55 Y:25 P:67 SP:F9 CYC:241 SL:103\nF9A9 B8 CLV             PC:F9AA A:00 X:55 Y:25 P:67 SP:F9 CYC:247 SL:103\nF9AA A9 LDA #$AA        PC:F9AB A:00 X:55 Y:25 P:27 SP:F9 CYC:253 SL:103\nF9AC 60 RTS             PC:F9AD A:AA X:55 Y:25 P:A5 SP:F9 CYC:259 SL:103\nDDDE C8 INY             PC:DDDF A:AA X:55 Y:25 P:A5 SP:FB CYC:277 SL:103\nDDDF 95 STA $00,x       PC:DDE0 A:AA X:55 Y:26 P:25 SP:FB CYC:283 SL:103\nDDE1 56 LSR $00,x       PC:DDE2 A:AA X:55 Y:26 P:25 SP:FB CYC:295 SL:103\nDDE3 B5 LDA $00,x       PC:DDE4 A:AA X:55 Y:26 P:24 SP:FB CYC:313 SL:103\nDDE5 20 JSR $F9AD       PC:DDE6 A:55 X:55 Y:26 P:24 SP:FB CYC:325 SL:103\nF9AD B0 BCS $F9BA       PC:F9AE A:55 X:55 Y:26 P:24 SP:F9 CYC:2 SL:104\nF9AF F0 BEQ $F9BA       PC:F9B0 A:55 X:55 Y:26 P:24 SP:F9 CYC:8 SL:104\nF9B1 30 BMI $F9BA       PC:F9B2 A:55 X:55 Y:26 P:24 SP:F9 CYC:14 SL:104\nF9B3 70 BVS $F9BA       PC:F9B4 A:55 X:55 Y:26 P:24 SP:F9 CYC:20 SL:104\nF9B5 C9 CMP #$55        PC:F9B6 A:55 X:55 Y:26 P:24 SP:F9 CYC:26 SL:104\nF9B7 D0 BNE $F9BA       PC:F9B8 A:55 X:55 Y:26 P:27 SP:F9 CYC:32 SL:104\nF9B9 60 RTS             PC:F9BA A:55 X:55 Y:26 P:27 SP:F9 CYC:38 SL:104\nDDE8 C8 INY             PC:DDE9 A:55 X:55 Y:26 P:27 SP:FB CYC:56 SL:104\nDDE9 20 JSR $F9BD       PC:DDEA A:55 X:55 Y:27 P:25 SP:FB CYC:62 SL:104\nF9BD 24 BIT $01         PC:F9BE A:55 X:55 Y:27 P:25 SP:F9 CYC:80 SL:104\nF9BF 38 SEC             PC:F9C0 A:55 X:55 Y:27 P:E5 SP:F9 CYC:89 SL:104\nF9C0 A9 LDA #$80        PC:F9C1 A:55 X:55 Y:27 P:E5 SP:F9 CYC:95 SL:104\nF9C2 60 RTS             PC:F9C3 A:80 X:55 Y:27 P:E5 SP:F9 CYC:101 SL:104\nDDEC 95 STA $00,x       PC:DDED A:80 X:55 Y:27 P:E5 SP:FB CYC:119 SL:104\nDDEE 16 ASL $00,x       PC:DDEF A:80 X:55 Y:27 P:E5 SP:FB CYC:131 SL:104\nDDF0 B5 LDA $00,x       PC:DDF1 A:80 X:55 Y:27 P:67 SP:FB CYC:149 SL:104\nDDF2 20 JSR $F9C3       PC:DDF3 A:00 X:55 Y:27 P:67 SP:FB CYC:161 SL:104\nF9C3 90 BCC $F9E1       PC:F9C4 A:00 X:55 Y:27 P:67 SP:F9 CYC:179 SL:104\nF9C5 D0 BNE $F9E1       PC:F9C6 A:00 X:55 Y:27 P:67 SP:F9 CYC:185 SL:104\nF9C7 30 BMI $F9E1       PC:F9C8 A:00 X:55 Y:27 P:67 SP:F9 CYC:191 SL:104\nF9C9 50 BVC $F9E1       PC:F9CA A:00 X:55 Y:27 P:67 SP:F9 CYC:197 SL:104\nF9CB C9 CMP #$00        PC:F9CC A:00 X:55 Y:27 P:67 SP:F9 CYC:203 SL:104\nF9CD D0 BNE $F9E1       PC:F9CE A:00 X:55 Y:27 P:67 SP:F9 CYC:209 SL:104\nF9CF B8 CLV             PC:F9D0 A:00 X:55 Y:27 P:67 SP:F9 CYC:215 SL:104\nF9D0 A9 LDA #$55        PC:F9D1 A:00 X:55 Y:27 P:27 SP:F9 CYC:221 SL:104\nF9D2 38 SEC             PC:F9D3 A:55 X:55 Y:27 P:25 SP:F9 CYC:227 SL:104\nF9D3 60 RTS             PC:F9D4 A:55 X:55 Y:27 P:25 SP:F9 CYC:233 SL:104\nDDF5 C8 INY             PC:DDF6 A:55 X:55 Y:27 P:25 SP:FB CYC:251 SL:104\nDDF6 95 STA $00,x       PC:DDF7 A:55 X:55 Y:28 P:25 SP:FB CYC:257 SL:104\nDDF8 16 ASL $00,x       PC:DDF9 A:55 X:55 Y:28 P:25 SP:FB CYC:269 SL:104\nDDFA B5 LDA $00,x       PC:DDFB A:55 X:55 Y:28 P:A4 SP:FB CYC:287 SL:104\nDDFC 20 JSR $F9D4       PC:DDFD A:AA X:55 Y:28 P:A4 SP:FB CYC:299 SL:104\nF9D4 B0 BCS $F9E1       PC:F9D5 A:AA X:55 Y:28 P:A4 SP:F9 CYC:317 SL:104\nF9D6 F0 BEQ $F9E1       PC:F9D7 A:AA X:55 Y:28 P:A4 SP:F9 CYC:323 SL:104\nF9D8 10 BPL $F9E1       PC:F9D9 A:AA X:55 Y:28 P:A4 SP:F9 CYC:329 SL:104\nF9DA 70 BVS $F9E1       PC:F9DB A:AA X:55 Y:28 P:A4 SP:F9 CYC:335 SL:104\nF9DC C9 CMP #$AA        PC:F9DD A:AA X:55 Y:28 P:A4 SP:F9 CYC:0 SL:105\nF9DE D0 BNE $F9E1       PC:F9DF A:AA X:55 Y:28 P:27 SP:F9 CYC:6 SL:105\nF9E0 60 RTS             PC:F9E1 A:AA X:55 Y:28 P:27 SP:F9 CYC:12 SL:105\nDDFF C8 INY             PC:DE00 A:AA X:55 Y:28 P:27 SP:FB CYC:30 SL:105\nDE00 20 JSR $F9E4       PC:DE01 A:AA X:55 Y:29 P:25 SP:FB CYC:36 SL:105\nF9E4 24 BIT $01         PC:F9E5 A:AA X:55 Y:29 P:25 SP:F9 CYC:54 SL:105\nF9E6 38 SEC             PC:F9E7 A:AA X:55 Y:29 P:E5 SP:F9 CYC:63 SL:105\nF9E7 A9 LDA #$01        PC:F9E8 A:AA X:55 Y:29 P:E5 SP:F9 CYC:69 SL:105\nF9E9 60 RTS             PC:F9EA A:01 X:55 Y:29 P:65 SP:F9 CYC:75 SL:105\nDE03 95 STA $00,x       PC:DE04 A:01 X:55 Y:29 P:65 SP:FB CYC:93 SL:105\nDE05 76 ROR $00,x       PC:DE06 A:01 X:55 Y:29 P:65 SP:FB CYC:105 SL:105\nDE07 B5 LDA $00,x       PC:DE08 A:01 X:55 Y:29 P:E5 SP:FB CYC:123 SL:105\nDE09 20 JSR $F9EA       PC:DE0A A:80 X:55 Y:29 P:E5 SP:FB CYC:135 SL:105\nF9EA 90 BCC $FA08       PC:F9EB A:80 X:55 Y:29 P:E5 SP:F9 CYC:153 SL:105\nF9EC F0 BEQ $FA08       PC:F9ED A:80 X:55 Y:29 P:E5 SP:F9 CYC:159 SL:105\nF9EE 10 BPL $FA08       PC:F9EF A:80 X:55 Y:29 P:E5 SP:F9 CYC:165 SL:105\nF9F0 50 BVC $FA08       PC:F9F1 A:80 X:55 Y:29 P:E5 SP:F9 CYC:171 SL:105\nF9F2 C9 CMP #$80        PC:F9F3 A:80 X:55 Y:29 P:E5 SP:F9 CYC:177 SL:105\nF9F4 D0 BNE $FA08       PC:F9F5 A:80 X:55 Y:29 P:67 SP:F9 CYC:183 SL:105\nF9F6 B8 CLV             PC:F9F7 A:80 X:55 Y:29 P:67 SP:F9 CYC:189 SL:105\nF9F7 18 CLC             PC:F9F8 A:80 X:55 Y:29 P:27 SP:F9 CYC:195 SL:105\nF9F8 A9 LDA #$55        PC:F9F9 A:80 X:55 Y:29 P:26 SP:F9 CYC:201 SL:105\nF9FA 60 RTS             PC:F9FB A:55 X:55 Y:29 P:24 SP:F9 CYC:207 SL:105\nDE0C C8 INY             PC:DE0D A:55 X:55 Y:29 P:24 SP:FB CYC:225 SL:105\nDE0D 95 STA $00,x       PC:DE0E A:55 X:55 Y:2A P:24 SP:FB CYC:231 SL:105\nDE0F 76 ROR $00,x       PC:DE10 A:55 X:55 Y:2A P:24 SP:FB CYC:243 SL:105\nDE11 B5 LDA $00,x       PC:DE12 A:55 X:55 Y:2A P:25 SP:FB CYC:261 SL:105\nDE13 20 JSR $F9FB       PC:DE14 A:2A X:55 Y:2A P:25 SP:FB CYC:273 SL:105\nF9FB 90 BCC $FA08       PC:F9FC A:2A X:55 Y:2A P:25 SP:F9 CYC:291 SL:105\nF9FD F0 BEQ $FA08       PC:F9FE A:2A X:55 Y:2A P:25 SP:F9 CYC:297 SL:105\nF9FF 30 BMI $FA08       PC:FA00 A:2A X:55 Y:2A P:25 SP:F9 CYC:303 SL:105\nFA01 70 BVS $FA08       PC:FA02 A:2A X:55 Y:2A P:25 SP:F9 CYC:309 SL:105\nFA03 C9 CMP #$2A        PC:FA04 A:2A X:55 Y:2A P:25 SP:F9 CYC:315 SL:105\nFA05 D0 BNE $FA08       PC:FA06 A:2A X:55 Y:2A P:27 SP:F9 CYC:321 SL:105\nFA07 60 RTS             PC:FA08 A:2A X:55 Y:2A P:27 SP:F9 CYC:327 SL:105\nDE16 C8 INY             PC:DE17 A:2A X:55 Y:2A P:27 SP:FB CYC:4 SL:106\nDE17 20 JSR $FA0A       PC:DE18 A:2A X:55 Y:2B P:25 SP:FB CYC:10 SL:106\nFA0A 24 BIT $01         PC:FA0B A:2A X:55 Y:2B P:25 SP:F9 CYC:28 SL:106\nFA0C 38 SEC             PC:FA0D A:2A X:55 Y:2B P:E5 SP:F9 CYC:37 SL:106\nFA0D A9 LDA #$80        PC:FA0E A:2A X:55 Y:2B P:E5 SP:F9 CYC:43 SL:106\nFA0F 60 RTS             PC:FA10 A:80 X:55 Y:2B P:E5 SP:F9 CYC:49 SL:106\nDE1A 95 STA $00,x       PC:DE1B A:80 X:55 Y:2B P:E5 SP:FB CYC:67 SL:106\nDE1C 36 ROL $00,x       PC:DE1D A:80 X:55 Y:2B P:E5 SP:FB CYC:79 SL:106\nDE1E B5 LDA $00,x       PC:DE1F A:80 X:55 Y:2B P:65 SP:FB CYC:97 SL:106\nDE20 20 JSR $FA10       PC:DE21 A:01 X:55 Y:2B P:65 SP:FB CYC:109 SL:106\nFA10 90 BCC $FA2E       PC:FA11 A:01 X:55 Y:2B P:65 SP:F9 CYC:127 SL:106\nFA12 F0 BEQ $FA2E       PC:FA13 A:01 X:55 Y:2B P:65 SP:F9 CYC:133 SL:106\nFA14 30 BMI $FA2E       PC:FA15 A:01 X:55 Y:2B P:65 SP:F9 CYC:139 SL:106\nFA16 50 BVC $FA2E       PC:FA17 A:01 X:55 Y:2B P:65 SP:F9 CYC:145 SL:106\nFA18 C9 CMP #$01        PC:FA19 A:01 X:55 Y:2B P:65 SP:F9 CYC:151 SL:106\nFA1A D0 BNE $FA2E       PC:FA1B A:01 X:55 Y:2B P:67 SP:F9 CYC:157 SL:106\nFA1C B8 CLV             PC:FA1D A:01 X:55 Y:2B P:67 SP:F9 CYC:163 SL:106\nFA1D 18 CLC             PC:FA1E A:01 X:55 Y:2B P:27 SP:F9 CYC:169 SL:106\nFA1E A9 LDA #$55        PC:FA1F A:01 X:55 Y:2B P:26 SP:F9 CYC:175 SL:106\nFA20 60 RTS             PC:FA21 A:55 X:55 Y:2B P:24 SP:F9 CYC:181 SL:106\nDE23 C8 INY             PC:DE24 A:55 X:55 Y:2B P:24 SP:FB CYC:199 SL:106\nDE24 95 STA $00,x       PC:DE25 A:55 X:55 Y:2C P:24 SP:FB CYC:205 SL:106\nDE26 36 ROL $00,x       PC:DE27 A:55 X:55 Y:2C P:24 SP:FB CYC:217 SL:106\nDE28 B5 LDA $00,x       PC:DE29 A:55 X:55 Y:2C P:A4 SP:FB CYC:235 SL:106\nDE2A 20 JSR $FA21       PC:DE2B A:AA X:55 Y:2C P:A4 SP:FB CYC:247 SL:106\nFA21 B0 BCS $FA2E       PC:FA22 A:AA X:55 Y:2C P:A4 SP:F9 CYC:265 SL:106\nFA23 F0 BEQ $FA2E       PC:FA24 A:AA X:55 Y:2C P:A4 SP:F9 CYC:271 SL:106\nFA25 10 BPL $FA2E       PC:FA26 A:AA X:55 Y:2C P:A4 SP:F9 CYC:277 SL:106\nFA27 70 BVS $FA2E       PC:FA28 A:AA X:55 Y:2C P:A4 SP:F9 CYC:283 SL:106\nFA29 C9 CMP #$AA        PC:FA2A A:AA X:55 Y:2C P:A4 SP:F9 CYC:289 SL:106\nFA2B D0 BNE $FA2E       PC:FA2C A:AA X:55 Y:2C P:27 SP:F9 CYC:295 SL:106\nFA2D 60 RTS             PC:FA2E A:AA X:55 Y:2C P:27 SP:F9 CYC:301 SL:106\nDE2D A9 LDA #$FF        PC:DE2E A:AA X:55 Y:2C P:27 SP:FB CYC:319 SL:106\nDE2F 95 STA $00,x       PC:DE30 A:FF X:55 Y:2C P:A5 SP:FB CYC:325 SL:106\nDE31 85 STA $01         PC:DE32 A:FF X:55 Y:2C P:A5 SP:FB CYC:337 SL:106\nDE33 24 BIT $01         PC:DE34 A:FF X:55 Y:2C P:A5 SP:FB CYC:5 SL:107\nDE35 38 SEC             PC:DE36 A:FF X:55 Y:2C P:E5 SP:FB CYC:14 SL:107\nDE36 F6 INC $00,x       PC:DE37 A:FF X:55 Y:2C P:E5 SP:FB CYC:20 SL:107\nDE38 D0 BNE $DE46       PC:DE39 A:FF X:55 Y:2C P:67 SP:FB CYC:38 SL:107\nDE3A 30 BMI $DE46       PC:DE3B A:FF X:55 Y:2C P:67 SP:FB CYC:44 SL:107\nDE3C 50 BVC $DE46       PC:DE3D A:FF X:55 Y:2C P:67 SP:FB CYC:50 SL:107\nDE3E 90 BCC $DE46       PC:DE3F A:FF X:55 Y:2C P:67 SP:FB CYC:56 SL:107\nDE40 B5 LDA $00,x       PC:DE41 A:FF X:55 Y:2C P:67 SP:FB CYC:62 SL:107\nDE42 C9 CMP #$00        PC:DE43 A:00 X:55 Y:2C P:67 SP:FB CYC:74 SL:107\nDE44 F0 BEQ $DE4A       PC:DE45 A:00 X:55 Y:2C P:67 SP:FB CYC:80 SL:107\nDE4A A9 LDA #$7F        PC:DE4B A:00 X:55 Y:2C P:67 SP:FB CYC:89 SL:107\nDE4C 95 STA $00,x       PC:DE4D A:7F X:55 Y:2C P:65 SP:FB CYC:95 SL:107\nDE4E B8 CLV             PC:DE4F A:7F X:55 Y:2C P:65 SP:FB CYC:107 SL:107\nDE4F 18 CLC             PC:DE50 A:7F X:55 Y:2C P:25 SP:FB CYC:113 SL:107\nDE50 F6 INC $00,x       PC:DE51 A:7F X:55 Y:2C P:24 SP:FB CYC:119 SL:107\nDE52 F0 BEQ $DE60       PC:DE53 A:7F X:55 Y:2C P:A4 SP:FB CYC:137 SL:107\nDE54 10 BPL $DE60       PC:DE55 A:7F X:55 Y:2C P:A4 SP:FB CYC:143 SL:107\nDE56 70 BVS $DE60       PC:DE57 A:7F X:55 Y:2C P:A4 SP:FB CYC:149 SL:107\nDE58 B0 BCS $DE60       PC:DE59 A:7F X:55 Y:2C P:A4 SP:FB CYC:155 SL:107\nDE5A B5 LDA $00,x       PC:DE5B A:7F X:55 Y:2C P:A4 SP:FB CYC:161 SL:107\nDE5C C9 CMP #$80        PC:DE5D A:80 X:55 Y:2C P:A4 SP:FB CYC:173 SL:107\nDE5E F0 BEQ $DE64       PC:DE5F A:80 X:55 Y:2C P:27 SP:FB CYC:179 SL:107\nDE64 A9 LDA #$00        PC:DE65 A:80 X:55 Y:2C P:27 SP:FB CYC:188 SL:107\nDE66 95 STA $00,x       PC:DE67 A:00 X:55 Y:2C P:27 SP:FB CYC:194 SL:107\nDE68 24 BIT $01         PC:DE69 A:00 X:55 Y:2C P:27 SP:FB CYC:206 SL:107\nDE6A 38 SEC             PC:DE6B A:00 X:55 Y:2C P:E7 SP:FB CYC:215 SL:107\nDE6B D6 DEC $00,x       PC:DE6C A:00 X:55 Y:2C P:E7 SP:FB CYC:221 SL:107\nDE6D F0 BEQ $DE7B       PC:DE6E A:00 X:55 Y:2C P:E5 SP:FB CYC:239 SL:107\nDE6F 10 BPL $DE7B       PC:DE70 A:00 X:55 Y:2C P:E5 SP:FB CYC:245 SL:107\nDE71 50 BVC $DE7B       PC:DE72 A:00 X:55 Y:2C P:E5 SP:FB CYC:251 SL:107\nDE73 90 BCC $DE7B       PC:DE74 A:00 X:55 Y:2C P:E5 SP:FB CYC:257 SL:107\nDE75 B5 LDA $00,x       PC:DE76 A:00 X:55 Y:2C P:E5 SP:FB CYC:263 SL:107\nDE77 C9 CMP #$FF        PC:DE78 A:FF X:55 Y:2C P:E5 SP:FB CYC:275 SL:107\nDE79 F0 BEQ $DE7F       PC:DE7A A:FF X:55 Y:2C P:67 SP:FB CYC:281 SL:107\nDE7F A9 LDA #$80        PC:DE80 A:FF X:55 Y:2C P:67 SP:FB CYC:290 SL:107\nDE81 95 STA $00,x       PC:DE82 A:80 X:55 Y:2C P:E5 SP:FB CYC:296 SL:107\nDE83 B8 CLV             PC:DE84 A:80 X:55 Y:2C P:E5 SP:FB CYC:308 SL:107\nDE84 18 CLC             PC:DE85 A:80 X:55 Y:2C P:A5 SP:FB CYC:314 SL:107\nDE85 D6 DEC $00,x       PC:DE86 A:80 X:55 Y:2C P:A4 SP:FB CYC:320 SL:107\nDE87 F0 BEQ $DE95       PC:DE88 A:80 X:55 Y:2C P:24 SP:FB CYC:338 SL:107\nDE89 30 BMI $DE95       PC:DE8A A:80 X:55 Y:2C P:24 SP:FB CYC:3 SL:108\nDE8B 70 BVS $DE95       PC:DE8C A:80 X:55 Y:2C P:24 SP:FB CYC:9 SL:108\nDE8D B0 BCS $DE95       PC:DE8E A:80 X:55 Y:2C P:24 SP:FB CYC:15 SL:108\nDE8F B5 LDA $00,x       PC:DE90 A:80 X:55 Y:2C P:24 SP:FB CYC:21 SL:108\nDE91 C9 CMP #$7F        PC:DE92 A:7F X:55 Y:2C P:24 SP:FB CYC:33 SL:108\nDE93 F0 BEQ $DE99       PC:DE94 A:7F X:55 Y:2C P:27 SP:FB CYC:39 SL:108\nDE99 A9 LDA #$01        PC:DE9A A:7F X:55 Y:2C P:27 SP:FB CYC:48 SL:108\nDE9B 95 STA $00,x       PC:DE9C A:01 X:55 Y:2C P:25 SP:FB CYC:54 SL:108\nDE9D D6 DEC $00,x       PC:DE9E A:01 X:55 Y:2C P:25 SP:FB CYC:66 SL:108\nDE9F F0 BEQ $DEA5       PC:DEA0 A:01 X:55 Y:2C P:27 SP:FB CYC:84 SL:108\nDEA5 A9 LDA #$33        PC:DEA6 A:01 X:55 Y:2C P:27 SP:FB CYC:93 SL:108\nDEA7 85 STA $78         PC:DEA8 A:33 X:55 Y:2C P:25 SP:FB CYC:99 SL:108\nDEA9 A9 LDA #$44        PC:DEAA A:33 X:55 Y:2C P:25 SP:FB CYC:108 SL:108\nDEAB A0 LDY #$78        PC:DEAC A:44 X:55 Y:2C P:25 SP:FB CYC:114 SL:108\nDEAD A2 LDX #$00        PC:DEAE A:44 X:55 Y:78 P:25 SP:FB CYC:120 SL:108\nDEAF 38 SEC             PC:DEB0 A:44 X:00 Y:78 P:27 SP:FB CYC:126 SL:108\nDEB0 24 BIT $01         PC:DEB1 A:44 X:00 Y:78 P:27 SP:FB CYC:132 SL:108\nDEB2 B6 LDX $00,y       PC:DEB3 A:44 X:00 Y:78 P:E5 SP:FB CYC:141 SL:108\nDEB4 90 BCC $DEC8       PC:DEB5 A:44 X:33 Y:78 P:65 SP:FB CYC:153 SL:108\nDEB6 50 BVC $DEC8       PC:DEB7 A:44 X:33 Y:78 P:65 SP:FB CYC:159 SL:108\nDEB8 30 BMI $DEC8       PC:DEB9 A:44 X:33 Y:78 P:65 SP:FB CYC:165 SL:108\nDEBA F0 BEQ $DEC8       PC:DEBB A:44 X:33 Y:78 P:65 SP:FB CYC:171 SL:108\nDEBC E0 CPX #$33        PC:DEBD A:44 X:33 Y:78 P:65 SP:FB CYC:177 SL:108\nDEBE D0 BNE $DEC8       PC:DEBF A:44 X:33 Y:78 P:67 SP:FB CYC:183 SL:108\nDEC0 C0 CPY #$78        PC:DEC1 A:44 X:33 Y:78 P:67 SP:FB CYC:189 SL:108\nDEC2 D0 BNE $DEC8       PC:DEC3 A:44 X:33 Y:78 P:67 SP:FB CYC:195 SL:108\nDEC4 C9 CMP #$44        PC:DEC5 A:44 X:33 Y:78 P:67 SP:FB CYC:201 SL:108\nDEC6 F0 BEQ $DECC       PC:DEC7 A:44 X:33 Y:78 P:67 SP:FB CYC:207 SL:108\nDECC A9 LDA #$97        PC:DECD A:44 X:33 Y:78 P:67 SP:FB CYC:216 SL:108\nDECE 85 STA $7F         PC:DECF A:97 X:33 Y:78 P:E5 SP:FB CYC:222 SL:108\nDED0 A9 LDA #$47        PC:DED1 A:97 X:33 Y:78 P:E5 SP:FB CYC:231 SL:108\nDED2 A0 LDY #$FF        PC:DED3 A:47 X:33 Y:78 P:65 SP:FB CYC:237 SL:108\nDED4 A2 LDX #$00        PC:DED5 A:47 X:33 Y:FF P:E5 SP:FB CYC:243 SL:108\nDED6 18 CLC             PC:DED7 A:47 X:00 Y:FF P:67 SP:FB CYC:249 SL:108\nDED7 B8 CLV             PC:DED8 A:47 X:00 Y:FF P:66 SP:FB CYC:255 SL:108\nDED8 B6 LDX $80,y       PC:DED9 A:47 X:00 Y:FF P:26 SP:FB CYC:261 SL:108\nDEDA B0 BCS $DEEE       PC:DEDB A:47 X:97 Y:FF P:A4 SP:FB CYC:273 SL:108\nDEDC 70 BVS $DEEE       PC:DEDD A:47 X:97 Y:FF P:A4 SP:FB CYC:279 SL:108\nDEDE 10 BPL $DEEE       PC:DEDF A:47 X:97 Y:FF P:A4 SP:FB CYC:285 SL:108\nDEE0 F0 BEQ $DEEE       PC:DEE1 A:47 X:97 Y:FF P:A4 SP:FB CYC:291 SL:108\nDEE2 E0 CPX #$97        PC:DEE3 A:47 X:97 Y:FF P:A4 SP:FB CYC:297 SL:108\nDEE4 D0 BNE $DEEE       PC:DEE5 A:47 X:97 Y:FF P:27 SP:FB CYC:303 SL:108\nDEE6 C0 CPY #$FF        PC:DEE7 A:47 X:97 Y:FF P:27 SP:FB CYC:309 SL:108\nDEE8 D0 BNE $DEEE       PC:DEE9 A:47 X:97 Y:FF P:27 SP:FB CYC:315 SL:108\nDEEA C9 CMP #$47        PC:DEEB A:47 X:97 Y:FF P:27 SP:FB CYC:321 SL:108\nDEEC F0 BEQ $DEF2       PC:DEED A:47 X:97 Y:FF P:27 SP:FB CYC:327 SL:108\nDEF2 A9 LDA #$00        PC:DEF3 A:47 X:97 Y:FF P:27 SP:FB CYC:336 SL:108\nDEF4 85 STA $7F         PC:DEF5 A:00 X:97 Y:FF P:27 SP:FB CYC:1 SL:109\nDEF6 A9 LDA #$47        PC:DEF7 A:00 X:97 Y:FF P:27 SP:FB CYC:10 SL:109\nDEF8 A0 LDY #$FF        PC:DEF9 A:47 X:97 Y:FF P:25 SP:FB CYC:16 SL:109\nDEFA A2 LDX #$69        PC:DEFB A:47 X:97 Y:FF P:A5 SP:FB CYC:22 SL:109\nDEFC 18 CLC             PC:DEFD A:47 X:69 Y:FF P:25 SP:FB CYC:28 SL:109\nDEFD B8 CLV             PC:DEFE A:47 X:69 Y:FF P:24 SP:FB CYC:34 SL:109\nDEFE 96 STX $80,y       PC:DEFF A:47 X:69 Y:FF P:24 SP:FB CYC:40 SL:109\nDF00 B0 BCS $DF1A       PC:DF01 A:47 X:69 Y:FF P:24 SP:FB CYC:52 SL:109\nDF02 70 BVS $DF1A       PC:DF03 A:47 X:69 Y:FF P:24 SP:FB CYC:58 SL:109\nDF04 30 BMI $DF1A       PC:DF05 A:47 X:69 Y:FF P:24 SP:FB CYC:64 SL:109\nDF06 F0 BEQ $DF1A       PC:DF07 A:47 X:69 Y:FF P:24 SP:FB CYC:70 SL:109\nDF08 E0 CPX #$69        PC:DF09 A:47 X:69 Y:FF P:24 SP:FB CYC:76 SL:109\nDF0A D0 BNE $DF1A       PC:DF0B A:47 X:69 Y:FF P:27 SP:FB CYC:82 SL:109\nDF0C C0 CPY #$FF        PC:DF0D A:47 X:69 Y:FF P:27 SP:FB CYC:88 SL:109\nDF0E D0 BNE $DF1A       PC:DF0F A:47 X:69 Y:FF P:27 SP:FB CYC:94 SL:109\nDF10 C9 CMP #$47        PC:DF11 A:47 X:69 Y:FF P:27 SP:FB CYC:100 SL:109\nDF12 D0 BNE $DF1A       PC:DF13 A:47 X:69 Y:FF P:27 SP:FB CYC:106 SL:109\nDF14 A5 LDA $7F         PC:DF15 A:47 X:69 Y:FF P:27 SP:FB CYC:112 SL:109\nDF16 C9 CMP #$69        PC:DF17 A:69 X:69 Y:FF P:25 SP:FB CYC:121 SL:109\nDF18 F0 BEQ $DF1E       PC:DF19 A:69 X:69 Y:FF P:27 SP:FB CYC:127 SL:109\nDF1E A9 LDA #$F5        PC:DF1F A:69 X:69 Y:FF P:27 SP:FB CYC:136 SL:109\nDF20 85 STA $4F         PC:DF21 A:F5 X:69 Y:FF P:A5 SP:FB CYC:142 SL:109\nDF22 A9 LDA #$47        PC:DF23 A:F5 X:69 Y:FF P:A5 SP:FB CYC:151 SL:109\nDF24 A0 LDY #$4F        PC:DF25 A:47 X:69 Y:FF P:25 SP:FB CYC:157 SL:109\nDF26 24 BIT $01         PC:DF27 A:47 X:69 Y:4F P:25 SP:FB CYC:163 SL:109\nDF28 A2 LDX #$00        PC:DF29 A:47 X:69 Y:4F P:E5 SP:FB CYC:172 SL:109\nDF2A 38 SEC             PC:DF2B A:47 X:00 Y:4F P:67 SP:FB CYC:178 SL:109\nDF2B 96 STX $00,y       PC:DF2C A:47 X:00 Y:4F P:67 SP:FB CYC:184 SL:109\nDF2D 90 BCC $DF45       PC:DF2E A:47 X:00 Y:4F P:67 SP:FB CYC:196 SL:109\nDF2F 50 BVC $DF45       PC:DF30 A:47 X:00 Y:4F P:67 SP:FB CYC:202 SL:109\nDF31 30 BMI $DF45       PC:DF32 A:47 X:00 Y:4F P:67 SP:FB CYC:208 SL:109\nDF33 D0 BNE $DF45       PC:DF34 A:47 X:00 Y:4F P:67 SP:FB CYC:214 SL:109\nDF35 E0 CPX #$00        PC:DF36 A:47 X:00 Y:4F P:67 SP:FB CYC:220 SL:109\nDF37 D0 BNE $DF45       PC:DF38 A:47 X:00 Y:4F P:67 SP:FB CYC:226 SL:109\nDF39 C0 CPY #$4F        PC:DF3A A:47 X:00 Y:4F P:67 SP:FB CYC:232 SL:109\nDF3B D0 BNE $DF45       PC:DF3C A:47 X:00 Y:4F P:67 SP:FB CYC:238 SL:109\nDF3D C9 CMP #$47        PC:DF3E A:47 X:00 Y:4F P:67 SP:FB CYC:244 SL:109\nDF3F D0 BNE $DF45       PC:DF40 A:47 X:00 Y:4F P:67 SP:FB CYC:250 SL:109\nDF41 A5 LDA $4F         PC:DF42 A:47 X:00 Y:4F P:67 SP:FB CYC:256 SL:109\nDF43 F0 BEQ $DF49       PC:DF44 A:00 X:00 Y:4F P:67 SP:FB CYC:265 SL:109\nDF49 60 RTS             PC:DF4A A:00 X:00 Y:4F P:67 SP:FB CYC:274 SL:109\nC62C 20 JSR $E1AA       PC:C62D A:00 X:00 Y:4F P:67 SP:FD CYC:292 SL:109\nE1AA A9 LDA #$FF        PC:E1AB A:00 X:00 Y:4F P:67 SP:FB CYC:310 SL:109\nE1AC 85 STA $01         PC:E1AD A:FF X:00 Y:4F P:E5 SP:FB CYC:316 SL:109\nE1AE A9 LDA #$AA        PC:E1AF A:FF X:00 Y:4F P:E5 SP:FB CYC:325 SL:109\nE1B0 8D STA $0633       PC:E1B1 A:AA X:00 Y:4F P:E5 SP:FB CYC:331 SL:109\nE1B3 A9 LDA #$BB        PC:E1B4 A:AA X:00 Y:4F P:E5 SP:FB CYC:2 SL:110\nE1B5 8D STA $0689       PC:E1B6 A:BB X:00 Y:4F P:E5 SP:FB CYC:8 SL:110\nE1B8 A2 LDX #$00        PC:E1B9 A:BB X:00 Y:4F P:E5 SP:FB CYC:20 SL:110\nE1BA A9 LDA #$66        PC:E1BB A:BB X:00 Y:4F P:67 SP:FB CYC:26 SL:110\nE1BC 24 BIT $01         PC:E1BD A:66 X:00 Y:4F P:65 SP:FB CYC:32 SL:110\nE1BE 38 SEC             PC:E1BF A:66 X:00 Y:4F P:E5 SP:FB CYC:41 SL:110\nE1BF A0 LDY #$00        PC:E1C0 A:66 X:00 Y:4F P:E5 SP:FB CYC:47 SL:110\nE1C1 BC LDY $0633,x     PC:E1C2 A:66 X:00 Y:00 P:67 SP:FB CYC:53 SL:110\nE1C4 10 BPL $E1D8       PC:E1C5 A:66 X:00 Y:AA P:E5 SP:FB CYC:65 SL:110\nE1C6 F0 BEQ $E1D8       PC:E1C7 A:66 X:00 Y:AA P:E5 SP:FB CYC:71 SL:110\nE1C8 50 BVC $E1D8       PC:E1C9 A:66 X:00 Y:AA P:E5 SP:FB CYC:77 SL:110\nE1CA 90 BCC $E1D8       PC:E1CB A:66 X:00 Y:AA P:E5 SP:FB CYC:83 SL:110\nE1CC C9 CMP #$66        PC:E1CD A:66 X:00 Y:AA P:E5 SP:FB CYC:89 SL:110\nE1CE D0 BNE $E1D8       PC:E1CF A:66 X:00 Y:AA P:67 SP:FB CYC:95 SL:110\nE1D0 E0 CPX #$00        PC:E1D1 A:66 X:00 Y:AA P:67 SP:FB CYC:101 SL:110\nE1D2 D0 BNE $E1D8       PC:E1D3 A:66 X:00 Y:AA P:67 SP:FB CYC:107 SL:110\nE1D4 C0 CPY #$AA        PC:E1D5 A:66 X:00 Y:AA P:67 SP:FB CYC:113 SL:110\nE1D6 F0 BEQ $E1DC       PC:E1D7 A:66 X:00 Y:AA P:67 SP:FB CYC:119 SL:110\nE1DC A2 LDX #$8A        PC:E1DD A:66 X:00 Y:AA P:67 SP:FB CYC:128 SL:110\nE1DE A9 LDA #$66        PC:E1DF A:66 X:8A Y:AA P:E5 SP:FB CYC:134 SL:110\nE1E0 B8 CLV             PC:E1E1 A:66 X:8A Y:AA P:65 SP:FB CYC:140 SL:110\nE1E1 18 CLC             PC:E1E2 A:66 X:8A Y:AA P:25 SP:FB CYC:146 SL:110\nE1E2 A0 LDY #$00        PC:E1E3 A:66 X:8A Y:AA P:24 SP:FB CYC:152 SL:110\nE1E4 BC LDY $05FF,x     PC:E1E5 A:66 X:8A Y:00 P:26 SP:FB CYC:158 SL:110\nE1E7 10 BPL $E1FB       PC:E1E8 A:66 X:8A Y:BB P:A4 SP:FB CYC:173 SL:110\nE1E9 F0 BEQ $E1FB       PC:E1EA A:66 X:8A Y:BB P:A4 SP:FB CYC:179 SL:110\nE1EB 70 BVS $E1FB       PC:E1EC A:66 X:8A Y:BB P:A4 SP:FB CYC:185 SL:110\nE1ED B0 BCS $E1FB       PC:E1EE A:66 X:8A Y:BB P:A4 SP:FB CYC:191 SL:110\nE1EF C0 CPY #$BB        PC:E1F0 A:66 X:8A Y:BB P:A4 SP:FB CYC:197 SL:110\nE1F1 D0 BNE $E1FB       PC:E1F2 A:66 X:8A Y:BB P:27 SP:FB CYC:203 SL:110\nE1F3 C9 CMP #$66        PC:E1F4 A:66 X:8A Y:BB P:27 SP:FB CYC:209 SL:110\nE1F5 D0 BNE $E1FB       PC:E1F6 A:66 X:8A Y:BB P:27 SP:FB CYC:215 SL:110\nE1F7 E0 CPX #$8A        PC:E1F8 A:66 X:8A Y:BB P:27 SP:FB CYC:221 SL:110\nE1F9 F0 BEQ $E1FF       PC:E1FA A:66 X:8A Y:BB P:27 SP:FB CYC:227 SL:110\nE1FF A0 LDY #$53        PC:E200 A:66 X:8A Y:BB P:27 SP:FB CYC:236 SL:110\nE201 A9 LDA #$AA        PC:E202 A:66 X:8A Y:53 P:25 SP:FB CYC:242 SL:110\nE203 A2 LDX #$78        PC:E204 A:AA X:8A Y:53 P:A5 SP:FB CYC:248 SL:110\nE205 8D STA $0678       PC:E206 A:AA X:78 Y:53 P:25 SP:FB CYC:254 SL:110\nE208 20 JSR $F7B6       PC:E209 A:AA X:78 Y:53 P:25 SP:FB CYC:266 SL:110\nF7B6 18 CLC             PC:F7B7 A:AA X:78 Y:53 P:25 SP:F9 CYC:284 SL:110\nF7B7 A9 LDA #$FF        PC:F7B8 A:AA X:78 Y:53 P:24 SP:F9 CYC:290 SL:110\nF7B9 85 STA $01         PC:F7BA A:FF X:78 Y:53 P:A4 SP:F9 CYC:296 SL:110\nF7BB 24 BIT $01         PC:F7BC A:FF X:78 Y:53 P:A4 SP:F9 CYC:305 SL:110\nF7BD A9 LDA #$55        PC:F7BE A:FF X:78 Y:53 P:E4 SP:F9 CYC:314 SL:110\nF7BF 60 RTS             PC:F7C0 A:55 X:78 Y:53 P:64 SP:F9 CYC:320 SL:110\nE20B 1D ORA $0600,x     PC:E20C A:55 X:78 Y:53 P:64 SP:FB CYC:338 SL:110\nE20E 20 JSR $F7C0       PC:E20F A:FF X:78 Y:53 P:E4 SP:FB CYC:9 SL:111\nF7C0 B0 BCS $F7CB       PC:F7C1 A:FF X:78 Y:53 P:E4 SP:F9 CYC:27 SL:111\nF7C2 10 BPL $F7CB       PC:F7C3 A:FF X:78 Y:53 P:E4 SP:F9 CYC:33 SL:111\nF7C4 C9 CMP #$FF        PC:F7C5 A:FF X:78 Y:53 P:E4 SP:F9 CYC:39 SL:111\nF7C6 D0 BNE $F7CB       PC:F7C7 A:FF X:78 Y:53 P:67 SP:F9 CYC:45 SL:111\nF7C8 50 BVC $F7CB       PC:F7C9 A:FF X:78 Y:53 P:67 SP:F9 CYC:51 SL:111\nF7CA 60 RTS             PC:F7CB A:FF X:78 Y:53 P:67 SP:F9 CYC:57 SL:111\nE211 C8 INY             PC:E212 A:FF X:78 Y:53 P:67 SP:FB CYC:75 SL:111\nE212 A9 LDA #$00        PC:E213 A:FF X:78 Y:54 P:65 SP:FB CYC:81 SL:111\nE214 8D STA $0678       PC:E215 A:00 X:78 Y:54 P:67 SP:FB CYC:87 SL:111\nE217 20 JSR $F7CE       PC:E218 A:00 X:78 Y:54 P:67 SP:FB CYC:99 SL:111\nF7CE 38 SEC             PC:F7CF A:00 X:78 Y:54 P:67 SP:F9 CYC:117 SL:111\nF7CF B8 CLV             PC:F7D0 A:00 X:78 Y:54 P:67 SP:F9 CYC:123 SL:111\nF7D0 A9 LDA #$00        PC:F7D1 A:00 X:78 Y:54 P:27 SP:F9 CYC:129 SL:111\nF7D2 60 RTS             PC:F7D3 A:00 X:78 Y:54 P:27 SP:F9 CYC:135 SL:111\nE21A 1D ORA $0600,x     PC:E21B A:00 X:78 Y:54 P:27 SP:FB CYC:153 SL:111\nE21D 20 JSR $F7D3       PC:E21E A:00 X:78 Y:54 P:27 SP:FB CYC:165 SL:111\nF7D3 D0 BNE $F7DC       PC:F7D4 A:00 X:78 Y:54 P:27 SP:F9 CYC:183 SL:111\nF7D5 70 BVS $F7DC       PC:F7D6 A:00 X:78 Y:54 P:27 SP:F9 CYC:189 SL:111\nF7D7 90 BCC $F7DC       PC:F7D8 A:00 X:78 Y:54 P:27 SP:F9 CYC:195 SL:111\nF7D9 30 BMI $F7DC       PC:F7DA A:00 X:78 Y:54 P:27 SP:F9 CYC:201 SL:111\nF7DB 60 RTS             PC:F7DC A:00 X:78 Y:54 P:27 SP:F9 CYC:207 SL:111\nE220 C8 INY             PC:E221 A:00 X:78 Y:54 P:27 SP:FB CYC:225 SL:111\nE221 A9 LDA #$AA        PC:E222 A:00 X:78 Y:55 P:25 SP:FB CYC:231 SL:111\nE223 8D STA $0678       PC:E224 A:AA X:78 Y:55 P:A5 SP:FB CYC:237 SL:111\nE226 20 JSR $F7DF       PC:E227 A:AA X:78 Y:55 P:A5 SP:FB CYC:249 SL:111\nF7DF 18 CLC             PC:F7E0 A:AA X:78 Y:55 P:A5 SP:F9 CYC:267 SL:111\nF7E0 24 BIT $01         PC:F7E1 A:AA X:78 Y:55 P:A4 SP:F9 CYC:273 SL:111\nF7E2 A9 LDA #$55        PC:F7E3 A:AA X:78 Y:55 P:E4 SP:F9 CYC:282 SL:111\nF7E4 60 RTS             PC:F7E5 A:55 X:78 Y:55 P:64 SP:F9 CYC:288 SL:111\nE229 3D AND $0600,x     PC:E22A A:55 X:78 Y:55 P:64 SP:FB CYC:306 SL:111\nE22C 20 JSR $F7E5       PC:E22D A:00 X:78 Y:55 P:66 SP:FB CYC:318 SL:111\nF7E5 D0 BNE $F7EE       PC:F7E6 A:00 X:78 Y:55 P:66 SP:F9 CYC:336 SL:111\nF7E7 50 BVC $F7EE       PC:F7E8 A:00 X:78 Y:55 P:66 SP:F9 CYC:1 SL:112\nF7E9 B0 BCS $F7EE       PC:F7EA A:00 X:78 Y:55 P:66 SP:F9 CYC:7 SL:112\nF7EB 30 BMI $F7EE       PC:F7EC A:00 X:78 Y:55 P:66 SP:F9 CYC:13 SL:112\nF7ED 60 RTS             PC:F7EE A:00 X:78 Y:55 P:66 SP:F9 CYC:19 SL:112\nE22F C8 INY             PC:E230 A:00 X:78 Y:55 P:66 SP:FB CYC:37 SL:112\nE230 A9 LDA #$EF        PC:E231 A:00 X:78 Y:56 P:64 SP:FB CYC:43 SL:112\nE232 8D STA $0678       PC:E233 A:EF X:78 Y:56 P:E4 SP:FB CYC:49 SL:112\nE235 20 JSR $F7F1       PC:E236 A:EF X:78 Y:56 P:E4 SP:FB CYC:61 SL:112\nF7F1 38 SEC             PC:F7F2 A:EF X:78 Y:56 P:E4 SP:F9 CYC:79 SL:112\nF7F2 B8 CLV             PC:F7F3 A:EF X:78 Y:56 P:E5 SP:F9 CYC:85 SL:112\nF7F3 A9 LDA #$F8        PC:F7F4 A:EF X:78 Y:56 P:A5 SP:F9 CYC:91 SL:112\nF7F5 60 RTS             PC:F7F6 A:F8 X:78 Y:56 P:A5 SP:F9 CYC:97 SL:112\nE238 3D AND $0600,x     PC:E239 A:F8 X:78 Y:56 P:A5 SP:FB CYC:115 SL:112\nE23B 20 JSR $F7F6       PC:E23C A:E8 X:78 Y:56 P:A5 SP:FB CYC:127 SL:112\nF7F6 90 BCC $F801       PC:F7F7 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:145 SL:112\nF7F8 10 BPL $F801       PC:F7F9 A:E8 X:78 Y:56 P:A5 SP:F9 CYC:151 SL:112\nF7FA C9 CMP #$E8        PC:F7FB A:E8 X:78 Y:56 P:A5 SP:F9 CYC:157 SL:112\nF7FC D0 BNE $F801       PC:F7FD A:E8 X:78 Y:56 P:27 SP:F9 CYC:163 SL:112\nF7FE 70 BVS $F801       PC:F7FF A:E8 X:78 Y:56 P:27 SP:F9 CYC:169 SL:112\nF800 60 RTS             PC:F801 A:E8 X:78 Y:56 P:27 SP:F9 CYC:175 SL:112\nE23E C8 INY             PC:E23F A:E8 X:78 Y:56 P:27 SP:FB CYC:193 SL:112\nE23F A9 LDA #$AA        PC:E240 A:E8 X:78 Y:57 P:25 SP:FB CYC:199 SL:112\nE241 8D STA $0678       PC:E242 A:AA X:78 Y:57 P:A5 SP:FB CYC:205 SL:112\nE244 20 JSR $F804       PC:E245 A:AA X:78 Y:57 P:A5 SP:FB CYC:217 SL:112\nF804 18 CLC             PC:F805 A:AA X:78 Y:57 P:A5 SP:F9 CYC:235 SL:112\nF805 24 BIT $01         PC:F806 A:AA X:78 Y:57 P:A4 SP:F9 CYC:241 SL:112\nF807 A9 LDA #$5F        PC:F808 A:AA X:78 Y:57 P:E4 SP:F9 CYC:250 SL:112\nF809 60 RTS             PC:F80A A:5F X:78 Y:57 P:64 SP:F9 CYC:256 SL:112\nE247 5D EOR $0600,x     PC:E248 A:5F X:78 Y:57 P:64 SP:FB CYC:274 SL:112\nE24A 20 JSR $F80A       PC:E24B A:F5 X:78 Y:57 P:E4 SP:FB CYC:286 SL:112\nF80A B0 BCS $F815       PC:F80B A:F5 X:78 Y:57 P:E4 SP:F9 CYC:304 SL:112\nF80C 10 BPL $F815       PC:F80D A:F5 X:78 Y:57 P:E4 SP:F9 CYC:310 SL:112\nF80E C9 CMP #$F5        PC:F80F A:F5 X:78 Y:57 P:E4 SP:F9 CYC:316 SL:112\nF810 D0 BNE $F815       PC:F811 A:F5 X:78 Y:57 P:67 SP:F9 CYC:322 SL:112\nF812 50 BVC $F815       PC:F813 A:F5 X:78 Y:57 P:67 SP:F9 CYC:328 SL:112\nF814 60 RTS             PC:F815 A:F5 X:78 Y:57 P:67 SP:F9 CYC:334 SL:112\nE24D C8 INY             PC:E24E A:F5 X:78 Y:57 P:67 SP:FB CYC:11 SL:113\nE24E A9 LDA #$70        PC:E24F A:F5 X:78 Y:58 P:65 SP:FB CYC:17 SL:113\nE250 8D STA $0678       PC:E251 A:70 X:78 Y:58 P:65 SP:FB CYC:23 SL:113\nE253 20 JSR $F818       PC:E254 A:70 X:78 Y:58 P:65 SP:FB CYC:35 SL:113\nF818 38 SEC             PC:F819 A:70 X:78 Y:58 P:65 SP:F9 CYC:53 SL:113\nF819 B8 CLV             PC:F81A A:70 X:78 Y:58 P:65 SP:F9 CYC:59 SL:113\nF81A A9 LDA #$70        PC:F81B A:70 X:78 Y:58 P:25 SP:F9 CYC:65 SL:113\nF81C 60 RTS             PC:F81D A:70 X:78 Y:58 P:25 SP:F9 CYC:71 SL:113\nE256 5D EOR $0600,x     PC:E257 A:70 X:78 Y:58 P:25 SP:FB CYC:89 SL:113\nE259 20 JSR $F81D       PC:E25A A:00 X:78 Y:58 P:27 SP:FB CYC:101 SL:113\nF81D D0 BNE $F826       PC:F81E A:00 X:78 Y:58 P:27 SP:F9 CYC:119 SL:113\nF81F 70 BVS $F826       PC:F820 A:00 X:78 Y:58 P:27 SP:F9 CYC:125 SL:113\nF821 90 BCC $F826       PC:F822 A:00 X:78 Y:58 P:27 SP:F9 CYC:131 SL:113\nF823 30 BMI $F826       PC:F824 A:00 X:78 Y:58 P:27 SP:F9 CYC:137 SL:113\nF825 60 RTS             PC:F826 A:00 X:78 Y:58 P:27 SP:F9 CYC:143 SL:113\nE25C C8 INY             PC:E25D A:00 X:78 Y:58 P:27 SP:FB CYC:161 SL:113\nE25D A9 LDA #$69        PC:E25E A:00 X:78 Y:59 P:25 SP:FB CYC:167 SL:113\nE25F 8D STA $0678       PC:E260 A:69 X:78 Y:59 P:25 SP:FB CYC:173 SL:113\nE262 20 JSR $F829       PC:E263 A:69 X:78 Y:59 P:25 SP:FB CYC:185 SL:113\nF829 18 CLC             PC:F82A A:69 X:78 Y:59 P:25 SP:F9 CYC:203 SL:113\nF82A 24 BIT $01         PC:F82B A:69 X:78 Y:59 P:24 SP:F9 CYC:209 SL:113\nF82C A9 LDA #$00        PC:F82D A:69 X:78 Y:59 P:E4 SP:F9 CYC:218 SL:113\nF82E 60 RTS             PC:F82F A:00 X:78 Y:59 P:66 SP:F9 CYC:224 SL:113\nE265 7D ADC $0600,x     PC:E266 A:00 X:78 Y:59 P:66 SP:FB CYC:242 SL:113\nE268 20 JSR $F82F       PC:E269 A:69 X:78 Y:59 P:24 SP:FB CYC:254 SL:113\nF82F 30 BMI $F83A       PC:F830 A:69 X:78 Y:59 P:24 SP:F9 CYC:272 SL:113\nF831 B0 BCS $F83A       PC:F832 A:69 X:78 Y:59 P:24 SP:F9 CYC:278 SL:113\nF833 C9 CMP #$69        PC:F834 A:69 X:78 Y:59 P:24 SP:F9 CYC:284 SL:113\nF835 D0 BNE $F83A       PC:F836 A:69 X:78 Y:59 P:27 SP:F9 CYC:290 SL:113\nF837 70 BVS $F83A       PC:F838 A:69 X:78 Y:59 P:27 SP:F9 CYC:296 SL:113\nF839 60 RTS             PC:F83A A:69 X:78 Y:59 P:27 SP:F9 CYC:302 SL:113\nE26B C8 INY             PC:E26C A:69 X:78 Y:59 P:27 SP:FB CYC:320 SL:113\nE26C 20 JSR $F83D       PC:E26D A:69 X:78 Y:5A P:25 SP:FB CYC:326 SL:113\nF83D 38 SEC             PC:F83E A:69 X:78 Y:5A P:25 SP:F9 CYC:3 SL:114\nF83E 24 BIT $01         PC:F83F A:69 X:78 Y:5A P:25 SP:F9 CYC:9 SL:114\nF840 A9 LDA #$00        PC:F841 A:69 X:78 Y:5A P:E5 SP:F9 CYC:18 SL:114\nF842 60 RTS             PC:F843 A:00 X:78 Y:5A P:67 SP:F9 CYC:24 SL:114\nE26F 7D ADC $0600,x     PC:E270 A:00 X:78 Y:5A P:67 SP:FB CYC:42 SL:114\nE272 20 JSR $F843       PC:E273 A:6A X:78 Y:5A P:24 SP:FB CYC:54 SL:114\nF843 30 BMI $F84E       PC:F844 A:6A X:78 Y:5A P:24 SP:F9 CYC:72 SL:114\nF845 B0 BCS $F84E       PC:F846 A:6A X:78 Y:5A P:24 SP:F9 CYC:78 SL:114\nF847 C9 CMP #$6A        PC:F848 A:6A X:78 Y:5A P:24 SP:F9 CYC:84 SL:114\nF849 D0 BNE $F84E       PC:F84A A:6A X:78 Y:5A P:27 SP:F9 CYC:90 SL:114\nF84B 70 BVS $F84E       PC:F84C A:6A X:78 Y:5A P:27 SP:F9 CYC:96 SL:114\nF84D 60 RTS             PC:F84E A:6A X:78 Y:5A P:27 SP:F9 CYC:102 SL:114\nE275 C8 INY             PC:E276 A:6A X:78 Y:5A P:27 SP:FB CYC:120 SL:114\nE276 A9 LDA #$7F        PC:E277 A:6A X:78 Y:5B P:25 SP:FB CYC:126 SL:114\nE278 8D STA $0678       PC:E279 A:7F X:78 Y:5B P:25 SP:FB CYC:132 SL:114\nE27B 20 JSR $F851       PC:E27C A:7F X:78 Y:5B P:25 SP:FB CYC:144 SL:114\nF851 38 SEC             PC:F852 A:7F X:78 Y:5B P:25 SP:F9 CYC:162 SL:114\nF852 B8 CLV             PC:F853 A:7F X:78 Y:5B P:25 SP:F9 CYC:168 SL:114\nF853 A9 LDA #$7F        PC:F854 A:7F X:78 Y:5B P:25 SP:F9 CYC:174 SL:114\nF855 60 RTS             PC:F856 A:7F X:78 Y:5B P:25 SP:F9 CYC:180 SL:114\nE27E 7D ADC $0600,x     PC:E27F A:7F X:78 Y:5B P:25 SP:FB CYC:198 SL:114\nE281 20 JSR $F856       PC:E282 A:FF X:78 Y:5B P:E4 SP:FB CYC:210 SL:114\nF856 10 BPL $F861       PC:F857 A:FF X:78 Y:5B P:E4 SP:F9 CYC:228 SL:114\nF858 B0 BCS $F861       PC:F859 A:FF X:78 Y:5B P:E4 SP:F9 CYC:234 SL:114\nF85A C9 CMP #$FF        PC:F85B A:FF X:78 Y:5B P:E4 SP:F9 CYC:240 SL:114\nF85C D0 BNE $F861       PC:F85D A:FF X:78 Y:5B P:67 SP:F9 CYC:246 SL:114\nF85E 50 BVC $F861       PC:F85F A:FF X:78 Y:5B P:67 SP:F9 CYC:252 SL:114\nF860 60 RTS             PC:F861 A:FF X:78 Y:5B P:67 SP:F9 CYC:258 SL:114\nE284 C8 INY             PC:E285 A:FF X:78 Y:5B P:67 SP:FB CYC:276 SL:114\nE285 A9 LDA #$80        PC:E286 A:FF X:78 Y:5C P:65 SP:FB CYC:282 SL:114\nE287 8D STA $0678       PC:E288 A:80 X:78 Y:5C P:E5 SP:FB CYC:288 SL:114\nE28A 20 JSR $F864       PC:E28B A:80 X:78 Y:5C P:E5 SP:FB CYC:300 SL:114\nF864 18 CLC             PC:F865 A:80 X:78 Y:5C P:E5 SP:F9 CYC:318 SL:114\nF865 24 BIT $01         PC:F866 A:80 X:78 Y:5C P:E4 SP:F9 CYC:324 SL:114\nF867 A9 LDA #$7F        PC:F868 A:80 X:78 Y:5C P:E4 SP:F9 CYC:333 SL:114\nF869 60 RTS             PC:F86A A:7F X:78 Y:5C P:64 SP:F9 CYC:339 SL:114\nE28D 7D ADC $0600,x     PC:E28E A:7F X:78 Y:5C P:64 SP:FB CYC:16 SL:115\nE290 20 JSR $F86A       PC:E291 A:FF X:78 Y:5C P:A4 SP:FB CYC:28 SL:115\nF86A 10 BPL $F875       PC:F86B A:FF X:78 Y:5C P:A4 SP:F9 CYC:46 SL:115\nF86C B0 BCS $F875       PC:F86D A:FF X:78 Y:5C P:A4 SP:F9 CYC:52 SL:115\nF86E C9 CMP #$FF        PC:F86F A:FF X:78 Y:5C P:A4 SP:F9 CYC:58 SL:115\nF870 D0 BNE $F875       PC:F871 A:FF X:78 Y:5C P:27 SP:F9 CYC:64 SL:115\nF872 70 BVS $F875       PC:F873 A:FF X:78 Y:5C P:27 SP:F9 CYC:70 SL:115\nF874 60 RTS             PC:F875 A:FF X:78 Y:5C P:27 SP:F9 CYC:76 SL:115\nE293 C8 INY             PC:E294 A:FF X:78 Y:5C P:27 SP:FB CYC:94 SL:115\nE294 20 JSR $F878       PC:E295 A:FF X:78 Y:5D P:25 SP:FB CYC:100 SL:115\nF878 38 SEC             PC:F879 A:FF X:78 Y:5D P:25 SP:F9 CYC:118 SL:115\nF879 B8 CLV             PC:F87A A:FF X:78 Y:5D P:25 SP:F9 CYC:124 SL:115\nF87A A9 LDA #$7F        PC:F87B A:FF X:78 Y:5D P:25 SP:F9 CYC:130 SL:115\nF87C 60 RTS             PC:F87D A:7F X:78 Y:5D P:25 SP:F9 CYC:136 SL:115\nE297 7D ADC $0600,x     PC:E298 A:7F X:78 Y:5D P:25 SP:FB CYC:154 SL:115\nE29A 20 JSR $F87D       PC:E29B A:00 X:78 Y:5D P:27 SP:FB CYC:166 SL:115\nF87D D0 BNE $F886       PC:F87E A:00 X:78 Y:5D P:27 SP:F9 CYC:184 SL:115\nF87F 30 BMI $F886       PC:F880 A:00 X:78 Y:5D P:27 SP:F9 CYC:190 SL:115\nF881 70 BVS $F886       PC:F882 A:00 X:78 Y:5D P:27 SP:F9 CYC:196 SL:115\nF883 90 BCC $F886       PC:F884 A:00 X:78 Y:5D P:27 SP:F9 CYC:202 SL:115\nF885 60 RTS             PC:F886 A:00 X:78 Y:5D P:27 SP:F9 CYC:208 SL:115\nE29D C8 INY             PC:E29E A:00 X:78 Y:5D P:27 SP:FB CYC:226 SL:115\nE29E A9 LDA #$40        PC:E29F A:00 X:78 Y:5E P:25 SP:FB CYC:232 SL:115\nE2A0 8D STA $0678       PC:E2A1 A:40 X:78 Y:5E P:25 SP:FB CYC:238 SL:115\nE2A3 20 JSR $F889       PC:E2A4 A:40 X:78 Y:5E P:25 SP:FB CYC:250 SL:115\nF889 24 BIT $01         PC:F88A A:40 X:78 Y:5E P:25 SP:F9 CYC:268 SL:115\nF88B A9 LDA #$40        PC:F88C A:40 X:78 Y:5E P:E5 SP:F9 CYC:277 SL:115\nF88D 60 RTS             PC:F88E A:40 X:78 Y:5E P:65 SP:F9 CYC:283 SL:115\nE2A6 DD CMP $0600,x     PC:E2A7 A:40 X:78 Y:5E P:65 SP:FB CYC:301 SL:115\nE2A9 20 JSR $F88E       PC:E2AA A:40 X:78 Y:5E P:67 SP:FB CYC:313 SL:115\nF88E 30 BMI $F897       PC:F88F A:40 X:78 Y:5E P:67 SP:F9 CYC:331 SL:115\nF890 90 BCC $F897       PC:F891 A:40 X:78 Y:5E P:67 SP:F9 CYC:337 SL:115\nF892 D0 BNE $F897       PC:F893 A:40 X:78 Y:5E P:67 SP:F9 CYC:2 SL:116\nF894 50 BVC $F897       PC:F895 A:40 X:78 Y:5E P:67 SP:F9 CYC:8 SL:116\nF896 60 RTS             PC:F897 A:40 X:78 Y:5E P:67 SP:F9 CYC:14 SL:116\nE2AC C8 INY             PC:E2AD A:40 X:78 Y:5E P:67 SP:FB CYC:32 SL:116\nE2AD 48 PHA             PC:E2AE A:40 X:78 Y:5F P:65 SP:FB CYC:38 SL:116\nE2AE A9 LDA #$3F        PC:E2AF A:40 X:78 Y:5F P:65 SP:FA CYC:47 SL:116\nE2B0 8D STA $0678       PC:E2B1 A:3F X:78 Y:5F P:65 SP:FA CYC:53 SL:116\nE2B3 68 PLA             PC:E2B4 A:3F X:78 Y:5F P:65 SP:FA CYC:65 SL:116\nE2B4 20 JSR $F89A       PC:E2B5 A:40 X:78 Y:5F P:65 SP:FB CYC:77 SL:116\nF89A B8 CLV             PC:F89B A:40 X:78 Y:5F P:65 SP:F9 CYC:95 SL:116\nF89B 60 RTS             PC:F89C A:40 X:78 Y:5F P:25 SP:F9 CYC:101 SL:116\nE2B7 DD CMP $0600,x     PC:E2B8 A:40 X:78 Y:5F P:25 SP:FB CYC:119 SL:116\nE2BA 20 JSR $F89C       PC:E2BB A:40 X:78 Y:5F P:25 SP:FB CYC:131 SL:116\nF89C F0 BEQ $F8A5       PC:F89D A:40 X:78 Y:5F P:25 SP:F9 CYC:149 SL:116\nF89E 30 BMI $F8A5       PC:F89F A:40 X:78 Y:5F P:25 SP:F9 CYC:155 SL:116\nF8A0 90 BCC $F8A5       PC:F8A1 A:40 X:78 Y:5F P:25 SP:F9 CYC:161 SL:116\nF8A2 70 BVS $F8A5       PC:F8A3 A:40 X:78 Y:5F P:25 SP:F9 CYC:167 SL:116\nF8A4 60 RTS             PC:F8A5 A:40 X:78 Y:5F P:25 SP:F9 CYC:173 SL:116\nE2BD C8 INY             PC:E2BE A:40 X:78 Y:5F P:25 SP:FB CYC:191 SL:116\nE2BE 48 PHA             PC:E2BF A:40 X:78 Y:60 P:25 SP:FB CYC:197 SL:116\nE2BF A9 LDA #$41        PC:E2C0 A:40 X:78 Y:60 P:25 SP:FA CYC:206 SL:116\nE2C1 8D STA $0678       PC:E2C2 A:41 X:78 Y:60 P:25 SP:FA CYC:212 SL:116\nE2C4 68 PLA             PC:E2C5 A:41 X:78 Y:60 P:25 SP:FA CYC:224 SL:116\nE2C5 DD CMP $0600,x     PC:E2C6 A:40 X:78 Y:60 P:25 SP:FB CYC:236 SL:116\nE2C8 20 JSR $F8A8       PC:E2C9 A:40 X:78 Y:60 P:A4 SP:FB CYC:248 SL:116\nF8A8 F0 BEQ $F8AF       PC:F8A9 A:40 X:78 Y:60 P:A4 SP:F9 CYC:266 SL:116\nF8AA 10 BPL $F8AF       PC:F8AB A:40 X:78 Y:60 P:A4 SP:F9 CYC:272 SL:116\nF8AC 10 BPL $F8AF       PC:F8AD A:40 X:78 Y:60 P:A4 SP:F9 CYC:278 SL:116\nF8AE 60 RTS             PC:F8AF A:40 X:78 Y:60 P:A4 SP:F9 CYC:284 SL:116\nE2CB C8 INY             PC:E2CC A:40 X:78 Y:60 P:A4 SP:FB CYC:302 SL:116\nE2CC 48 PHA             PC:E2CD A:40 X:78 Y:61 P:24 SP:FB CYC:308 SL:116\nE2CD A9 LDA #$00        PC:E2CE A:40 X:78 Y:61 P:24 SP:FA CYC:317 SL:116\nE2CF 8D STA $0678       PC:E2D0 A:00 X:78 Y:61 P:26 SP:FA CYC:323 SL:116\nE2D2 68 PLA             PC:E2D3 A:00 X:78 Y:61 P:26 SP:FA CYC:335 SL:116\nE2D3 20 JSR $F8B2       PC:E2D4 A:40 X:78 Y:61 P:24 SP:FB CYC:6 SL:117\nF8B2 A9 LDA #$80        PC:F8B3 A:40 X:78 Y:61 P:24 SP:F9 CYC:24 SL:117\nF8B4 60 RTS             PC:F8B5 A:80 X:78 Y:61 P:A4 SP:F9 CYC:30 SL:117\nE2D6 DD CMP $0600,x     PC:E2D7 A:80 X:78 Y:61 P:A4 SP:FB CYC:48 SL:117\nE2D9 20 JSR $F8B5       PC:E2DA A:80 X:78 Y:61 P:A5 SP:FB CYC:60 SL:117\nF8B5 F0 BEQ $F8BC       PC:F8B6 A:80 X:78 Y:61 P:A5 SP:F9 CYC:78 SL:117\nF8B7 10 BPL $F8BC       PC:F8B8 A:80 X:78 Y:61 P:A5 SP:F9 CYC:84 SL:117\nF8B9 90 BCC $F8BC       PC:F8BA A:80 X:78 Y:61 P:A5 SP:F9 CYC:90 SL:117\nF8BB 60 RTS             PC:F8BC A:80 X:78 Y:61 P:A5 SP:F9 CYC:96 SL:117\nE2DC C8 INY             PC:E2DD A:80 X:78 Y:61 P:A5 SP:FB CYC:114 SL:117\nE2DD 48 PHA             PC:E2DE A:80 X:78 Y:62 P:25 SP:FB CYC:120 SL:117\nE2DE A9 LDA #$80        PC:E2DF A:80 X:78 Y:62 P:25 SP:FA CYC:129 SL:117\nE2E0 8D STA $0678       PC:E2E1 A:80 X:78 Y:62 P:A5 SP:FA CYC:135 SL:117\nE2E3 68 PLA             PC:E2E4 A:80 X:78 Y:62 P:A5 SP:FA CYC:147 SL:117\nE2E4 DD CMP $0600,x     PC:E2E5 A:80 X:78 Y:62 P:A5 SP:FB CYC:159 SL:117\nE2E7 20 JSR $F8BF       PC:E2E8 A:80 X:78 Y:62 P:27 SP:FB CYC:171 SL:117\nF8BF D0 BNE $F8C6       PC:F8C0 A:80 X:78 Y:62 P:27 SP:F9 CYC:189 SL:117\nF8C1 30 BMI $F8C6       PC:F8C2 A:80 X:78 Y:62 P:27 SP:F9 CYC:195 SL:117\nF8C3 90 BCC $F8C6       PC:F8C4 A:80 X:78 Y:62 P:27 SP:F9 CYC:201 SL:117\nF8C5 60 RTS             PC:F8C6 A:80 X:78 Y:62 P:27 SP:F9 CYC:207 SL:117\nE2EA C8 INY             PC:E2EB A:80 X:78 Y:62 P:27 SP:FB CYC:225 SL:117\nE2EB 48 PHA             PC:E2EC A:80 X:78 Y:63 P:25 SP:FB CYC:231 SL:117\nE2EC A9 LDA #$81        PC:E2ED A:80 X:78 Y:63 P:25 SP:FA CYC:240 SL:117\nE2EE 8D STA $0678       PC:E2EF A:81 X:78 Y:63 P:A5 SP:FA CYC:246 SL:117\nE2F1 68 PLA             PC:E2F2 A:81 X:78 Y:63 P:A5 SP:FA CYC:258 SL:117\nE2F2 DD CMP $0600,x     PC:E2F3 A:80 X:78 Y:63 P:A5 SP:FB CYC:270 SL:117\nE2F5 20 JSR $F8C9       PC:E2F6 A:80 X:78 Y:63 P:A4 SP:FB CYC:282 SL:117\nF8C9 B0 BCS $F8D0       PC:F8CA A:80 X:78 Y:63 P:A4 SP:F9 CYC:300 SL:117\nF8CB F0 BEQ $F8D0       PC:F8CC A:80 X:78 Y:63 P:A4 SP:F9 CYC:306 SL:117\nF8CD 10 BPL $F8D0       PC:F8CE A:80 X:78 Y:63 P:A4 SP:F9 CYC:312 SL:117\nF8CF 60 RTS             PC:F8D0 A:80 X:78 Y:63 P:A4 SP:F9 CYC:318 SL:117\nE2F8 C8 INY             PC:E2F9 A:80 X:78 Y:63 P:A4 SP:FB CYC:336 SL:117\nE2F9 48 PHA             PC:E2FA A:80 X:78 Y:64 P:24 SP:FB CYC:1 SL:118\nE2FA A9 LDA #$7F        PC:E2FB A:80 X:78 Y:64 P:24 SP:FA CYC:10 SL:118\nE2FC 8D STA $0678       PC:E2FD A:7F X:78 Y:64 P:24 SP:FA CYC:16 SL:118\nE2FF 68 PLA             PC:E300 A:7F X:78 Y:64 P:24 SP:FA CYC:28 SL:118\nE300 DD CMP $0600,x     PC:E301 A:80 X:78 Y:64 P:A4 SP:FB CYC:40 SL:118\nE303 20 JSR $F8D3       PC:E304 A:80 X:78 Y:64 P:25 SP:FB CYC:52 SL:118\nF8D3 90 BCC $F8DA       PC:F8D4 A:80 X:78 Y:64 P:25 SP:F9 CYC:70 SL:118\nF8D5 F0 BEQ $F8DA       PC:F8D6 A:80 X:78 Y:64 P:25 SP:F9 CYC:76 SL:118\nF8D7 30 BMI $F8DA       PC:F8D8 A:80 X:78 Y:64 P:25 SP:F9 CYC:82 SL:118\nF8D9 60 RTS             PC:F8DA A:80 X:78 Y:64 P:25 SP:F9 CYC:88 SL:118\nE306 C8 INY             PC:E307 A:80 X:78 Y:64 P:25 SP:FB CYC:106 SL:118\nE307 A9 LDA #$40        PC:E308 A:80 X:78 Y:65 P:25 SP:FB CYC:112 SL:118\nE309 8D STA $0678       PC:E30A A:40 X:78 Y:65 P:25 SP:FB CYC:118 SL:118\nE30C 20 JSR $F931       PC:E30D A:40 X:78 Y:65 P:25 SP:FB CYC:130 SL:118\nF931 24 BIT $01         PC:F932 A:40 X:78 Y:65 P:25 SP:F9 CYC:148 SL:118\nF933 A9 LDA #$40        PC:F934 A:40 X:78 Y:65 P:E5 SP:F9 CYC:157 SL:118\nF935 38 SEC             PC:F936 A:40 X:78 Y:65 P:65 SP:F9 CYC:163 SL:118\nF936 60 RTS             PC:F937 A:40 X:78 Y:65 P:65 SP:F9 CYC:169 SL:118\nE30F FD SBC $0600,x     PC:E310 A:40 X:78 Y:65 P:65 SP:FB CYC:187 SL:118\nE312 20 JSR $F937       PC:E313 A:00 X:78 Y:65 P:27 SP:FB CYC:199 SL:118\nF937 30 BMI $F944       PC:F938 A:00 X:78 Y:65 P:27 SP:F9 CYC:217 SL:118\nF939 90 BCC $F944       PC:F93A A:00 X:78 Y:65 P:27 SP:F9 CYC:223 SL:118\nF93B D0 BNE $F944       PC:F93C A:00 X:78 Y:65 P:27 SP:F9 CYC:229 SL:118\nF93D 70 BVS $F944       PC:F93E A:00 X:78 Y:65 P:27 SP:F9 CYC:235 SL:118\nF93F C9 CMP #$00        PC:F940 A:00 X:78 Y:65 P:27 SP:F9 CYC:241 SL:118\nF941 D0 BNE $F944       PC:F942 A:00 X:78 Y:65 P:27 SP:F9 CYC:247 SL:118\nF943 60 RTS             PC:F944 A:00 X:78 Y:65 P:27 SP:F9 CYC:253 SL:118\nE315 C8 INY             PC:E316 A:00 X:78 Y:65 P:27 SP:FB CYC:271 SL:118\nE316 A9 LDA #$3F        PC:E317 A:00 X:78 Y:66 P:25 SP:FB CYC:277 SL:118\nE318 8D STA $0678       PC:E319 A:3F X:78 Y:66 P:25 SP:FB CYC:283 SL:118\nE31B 20 JSR $F947       PC:E31C A:3F X:78 Y:66 P:25 SP:FB CYC:295 SL:118\nF947 B8 CLV             PC:F948 A:3F X:78 Y:66 P:25 SP:F9 CYC:313 SL:118\nF948 38 SEC             PC:F949 A:3F X:78 Y:66 P:25 SP:F9 CYC:319 SL:118\nF949 A9 LDA #$40        PC:F94A A:3F X:78 Y:66 P:25 SP:F9 CYC:325 SL:118\nF94B 60 RTS             PC:F94C A:40 X:78 Y:66 P:25 SP:F9 CYC:331 SL:118\nE31E FD SBC $0600,x     PC:E31F A:40 X:78 Y:66 P:25 SP:FB CYC:8 SL:119\nE321 20 JSR $F94C       PC:E322 A:01 X:78 Y:66 P:25 SP:FB CYC:20 SL:119\nF94C F0 BEQ $F959       PC:F94D A:01 X:78 Y:66 P:25 SP:F9 CYC:38 SL:119\nF94E 30 BMI $F959       PC:F94F A:01 X:78 Y:66 P:25 SP:F9 CYC:44 SL:119\nF950 90 BCC $F959       PC:F951 A:01 X:78 Y:66 P:25 SP:F9 CYC:50 SL:119\nF952 70 BVS $F959       PC:F953 A:01 X:78 Y:66 P:25 SP:F9 CYC:56 SL:119\nF954 C9 CMP #$01        PC:F955 A:01 X:78 Y:66 P:25 SP:F9 CYC:62 SL:119\nF956 D0 BNE $F959       PC:F957 A:01 X:78 Y:66 P:27 SP:F9 CYC:68 SL:119\nF958 60 RTS             PC:F959 A:01 X:78 Y:66 P:27 SP:F9 CYC:74 SL:119\nE324 C8 INY             PC:E325 A:01 X:78 Y:66 P:27 SP:FB CYC:92 SL:119\nE325 A9 LDA #$41        PC:E326 A:01 X:78 Y:67 P:25 SP:FB CYC:98 SL:119\nE327 8D STA $0678       PC:E328 A:41 X:78 Y:67 P:25 SP:FB CYC:104 SL:119\nE32A 20 JSR $F95C       PC:E32B A:41 X:78 Y:67 P:25 SP:FB CYC:116 SL:119\nF95C A9 LDA #$40        PC:F95D A:41 X:78 Y:67 P:25 SP:F9 CYC:134 SL:119\nF95E 38 SEC             PC:F95F A:40 X:78 Y:67 P:25 SP:F9 CYC:140 SL:119\nF95F 24 BIT $01         PC:F960 A:40 X:78 Y:67 P:25 SP:F9 CYC:146 SL:119\nF961 60 RTS             PC:F962 A:40 X:78 Y:67 P:E5 SP:F9 CYC:155 SL:119\nE32D FD SBC $0600,x     PC:E32E A:40 X:78 Y:67 P:E5 SP:FB CYC:173 SL:119\nE330 20 JSR $F962       PC:E331 A:FF X:78 Y:67 P:A4 SP:FB CYC:185 SL:119\nF962 B0 BCS $F96F       PC:F963 A:FF X:78 Y:67 P:A4 SP:F9 CYC:203 SL:119\nF964 F0 BEQ $F96F       PC:F965 A:FF X:78 Y:67 P:A4 SP:F9 CYC:209 SL:119\nF966 10 BPL $F96F       PC:F967 A:FF X:78 Y:67 P:A4 SP:F9 CYC:215 SL:119\nF968 70 BVS $F96F       PC:F969 A:FF X:78 Y:67 P:A4 SP:F9 CYC:221 SL:119\nF96A C9 CMP #$FF        PC:F96B A:FF X:78 Y:67 P:A4 SP:F9 CYC:227 SL:119\nF96C D0 BNE $F96F       PC:F96D A:FF X:78 Y:67 P:27 SP:F9 CYC:233 SL:119\nF96E 60 RTS             PC:F96F A:FF X:78 Y:67 P:27 SP:F9 CYC:239 SL:119\nE333 C8 INY             PC:E334 A:FF X:78 Y:67 P:27 SP:FB CYC:257 SL:119\nE334 A9 LDA #$00        PC:E335 A:FF X:78 Y:68 P:25 SP:FB CYC:263 SL:119\nE336 8D STA $0678       PC:E337 A:00 X:78 Y:68 P:27 SP:FB CYC:269 SL:119\nE339 20 JSR $F972       PC:E33A A:00 X:78 Y:68 P:27 SP:FB CYC:281 SL:119\nF972 18 CLC             PC:F973 A:00 X:78 Y:68 P:27 SP:F9 CYC:299 SL:119\nF973 A9 LDA #$80        PC:F974 A:00 X:78 Y:68 P:26 SP:F9 CYC:305 SL:119\nF975 60 RTS             PC:F976 A:80 X:78 Y:68 P:A4 SP:F9 CYC:311 SL:119\nE33C FD SBC $0600,x     PC:E33D A:80 X:78 Y:68 P:A4 SP:FB CYC:329 SL:119\nE33F 20 JSR $F976       PC:E340 A:7F X:78 Y:68 P:65 SP:FB CYC:0 SL:120\nF976 90 BCC $F97D       PC:F977 A:7F X:78 Y:68 P:65 SP:F9 CYC:18 SL:120\nF978 C9 CMP #$7F        PC:F979 A:7F X:78 Y:68 P:65 SP:F9 CYC:24 SL:120\nF97A D0 BNE $F97D       PC:F97B A:7F X:78 Y:68 P:67 SP:F9 CYC:30 SL:120\nF97C 60 RTS             PC:F97D A:7F X:78 Y:68 P:67 SP:F9 CYC:36 SL:120\nE342 C8 INY             PC:E343 A:7F X:78 Y:68 P:67 SP:FB CYC:54 SL:120\nE343 A9 LDA #$7F        PC:E344 A:7F X:78 Y:69 P:65 SP:FB CYC:60 SL:120\nE345 8D STA $0678       PC:E346 A:7F X:78 Y:69 P:65 SP:FB CYC:66 SL:120\nE348 20 JSR $F980       PC:E349 A:7F X:78 Y:69 P:65 SP:FB CYC:78 SL:120\nF980 38 SEC             PC:F981 A:7F X:78 Y:69 P:65 SP:F9 CYC:96 SL:120\nF981 A9 LDA #$81        PC:F982 A:7F X:78 Y:69 P:65 SP:F9 CYC:102 SL:120\nF983 60 RTS             PC:F984 A:81 X:78 Y:69 P:E5 SP:F9 CYC:108 SL:120\nE34B FD SBC $0600,x     PC:E34C A:81 X:78 Y:69 P:E5 SP:FB CYC:126 SL:120\nE34E 20 JSR $F984       PC:E34F A:02 X:78 Y:69 P:65 SP:FB CYC:138 SL:120\nF984 50 BVC $F98D       PC:F985 A:02 X:78 Y:69 P:65 SP:F9 CYC:156 SL:120\nF986 90 BCC $F98D       PC:F987 A:02 X:78 Y:69 P:65 SP:F9 CYC:162 SL:120\nF988 C9 CMP #$02        PC:F989 A:02 X:78 Y:69 P:65 SP:F9 CYC:168 SL:120\nF98A D0 BNE $F98D       PC:F98B A:02 X:78 Y:69 P:67 SP:F9 CYC:174 SL:120\nF98C 60 RTS             PC:F98D A:02 X:78 Y:69 P:67 SP:F9 CYC:180 SL:120\nE351 A9 LDA #$AA        PC:E352 A:02 X:78 Y:69 P:67 SP:FB CYC:198 SL:120\nE353 8D STA $0633       PC:E354 A:AA X:78 Y:69 P:E5 SP:FB CYC:204 SL:120\nE356 A9 LDA #$BB        PC:E357 A:AA X:78 Y:69 P:E5 SP:FB CYC:216 SL:120\nE358 8D STA $0689       PC:E359 A:BB X:78 Y:69 P:E5 SP:FB CYC:222 SL:120\nE35B A2 LDX #$00        PC:E35C A:BB X:78 Y:69 P:E5 SP:FB CYC:234 SL:120\nE35D A0 LDY #$66        PC:E35E A:BB X:00 Y:69 P:67 SP:FB CYC:240 SL:120\nE35F 24 BIT $01         PC:E360 A:BB X:00 Y:66 P:65 SP:FB CYC:246 SL:120\nE361 38 SEC             PC:E362 A:BB X:00 Y:66 P:E5 SP:FB CYC:255 SL:120\nE362 A9 LDA #$00        PC:E363 A:BB X:00 Y:66 P:E5 SP:FB CYC:261 SL:120\nE364 BD LDA $0633,x     PC:E365 A:00 X:00 Y:66 P:67 SP:FB CYC:267 SL:120\nE367 10 BPL $E37B       PC:E368 A:AA X:00 Y:66 P:E5 SP:FB CYC:279 SL:120\nE369 F0 BEQ $E37B       PC:E36A A:AA X:00 Y:66 P:E5 SP:FB CYC:285 SL:120\nE36B 50 BVC $E37B       PC:E36C A:AA X:00 Y:66 P:E5 SP:FB CYC:291 SL:120\nE36D 90 BCC $E37B       PC:E36E A:AA X:00 Y:66 P:E5 SP:FB CYC:297 SL:120\nE36F C0 CPY #$66        PC:E370 A:AA X:00 Y:66 P:E5 SP:FB CYC:303 SL:120\nE371 D0 BNE $E37B       PC:E372 A:AA X:00 Y:66 P:67 SP:FB CYC:309 SL:120\nE373 E0 CPX #$00        PC:E374 A:AA X:00 Y:66 P:67 SP:FB CYC:315 SL:120\nE375 D0 BNE $E37B       PC:E376 A:AA X:00 Y:66 P:67 SP:FB CYC:321 SL:120\nE377 C9 CMP #$AA        PC:E378 A:AA X:00 Y:66 P:67 SP:FB CYC:327 SL:120\nE379 F0 BEQ $E37F       PC:E37A A:AA X:00 Y:66 P:67 SP:FB CYC:333 SL:120\nE37F A2 LDX #$8A        PC:E380 A:AA X:00 Y:66 P:67 SP:FB CYC:1 SL:121\nE381 A0 LDY #$66        PC:E382 A:AA X:8A Y:66 P:E5 SP:FB CYC:7 SL:121\nE383 B8 CLV             PC:E384 A:AA X:8A Y:66 P:65 SP:FB CYC:13 SL:121\nE384 18 CLC             PC:E385 A:AA X:8A Y:66 P:25 SP:FB CYC:19 SL:121\nE385 A9 LDA #$00        PC:E386 A:AA X:8A Y:66 P:24 SP:FB CYC:25 SL:121\nE387 BD LDA $05FF,x     PC:E388 A:00 X:8A Y:66 P:26 SP:FB CYC:31 SL:121\nE38A 10 BPL $E39E       PC:E38B A:BB X:8A Y:66 P:A4 SP:FB CYC:46 SL:121\nE38C F0 BEQ $E39E       PC:E38D A:BB X:8A Y:66 P:A4 SP:FB CYC:52 SL:121\nE38E 70 BVS $E39E       PC:E38F A:BB X:8A Y:66 P:A4 SP:FB CYC:58 SL:121\nE390 B0 BCS $E39E       PC:E391 A:BB X:8A Y:66 P:A4 SP:FB CYC:64 SL:121\nE392 C9 CMP #$BB        PC:E393 A:BB X:8A Y:66 P:A4 SP:FB CYC:70 SL:121\nE394 D0 BNE $E39E       PC:E395 A:BB X:8A Y:66 P:27 SP:FB CYC:76 SL:121\nE396 C0 CPY #$66        PC:E397 A:BB X:8A Y:66 P:27 SP:FB CYC:82 SL:121\nE398 D0 BNE $E39E       PC:E399 A:BB X:8A Y:66 P:27 SP:FB CYC:88 SL:121\nE39A E0 CPX #$8A        PC:E39B A:BB X:8A Y:66 P:27 SP:FB CYC:94 SL:121\nE39C F0 BEQ $E3A2       PC:E39D A:BB X:8A Y:66 P:27 SP:FB CYC:100 SL:121\nE3A2 24 BIT $01         PC:E3A3 A:BB X:8A Y:66 P:27 SP:FB CYC:109 SL:121\nE3A4 38 SEC             PC:E3A5 A:BB X:8A Y:66 P:E5 SP:FB CYC:118 SL:121\nE3A5 A9 LDA #$44        PC:E3A6 A:BB X:8A Y:66 P:E5 SP:FB CYC:124 SL:121\nE3A7 A2 LDX #$00        PC:E3A8 A:44 X:8A Y:66 P:65 SP:FB CYC:130 SL:121\nE3A9 9D STA $0633,x     PC:E3AA A:44 X:00 Y:66 P:67 SP:FB CYC:136 SL:121\nE3AC AD LDA $0633       PC:E3AD A:44 X:00 Y:66 P:67 SP:FB CYC:151 SL:121\nE3AF 90 BCC $E3CB       PC:E3B0 A:44 X:00 Y:66 P:65 SP:FB CYC:163 SL:121\nE3B1 C9 CMP #$44        PC:E3B2 A:44 X:00 Y:66 P:65 SP:FB CYC:169 SL:121\nE3B3 D0 BNE $E3CB       PC:E3B4 A:44 X:00 Y:66 P:67 SP:FB CYC:175 SL:121\nE3B5 50 BVC $E3CB       PC:E3B6 A:44 X:00 Y:66 P:67 SP:FB CYC:181 SL:121\nE3B7 18 CLC             PC:E3B8 A:44 X:00 Y:66 P:67 SP:FB CYC:187 SL:121\nE3B8 B8 CLV             PC:E3B9 A:44 X:00 Y:66 P:66 SP:FB CYC:193 SL:121\nE3B9 A9 LDA #$99        PC:E3BA A:44 X:00 Y:66 P:26 SP:FB CYC:199 SL:121\nE3BB A2 LDX #$80        PC:E3BC A:99 X:00 Y:66 P:A4 SP:FB CYC:205 SL:121\nE3BD 9D STA $0585,x     PC:E3BE A:99 X:80 Y:66 P:A4 SP:FB CYC:211 SL:121\nE3C0 AD LDA $0605       PC:E3C1 A:99 X:80 Y:66 P:A4 SP:FB CYC:226 SL:121\nE3C3 B0 BCS $E3CB       PC:E3C4 A:99 X:80 Y:66 P:A4 SP:FB CYC:238 SL:121\nE3C5 C9 CMP #$99        PC:E3C6 A:99 X:80 Y:66 P:A4 SP:FB CYC:244 SL:121\nE3C7 D0 BNE $E3CB       PC:E3C8 A:99 X:80 Y:66 P:27 SP:FB CYC:250 SL:121\nE3C9 50 BVC $E3CF       PC:E3CA A:99 X:80 Y:66 P:27 SP:FB CYC:256 SL:121\nE3CF A0 LDY #$6D        PC:E3D0 A:99 X:80 Y:66 P:27 SP:FB CYC:265 SL:121\nE3D1 A2 LDX #$6D        PC:E3D2 A:99 X:80 Y:6D P:25 SP:FB CYC:271 SL:121\nE3D3 20 JSR $F990       PC:E3D4 A:99 X:6D Y:6D P:25 SP:FB CYC:277 SL:121\nF990 A2 LDX #$55        PC:F991 A:99 X:6D Y:6D P:25 SP:F9 CYC:295 SL:121\nF992 A9 LDA #$FF        PC:F993 A:99 X:55 Y:6D P:25 SP:F9 CYC:301 SL:121\nF994 85 STA $01         PC:F995 A:FF X:55 Y:6D P:A5 SP:F9 CYC:307 SL:121\nF996 EA NOP             PC:F997 A:FF X:55 Y:6D P:A5 SP:F9 CYC:316 SL:121\nF997 24 BIT $01         PC:F998 A:FF X:55 Y:6D P:A5 SP:F9 CYC:322 SL:121\nF999 38 SEC             PC:F99A A:FF X:55 Y:6D P:E5 SP:F9 CYC:331 SL:121\nF99A A9 LDA #$01        PC:F99B A:FF X:55 Y:6D P:E5 SP:F9 CYC:337 SL:121\nF99C 60 RTS             PC:F99D A:01 X:55 Y:6D P:65 SP:F9 CYC:2 SL:122\nE3D6 9D STA $0600,x     PC:E3D7 A:01 X:55 Y:6D P:65 SP:FB CYC:20 SL:122\nE3D9 5E LSR $0600,x     PC:E3DA A:01 X:55 Y:6D P:65 SP:FB CYC:35 SL:122\nE3DC BD LDA $0600,x     PC:E3DD A:01 X:55 Y:6D P:67 SP:FB CYC:56 SL:122\nE3DF 20 JSR $F99D       PC:E3E0 A:00 X:55 Y:6D P:67 SP:FB CYC:68 SL:122\nF99D 90 BCC $F9BA       PC:F99E A:00 X:55 Y:6D P:67 SP:F9 CYC:86 SL:122\nF99F D0 BNE $F9BA       PC:F9A0 A:00 X:55 Y:6D P:67 SP:F9 CYC:92 SL:122\nF9A1 30 BMI $F9BA       PC:F9A2 A:00 X:55 Y:6D P:67 SP:F9 CYC:98 SL:122\nF9A3 50 BVC $F9BA       PC:F9A4 A:00 X:55 Y:6D P:67 SP:F9 CYC:104 SL:122\nF9A5 C9 CMP #$00        PC:F9A6 A:00 X:55 Y:6D P:67 SP:F9 CYC:110 SL:122\nF9A7 D0 BNE $F9BA       PC:F9A8 A:00 X:55 Y:6D P:67 SP:F9 CYC:116 SL:122\nF9A9 B8 CLV             PC:F9AA A:00 X:55 Y:6D P:67 SP:F9 CYC:122 SL:122\nF9AA A9 LDA #$AA        PC:F9AB A:00 X:55 Y:6D P:27 SP:F9 CYC:128 SL:122\nF9AC 60 RTS             PC:F9AD A:AA X:55 Y:6D P:A5 SP:F9 CYC:134 SL:122\nE3E2 C8 INY             PC:E3E3 A:AA X:55 Y:6D P:A5 SP:FB CYC:152 SL:122\nE3E3 9D STA $0600,x     PC:E3E4 A:AA X:55 Y:6E P:25 SP:FB CYC:158 SL:122\nE3E6 5E LSR $0600,x     PC:E3E7 A:AA X:55 Y:6E P:25 SP:FB CYC:173 SL:122\nE3E9 BD LDA $0600,x     PC:E3EA A:AA X:55 Y:6E P:24 SP:FB CYC:194 SL:122\nE3EC 20 JSR $F9AD       PC:E3ED A:55 X:55 Y:6E P:24 SP:FB CYC:206 SL:122\nF9AD B0 BCS $F9BA       PC:F9AE A:55 X:55 Y:6E P:24 SP:F9 CYC:224 SL:122\nF9AF F0 BEQ $F9BA       PC:F9B0 A:55 X:55 Y:6E P:24 SP:F9 CYC:230 SL:122\nF9B1 30 BMI $F9BA       PC:F9B2 A:55 X:55 Y:6E P:24 SP:F9 CYC:236 SL:122\nF9B3 70 BVS $F9BA       PC:F9B4 A:55 X:55 Y:6E P:24 SP:F9 CYC:242 SL:122\nF9B5 C9 CMP #$55        PC:F9B6 A:55 X:55 Y:6E P:24 SP:F9 CYC:248 SL:122\nF9B7 D0 BNE $F9BA       PC:F9B8 A:55 X:55 Y:6E P:27 SP:F9 CYC:254 SL:122\nF9B9 60 RTS             PC:F9BA A:55 X:55 Y:6E P:27 SP:F9 CYC:260 SL:122\nE3EF C8 INY             PC:E3F0 A:55 X:55 Y:6E P:27 SP:FB CYC:278 SL:122\nE3F0 20 JSR $F9BD       PC:E3F1 A:55 X:55 Y:6F P:25 SP:FB CYC:284 SL:122\nF9BD 24 BIT $01         PC:F9BE A:55 X:55 Y:6F P:25 SP:F9 CYC:302 SL:122\nF9BF 38 SEC             PC:F9C0 A:55 X:55 Y:6F P:E5 SP:F9 CYC:311 SL:122\nF9C0 A9 LDA #$80        PC:F9C1 A:55 X:55 Y:6F P:E5 SP:F9 CYC:317 SL:122\nF9C2 60 RTS             PC:F9C3 A:80 X:55 Y:6F P:E5 SP:F9 CYC:323 SL:122\nE3F3 9D STA $0600,x     PC:E3F4 A:80 X:55 Y:6F P:E5 SP:FB CYC:0 SL:123\nE3F6 1E ASL $0600,x     PC:E3F7 A:80 X:55 Y:6F P:E5 SP:FB CYC:15 SL:123\nE3F9 BD LDA $0600,x     PC:E3FA A:80 X:55 Y:6F P:67 SP:FB CYC:36 SL:123\nE3FC 20 JSR $F9C3       PC:E3FD A:00 X:55 Y:6F P:67 SP:FB CYC:48 SL:123\nF9C3 90 BCC $F9E1       PC:F9C4 A:00 X:55 Y:6F P:67 SP:F9 CYC:66 SL:123\nF9C5 D0 BNE $F9E1       PC:F9C6 A:00 X:55 Y:6F P:67 SP:F9 CYC:72 SL:123\nF9C7 30 BMI $F9E1       PC:F9C8 A:00 X:55 Y:6F P:67 SP:F9 CYC:78 SL:123\nF9C9 50 BVC $F9E1       PC:F9CA A:00 X:55 Y:6F P:67 SP:F9 CYC:84 SL:123\nF9CB C9 CMP #$00        PC:F9CC A:00 X:55 Y:6F P:67 SP:F9 CYC:90 SL:123\nF9CD D0 BNE $F9E1       PC:F9CE A:00 X:55 Y:6F P:67 SP:F9 CYC:96 SL:123\nF9CF B8 CLV             PC:F9D0 A:00 X:55 Y:6F P:67 SP:F9 CYC:102 SL:123\nF9D0 A9 LDA #$55        PC:F9D1 A:00 X:55 Y:6F P:27 SP:F9 CYC:108 SL:123\nF9D2 38 SEC             PC:F9D3 A:55 X:55 Y:6F P:25 SP:F9 CYC:114 SL:123\nF9D3 60 RTS             PC:F9D4 A:55 X:55 Y:6F P:25 SP:F9 CYC:120 SL:123\nE3FF C8 INY             PC:E400 A:55 X:55 Y:6F P:25 SP:FB CYC:138 SL:123\nE400 9D STA $0600,x     PC:E401 A:55 X:55 Y:70 P:25 SP:FB CYC:144 SL:123\nE403 1E ASL $0600,x     PC:E404 A:55 X:55 Y:70 P:25 SP:FB CYC:159 SL:123\nE406 BD LDA $0600,x     PC:E407 A:55 X:55 Y:70 P:A4 SP:FB CYC:180 SL:123\nE409 20 JSR $F9D4       PC:E40A A:AA X:55 Y:70 P:A4 SP:FB CYC:192 SL:123\nF9D4 B0 BCS $F9E1       PC:F9D5 A:AA X:55 Y:70 P:A4 SP:F9 CYC:210 SL:123\nF9D6 F0 BEQ $F9E1       PC:F9D7 A:AA X:55 Y:70 P:A4 SP:F9 CYC:216 SL:123\nF9D8 10 BPL $F9E1       PC:F9D9 A:AA X:55 Y:70 P:A4 SP:F9 CYC:222 SL:123\nF9DA 70 BVS $F9E1       PC:F9DB A:AA X:55 Y:70 P:A4 SP:F9 CYC:228 SL:123\nF9DC C9 CMP #$AA        PC:F9DD A:AA X:55 Y:70 P:A4 SP:F9 CYC:234 SL:123\nF9DE D0 BNE $F9E1       PC:F9DF A:AA X:55 Y:70 P:27 SP:F9 CYC:240 SL:123\nF9E0 60 RTS             PC:F9E1 A:AA X:55 Y:70 P:27 SP:F9 CYC:246 SL:123\nE40C C8 INY             PC:E40D A:AA X:55 Y:70 P:27 SP:FB CYC:264 SL:123\nE40D 20 JSR $F9E4       PC:E40E A:AA X:55 Y:71 P:25 SP:FB CYC:270 SL:123\nF9E4 24 BIT $01         PC:F9E5 A:AA X:55 Y:71 P:25 SP:F9 CYC:288 SL:123\nF9E6 38 SEC             PC:F9E7 A:AA X:55 Y:71 P:E5 SP:F9 CYC:297 SL:123\nF9E7 A9 LDA #$01        PC:F9E8 A:AA X:55 Y:71 P:E5 SP:F9 CYC:303 SL:123\nF9E9 60 RTS             PC:F9EA A:01 X:55 Y:71 P:65 SP:F9 CYC:309 SL:123\nE410 9D STA $0600,x     PC:E411 A:01 X:55 Y:71 P:65 SP:FB CYC:327 SL:123\nE413 7E ROR $0600,x     PC:E414 A:01 X:55 Y:71 P:65 SP:FB CYC:1 SL:124\nE416 BD LDA $0600,x     PC:E417 A:01 X:55 Y:71 P:E5 SP:FB CYC:22 SL:124\nE419 20 JSR $F9EA       PC:E41A A:80 X:55 Y:71 P:E5 SP:FB CYC:34 SL:124\nF9EA 90 BCC $FA08       PC:F9EB A:80 X:55 Y:71 P:E5 SP:F9 CYC:52 SL:124\nF9EC F0 BEQ $FA08       PC:F9ED A:80 X:55 Y:71 P:E5 SP:F9 CYC:58 SL:124\nF9EE 10 BPL $FA08       PC:F9EF A:80 X:55 Y:71 P:E5 SP:F9 CYC:64 SL:124\nF9F0 50 BVC $FA08       PC:F9F1 A:80 X:55 Y:71 P:E5 SP:F9 CYC:70 SL:124\nF9F2 C9 CMP #$80        PC:F9F3 A:80 X:55 Y:71 P:E5 SP:F9 CYC:76 SL:124\nF9F4 D0 BNE $FA08       PC:F9F5 A:80 X:55 Y:71 P:67 SP:F9 CYC:82 SL:124\nF9F6 B8 CLV             PC:F9F7 A:80 X:55 Y:71 P:67 SP:F9 CYC:88 SL:124\nF9F7 18 CLC             PC:F9F8 A:80 X:55 Y:71 P:27 SP:F9 CYC:94 SL:124\nF9F8 A9 LDA #$55        PC:F9F9 A:80 X:55 Y:71 P:26 SP:F9 CYC:100 SL:124\nF9FA 60 RTS             PC:F9FB A:55 X:55 Y:71 P:24 SP:F9 CYC:106 SL:124\nE41C C8 INY             PC:E41D A:55 X:55 Y:71 P:24 SP:FB CYC:124 SL:124\nE41D 9D STA $0600,x     PC:E41E A:55 X:55 Y:72 P:24 SP:FB CYC:130 SL:124\nE420 7E ROR $0600,x     PC:E421 A:55 X:55 Y:72 P:24 SP:FB CYC:145 SL:124\nE423 BD LDA $0600,x     PC:E424 A:55 X:55 Y:72 P:25 SP:FB CYC:166 SL:124\nE426 20 JSR $F9FB       PC:E427 A:2A X:55 Y:72 P:25 SP:FB CYC:178 SL:124\nF9FB 90 BCC $FA08       PC:F9FC A:2A X:55 Y:72 P:25 SP:F9 CYC:196 SL:124\nF9FD F0 BEQ $FA08       PC:F9FE A:2A X:55 Y:72 P:25 SP:F9 CYC:202 SL:124\nF9FF 30 BMI $FA08       PC:FA00 A:2A X:55 Y:72 P:25 SP:F9 CYC:208 SL:124\nFA01 70 BVS $FA08       PC:FA02 A:2A X:55 Y:72 P:25 SP:F9 CYC:214 SL:124\nFA03 C9 CMP #$2A        PC:FA04 A:2A X:55 Y:72 P:25 SP:F9 CYC:220 SL:124\nFA05 D0 BNE $FA08       PC:FA06 A:2A X:55 Y:72 P:27 SP:F9 CYC:226 SL:124\nFA07 60 RTS             PC:FA08 A:2A X:55 Y:72 P:27 SP:F9 CYC:232 SL:124\nE429 C8 INY             PC:E42A A:2A X:55 Y:72 P:27 SP:FB CYC:250 SL:124\nE42A 20 JSR $FA0A       PC:E42B A:2A X:55 Y:73 P:25 SP:FB CYC:256 SL:124\nFA0A 24 BIT $01         PC:FA0B A:2A X:55 Y:73 P:25 SP:F9 CYC:274 SL:124\nFA0C 38 SEC             PC:FA0D A:2A X:55 Y:73 P:E5 SP:F9 CYC:283 SL:124\nFA0D A9 LDA #$80        PC:FA0E A:2A X:55 Y:73 P:E5 SP:F9 CYC:289 SL:124\nFA0F 60 RTS             PC:FA10 A:80 X:55 Y:73 P:E5 SP:F9 CYC:295 SL:124\nE42D 9D STA $0600,x     PC:E42E A:80 X:55 Y:73 P:E5 SP:FB CYC:313 SL:124\nE430 3E ROL $0600,x     PC:E431 A:80 X:55 Y:73 P:E5 SP:FB CYC:328 SL:124\nE433 BD LDA $0600,x     PC:E434 A:80 X:55 Y:73 P:65 SP:FB CYC:8 SL:125\nE436 20 JSR $FA10       PC:E437 A:01 X:55 Y:73 P:65 SP:FB CYC:20 SL:125\nFA10 90 BCC $FA2E       PC:FA11 A:01 X:55 Y:73 P:65 SP:F9 CYC:38 SL:125\nFA12 F0 BEQ $FA2E       PC:FA13 A:01 X:55 Y:73 P:65 SP:F9 CYC:44 SL:125\nFA14 30 BMI $FA2E       PC:FA15 A:01 X:55 Y:73 P:65 SP:F9 CYC:50 SL:125\nFA16 50 BVC $FA2E       PC:FA17 A:01 X:55 Y:73 P:65 SP:F9 CYC:56 SL:125\nFA18 C9 CMP #$01        PC:FA19 A:01 X:55 Y:73 P:65 SP:F9 CYC:62 SL:125\nFA1A D0 BNE $FA2E       PC:FA1B A:01 X:55 Y:73 P:67 SP:F9 CYC:68 SL:125\nFA1C B8 CLV             PC:FA1D A:01 X:55 Y:73 P:67 SP:F9 CYC:74 SL:125\nFA1D 18 CLC             PC:FA1E A:01 X:55 Y:73 P:27 SP:F9 CYC:80 SL:125\nFA1E A9 LDA #$55        PC:FA1F A:01 X:55 Y:73 P:26 SP:F9 CYC:86 SL:125\nFA20 60 RTS             PC:FA21 A:55 X:55 Y:73 P:24 SP:F9 CYC:92 SL:125\nE439 C8 INY             PC:E43A A:55 X:55 Y:73 P:24 SP:FB CYC:110 SL:125\nE43A 9D STA $0600,x     PC:E43B A:55 X:55 Y:74 P:24 SP:FB CYC:116 SL:125\nE43D 3E ROL $0600,x     PC:E43E A:55 X:55 Y:74 P:24 SP:FB CYC:131 SL:125\nE440 BD LDA $0600,x     PC:E441 A:55 X:55 Y:74 P:A4 SP:FB CYC:152 SL:125\nE443 20 JSR $FA21       PC:E444 A:AA X:55 Y:74 P:A4 SP:FB CYC:164 SL:125\nFA21 B0 BCS $FA2E       PC:FA22 A:AA X:55 Y:74 P:A4 SP:F9 CYC:182 SL:125\nFA23 F0 BEQ $FA2E       PC:FA24 A:AA X:55 Y:74 P:A4 SP:F9 CYC:188 SL:125\nFA25 10 BPL $FA2E       PC:FA26 A:AA X:55 Y:74 P:A4 SP:F9 CYC:194 SL:125\nFA27 70 BVS $FA2E       PC:FA28 A:AA X:55 Y:74 P:A4 SP:F9 CYC:200 SL:125\nFA29 C9 CMP #$AA        PC:FA2A A:AA X:55 Y:74 P:A4 SP:F9 CYC:206 SL:125\nFA2B D0 BNE $FA2E       PC:FA2C A:AA X:55 Y:74 P:27 SP:F9 CYC:212 SL:125\nFA2D 60 RTS             PC:FA2E A:AA X:55 Y:74 P:27 SP:F9 CYC:218 SL:125\nE446 A9 LDA #$FF        PC:E447 A:AA X:55 Y:74 P:27 SP:FB CYC:236 SL:125\nE448 9D STA $0600,x     PC:E449 A:FF X:55 Y:74 P:A5 SP:FB CYC:242 SL:125\nE44B 85 STA $01         PC:E44C A:FF X:55 Y:74 P:A5 SP:FB CYC:257 SL:125\nE44D 24 BIT $01         PC:E44E A:FF X:55 Y:74 P:A5 SP:FB CYC:266 SL:125\nE44F 38 SEC             PC:E450 A:FF X:55 Y:74 P:E5 SP:FB CYC:275 SL:125\nE450 FE INC $0600,x     PC:E451 A:FF X:55 Y:74 P:E5 SP:FB CYC:281 SL:125\nE453 D0 BNE $E462       PC:E454 A:FF X:55 Y:74 P:67 SP:FB CYC:302 SL:125\nE455 30 BMI $E462       PC:E456 A:FF X:55 Y:74 P:67 SP:FB CYC:308 SL:125\nE457 50 BVC $E462       PC:E458 A:FF X:55 Y:74 P:67 SP:FB CYC:314 SL:125\nE459 90 BCC $E462       PC:E45A A:FF X:55 Y:74 P:67 SP:FB CYC:320 SL:125\nE45B BD LDA $0600,x     PC:E45C A:FF X:55 Y:74 P:67 SP:FB CYC:326 SL:125\nE45E C9 CMP #$00        PC:E45F A:00 X:55 Y:74 P:67 SP:FB CYC:338 SL:125\nE460 F0 BEQ $E466       PC:E461 A:00 X:55 Y:74 P:67 SP:FB CYC:3 SL:126\nE466 A9 LDA #$7F        PC:E467 A:00 X:55 Y:74 P:67 SP:FB CYC:12 SL:126\nE468 9D STA $0600,x     PC:E469 A:7F X:55 Y:74 P:65 SP:FB CYC:18 SL:126\nE46B B8 CLV             PC:E46C A:7F X:55 Y:74 P:65 SP:FB CYC:33 SL:126\nE46C 18 CLC             PC:E46D A:7F X:55 Y:74 P:25 SP:FB CYC:39 SL:126\nE46D FE INC $0600,x     PC:E46E A:7F X:55 Y:74 P:24 SP:FB CYC:45 SL:126\nE470 F0 BEQ $E47F       PC:E471 A:7F X:55 Y:74 P:A4 SP:FB CYC:66 SL:126\nE472 10 BPL $E47F       PC:E473 A:7F X:55 Y:74 P:A4 SP:FB CYC:72 SL:126\nE474 70 BVS $E47F       PC:E475 A:7F X:55 Y:74 P:A4 SP:FB CYC:78 SL:126\nE476 B0 BCS $E47F       PC:E477 A:7F X:55 Y:74 P:A4 SP:FB CYC:84 SL:126\nE478 BD LDA $0600,x     PC:E479 A:7F X:55 Y:74 P:A4 SP:FB CYC:90 SL:126\nE47B C9 CMP #$80        PC:E47C A:80 X:55 Y:74 P:A4 SP:FB CYC:102 SL:126\nE47D F0 BEQ $E483       PC:E47E A:80 X:55 Y:74 P:27 SP:FB CYC:108 SL:126\nE483 A9 LDA #$00        PC:E484 A:80 X:55 Y:74 P:27 SP:FB CYC:117 SL:126\nE485 9D STA $0600,x     PC:E486 A:00 X:55 Y:74 P:27 SP:FB CYC:123 SL:126\nE488 24 BIT $01         PC:E489 A:00 X:55 Y:74 P:27 SP:FB CYC:138 SL:126\nE48A 38 SEC             PC:E48B A:00 X:55 Y:74 P:E7 SP:FB CYC:147 SL:126\nE48B DE DEC $0600,x     PC:E48C A:00 X:55 Y:74 P:E7 SP:FB CYC:153 SL:126\nE48E F0 BEQ $E49D       PC:E48F A:00 X:55 Y:74 P:E5 SP:FB CYC:174 SL:126\nE490 10 BPL $E49D       PC:E491 A:00 X:55 Y:74 P:E5 SP:FB CYC:180 SL:126\nE492 50 BVC $E49D       PC:E493 A:00 X:55 Y:74 P:E5 SP:FB CYC:186 SL:126\nE494 90 BCC $E49D       PC:E495 A:00 X:55 Y:74 P:E5 SP:FB CYC:192 SL:126\nE496 BD LDA $0600,x     PC:E497 A:00 X:55 Y:74 P:E5 SP:FB CYC:198 SL:126\nE499 C9 CMP #$FF        PC:E49A A:FF X:55 Y:74 P:E5 SP:FB CYC:210 SL:126\nE49B F0 BEQ $E4A1       PC:E49C A:FF X:55 Y:74 P:67 SP:FB CYC:216 SL:126\nE4A1 A9 LDA #$80        PC:E4A2 A:FF X:55 Y:74 P:67 SP:FB CYC:225 SL:126\nE4A3 9D STA $0600,x     PC:E4A4 A:80 X:55 Y:74 P:E5 SP:FB CYC:231 SL:126\nE4A6 B8 CLV             PC:E4A7 A:80 X:55 Y:74 P:E5 SP:FB CYC:246 SL:126\nE4A7 18 CLC             PC:E4A8 A:80 X:55 Y:74 P:A5 SP:FB CYC:252 SL:126\nE4A8 DE DEC $0600,x     PC:E4A9 A:80 X:55 Y:74 P:A4 SP:FB CYC:258 SL:126\nE4AB F0 BEQ $E4BA       PC:E4AC A:80 X:55 Y:74 P:24 SP:FB CYC:279 SL:126\nE4AD 30 BMI $E4BA       PC:E4AE A:80 X:55 Y:74 P:24 SP:FB CYC:285 SL:126\nE4AF 70 BVS $E4BA       PC:E4B0 A:80 X:55 Y:74 P:24 SP:FB CYC:291 SL:126\nE4B1 B0 BCS $E4BA       PC:E4B2 A:80 X:55 Y:74 P:24 SP:FB CYC:297 SL:126\nE4B3 BD LDA $0600,x     PC:E4B4 A:80 X:55 Y:74 P:24 SP:FB CYC:303 SL:126\nE4B6 C9 CMP #$7F        PC:E4B7 A:7F X:55 Y:74 P:24 SP:FB CYC:315 SL:126\nE4B8 F0 BEQ $E4BE       PC:E4B9 A:7F X:55 Y:74 P:27 SP:FB CYC:321 SL:126\nE4BE A9 LDA #$01        PC:E4BF A:7F X:55 Y:74 P:27 SP:FB CYC:330 SL:126\nE4C0 9D STA $0600,x     PC:E4C1 A:01 X:55 Y:74 P:25 SP:FB CYC:336 SL:126\nE4C3 DE DEC $0600,x     PC:E4C4 A:01 X:55 Y:74 P:25 SP:FB CYC:10 SL:127\nE4C6 F0 BEQ $E4CC       PC:E4C7 A:01 X:55 Y:74 P:27 SP:FB CYC:31 SL:127\nE4CC A9 LDA #$33        PC:E4CD A:01 X:55 Y:74 P:27 SP:FB CYC:40 SL:127\nE4CE 8D STA $0678       PC:E4CF A:33 X:55 Y:74 P:25 SP:FB CYC:46 SL:127\nE4D1 A9 LDA #$44        PC:E4D2 A:33 X:55 Y:74 P:25 SP:FB CYC:58 SL:127\nE4D3 A0 LDY #$78        PC:E4D4 A:44 X:55 Y:74 P:25 SP:FB CYC:64 SL:127\nE4D5 A2 LDX #$00        PC:E4D6 A:44 X:55 Y:78 P:25 SP:FB CYC:70 SL:127\nE4D7 38 SEC             PC:E4D8 A:44 X:00 Y:78 P:27 SP:FB CYC:76 SL:127\nE4D8 24 BIT $01         PC:E4D9 A:44 X:00 Y:78 P:27 SP:FB CYC:82 SL:127\nE4DA BE LDX $0600,y     PC:E4DB A:44 X:00 Y:78 P:E5 SP:FB CYC:91 SL:127\nE4DD 90 BCC $E4F1       PC:E4DE A:44 X:33 Y:78 P:65 SP:FB CYC:103 SL:127\nE4DF 50 BVC $E4F1       PC:E4E0 A:44 X:33 Y:78 P:65 SP:FB CYC:109 SL:127\nE4E1 30 BMI $E4F1       PC:E4E2 A:44 X:33 Y:78 P:65 SP:FB CYC:115 SL:127\nE4E3 F0 BEQ $E4F1       PC:E4E4 A:44 X:33 Y:78 P:65 SP:FB CYC:121 SL:127\nE4E5 E0 CPX #$33        PC:E4E6 A:44 X:33 Y:78 P:65 SP:FB CYC:127 SL:127\nE4E7 D0 BNE $E4F1       PC:E4E8 A:44 X:33 Y:78 P:67 SP:FB CYC:133 SL:127\nE4E9 C0 CPY #$78        PC:E4EA A:44 X:33 Y:78 P:67 SP:FB CYC:139 SL:127\nE4EB D0 BNE $E4F1       PC:E4EC A:44 X:33 Y:78 P:67 SP:FB CYC:145 SL:127\nE4ED C9 CMP #$44        PC:E4EE A:44 X:33 Y:78 P:67 SP:FB CYC:151 SL:127\nE4EF F0 BEQ $E4F5       PC:E4F0 A:44 X:33 Y:78 P:67 SP:FB CYC:157 SL:127\nE4F5 A9 LDA #$97        PC:E4F6 A:44 X:33 Y:78 P:67 SP:FB CYC:166 SL:127\nE4F7 8D STA $067F       PC:E4F8 A:97 X:33 Y:78 P:E5 SP:FB CYC:172 SL:127\nE4FA A9 LDA #$47        PC:E4FB A:97 X:33 Y:78 P:E5 SP:FB CYC:184 SL:127\nE4FC A0 LDY #$FF        PC:E4FD A:47 X:33 Y:78 P:65 SP:FB CYC:190 SL:127\nE4FE A2 LDX #$00        PC:E4FF A:47 X:33 Y:FF P:E5 SP:FB CYC:196 SL:127\nE500 18 CLC             PC:E501 A:47 X:00 Y:FF P:67 SP:FB CYC:202 SL:127\nE501 B8 CLV             PC:E502 A:47 X:00 Y:FF P:66 SP:FB CYC:208 SL:127\nE502 BE LDX $0580,y     PC:E503 A:47 X:00 Y:FF P:26 SP:FB CYC:214 SL:127\nE505 B0 BCS $E519       PC:E506 A:47 X:97 Y:FF P:A4 SP:FB CYC:229 SL:127\nE507 70 BVS $E519       PC:E508 A:47 X:97 Y:FF P:A4 SP:FB CYC:235 SL:127\nE509 10 BPL $E519       PC:E50A A:47 X:97 Y:FF P:A4 SP:FB CYC:241 SL:127\nE50B F0 BEQ $E519       PC:E50C A:47 X:97 Y:FF P:A4 SP:FB CYC:247 SL:127\nE50D E0 CPX #$97        PC:E50E A:47 X:97 Y:FF P:A4 SP:FB CYC:253 SL:127\nE50F D0 BNE $E519       PC:E510 A:47 X:97 Y:FF P:27 SP:FB CYC:259 SL:127\nE511 C0 CPY #$FF        PC:E512 A:47 X:97 Y:FF P:27 SP:FB CYC:265 SL:127\nE513 D0 BNE $E519       PC:E514 A:47 X:97 Y:FF P:27 SP:FB CYC:271 SL:127\nE515 C9 CMP #$47        PC:E516 A:47 X:97 Y:FF P:27 SP:FB CYC:277 SL:127\nE517 F0 BEQ $E51D       PC:E518 A:47 X:97 Y:FF P:27 SP:FB CYC:283 SL:127\nE51D 60 RTS             PC:E51E A:47 X:97 Y:FF P:27 SP:FB CYC:292 SL:127\nC62F 20 JSR $C6A3       PC:C630 A:47 X:97 Y:FF P:27 SP:FD CYC:310 SL:127\nC6A3 A0 LDY #$4E        PC:C6A4 A:47 X:97 Y:FF P:27 SP:FB CYC:328 SL:127\nC6A5 A9 LDA #$FF        PC:C6A6 A:47 X:97 Y:4E P:25 SP:FB CYC:334 SL:127\nC6A7 85 STA $01         PC:C6A8 A:FF X:97 Y:4E P:A5 SP:FB CYC:340 SL:127\nC6A9 20 JSR $C6B0       PC:C6AA A:FF X:97 Y:4E P:A5 SP:FB CYC:8 SL:128\nC6B0 A9 LDA #$FF        PC:C6B1 A:FF X:97 Y:4E P:A5 SP:F9 CYC:26 SL:128\nC6B2 48 PHA             PC:C6B3 A:FF X:97 Y:4E P:A5 SP:F9 CYC:32 SL:128\nC6B3 A9 LDA #$AA        PC:C6B4 A:FF X:97 Y:4E P:A5 SP:F8 CYC:41 SL:128\nC6B5 D0 BNE $C6BC       PC:C6B6 A:AA X:97 Y:4E P:A5 SP:F8 CYC:47 SL:128\nC6BC 28 PLP             PC:C6BD A:AA X:97 Y:4E P:A5 SP:F8 CYC:56 SL:128\nC6BD 04 NOP $A9         PC:C6BE A:AA X:97 Y:4E P:EF SP:F9 CYC:68 SL:128\nC6BF 44 NOP $A9         PC:C6C0 A:AA X:97 Y:4E P:EF SP:F9 CYC:77 SL:128\nC6C1 64 NOP $A9         PC:C6C2 A:AA X:97 Y:4E P:EF SP:F9 CYC:86 SL:128\nC6C3 EA NOP             PC:C6C4 A:AA X:97 Y:4E P:EF SP:F9 CYC:95 SL:128\nC6C4 EA NOP             PC:C6C5 A:AA X:97 Y:4E P:EF SP:F9 CYC:101 SL:128\nC6C5 EA NOP             PC:C6C6 A:AA X:97 Y:4E P:EF SP:F9 CYC:107 SL:128\nC6C6 EA NOP             PC:C6C7 A:AA X:97 Y:4E P:EF SP:F9 CYC:113 SL:128\nC6C7 08 PHP             PC:C6C8 A:AA X:97 Y:4E P:EF SP:F9 CYC:119 SL:128\nC6C8 48 PHA             PC:C6C9 A:AA X:97 Y:4E P:EF SP:F8 CYC:128 SL:128\nC6C9 0C NOP $A9A9       PC:C6CA A:AA X:97 Y:4E P:EF SP:F7 CYC:137 SL:128\nC6CC EA NOP             PC:C6CD A:AA X:97 Y:4E P:EF SP:F7 CYC:149 SL:128\nC6CD EA NOP             PC:C6CE A:AA X:97 Y:4E P:EF SP:F7 CYC:155 SL:128\nC6CE EA NOP             PC:C6CF A:AA X:97 Y:4E P:EF SP:F7 CYC:161 SL:128\nC6CF EA NOP             PC:C6D0 A:AA X:97 Y:4E P:EF SP:F7 CYC:167 SL:128\nC6D0 08 PHP             PC:C6D1 A:AA X:97 Y:4E P:EF SP:F7 CYC:173 SL:128\nC6D1 48 PHA             PC:C6D2 A:AA X:97 Y:4E P:EF SP:F6 CYC:182 SL:128\nC6D2 14 NOP $A9,x       PC:C6D3 A:AA X:97 Y:4E P:EF SP:F5 CYC:191 SL:128\nC6D4 34 NOP $A9,x       PC:C6D5 A:AA X:97 Y:4E P:EF SP:F5 CYC:203 SL:128\nC6D6 54 NOP $A9,x       PC:C6D7 A:AA X:97 Y:4E P:EF SP:F5 CYC:215 SL:128\nC6D8 74 NOP $A9,x       PC:C6D9 A:AA X:97 Y:4E P:EF SP:F5 CYC:227 SL:128\nC6DA D4 NOP $A9,x       PC:C6DB A:AA X:97 Y:4E P:EF SP:F5 CYC:239 SL:128\nC6DC F4 NOP $A9,x       PC:C6DD A:AA X:97 Y:4E P:EF SP:F5 CYC:251 SL:128\nC6DE EA NOP             PC:C6DF A:AA X:97 Y:4E P:EF SP:F5 CYC:263 SL:128\nC6DF EA NOP             PC:C6E0 A:AA X:97 Y:4E P:EF SP:F5 CYC:269 SL:128\nC6E0 EA NOP             PC:C6E1 A:AA X:97 Y:4E P:EF SP:F5 CYC:275 SL:128\nC6E1 EA NOP             PC:C6E2 A:AA X:97 Y:4E P:EF SP:F5 CYC:281 SL:128\nC6E2 08 PHP             PC:C6E3 A:AA X:97 Y:4E P:EF SP:F5 CYC:287 SL:128\nC6E3 48 PHA             PC:C6E4 A:AA X:97 Y:4E P:EF SP:F4 CYC:296 SL:128\nC6E4 1A NOP             PC:C6E5 A:AA X:97 Y:4E P:EF SP:F3 CYC:305 SL:128\nC6E5 3A NOP             PC:C6E6 A:AA X:97 Y:4E P:EF SP:F3 CYC:311 SL:128\nC6E6 5A NOP             PC:C6E7 A:AA X:97 Y:4E P:EF SP:F3 CYC:317 SL:128\nC6E7 7A NOP             PC:C6E8 A:AA X:97 Y:4E P:EF SP:F3 CYC:323 SL:128\nC6E8 DA NOP             PC:C6E9 A:AA X:97 Y:4E P:EF SP:F3 CYC:329 SL:128\nC6E9 FA NOP             PC:C6EA A:AA X:97 Y:4E P:EF SP:F3 CYC:335 SL:128\nC6EA 80 NOP #$89        PC:C6EB A:AA X:97 Y:4E P:EF SP:F3 CYC:0 SL:129\nC6EC EA NOP             PC:C6ED A:AA X:97 Y:4E P:EF SP:F3 CYC:6 SL:129\nC6ED EA NOP             PC:C6EE A:AA X:97 Y:4E P:EF SP:F3 CYC:12 SL:129\nC6EE EA NOP             PC:C6EF A:AA X:97 Y:4E P:EF SP:F3 CYC:18 SL:129\nC6EF EA NOP             PC:C6F0 A:AA X:97 Y:4E P:EF SP:F3 CYC:24 SL:129\nC6F0 08 PHP             PC:C6F1 A:AA X:97 Y:4E P:EF SP:F3 CYC:30 SL:129\nC6F1 48 PHA             PC:C6F2 A:AA X:97 Y:4E P:EF SP:F2 CYC:39 SL:129\nC6F2 1C NOP $A9A9,x     PC:C6F3 A:AA X:97 Y:4E P:EF SP:F1 CYC:48 SL:129\nC6F5 3C NOP $A9A9,x     PC:C6F6 A:AA X:97 Y:4E P:EF SP:F1 CYC:63 SL:129\nC6F8 5C NOP $A9A9,x     PC:C6F9 A:AA X:97 Y:4E P:EF SP:F1 CYC:78 SL:129\nC6FB 7C NOP $A9A9,x     PC:C6FC A:AA X:97 Y:4E P:EF SP:F1 CYC:93 SL:129\nC6FE DC NOP $A9A9,x     PC:C6FF A:AA X:97 Y:4E P:EF SP:F1 CYC:108 SL:129\nC701 FC NOP $A9A9,x     PC:C702 A:AA X:97 Y:4E P:EF SP:F1 CYC:123 SL:129\nC704 EA NOP             PC:C705 A:AA X:97 Y:4E P:EF SP:F1 CYC:138 SL:129\nC705 EA NOP             PC:C706 A:AA X:97 Y:4E P:EF SP:F1 CYC:144 SL:129\nC706 EA NOP             PC:C707 A:AA X:97 Y:4E P:EF SP:F1 CYC:150 SL:129\nC707 EA NOP             PC:C708 A:AA X:97 Y:4E P:EF SP:F1 CYC:156 SL:129\nC708 08 PHP             PC:C709 A:AA X:97 Y:4E P:EF SP:F1 CYC:162 SL:129\nC709 48 PHA             PC:C70A A:AA X:97 Y:4E P:EF SP:F0 CYC:171 SL:129\nC70A A2 LDX #$05        PC:C70B A:AA X:97 Y:4E P:EF SP:EF CYC:180 SL:129\nC70C 68 PLA             PC:C70D A:AA X:05 Y:4E P:6D SP:EF CYC:186 SL:129\nC70D C9 CMP #$55        PC:C70E A:AA X:05 Y:4E P:ED SP:F0 CYC:198 SL:129\nC70F F0 BEQ $C71B       PC:C710 A:AA X:05 Y:4E P:6D SP:F0 CYC:204 SL:129\nC711 C9 CMP #$AA        PC:C712 A:AA X:05 Y:4E P:6D SP:F0 CYC:210 SL:129\nC713 F0 BEQ $C71B       PC:C714 A:AA X:05 Y:4E P:6F SP:F0 CYC:216 SL:129\nC71B 68 PLA             PC:C71C A:AA X:05 Y:4E P:6F SP:F0 CYC:225 SL:129\nC71C 29 AND #$CB        PC:C71D A:FF X:05 Y:4E P:ED SP:F1 CYC:237 SL:129\nC71E C9 CMP #$00        PC:C71F A:CB X:05 Y:4E P:ED SP:F1 CYC:243 SL:129\nC720 F0 BEQ $C728       PC:C721 A:CB X:05 Y:4E P:ED SP:F1 CYC:249 SL:129\nC722 C9 CMP #$CB        PC:C723 A:CB X:05 Y:4E P:ED SP:F1 CYC:255 SL:129\nC724 F0 BEQ $C728       PC:C725 A:CB X:05 Y:4E P:6F SP:F1 CYC:261 SL:129\nC728 C8 INY             PC:C729 A:CB X:05 Y:4E P:6F SP:F1 CYC:270 SL:129\nC729 CA DEX             PC:C72A A:CB X:05 Y:4F P:6D SP:F1 CYC:276 SL:129\nC72A D0 BNE $C70C       PC:C72B A:CB X:04 Y:4F P:6D SP:F1 CYC:282 SL:129\nC70C 68 PLA             PC:C70D A:CB X:04 Y:4F P:6D SP:F1 CYC:291 SL:129\nC70D C9 CMP #$55        PC:C70E A:AA X:04 Y:4F P:ED SP:F2 CYC:303 SL:129\nC70F F0 BEQ $C71B       PC:C710 A:AA X:04 Y:4F P:6D SP:F2 CYC:309 SL:129\nC711 C9 CMP #$AA        PC:C712 A:AA X:04 Y:4F P:6D SP:F2 CYC:315 SL:129\nC713 F0 BEQ $C71B       PC:C714 A:AA X:04 Y:4F P:6F SP:F2 CYC:321 SL:129\nC71B 68 PLA             PC:C71C A:AA X:04 Y:4F P:6F SP:F2 CYC:330 SL:129\nC71C 29 AND #$CB        PC:C71D A:FF X:04 Y:4F P:ED SP:F3 CYC:1 SL:130\nC71E C9 CMP #$00        PC:C71F A:CB X:04 Y:4F P:ED SP:F3 CYC:7 SL:130\nC720 F0 BEQ $C728       PC:C721 A:CB X:04 Y:4F P:ED SP:F3 CYC:13 SL:130\nC722 C9 CMP #$CB        PC:C723 A:CB X:04 Y:4F P:ED SP:F3 CYC:19 SL:130\nC724 F0 BEQ $C728       PC:C725 A:CB X:04 Y:4F P:6F SP:F3 CYC:25 SL:130\nC728 C8 INY             PC:C729 A:CB X:04 Y:4F P:6F SP:F3 CYC:34 SL:130\nC729 CA DEX             PC:C72A A:CB X:04 Y:50 P:6D SP:F3 CYC:40 SL:130\nC72A D0 BNE $C70C       PC:C72B A:CB X:03 Y:50 P:6D SP:F3 CYC:46 SL:130\nC70C 68 PLA             PC:C70D A:CB X:03 Y:50 P:6D SP:F3 CYC:55 SL:130\nC70D C9 CMP #$55        PC:C70E A:AA X:03 Y:50 P:ED SP:F4 CYC:67 SL:130\nC70F F0 BEQ $C71B       PC:C710 A:AA X:03 Y:50 P:6D SP:F4 CYC:73 SL:130\nC711 C9 CMP #$AA        PC:C712 A:AA X:03 Y:50 P:6D SP:F4 CYC:79 SL:130\nC713 F0 BEQ $C71B       PC:C714 A:AA X:03 Y:50 P:6F SP:F4 CYC:85 SL:130\nC71B 68 PLA             PC:C71C A:AA X:03 Y:50 P:6F SP:F4 CYC:94 SL:130\nC71C 29 AND #$CB        PC:C71D A:FF X:03 Y:50 P:ED SP:F5 CYC:106 SL:130\nC71E C9 CMP #$00        PC:C71F A:CB X:03 Y:50 P:ED SP:F5 CYC:112 SL:130\nC720 F0 BEQ $C728       PC:C721 A:CB X:03 Y:50 P:ED SP:F5 CYC:118 SL:130\nC722 C9 CMP #$CB        PC:C723 A:CB X:03 Y:50 P:ED SP:F5 CYC:124 SL:130\nC724 F0 BEQ $C728       PC:C725 A:CB X:03 Y:50 P:6F SP:F5 CYC:130 SL:130\nC728 C8 INY             PC:C729 A:CB X:03 Y:50 P:6F SP:F5 CYC:139 SL:130\nC729 CA DEX             PC:C72A A:CB X:03 Y:51 P:6D SP:F5 CYC:145 SL:130\nC72A D0 BNE $C70C       PC:C72B A:CB X:02 Y:51 P:6D SP:F5 CYC:151 SL:130\nC70C 68 PLA             PC:C70D A:CB X:02 Y:51 P:6D SP:F5 CYC:160 SL:130\nC70D C9 CMP #$55        PC:C70E A:AA X:02 Y:51 P:ED SP:F6 CYC:172 SL:130\nC70F F0 BEQ $C71B       PC:C710 A:AA X:02 Y:51 P:6D SP:F6 CYC:178 SL:130\nC711 C9 CMP #$AA        PC:C712 A:AA X:02 Y:51 P:6D SP:F6 CYC:184 SL:130\nC713 F0 BEQ $C71B       PC:C714 A:AA X:02 Y:51 P:6F SP:F6 CYC:190 SL:130\nC71B 68 PLA             PC:C71C A:AA X:02 Y:51 P:6F SP:F6 CYC:199 SL:130\nC71C 29 AND #$CB        PC:C71D A:FF X:02 Y:51 P:ED SP:F7 CYC:211 SL:130\nC71E C9 CMP #$00        PC:C71F A:CB X:02 Y:51 P:ED SP:F7 CYC:217 SL:130\nC720 F0 BEQ $C728       PC:C721 A:CB X:02 Y:51 P:ED SP:F7 CYC:223 SL:130\nC722 C9 CMP #$CB        PC:C723 A:CB X:02 Y:51 P:ED SP:F7 CYC:229 SL:130\nC724 F0 BEQ $C728       PC:C725 A:CB X:02 Y:51 P:6F SP:F7 CYC:235 SL:130\nC728 C8 INY             PC:C729 A:CB X:02 Y:51 P:6F SP:F7 CYC:244 SL:130\nC729 CA DEX             PC:C72A A:CB X:02 Y:52 P:6D SP:F7 CYC:250 SL:130\nC72A D0 BNE $C70C       PC:C72B A:CB X:01 Y:52 P:6D SP:F7 CYC:256 SL:130\nC70C 68 PLA             PC:C70D A:CB X:01 Y:52 P:6D SP:F7 CYC:265 SL:130\nC70D C9 CMP #$55        PC:C70E A:AA X:01 Y:52 P:ED SP:F8 CYC:277 SL:130\nC70F F0 BEQ $C71B       PC:C710 A:AA X:01 Y:52 P:6D SP:F8 CYC:283 SL:130\nC711 C9 CMP #$AA        PC:C712 A:AA X:01 Y:52 P:6D SP:F8 CYC:289 SL:130\nC713 F0 BEQ $C71B       PC:C714 A:AA X:01 Y:52 P:6F SP:F8 CYC:295 SL:130\nC71B 68 PLA             PC:C71C A:AA X:01 Y:52 P:6F SP:F8 CYC:304 SL:130\nC71C 29 AND #$CB        PC:C71D A:FF X:01 Y:52 P:ED SP:F9 CYC:316 SL:130\nC71E C9 CMP #$00        PC:C71F A:CB X:01 Y:52 P:ED SP:F9 CYC:322 SL:130\nC720 F0 BEQ $C728       PC:C721 A:CB X:01 Y:52 P:ED SP:F9 CYC:328 SL:130\nC722 C9 CMP #$CB        PC:C723 A:CB X:01 Y:52 P:ED SP:F9 CYC:334 SL:130\nC724 F0 BEQ $C728       PC:C725 A:CB X:01 Y:52 P:6F SP:F9 CYC:340 SL:130\nC728 C8 INY             PC:C729 A:CB X:01 Y:52 P:6F SP:F9 CYC:8 SL:131\nC729 CA DEX             PC:C72A A:CB X:01 Y:53 P:6D SP:F9 CYC:14 SL:131\nC72A D0 BNE $C70C       PC:C72B A:CB X:00 Y:53 P:6F SP:F9 CYC:20 SL:131\nC72C 60 RTS             PC:C72D A:CB X:00 Y:53 P:6F SP:F9 CYC:26 SL:131\nC6AC 20 JSR $C6B7       PC:C6AD A:CB X:00 Y:53 P:6F SP:FB CYC:44 SL:131\nC6B7 A9 LDA #$34        PC:C6B8 A:CB X:00 Y:53 P:6F SP:F9 CYC:62 SL:131\nC6B9 48 PHA             PC:C6BA A:34 X:00 Y:53 P:6D SP:F9 CYC:68 SL:131\nC6BA A9 LDA #$55        PC:C6BB A:34 X:00 Y:53 P:6D SP:F8 CYC:77 SL:131\nC6BC 28 PLP             PC:C6BD A:55 X:00 Y:53 P:6D SP:F8 CYC:83 SL:131\nC6BD 04 NOP $A9         PC:C6BE A:55 X:00 Y:53 P:24 SP:F9 CYC:95 SL:131\nC6BF 44 NOP $A9         PC:C6C0 A:55 X:00 Y:53 P:24 SP:F9 CYC:104 SL:131\nC6C1 64 NOP $A9         PC:C6C2 A:55 X:00 Y:53 P:24 SP:F9 CYC:113 SL:131\nC6C3 EA NOP             PC:C6C4 A:55 X:00 Y:53 P:24 SP:F9 CYC:122 SL:131\nC6C4 EA NOP             PC:C6C5 A:55 X:00 Y:53 P:24 SP:F9 CYC:128 SL:131\nC6C5 EA NOP             PC:C6C6 A:55 X:00 Y:53 P:24 SP:F9 CYC:134 SL:131\nC6C6 EA NOP             PC:C6C7 A:55 X:00 Y:53 P:24 SP:F9 CYC:140 SL:131\nC6C7 08 PHP             PC:C6C8 A:55 X:00 Y:53 P:24 SP:F9 CYC:146 SL:131\nC6C8 48 PHA             PC:C6C9 A:55 X:00 Y:53 P:24 SP:F8 CYC:155 SL:131\nC6C9 0C NOP $A9A9       PC:C6CA A:55 X:00 Y:53 P:24 SP:F7 CYC:164 SL:131\nC6CC EA NOP             PC:C6CD A:55 X:00 Y:53 P:24 SP:F7 CYC:176 SL:131\nC6CD EA NOP             PC:C6CE A:55 X:00 Y:53 P:24 SP:F7 CYC:182 SL:131\nC6CE EA NOP             PC:C6CF A:55 X:00 Y:53 P:24 SP:F7 CYC:188 SL:131\nC6CF EA NOP             PC:C6D0 A:55 X:00 Y:53 P:24 SP:F7 CYC:194 SL:131\nC6D0 08 PHP             PC:C6D1 A:55 X:00 Y:53 P:24 SP:F7 CYC:200 SL:131\nC6D1 48 PHA             PC:C6D2 A:55 X:00 Y:53 P:24 SP:F6 CYC:209 SL:131\nC6D2 14 NOP $A9,x       PC:C6D3 A:55 X:00 Y:53 P:24 SP:F5 CYC:218 SL:131\nC6D4 34 NOP $A9,x       PC:C6D5 A:55 X:00 Y:53 P:24 SP:F5 CYC:230 SL:131\nC6D6 54 NOP $A9,x       PC:C6D7 A:55 X:00 Y:53 P:24 SP:F5 CYC:242 SL:131\nC6D8 74 NOP $A9,x       PC:C6D9 A:55 X:00 Y:53 P:24 SP:F5 CYC:254 SL:131\nC6DA D4 NOP $A9,x       PC:C6DB A:55 X:00 Y:53 P:24 SP:F5 CYC:266 SL:131\nC6DC F4 NOP $A9,x       PC:C6DD A:55 X:00 Y:53 P:24 SP:F5 CYC:278 SL:131\nC6DE EA NOP             PC:C6DF A:55 X:00 Y:53 P:24 SP:F5 CYC:290 SL:131\nC6DF EA NOP             PC:C6E0 A:55 X:00 Y:53 P:24 SP:F5 CYC:296 SL:131\nC6E0 EA NOP             PC:C6E1 A:55 X:00 Y:53 P:24 SP:F5 CYC:302 SL:131\nC6E1 EA NOP             PC:C6E2 A:55 X:00 Y:53 P:24 SP:F5 CYC:308 SL:131\nC6E2 08 PHP             PC:C6E3 A:55 X:00 Y:53 P:24 SP:F5 CYC:314 SL:131\nC6E3 48 PHA             PC:C6E4 A:55 X:00 Y:53 P:24 SP:F4 CYC:323 SL:131\nC6E4 1A NOP             PC:C6E5 A:55 X:00 Y:53 P:24 SP:F3 CYC:332 SL:131\nC6E5 3A NOP             PC:C6E6 A:55 X:00 Y:53 P:24 SP:F3 CYC:338 SL:131\nC6E6 5A NOP             PC:C6E7 A:55 X:00 Y:53 P:24 SP:F3 CYC:3 SL:132\nC6E7 7A NOP             PC:C6E8 A:55 X:00 Y:53 P:24 SP:F3 CYC:9 SL:132\nC6E8 DA NOP             PC:C6E9 A:55 X:00 Y:53 P:24 SP:F3 CYC:15 SL:132\nC6E9 FA NOP             PC:C6EA A:55 X:00 Y:53 P:24 SP:F3 CYC:21 SL:132\nC6EA 80 NOP #$89        PC:C6EB A:55 X:00 Y:53 P:24 SP:F3 CYC:27 SL:132\nC6EC EA NOP             PC:C6ED A:55 X:00 Y:53 P:24 SP:F3 CYC:33 SL:132\nC6ED EA NOP             PC:C6EE A:55 X:00 Y:53 P:24 SP:F3 CYC:39 SL:132\nC6EE EA NOP             PC:C6EF A:55 X:00 Y:53 P:24 SP:F3 CYC:45 SL:132\nC6EF EA NOP             PC:C6F0 A:55 X:00 Y:53 P:24 SP:F3 CYC:51 SL:132\nC6F0 08 PHP             PC:C6F1 A:55 X:00 Y:53 P:24 SP:F3 CYC:57 SL:132\nC6F1 48 PHA             PC:C6F2 A:55 X:00 Y:53 P:24 SP:F2 CYC:66 SL:132\nC6F2 1C NOP $A9A9,x     PC:C6F3 A:55 X:00 Y:53 P:24 SP:F1 CYC:75 SL:132\nC6F5 3C NOP $A9A9,x     PC:C6F6 A:55 X:00 Y:53 P:24 SP:F1 CYC:87 SL:132\nC6F8 5C NOP $A9A9,x     PC:C6F9 A:55 X:00 Y:53 P:24 SP:F1 CYC:99 SL:132\nC6FB 7C NOP $A9A9,x     PC:C6FC A:55 X:00 Y:53 P:24 SP:F1 CYC:111 SL:132\nC6FE DC NOP $A9A9,x     PC:C6FF A:55 X:00 Y:53 P:24 SP:F1 CYC:123 SL:132\nC701 FC NOP $A9A9,x     PC:C702 A:55 X:00 Y:53 P:24 SP:F1 CYC:135 SL:132\nC704 EA NOP             PC:C705 A:55 X:00 Y:53 P:24 SP:F1 CYC:147 SL:132\nC705 EA NOP             PC:C706 A:55 X:00 Y:53 P:24 SP:F1 CYC:153 SL:132\nC706 EA NOP             PC:C707 A:55 X:00 Y:53 P:24 SP:F1 CYC:159 SL:132\nC707 EA NOP             PC:C708 A:55 X:00 Y:53 P:24 SP:F1 CYC:165 SL:132\nC708 08 PHP             PC:C709 A:55 X:00 Y:53 P:24 SP:F1 CYC:171 SL:132\nC709 48 PHA             PC:C70A A:55 X:00 Y:53 P:24 SP:F0 CYC:180 SL:132\nC70A A2 LDX #$05        PC:C70B A:55 X:00 Y:53 P:24 SP:EF CYC:189 SL:132\nC70C 68 PLA             PC:C70D A:55 X:05 Y:53 P:24 SP:EF CYC:195 SL:132\nC70D C9 CMP #$55        PC:C70E A:55 X:05 Y:53 P:24 SP:F0 CYC:207 SL:132\nC70F F0 BEQ $C71B       PC:C710 A:55 X:05 Y:53 P:27 SP:F0 CYC:213 SL:132\nC71B 68 PLA             PC:C71C A:55 X:05 Y:53 P:27 SP:F0 CYC:222 SL:132\nC71C 29 AND #$CB        PC:C71D A:34 X:05 Y:53 P:25 SP:F1 CYC:234 SL:132\nC71E C9 CMP #$00        PC:C71F A:00 X:05 Y:53 P:27 SP:F1 CYC:240 SL:132\nC720 F0 BEQ $C728       PC:C721 A:00 X:05 Y:53 P:27 SP:F1 CYC:246 SL:132\nC728 C8 INY             PC:C729 A:00 X:05 Y:53 P:27 SP:F1 CYC:255 SL:132\nC729 CA DEX             PC:C72A A:00 X:05 Y:54 P:25 SP:F1 CYC:261 SL:132\nC72A D0 BNE $C70C       PC:C72B A:00 X:04 Y:54 P:25 SP:F1 CYC:267 SL:132\nC70C 68 PLA             PC:C70D A:00 X:04 Y:54 P:25 SP:F1 CYC:276 SL:132\nC70D C9 CMP #$55        PC:C70E A:55 X:04 Y:54 P:25 SP:F2 CYC:288 SL:132\nC70F F0 BEQ $C71B       PC:C710 A:55 X:04 Y:54 P:27 SP:F2 CYC:294 SL:132\nC71B 68 PLA             PC:C71C A:55 X:04 Y:54 P:27 SP:F2 CYC:303 SL:132\nC71C 29 AND #$CB        PC:C71D A:34 X:04 Y:54 P:25 SP:F3 CYC:315 SL:132\nC71E C9 CMP #$00        PC:C71F A:00 X:04 Y:54 P:27 SP:F3 CYC:321 SL:132\nC720 F0 BEQ $C728       PC:C721 A:00 X:04 Y:54 P:27 SP:F3 CYC:327 SL:132\nC728 C8 INY             PC:C729 A:00 X:04 Y:54 P:27 SP:F3 CYC:336 SL:132\nC729 CA DEX             PC:C72A A:00 X:04 Y:55 P:25 SP:F3 CYC:1 SL:133\nC72A D0 BNE $C70C       PC:C72B A:00 X:03 Y:55 P:25 SP:F3 CYC:7 SL:133\nC70C 68 PLA             PC:C70D A:00 X:03 Y:55 P:25 SP:F3 CYC:16 SL:133\nC70D C9 CMP #$55        PC:C70E A:55 X:03 Y:55 P:25 SP:F4 CYC:28 SL:133\nC70F F0 BEQ $C71B       PC:C710 A:55 X:03 Y:55 P:27 SP:F4 CYC:34 SL:133\nC71B 68 PLA             PC:C71C A:55 X:03 Y:55 P:27 SP:F4 CYC:43 SL:133\nC71C 29 AND #$CB        PC:C71D A:34 X:03 Y:55 P:25 SP:F5 CYC:55 SL:133\nC71E C9 CMP #$00        PC:C71F A:00 X:03 Y:55 P:27 SP:F5 CYC:61 SL:133\nC720 F0 BEQ $C728       PC:C721 A:00 X:03 Y:55 P:27 SP:F5 CYC:67 SL:133\nC728 C8 INY             PC:C729 A:00 X:03 Y:55 P:27 SP:F5 CYC:76 SL:133\nC729 CA DEX             PC:C72A A:00 X:03 Y:56 P:25 SP:F5 CYC:82 SL:133\nC72A D0 BNE $C70C       PC:C72B A:00 X:02 Y:56 P:25 SP:F5 CYC:88 SL:133\nC70C 68 PLA             PC:C70D A:00 X:02 Y:56 P:25 SP:F5 CYC:97 SL:133\nC70D C9 CMP #$55        PC:C70E A:55 X:02 Y:56 P:25 SP:F6 CYC:109 SL:133\nC70F F0 BEQ $C71B       PC:C710 A:55 X:02 Y:56 P:27 SP:F6 CYC:115 SL:133\nC71B 68 PLA             PC:C71C A:55 X:02 Y:56 P:27 SP:F6 CYC:124 SL:133\nC71C 29 AND #$CB        PC:C71D A:34 X:02 Y:56 P:25 SP:F7 CYC:136 SL:133\nC71E C9 CMP #$00        PC:C71F A:00 X:02 Y:56 P:27 SP:F7 CYC:142 SL:133\nC720 F0 BEQ $C728       PC:C721 A:00 X:02 Y:56 P:27 SP:F7 CYC:148 SL:133\nC728 C8 INY             PC:C729 A:00 X:02 Y:56 P:27 SP:F7 CYC:157 SL:133\nC729 CA DEX             PC:C72A A:00 X:02 Y:57 P:25 SP:F7 CYC:163 SL:133\nC72A D0 BNE $C70C       PC:C72B A:00 X:01 Y:57 P:25 SP:F7 CYC:169 SL:133\nC70C 68 PLA             PC:C70D A:00 X:01 Y:57 P:25 SP:F7 CYC:178 SL:133\nC70D C9 CMP #$55        PC:C70E A:55 X:01 Y:57 P:25 SP:F8 CYC:190 SL:133\nC70F F0 BEQ $C71B       PC:C710 A:55 X:01 Y:57 P:27 SP:F8 CYC:196 SL:133\nC71B 68 PLA             PC:C71C A:55 X:01 Y:57 P:27 SP:F8 CYC:205 SL:133\nC71C 29 AND #$CB        PC:C71D A:34 X:01 Y:57 P:25 SP:F9 CYC:217 SL:133\nC71E C9 CMP #$00        PC:C71F A:00 X:01 Y:57 P:27 SP:F9 CYC:223 SL:133\nC720 F0 BEQ $C728       PC:C721 A:00 X:01 Y:57 P:27 SP:F9 CYC:229 SL:133\nC728 C8 INY             PC:C729 A:00 X:01 Y:57 P:27 SP:F9 CYC:238 SL:133\nC729 CA DEX             PC:C72A A:00 X:01 Y:58 P:25 SP:F9 CYC:244 SL:133\nC72A D0 BNE $C70C       PC:C72B A:00 X:00 Y:58 P:27 SP:F9 CYC:250 SL:133\nC72C 60 RTS             PC:C72D A:00 X:00 Y:58 P:27 SP:F9 CYC:256 SL:133\nC6AF 60 RTS             PC:C6B0 A:00 X:00 Y:58 P:27 SP:FB CYC:274 SL:133\nC632 20 JSR $E51E       PC:C633 A:00 X:00 Y:58 P:27 SP:FD CYC:292 SL:133\nE51E A9 LDA #$55        PC:E51F A:00 X:00 Y:58 P:27 SP:FB CYC:310 SL:133\nE520 8D STA $0580       PC:E521 A:55 X:00 Y:58 P:25 SP:FB CYC:316 SL:133\nE523 A9 LDA #$AA        PC:E524 A:55 X:00 Y:58 P:25 SP:FB CYC:328 SL:133\nE525 8D STA $0432       PC:E526 A:AA X:00 Y:58 P:A5 SP:FB CYC:334 SL:133\nE528 A9 LDA #$80        PC:E529 A:AA X:00 Y:58 P:A5 SP:FB CYC:5 SL:134\nE52A 85 STA $43         PC:E52B A:80 X:00 Y:58 P:A5 SP:FB CYC:11 SL:134\nE52C A9 LDA #$05        PC:E52D A:80 X:00 Y:58 P:A5 SP:FB CYC:20 SL:134\nE52E 85 STA $44         PC:E52F A:05 X:00 Y:58 P:25 SP:FB CYC:26 SL:134\nE530 A9 LDA #$32        PC:E531 A:05 X:00 Y:58 P:25 SP:FB CYC:35 SL:134\nE532 85 STA $45         PC:E533 A:32 X:00 Y:58 P:25 SP:FB CYC:41 SL:134\nE534 A9 LDA #$04        PC:E535 A:32 X:00 Y:58 P:25 SP:FB CYC:50 SL:134\nE536 85 STA $46         PC:E537 A:04 X:00 Y:58 P:25 SP:FB CYC:56 SL:134\nE538 A2 LDX #$03        PC:E539 A:04 X:00 Y:58 P:25 SP:FB CYC:65 SL:134\nE53A A0 LDY #$77        PC:E53B A:04 X:03 Y:58 P:25 SP:FB CYC:71 SL:134\nE53C A9 LDA #$FF        PC:E53D A:04 X:03 Y:77 P:25 SP:FB CYC:77 SL:134\nE53E 85 STA $01         PC:E53F A:FF X:03 Y:77 P:A5 SP:FB CYC:83 SL:134\nE540 24 BIT $01         PC:E541 A:FF X:03 Y:77 P:A5 SP:FB CYC:92 SL:134\nE542 38 SEC             PC:E543 A:FF X:03 Y:77 P:E5 SP:FB CYC:101 SL:134\nE543 A9 LDA #$00        PC:E544 A:FF X:03 Y:77 P:E5 SP:FB CYC:107 SL:134\nE545 A3 LAX $(EA40,x)   PC:E546 A:00 X:03 Y:77 P:67 SP:FB CYC:113 SL:134\nE547 EA NOP             PC:E548 A:55 X:55 Y:77 P:65 SP:FB CYC:131 SL:134\nE548 EA NOP             PC:E549 A:55 X:55 Y:77 P:65 SP:FB CYC:137 SL:134\nE549 EA NOP             PC:E54A A:55 X:55 Y:77 P:65 SP:FB CYC:143 SL:134\nE54A EA NOP             PC:E54B A:55 X:55 Y:77 P:65 SP:FB CYC:149 SL:134\nE54B F0 BEQ $E55F       PC:E54C A:55 X:55 Y:77 P:65 SP:FB CYC:155 SL:134\nE54D 30 BMI $E55F       PC:E54E A:55 X:55 Y:77 P:65 SP:FB CYC:161 SL:134\nE54F 50 BVC $E55F       PC:E550 A:55 X:55 Y:77 P:65 SP:FB CYC:167 SL:134\nE551 90 BCC $E55F       PC:E552 A:55 X:55 Y:77 P:65 SP:FB CYC:173 SL:134\nE553 C9 CMP #$55        PC:E554 A:55 X:55 Y:77 P:65 SP:FB CYC:179 SL:134\nE555 D0 BNE $E55F       PC:E556 A:55 X:55 Y:77 P:67 SP:FB CYC:185 SL:134\nE557 E0 CPX #$55        PC:E558 A:55 X:55 Y:77 P:67 SP:FB CYC:191 SL:134\nE559 D0 BNE $E55F       PC:E55A A:55 X:55 Y:77 P:67 SP:FB CYC:197 SL:134\nE55B C0 CPY #$77        PC:E55C A:55 X:55 Y:77 P:67 SP:FB CYC:203 SL:134\nE55D F0 BEQ $E563       PC:E55E A:55 X:55 Y:77 P:67 SP:FB CYC:209 SL:134\nE563 A2 LDX #$05        PC:E564 A:55 X:55 Y:77 P:67 SP:FB CYC:218 SL:134\nE565 A0 LDY #$33        PC:E566 A:55 X:05 Y:77 P:65 SP:FB CYC:224 SL:134\nE567 B8 CLV             PC:E568 A:55 X:05 Y:33 P:65 SP:FB CYC:230 SL:134\nE568 18 CLC             PC:E569 A:55 X:05 Y:33 P:25 SP:FB CYC:236 SL:134\nE569 A9 LDA #$00        PC:E56A A:55 X:05 Y:33 P:24 SP:FB CYC:242 SL:134\nE56B A3 LAX $(EA40,x)   PC:E56C A:00 X:05 Y:33 P:26 SP:FB CYC:248 SL:134\nE56D EA NOP             PC:E56E A:AA X:AA Y:33 P:A4 SP:FB CYC:266 SL:134\nE56E EA NOP             PC:E56F A:AA X:AA Y:33 P:A4 SP:FB CYC:272 SL:134\nE56F EA NOP             PC:E570 A:AA X:AA Y:33 P:A4 SP:FB CYC:278 SL:134\nE570 EA NOP             PC:E571 A:AA X:AA Y:33 P:A4 SP:FB CYC:284 SL:134\nE571 F0 BEQ $E585       PC:E572 A:AA X:AA Y:33 P:A4 SP:FB CYC:290 SL:134\nE573 10 BPL $E585       PC:E574 A:AA X:AA Y:33 P:A4 SP:FB CYC:296 SL:134\nE575 70 BVS $E585       PC:E576 A:AA X:AA Y:33 P:A4 SP:FB CYC:302 SL:134\nE577 B0 BCS $E585       PC:E578 A:AA X:AA Y:33 P:A4 SP:FB CYC:308 SL:134\nE579 C9 CMP #$AA        PC:E57A A:AA X:AA Y:33 P:A4 SP:FB CYC:314 SL:134\nE57B D0 BNE $E585       PC:E57C A:AA X:AA Y:33 P:27 SP:FB CYC:320 SL:134\nE57D E0 CPX #$AA        PC:E57E A:AA X:AA Y:33 P:27 SP:FB CYC:326 SL:134\nE57F D0 BNE $E585       PC:E580 A:AA X:AA Y:33 P:27 SP:FB CYC:332 SL:134\nE581 C0 CPY #$33        PC:E582 A:AA X:AA Y:33 P:27 SP:FB CYC:338 SL:134\nE583 F0 BEQ $E589       PC:E584 A:AA X:AA Y:33 P:27 SP:FB CYC:3 SL:135\nE589 A9 LDA #$87        PC:E58A A:AA X:AA Y:33 P:27 SP:FB CYC:12 SL:135\nE58B 85 STA $67         PC:E58C A:87 X:AA Y:33 P:A5 SP:FB CYC:18 SL:135\nE58D A9 LDA #$32        PC:E58E A:87 X:AA Y:33 P:A5 SP:FB CYC:27 SL:135\nE58F 85 STA $68         PC:E590 A:32 X:AA Y:33 P:25 SP:FB CYC:33 SL:135\nE591 A0 LDY #$57        PC:E592 A:32 X:AA Y:33 P:25 SP:FB CYC:42 SL:135\nE593 24 BIT $01         PC:E594 A:32 X:AA Y:57 P:25 SP:FB CYC:48 SL:135\nE595 38 SEC             PC:E596 A:32 X:AA Y:57 P:E5 SP:FB CYC:57 SL:135\nE596 A9 LDA #$00        PC:E597 A:32 X:AA Y:57 P:E5 SP:FB CYC:63 SL:135\nE598 A7 LAX $67         PC:E599 A:00 X:AA Y:57 P:67 SP:FB CYC:69 SL:135\nE59A EA NOP             PC:E59B A:87 X:87 Y:57 P:E5 SP:FB CYC:78 SL:135\nE59B EA NOP             PC:E59C A:87 X:87 Y:57 P:E5 SP:FB CYC:84 SL:135\nE59C EA NOP             PC:E59D A:87 X:87 Y:57 P:E5 SP:FB CYC:90 SL:135\nE59D EA NOP             PC:E59E A:87 X:87 Y:57 P:E5 SP:FB CYC:96 SL:135\nE59E F0 BEQ $E5B2       PC:E59F A:87 X:87 Y:57 P:E5 SP:FB CYC:102 SL:135\nE5A0 10 BPL $E5B2       PC:E5A1 A:87 X:87 Y:57 P:E5 SP:FB CYC:108 SL:135\nE5A2 50 BVC $E5B2       PC:E5A3 A:87 X:87 Y:57 P:E5 SP:FB CYC:114 SL:135\nE5A4 90 BCC $E5B2       PC:E5A5 A:87 X:87 Y:57 P:E5 SP:FB CYC:120 SL:135\nE5A6 C9 CMP #$87        PC:E5A7 A:87 X:87 Y:57 P:E5 SP:FB CYC:126 SL:135\nE5A8 D0 BNE $E5B2       PC:E5A9 A:87 X:87 Y:57 P:67 SP:FB CYC:132 SL:135\nE5AA E0 CPX #$87        PC:E5AB A:87 X:87 Y:57 P:67 SP:FB CYC:138 SL:135\nE5AC D0 BNE $E5B2       PC:E5AD A:87 X:87 Y:57 P:67 SP:FB CYC:144 SL:135\nE5AE C0 CPY #$57        PC:E5AF A:87 X:87 Y:57 P:67 SP:FB CYC:150 SL:135\nE5B0 F0 BEQ $E5B6       PC:E5B1 A:87 X:87 Y:57 P:67 SP:FB CYC:156 SL:135\nE5B6 A0 LDY #$53        PC:E5B7 A:87 X:87 Y:57 P:67 SP:FB CYC:165 SL:135\nE5B8 B8 CLV             PC:E5B9 A:87 X:87 Y:53 P:65 SP:FB CYC:171 SL:135\nE5B9 18 CLC             PC:E5BA A:87 X:87 Y:53 P:25 SP:FB CYC:177 SL:135\nE5BA A9 LDA #$00        PC:E5BB A:87 X:87 Y:53 P:24 SP:FB CYC:183 SL:135\nE5BC A7 LAX $68         PC:E5BD A:00 X:87 Y:53 P:26 SP:FB CYC:189 SL:135\nE5BE EA NOP             PC:E5BF A:32 X:32 Y:53 P:24 SP:FB CYC:198 SL:135\nE5BF EA NOP             PC:E5C0 A:32 X:32 Y:53 P:24 SP:FB CYC:204 SL:135\nE5C0 EA NOP             PC:E5C1 A:32 X:32 Y:53 P:24 SP:FB CYC:210 SL:135\nE5C1 EA NOP             PC:E5C2 A:32 X:32 Y:53 P:24 SP:FB CYC:216 SL:135\nE5C2 F0 BEQ $E5D6       PC:E5C3 A:32 X:32 Y:53 P:24 SP:FB CYC:222 SL:135\nE5C4 30 BMI $E5D6       PC:E5C5 A:32 X:32 Y:53 P:24 SP:FB CYC:228 SL:135\nE5C6 70 BVS $E5D6       PC:E5C7 A:32 X:32 Y:53 P:24 SP:FB CYC:234 SL:135\nE5C8 B0 BCS $E5D6       PC:E5C9 A:32 X:32 Y:53 P:24 SP:FB CYC:240 SL:135\nE5CA C9 CMP #$32        PC:E5CB A:32 X:32 Y:53 P:24 SP:FB CYC:246 SL:135\nE5CC D0 BNE $E5D6       PC:E5CD A:32 X:32 Y:53 P:27 SP:FB CYC:252 SL:135\nE5CE E0 CPX #$32        PC:E5CF A:32 X:32 Y:53 P:27 SP:FB CYC:258 SL:135\nE5D0 D0 BNE $E5D6       PC:E5D1 A:32 X:32 Y:53 P:27 SP:FB CYC:264 SL:135\nE5D2 C0 CPY #$53        PC:E5D3 A:32 X:32 Y:53 P:27 SP:FB CYC:270 SL:135\nE5D4 F0 BEQ $E5DA       PC:E5D5 A:32 X:32 Y:53 P:27 SP:FB CYC:276 SL:135\nE5DA A9 LDA #$87        PC:E5DB A:32 X:32 Y:53 P:27 SP:FB CYC:285 SL:135\nE5DC 8D STA $0577       PC:E5DD A:87 X:32 Y:53 P:A5 SP:FB CYC:291 SL:135\nE5DF A9 LDA #$32        PC:E5E0 A:87 X:32 Y:53 P:A5 SP:FB CYC:303 SL:135\nE5E1 8D STA $0578       PC:E5E2 A:32 X:32 Y:53 P:25 SP:FB CYC:309 SL:135\nE5E4 A0 LDY #$57        PC:E5E5 A:32 X:32 Y:53 P:25 SP:FB CYC:321 SL:135\nE5E6 24 BIT $01         PC:E5E7 A:32 X:32 Y:57 P:25 SP:FB CYC:327 SL:135\nE5E8 38 SEC             PC:E5E9 A:32 X:32 Y:57 P:E5 SP:FB CYC:336 SL:135\nE5E9 A9 LDA #$00        PC:E5EA A:32 X:32 Y:57 P:E5 SP:FB CYC:1 SL:136\nE5EB AF LAX $0577       PC:E5EC A:00 X:32 Y:57 P:67 SP:FB CYC:7 SL:136\nE5EE EA NOP             PC:E5EF A:87 X:87 Y:57 P:E5 SP:FB CYC:19 SL:136\nE5EF EA NOP             PC:E5F0 A:87 X:87 Y:57 P:E5 SP:FB CYC:25 SL:136\nE5F0 EA NOP             PC:E5F1 A:87 X:87 Y:57 P:E5 SP:FB CYC:31 SL:136\nE5F1 EA NOP             PC:E5F2 A:87 X:87 Y:57 P:E5 SP:FB CYC:37 SL:136\nE5F2 F0 BEQ $E606       PC:E5F3 A:87 X:87 Y:57 P:E5 SP:FB CYC:43 SL:136\nE5F4 10 BPL $E606       PC:E5F5 A:87 X:87 Y:57 P:E5 SP:FB CYC:49 SL:136\nE5F6 50 BVC $E606       PC:E5F7 A:87 X:87 Y:57 P:E5 SP:FB CYC:55 SL:136\nE5F8 90 BCC $E606       PC:E5F9 A:87 X:87 Y:57 P:E5 SP:FB CYC:61 SL:136\nE5FA C9 CMP #$87        PC:E5FB A:87 X:87 Y:57 P:E5 SP:FB CYC:67 SL:136\nE5FC D0 BNE $E606       PC:E5FD A:87 X:87 Y:57 P:67 SP:FB CYC:73 SL:136\nE5FE E0 CPX #$87        PC:E5FF A:87 X:87 Y:57 P:67 SP:FB CYC:79 SL:136\nE600 D0 BNE $E606       PC:E601 A:87 X:87 Y:57 P:67 SP:FB CYC:85 SL:136\nE602 C0 CPY #$57        PC:E603 A:87 X:87 Y:57 P:67 SP:FB CYC:91 SL:136\nE604 F0 BEQ $E60A       PC:E605 A:87 X:87 Y:57 P:67 SP:FB CYC:97 SL:136\nE60A A0 LDY #$53        PC:E60B A:87 X:87 Y:57 P:67 SP:FB CYC:106 SL:136\nE60C B8 CLV             PC:E60D A:87 X:87 Y:53 P:65 SP:FB CYC:112 SL:136\nE60D 18 CLC             PC:E60E A:87 X:87 Y:53 P:25 SP:FB CYC:118 SL:136\nE60E A9 LDA #$00        PC:E60F A:87 X:87 Y:53 P:24 SP:FB CYC:124 SL:136\nE610 AF LAX $0578       PC:E611 A:00 X:87 Y:53 P:26 SP:FB CYC:130 SL:136\nE613 EA NOP             PC:E614 A:32 X:32 Y:53 P:24 SP:FB CYC:142 SL:136\nE614 EA NOP             PC:E615 A:32 X:32 Y:53 P:24 SP:FB CYC:148 SL:136\nE615 EA NOP             PC:E616 A:32 X:32 Y:53 P:24 SP:FB CYC:154 SL:136\nE616 EA NOP             PC:E617 A:32 X:32 Y:53 P:24 SP:FB CYC:160 SL:136\nE617 F0 BEQ $E62B       PC:E618 A:32 X:32 Y:53 P:24 SP:FB CYC:166 SL:136\nE619 30 BMI $E62B       PC:E61A A:32 X:32 Y:53 P:24 SP:FB CYC:172 SL:136\nE61B 70 BVS $E62B       PC:E61C A:32 X:32 Y:53 P:24 SP:FB CYC:178 SL:136\nE61D B0 BCS $E62B       PC:E61E A:32 X:32 Y:53 P:24 SP:FB CYC:184 SL:136\nE61F C9 CMP #$32        PC:E620 A:32 X:32 Y:53 P:24 SP:FB CYC:190 SL:136\nE621 D0 BNE $E62B       PC:E622 A:32 X:32 Y:53 P:27 SP:FB CYC:196 SL:136\nE623 E0 CPX #$32        PC:E624 A:32 X:32 Y:53 P:27 SP:FB CYC:202 SL:136\nE625 D0 BNE $E62B       PC:E626 A:32 X:32 Y:53 P:27 SP:FB CYC:208 SL:136\nE627 C0 CPY #$53        PC:E628 A:32 X:32 Y:53 P:27 SP:FB CYC:214 SL:136\nE629 F0 BEQ $E62F       PC:E62A A:32 X:32 Y:53 P:27 SP:FB CYC:220 SL:136\nE62F A9 LDA #$FF        PC:E630 A:32 X:32 Y:53 P:27 SP:FB CYC:229 SL:136\nE631 85 STA $43         PC:E632 A:FF X:32 Y:53 P:A5 SP:FB CYC:235 SL:136\nE633 A9 LDA #$04        PC:E634 A:FF X:32 Y:53 P:A5 SP:FB CYC:244 SL:136\nE635 85 STA $44         PC:E636 A:04 X:32 Y:53 P:25 SP:FB CYC:250 SL:136\nE637 A9 LDA #$32        PC:E638 A:04 X:32 Y:53 P:25 SP:FB CYC:259 SL:136\nE639 85 STA $45         PC:E63A A:32 X:32 Y:53 P:25 SP:FB CYC:265 SL:136\nE63B A9 LDA #$04        PC:E63C A:32 X:32 Y:53 P:25 SP:FB CYC:274 SL:136\nE63D 85 STA $46         PC:E63E A:04 X:32 Y:53 P:25 SP:FB CYC:280 SL:136\nE63F A9 LDA #$55        PC:E640 A:04 X:32 Y:53 P:25 SP:FB CYC:289 SL:136\nE641 8D STA $0580       PC:E642 A:55 X:32 Y:53 P:25 SP:FB CYC:295 SL:136\nE644 A9 LDA #$AA        PC:E645 A:55 X:32 Y:53 P:25 SP:FB CYC:307 SL:136\nE646 8D STA $0432       PC:E647 A:AA X:32 Y:53 P:A5 SP:FB CYC:313 SL:136\nE649 A2 LDX #$03        PC:E64A A:AA X:32 Y:53 P:A5 SP:FB CYC:325 SL:136\nE64B A0 LDY #$81        PC:E64C A:AA X:03 Y:53 P:25 SP:FB CYC:331 SL:136\nE64D 24 BIT $01         PC:E64E A:AA X:03 Y:81 P:A5 SP:FB CYC:337 SL:136\nE64F 38 SEC             PC:E650 A:AA X:03 Y:81 P:E5 SP:FB CYC:5 SL:137\nE650 A9 LDA #$00        PC:E651 A:AA X:03 Y:81 P:E5 SP:FB CYC:11 SL:137\nE652 B3 LAX ($43), y    PC:E653 A:00 X:03 Y:81 P:67 SP:FB CYC:17 SL:137\nE654 EA NOP             PC:E655 A:55 X:55 Y:81 P:65 SP:FB CYC:35 SL:137\nE655 EA NOP             PC:E656 A:55 X:55 Y:81 P:65 SP:FB CYC:41 SL:137\nE656 EA NOP             PC:E657 A:55 X:55 Y:81 P:65 SP:FB CYC:47 SL:137\nE657 EA NOP             PC:E658 A:55 X:55 Y:81 P:65 SP:FB CYC:53 SL:137\nE658 F0 BEQ $E66C       PC:E659 A:55 X:55 Y:81 P:65 SP:FB CYC:59 SL:137\nE65A 30 BMI $E66C       PC:E65B A:55 X:55 Y:81 P:65 SP:FB CYC:65 SL:137\nE65C 50 BVC $E66C       PC:E65D A:55 X:55 Y:81 P:65 SP:FB CYC:71 SL:137\nE65E 90 BCC $E66C       PC:E65F A:55 X:55 Y:81 P:65 SP:FB CYC:77 SL:137\nE660 C9 CMP #$55        PC:E661 A:55 X:55 Y:81 P:65 SP:FB CYC:83 SL:137\nE662 D0 BNE $E66C       PC:E663 A:55 X:55 Y:81 P:67 SP:FB CYC:89 SL:137\nE664 E0 CPX #$55        PC:E665 A:55 X:55 Y:81 P:67 SP:FB CYC:95 SL:137\nE666 D0 BNE $E66C       PC:E667 A:55 X:55 Y:81 P:67 SP:FB CYC:101 SL:137\nE668 C0 CPY #$81        PC:E669 A:55 X:55 Y:81 P:67 SP:FB CYC:107 SL:137\nE66A F0 BEQ $E670       PC:E66B A:55 X:55 Y:81 P:67 SP:FB CYC:113 SL:137\nE670 A2 LDX #$05        PC:E671 A:55 X:55 Y:81 P:67 SP:FB CYC:122 SL:137\nE672 A0 LDY #$00        PC:E673 A:55 X:05 Y:81 P:65 SP:FB CYC:128 SL:137\nE674 B8 CLV             PC:E675 A:55 X:05 Y:00 P:67 SP:FB CYC:134 SL:137\nE675 18 CLC             PC:E676 A:55 X:05 Y:00 P:27 SP:FB CYC:140 SL:137\nE676 A9 LDA #$00        PC:E677 A:55 X:05 Y:00 P:26 SP:FB CYC:146 SL:137\nE678 B3 LAX ($45), y    PC:E679 A:00 X:05 Y:00 P:26 SP:FB CYC:152 SL:137\nE67A EA NOP             PC:E67B A:AA X:AA Y:00 P:A4 SP:FB CYC:167 SL:137\nE67B EA NOP             PC:E67C A:AA X:AA Y:00 P:A4 SP:FB CYC:173 SL:137\nE67C EA NOP             PC:E67D A:AA X:AA Y:00 P:A4 SP:FB CYC:179 SL:137\nE67D EA NOP             PC:E67E A:AA X:AA Y:00 P:A4 SP:FB CYC:185 SL:137\nE67E F0 BEQ $E692       PC:E67F A:AA X:AA Y:00 P:A4 SP:FB CYC:191 SL:137\nE680 10 BPL $E692       PC:E681 A:AA X:AA Y:00 P:A4 SP:FB CYC:197 SL:137\nE682 70 BVS $E692       PC:E683 A:AA X:AA Y:00 P:A4 SP:FB CYC:203 SL:137\nE684 B0 BCS $E692       PC:E685 A:AA X:AA Y:00 P:A4 SP:FB CYC:209 SL:137\nE686 C9 CMP #$AA        PC:E687 A:AA X:AA Y:00 P:A4 SP:FB CYC:215 SL:137\nE688 D0 BNE $E692       PC:E689 A:AA X:AA Y:00 P:27 SP:FB CYC:221 SL:137\nE68A E0 CPX #$AA        PC:E68B A:AA X:AA Y:00 P:27 SP:FB CYC:227 SL:137\nE68C D0 BNE $E692       PC:E68D A:AA X:AA Y:00 P:27 SP:FB CYC:233 SL:137\nE68E C0 CPY #$00        PC:E68F A:AA X:AA Y:00 P:27 SP:FB CYC:239 SL:137\nE690 F0 BEQ $E696       PC:E691 A:AA X:AA Y:00 P:27 SP:FB CYC:245 SL:137\nE696 A9 LDA #$87        PC:E697 A:AA X:AA Y:00 P:27 SP:FB CYC:254 SL:137\nE698 85 STA $67         PC:E699 A:87 X:AA Y:00 P:A5 SP:FB CYC:260 SL:137\nE69A A9 LDA #$32        PC:E69B A:87 X:AA Y:00 P:A5 SP:FB CYC:269 SL:137\nE69C 85 STA $68         PC:E69D A:32 X:AA Y:00 P:25 SP:FB CYC:275 SL:137\nE69E A0 LDY #$57        PC:E69F A:32 X:AA Y:00 P:25 SP:FB CYC:284 SL:137\nE6A0 24 BIT $01         PC:E6A1 A:32 X:AA Y:57 P:25 SP:FB CYC:290 SL:137\nE6A2 38 SEC             PC:E6A3 A:32 X:AA Y:57 P:E5 SP:FB CYC:299 SL:137\nE6A3 A9 LDA #$00        PC:E6A4 A:32 X:AA Y:57 P:E5 SP:FB CYC:305 SL:137\nE6A5 B7 LAX $10,y       PC:E6A6 A:00 X:AA Y:57 P:67 SP:FB CYC:311 SL:137\nE6A7 EA NOP             PC:E6A8 A:87 X:87 Y:57 P:E5 SP:FB CYC:323 SL:137\nE6A8 EA NOP             PC:E6A9 A:87 X:87 Y:57 P:E5 SP:FB CYC:329 SL:137\nE6A9 EA NOP             PC:E6AA A:87 X:87 Y:57 P:E5 SP:FB CYC:335 SL:137\nE6AA EA NOP             PC:E6AB A:87 X:87 Y:57 P:E5 SP:FB CYC:0 SL:138\nE6AB F0 BEQ $E6BF       PC:E6AC A:87 X:87 Y:57 P:E5 SP:FB CYC:6 SL:138\nE6AD 10 BPL $E6BF       PC:E6AE A:87 X:87 Y:57 P:E5 SP:FB CYC:12 SL:138\nE6AF 50 BVC $E6BF       PC:E6B0 A:87 X:87 Y:57 P:E5 SP:FB CYC:18 SL:138\nE6B1 90 BCC $E6BF       PC:E6B2 A:87 X:87 Y:57 P:E5 SP:FB CYC:24 SL:138\nE6B3 C9 CMP #$87        PC:E6B4 A:87 X:87 Y:57 P:E5 SP:FB CYC:30 SL:138\nE6B5 D0 BNE $E6BF       PC:E6B6 A:87 X:87 Y:57 P:67 SP:FB CYC:36 SL:138\nE6B7 E0 CPX #$87        PC:E6B8 A:87 X:87 Y:57 P:67 SP:FB CYC:42 SL:138\nE6B9 D0 BNE $E6BF       PC:E6BA A:87 X:87 Y:57 P:67 SP:FB CYC:48 SL:138\nE6BB C0 CPY #$57        PC:E6BC A:87 X:87 Y:57 P:67 SP:FB CYC:54 SL:138\nE6BD F0 BEQ $E6C3       PC:E6BE A:87 X:87 Y:57 P:67 SP:FB CYC:60 SL:138\nE6C3 A0 LDY #$FF        PC:E6C4 A:87 X:87 Y:57 P:67 SP:FB CYC:69 SL:138\nE6C5 B8 CLV             PC:E6C6 A:87 X:87 Y:FF P:E5 SP:FB CYC:75 SL:138\nE6C6 18 CLC             PC:E6C7 A:87 X:87 Y:FF P:A5 SP:FB CYC:81 SL:138\nE6C7 A9 LDA #$00        PC:E6C8 A:87 X:87 Y:FF P:A4 SP:FB CYC:87 SL:138\nE6C9 B7 LAX $69,y       PC:E6CA A:00 X:87 Y:FF P:26 SP:FB CYC:93 SL:138\nE6CB EA NOP             PC:E6CC A:32 X:32 Y:FF P:24 SP:FB CYC:105 SL:138\nE6CC EA NOP             PC:E6CD A:32 X:32 Y:FF P:24 SP:FB CYC:111 SL:138\nE6CD EA NOP             PC:E6CE A:32 X:32 Y:FF P:24 SP:FB CYC:117 SL:138\nE6CE EA NOP             PC:E6CF A:32 X:32 Y:FF P:24 SP:FB CYC:123 SL:138\nE6CF F0 BEQ $E6E3       PC:E6D0 A:32 X:32 Y:FF P:24 SP:FB CYC:129 SL:138\nE6D1 30 BMI $E6E3       PC:E6D2 A:32 X:32 Y:FF P:24 SP:FB CYC:135 SL:138\nE6D3 70 BVS $E6E3       PC:E6D4 A:32 X:32 Y:FF P:24 SP:FB CYC:141 SL:138\nE6D5 B0 BCS $E6E3       PC:E6D6 A:32 X:32 Y:FF P:24 SP:FB CYC:147 SL:138\nE6D7 C9 CMP #$32        PC:E6D8 A:32 X:32 Y:FF P:24 SP:FB CYC:153 SL:138\nE6D9 D0 BNE $E6E3       PC:E6DA A:32 X:32 Y:FF P:27 SP:FB CYC:159 SL:138\nE6DB E0 CPX #$32        PC:E6DC A:32 X:32 Y:FF P:27 SP:FB CYC:165 SL:138\nE6DD D0 BNE $E6E3       PC:E6DE A:32 X:32 Y:FF P:27 SP:FB CYC:171 SL:138\nE6DF C0 CPY #$FF        PC:E6E0 A:32 X:32 Y:FF P:27 SP:FB CYC:177 SL:138\nE6E1 F0 BEQ $E6E7       PC:E6E2 A:32 X:32 Y:FF P:27 SP:FB CYC:183 SL:138\nE6E7 A9 LDA #$87        PC:E6E8 A:32 X:32 Y:FF P:27 SP:FB CYC:192 SL:138\nE6E9 8D STA $0587       PC:E6EA A:87 X:32 Y:FF P:A5 SP:FB CYC:198 SL:138\nE6EC A9 LDA #$32        PC:E6ED A:87 X:32 Y:FF P:A5 SP:FB CYC:210 SL:138\nE6EE 8D STA $0588       PC:E6EF A:32 X:32 Y:FF P:25 SP:FB CYC:216 SL:138\nE6F1 A0 LDY #$30        PC:E6F2 A:32 X:32 Y:FF P:25 SP:FB CYC:228 SL:138\nE6F3 24 BIT $01         PC:E6F4 A:32 X:32 Y:30 P:25 SP:FB CYC:234 SL:138\nE6F5 38 SEC             PC:E6F6 A:32 X:32 Y:30 P:E5 SP:FB CYC:243 SL:138\nE6F6 A9 LDA #$00        PC:E6F7 A:32 X:32 Y:30 P:E5 SP:FB CYC:249 SL:138\nE6F8 BF LAX $0557,y     PC:E6F9 A:00 X:32 Y:30 P:67 SP:FB CYC:255 SL:138\nE6FB EA NOP             PC:E6FC A:87 X:87 Y:30 P:E5 SP:FB CYC:267 SL:138\nE6FC EA NOP             PC:E6FD A:87 X:87 Y:30 P:E5 SP:FB CYC:273 SL:138\nE6FD EA NOP             PC:E6FE A:87 X:87 Y:30 P:E5 SP:FB CYC:279 SL:138\nE6FE EA NOP             PC:E6FF A:87 X:87 Y:30 P:E5 SP:FB CYC:285 SL:138\nE6FF F0 BEQ $E713       PC:E700 A:87 X:87 Y:30 P:E5 SP:FB CYC:291 SL:138\nE701 10 BPL $E713       PC:E702 A:87 X:87 Y:30 P:E5 SP:FB CYC:297 SL:138\nE703 50 BVC $E713       PC:E704 A:87 X:87 Y:30 P:E5 SP:FB CYC:303 SL:138\nE705 90 BCC $E713       PC:E706 A:87 X:87 Y:30 P:E5 SP:FB CYC:309 SL:138\nE707 C9 CMP #$87        PC:E708 A:87 X:87 Y:30 P:E5 SP:FB CYC:315 SL:138\nE709 D0 BNE $E713       PC:E70A A:87 X:87 Y:30 P:67 SP:FB CYC:321 SL:138\nE70B E0 CPX #$87        PC:E70C A:87 X:87 Y:30 P:67 SP:FB CYC:327 SL:138\nE70D D0 BNE $E713       PC:E70E A:87 X:87 Y:30 P:67 SP:FB CYC:333 SL:138\nE70F C0 CPY #$30        PC:E710 A:87 X:87 Y:30 P:67 SP:FB CYC:339 SL:138\nE711 F0 BEQ $E717       PC:E712 A:87 X:87 Y:30 P:67 SP:FB CYC:4 SL:139\nE717 A0 LDY #$40        PC:E718 A:87 X:87 Y:30 P:67 SP:FB CYC:13 SL:139\nE719 B8 CLV             PC:E71A A:87 X:87 Y:40 P:65 SP:FB CYC:19 SL:139\nE71A 18 CLC             PC:E71B A:87 X:87 Y:40 P:25 SP:FB CYC:25 SL:139\nE71B A9 LDA #$00        PC:E71C A:87 X:87 Y:40 P:24 SP:FB CYC:31 SL:139\nE71D BF LAX $0548,y     PC:E71E A:00 X:87 Y:40 P:26 SP:FB CYC:37 SL:139\nE720 EA NOP             PC:E721 A:32 X:32 Y:40 P:24 SP:FB CYC:49 SL:139\nE721 EA NOP             PC:E722 A:32 X:32 Y:40 P:24 SP:FB CYC:55 SL:139\nE722 EA NOP             PC:E723 A:32 X:32 Y:40 P:24 SP:FB CYC:61 SL:139\nE723 EA NOP             PC:E724 A:32 X:32 Y:40 P:24 SP:FB CYC:67 SL:139\nE724 F0 BEQ $E738       PC:E725 A:32 X:32 Y:40 P:24 SP:FB CYC:73 SL:139\nE726 30 BMI $E738       PC:E727 A:32 X:32 Y:40 P:24 SP:FB CYC:79 SL:139\nE728 70 BVS $E738       PC:E729 A:32 X:32 Y:40 P:24 SP:FB CYC:85 SL:139\nE72A B0 BCS $E738       PC:E72B A:32 X:32 Y:40 P:24 SP:FB CYC:91 SL:139\nE72C C9 CMP #$32        PC:E72D A:32 X:32 Y:40 P:24 SP:FB CYC:97 SL:139\nE72E D0 BNE $E738       PC:E72F A:32 X:32 Y:40 P:27 SP:FB CYC:103 SL:139\nE730 E0 CPX #$32        PC:E731 A:32 X:32 Y:40 P:27 SP:FB CYC:109 SL:139\nE732 D0 BNE $E738       PC:E733 A:32 X:32 Y:40 P:27 SP:FB CYC:115 SL:139\nE734 C0 CPY #$40        PC:E735 A:32 X:32 Y:40 P:27 SP:FB CYC:121 SL:139\nE736 F0 BEQ $E73C       PC:E737 A:32 X:32 Y:40 P:27 SP:FB CYC:127 SL:139\nE73C 60 RTS             PC:E73D A:32 X:32 Y:40 P:27 SP:FB CYC:136 SL:139\nC635 20 JSR $E73D       PC:C636 A:32 X:32 Y:40 P:27 SP:FD CYC:154 SL:139\nE73D A9 LDA #$C0        PC:E73E A:32 X:32 Y:40 P:27 SP:FB CYC:172 SL:139\nE73F 85 STA $01         PC:E740 A:C0 X:32 Y:40 P:A5 SP:FB CYC:178 SL:139\nE741 A9 LDA #$00        PC:E742 A:C0 X:32 Y:40 P:A5 SP:FB CYC:187 SL:139\nE743 8D STA $0489       PC:E744 A:00 X:32 Y:40 P:27 SP:FB CYC:193 SL:139\nE746 A9 LDA #$89        PC:E747 A:00 X:32 Y:40 P:27 SP:FB CYC:205 SL:139\nE748 85 STA $60         PC:E749 A:89 X:32 Y:40 P:A5 SP:FB CYC:211 SL:139\nE74A A9 LDA #$04        PC:E74B A:89 X:32 Y:40 P:A5 SP:FB CYC:220 SL:139\nE74C 85 STA $61         PC:E74D A:04 X:32 Y:40 P:25 SP:FB CYC:226 SL:139\nE74E A0 LDY #$44        PC:E74F A:04 X:32 Y:40 P:25 SP:FB CYC:235 SL:139\nE750 A2 LDX #$17        PC:E751 A:04 X:32 Y:44 P:25 SP:FB CYC:241 SL:139\nE752 A9 LDA #$3E        PC:E753 A:04 X:17 Y:44 P:25 SP:FB CYC:247 SL:139\nE754 24 BIT $01         PC:E755 A:3E X:17 Y:44 P:25 SP:FB CYC:253 SL:139\nE756 18 CLC             PC:E757 A:3E X:17 Y:44 P:E7 SP:FB CYC:262 SL:139\nE757 83 SAX $(EA49,x)   PC:E758 A:3E X:17 Y:44 P:E6 SP:FB CYC:268 SL:139\nE759 EA NOP             PC:E75A A:3E X:17 Y:44 P:E6 SP:FB CYC:286 SL:139\nE75A EA NOP             PC:E75B A:3E X:17 Y:44 P:E6 SP:FB CYC:292 SL:139\nE75B EA NOP             PC:E75C A:3E X:17 Y:44 P:E6 SP:FB CYC:298 SL:139\nE75C EA NOP             PC:E75D A:3E X:17 Y:44 P:E6 SP:FB CYC:304 SL:139\nE75D D0 BNE $E778       PC:E75E A:3E X:17 Y:44 P:E6 SP:FB CYC:310 SL:139\nE75F B0 BCS $E778       PC:E760 A:3E X:17 Y:44 P:E6 SP:FB CYC:316 SL:139\nE761 50 BVC $E778       PC:E762 A:3E X:17 Y:44 P:E6 SP:FB CYC:322 SL:139\nE763 10 BPL $E778       PC:E764 A:3E X:17 Y:44 P:E6 SP:FB CYC:328 SL:139\nE765 C9 CMP #$3E        PC:E766 A:3E X:17 Y:44 P:E6 SP:FB CYC:334 SL:139\nE767 D0 BNE $E778       PC:E768 A:3E X:17 Y:44 P:67 SP:FB CYC:340 SL:139\nE769 C0 CPY #$44        PC:E76A A:3E X:17 Y:44 P:67 SP:FB CYC:5 SL:140\nE76B D0 BNE $E778       PC:E76C A:3E X:17 Y:44 P:67 SP:FB CYC:11 SL:140\nE76D E0 CPX #$17        PC:E76E A:3E X:17 Y:44 P:67 SP:FB CYC:17 SL:140\nE76F D0 BNE $E778       PC:E770 A:3E X:17 Y:44 P:67 SP:FB CYC:23 SL:140\nE771 AD LDA $0489       PC:E772 A:3E X:17 Y:44 P:67 SP:FB CYC:29 SL:140\nE774 C9 CMP #$16        PC:E775 A:16 X:17 Y:44 P:65 SP:FB CYC:41 SL:140\nE776 F0 BEQ $E77C       PC:E777 A:16 X:17 Y:44 P:67 SP:FB CYC:47 SL:140\nE77C A0 LDY #$44        PC:E77D A:16 X:17 Y:44 P:67 SP:FB CYC:56 SL:140\nE77E A2 LDX #$7A        PC:E77F A:16 X:17 Y:44 P:65 SP:FB CYC:62 SL:140\nE780 A9 LDA #$66        PC:E781 A:16 X:7A Y:44 P:65 SP:FB CYC:68 SL:140\nE782 38 SEC             PC:E783 A:66 X:7A Y:44 P:65 SP:FB CYC:74 SL:140\nE783 B8 CLV             PC:E784 A:66 X:7A Y:44 P:65 SP:FB CYC:80 SL:140\nE784 83 SAX $(EAE6,x)   PC:E785 A:66 X:7A Y:44 P:25 SP:FB CYC:86 SL:140\nE786 EA NOP             PC:E787 A:66 X:7A Y:44 P:25 SP:FB CYC:104 SL:140\nE787 EA NOP             PC:E788 A:66 X:7A Y:44 P:25 SP:FB CYC:110 SL:140\nE788 EA NOP             PC:E789 A:66 X:7A Y:44 P:25 SP:FB CYC:116 SL:140\nE789 EA NOP             PC:E78A A:66 X:7A Y:44 P:25 SP:FB CYC:122 SL:140\nE78A F0 BEQ $E7A5       PC:E78B A:66 X:7A Y:44 P:25 SP:FB CYC:128 SL:140\nE78C 90 BCC $E7A5       PC:E78D A:66 X:7A Y:44 P:25 SP:FB CYC:134 SL:140\nE78E 70 BVS $E7A5       PC:E78F A:66 X:7A Y:44 P:25 SP:FB CYC:140 SL:140\nE790 30 BMI $E7A5       PC:E791 A:66 X:7A Y:44 P:25 SP:FB CYC:146 SL:140\nE792 C9 CMP #$66        PC:E793 A:66 X:7A Y:44 P:25 SP:FB CYC:152 SL:140\nE794 D0 BNE $E7A5       PC:E795 A:66 X:7A Y:44 P:27 SP:FB CYC:158 SL:140\nE796 C0 CPY #$44        PC:E797 A:66 X:7A Y:44 P:27 SP:FB CYC:164 SL:140\nE798 D0 BNE $E7A5       PC:E799 A:66 X:7A Y:44 P:27 SP:FB CYC:170 SL:140\nE79A E0 CPX #$7A        PC:E79B A:66 X:7A Y:44 P:27 SP:FB CYC:176 SL:140\nE79C D0 BNE $E7A5       PC:E79D A:66 X:7A Y:44 P:27 SP:FB CYC:182 SL:140\nE79E AD LDA $0489       PC:E79F A:66 X:7A Y:44 P:27 SP:FB CYC:188 SL:140\nE7A1 C9 CMP #$62        PC:E7A2 A:62 X:7A Y:44 P:25 SP:FB CYC:200 SL:140\nE7A3 F0 BEQ $E7A9       PC:E7A4 A:62 X:7A Y:44 P:27 SP:FB CYC:206 SL:140\nE7A9 A9 LDA #$FF        PC:E7AA A:62 X:7A Y:44 P:27 SP:FB CYC:215 SL:140\nE7AB 85 STA $49         PC:E7AC A:FF X:7A Y:44 P:A5 SP:FB CYC:221 SL:140\nE7AD A0 LDY #$44        PC:E7AE A:FF X:7A Y:44 P:A5 SP:FB CYC:230 SL:140\nE7AF A2 LDX #$AA        PC:E7B0 A:FF X:7A Y:44 P:25 SP:FB CYC:236 SL:140\nE7B1 A9 LDA #$55        PC:E7B2 A:FF X:AA Y:44 P:A5 SP:FB CYC:242 SL:140\nE7B3 24 BIT $01         PC:E7B4 A:55 X:AA Y:44 P:25 SP:FB CYC:248 SL:140\nE7B5 18 CLC             PC:E7B6 A:55 X:AA Y:44 P:E5 SP:FB CYC:257 SL:140\nE7B6 87 SAX $49         PC:E7B7 A:55 X:AA Y:44 P:E4 SP:FB CYC:263 SL:140\nE7B8 EA NOP             PC:E7B9 A:55 X:AA Y:44 P:E4 SP:FB CYC:272 SL:140\nE7B9 EA NOP             PC:E7BA A:55 X:AA Y:44 P:E4 SP:FB CYC:278 SL:140\nE7BA EA NOP             PC:E7BB A:55 X:AA Y:44 P:E4 SP:FB CYC:284 SL:140\nE7BB EA NOP             PC:E7BC A:55 X:AA Y:44 P:E4 SP:FB CYC:290 SL:140\nE7BC F0 BEQ $E7D6       PC:E7BD A:55 X:AA Y:44 P:E4 SP:FB CYC:296 SL:140\nE7BE B0 BCS $E7D6       PC:E7BF A:55 X:AA Y:44 P:E4 SP:FB CYC:302 SL:140\nE7C0 50 BVC $E7D6       PC:E7C1 A:55 X:AA Y:44 P:E4 SP:FB CYC:308 SL:140\nE7C2 10 BPL $E7D6       PC:E7C3 A:55 X:AA Y:44 P:E4 SP:FB CYC:314 SL:140\nE7C4 C9 CMP #$55        PC:E7C5 A:55 X:AA Y:44 P:E4 SP:FB CYC:320 SL:140\nE7C6 D0 BNE $E7D6       PC:E7C7 A:55 X:AA Y:44 P:67 SP:FB CYC:326 SL:140\nE7C8 C0 CPY #$44        PC:E7C9 A:55 X:AA Y:44 P:67 SP:FB CYC:332 SL:140\nE7CA D0 BNE $E7D6       PC:E7CB A:55 X:AA Y:44 P:67 SP:FB CYC:338 SL:140\nE7CC E0 CPX #$AA        PC:E7CD A:55 X:AA Y:44 P:67 SP:FB CYC:3 SL:141\nE7CE D0 BNE $E7D6       PC:E7CF A:55 X:AA Y:44 P:67 SP:FB CYC:9 SL:141\nE7D0 A5 LDA $49         PC:E7D1 A:55 X:AA Y:44 P:67 SP:FB CYC:15 SL:141\nE7D2 C9 CMP #$00        PC:E7D3 A:00 X:AA Y:44 P:67 SP:FB CYC:24 SL:141\nE7D4 F0 BEQ $E7DA       PC:E7D5 A:00 X:AA Y:44 P:67 SP:FB CYC:30 SL:141\nE7DA A9 LDA #$00        PC:E7DB A:00 X:AA Y:44 P:67 SP:FB CYC:39 SL:141\nE7DC 85 STA $56         PC:E7DD A:00 X:AA Y:44 P:67 SP:FB CYC:45 SL:141\nE7DE A0 LDY #$58        PC:E7DF A:00 X:AA Y:44 P:67 SP:FB CYC:54 SL:141\nE7E0 A2 LDX #$EF        PC:E7E1 A:00 X:AA Y:58 P:65 SP:FB CYC:60 SL:141\nE7E2 A9 LDA #$66        PC:E7E3 A:00 X:EF Y:58 P:E5 SP:FB CYC:66 SL:141\nE7E4 38 SEC             PC:E7E5 A:66 X:EF Y:58 P:65 SP:FB CYC:72 SL:141\nE7E5 B8 CLV             PC:E7E6 A:66 X:EF Y:58 P:65 SP:FB CYC:78 SL:141\nE7E6 87 SAX $56         PC:E7E7 A:66 X:EF Y:58 P:25 SP:FB CYC:84 SL:141\nE7E8 EA NOP             PC:E7E9 A:66 X:EF Y:58 P:25 SP:FB CYC:93 SL:141\nE7E9 EA NOP             PC:E7EA A:66 X:EF Y:58 P:25 SP:FB CYC:99 SL:141\nE7EA EA NOP             PC:E7EB A:66 X:EF Y:58 P:25 SP:FB CYC:105 SL:141\nE7EB EA NOP             PC:E7EC A:66 X:EF Y:58 P:25 SP:FB CYC:111 SL:141\nE7EC F0 BEQ $E806       PC:E7ED A:66 X:EF Y:58 P:25 SP:FB CYC:117 SL:141\nE7EE 90 BCC $E806       PC:E7EF A:66 X:EF Y:58 P:25 SP:FB CYC:123 SL:141\nE7F0 70 BVS $E806       PC:E7F1 A:66 X:EF Y:58 P:25 SP:FB CYC:129 SL:141\nE7F2 30 BMI $E806       PC:E7F3 A:66 X:EF Y:58 P:25 SP:FB CYC:135 SL:141\nE7F4 C9 CMP #$66        PC:E7F5 A:66 X:EF Y:58 P:25 SP:FB CYC:141 SL:141\nE7F6 D0 BNE $E806       PC:E7F7 A:66 X:EF Y:58 P:27 SP:FB CYC:147 SL:141\nE7F8 C0 CPY #$58        PC:E7F9 A:66 X:EF Y:58 P:27 SP:FB CYC:153 SL:141\nE7FA D0 BNE $E806       PC:E7FB A:66 X:EF Y:58 P:27 SP:FB CYC:159 SL:141\nE7FC E0 CPX #$EF        PC:E7FD A:66 X:EF Y:58 P:27 SP:FB CYC:165 SL:141\nE7FE D0 BNE $E806       PC:E7FF A:66 X:EF Y:58 P:27 SP:FB CYC:171 SL:141\nE800 A5 LDA $56         PC:E801 A:66 X:EF Y:58 P:27 SP:FB CYC:177 SL:141\nE802 C9 CMP #$66        PC:E803 A:66 X:EF Y:58 P:25 SP:FB CYC:186 SL:141\nE804 F0 BEQ $E80A       PC:E805 A:66 X:EF Y:58 P:27 SP:FB CYC:192 SL:141\nE80A A9 LDA #$FF        PC:E80B A:66 X:EF Y:58 P:27 SP:FB CYC:201 SL:141\nE80C 8D STA $0549       PC:E80D A:FF X:EF Y:58 P:A5 SP:FB CYC:207 SL:141\nE80F A0 LDY #$E5        PC:E810 A:FF X:EF Y:58 P:A5 SP:FB CYC:219 SL:141\nE811 A2 LDX #$AF        PC:E812 A:FF X:EF Y:E5 P:A5 SP:FB CYC:225 SL:141\nE813 A9 LDA #$F5        PC:E814 A:FF X:AF Y:E5 P:A5 SP:FB CYC:231 SL:141\nE815 24 BIT $01         PC:E816 A:F5 X:AF Y:E5 P:A5 SP:FB CYC:237 SL:141\nE817 18 CLC             PC:E818 A:F5 X:AF Y:E5 P:E5 SP:FB CYC:246 SL:141\nE818 8F SAX $0549       PC:E819 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:252 SL:141\nE81B EA NOP             PC:E81C A:F5 X:AF Y:E5 P:E4 SP:FB CYC:264 SL:141\nE81C EA NOP             PC:E81D A:F5 X:AF Y:E5 P:E4 SP:FB CYC:270 SL:141\nE81D EA NOP             PC:E81E A:F5 X:AF Y:E5 P:E4 SP:FB CYC:276 SL:141\nE81E EA NOP             PC:E81F A:F5 X:AF Y:E5 P:E4 SP:FB CYC:282 SL:141\nE81F F0 BEQ $E83A       PC:E820 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:288 SL:141\nE821 B0 BCS $E83A       PC:E822 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:294 SL:141\nE823 50 BVC $E83A       PC:E824 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:300 SL:141\nE825 10 BPL $E83A       PC:E826 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:306 SL:141\nE827 C9 CMP #$F5        PC:E828 A:F5 X:AF Y:E5 P:E4 SP:FB CYC:312 SL:141\nE829 D0 BNE $E83A       PC:E82A A:F5 X:AF Y:E5 P:67 SP:FB CYC:318 SL:141\nE82B C0 CPY #$E5        PC:E82C A:F5 X:AF Y:E5 P:67 SP:FB CYC:324 SL:141\nE82D D0 BNE $E83A       PC:E82E A:F5 X:AF Y:E5 P:67 SP:FB CYC:330 SL:141\nE82F E0 CPX #$AF        PC:E830 A:F5 X:AF Y:E5 P:67 SP:FB CYC:336 SL:141\nE831 D0 BNE $E83A       PC:E832 A:F5 X:AF Y:E5 P:67 SP:FB CYC:1 SL:142\nE833 AD LDA $0549       PC:E834 A:F5 X:AF Y:E5 P:67 SP:FB CYC:7 SL:142\nE836 C9 CMP #$A5        PC:E837 A:A5 X:AF Y:E5 P:E5 SP:FB CYC:19 SL:142\nE838 F0 BEQ $E83E       PC:E839 A:A5 X:AF Y:E5 P:67 SP:FB CYC:25 SL:142\nE83E A9 LDA #$00        PC:E83F A:A5 X:AF Y:E5 P:67 SP:FB CYC:34 SL:142\nE840 8D STA $0556       PC:E841 A:00 X:AF Y:E5 P:67 SP:FB CYC:40 SL:142\nE843 A0 LDY #$58        PC:E844 A:00 X:AF Y:E5 P:67 SP:FB CYC:52 SL:142\nE845 A2 LDX #$B3        PC:E846 A:00 X:AF Y:58 P:65 SP:FB CYC:58 SL:142\nE847 A9 LDA #$97        PC:E848 A:00 X:B3 Y:58 P:E5 SP:FB CYC:64 SL:142\nE849 38 SEC             PC:E84A A:97 X:B3 Y:58 P:E5 SP:FB CYC:70 SL:142\nE84A B8 CLV             PC:E84B A:97 X:B3 Y:58 P:E5 SP:FB CYC:76 SL:142\nE84B 8F SAX $0556       PC:E84C A:97 X:B3 Y:58 P:A5 SP:FB CYC:82 SL:142\nE84E EA NOP             PC:E84F A:97 X:B3 Y:58 P:A5 SP:FB CYC:94 SL:142\nE84F EA NOP             PC:E850 A:97 X:B3 Y:58 P:A5 SP:FB CYC:100 SL:142\nE850 EA NOP             PC:E851 A:97 X:B3 Y:58 P:A5 SP:FB CYC:106 SL:142\nE851 EA NOP             PC:E852 A:97 X:B3 Y:58 P:A5 SP:FB CYC:112 SL:142\nE852 F0 BEQ $E86D       PC:E853 A:97 X:B3 Y:58 P:A5 SP:FB CYC:118 SL:142\nE854 90 BCC $E86D       PC:E855 A:97 X:B3 Y:58 P:A5 SP:FB CYC:124 SL:142\nE856 70 BVS $E86D       PC:E857 A:97 X:B3 Y:58 P:A5 SP:FB CYC:130 SL:142\nE858 10 BPL $E86D       PC:E859 A:97 X:B3 Y:58 P:A5 SP:FB CYC:136 SL:142\nE85A C9 CMP #$97        PC:E85B A:97 X:B3 Y:58 P:A5 SP:FB CYC:142 SL:142\nE85C D0 BNE $E86D       PC:E85D A:97 X:B3 Y:58 P:27 SP:FB CYC:148 SL:142\nE85E C0 CPY #$58        PC:E85F A:97 X:B3 Y:58 P:27 SP:FB CYC:154 SL:142\nE860 D0 BNE $E86D       PC:E861 A:97 X:B3 Y:58 P:27 SP:FB CYC:160 SL:142\nE862 E0 CPX #$B3        PC:E863 A:97 X:B3 Y:58 P:27 SP:FB CYC:166 SL:142\nE864 D0 BNE $E86D       PC:E865 A:97 X:B3 Y:58 P:27 SP:FB CYC:172 SL:142\nE866 AD LDA $0556       PC:E867 A:97 X:B3 Y:58 P:27 SP:FB CYC:178 SL:142\nE869 C9 CMP #$93        PC:E86A A:93 X:B3 Y:58 P:A5 SP:FB CYC:190 SL:142\nE86B F0 BEQ $E871       PC:E86C A:93 X:B3 Y:58 P:27 SP:FB CYC:196 SL:142\nE871 A9 LDA #$FF        PC:E872 A:93 X:B3 Y:58 P:27 SP:FB CYC:205 SL:142\nE873 85 STA $49         PC:E874 A:FF X:B3 Y:58 P:A5 SP:FB CYC:211 SL:142\nE875 A0 LDY #$FF        PC:E876 A:FF X:B3 Y:58 P:A5 SP:FB CYC:220 SL:142\nE877 A2 LDX #$AA        PC:E878 A:FF X:B3 Y:FF P:A5 SP:FB CYC:226 SL:142\nE879 A9 LDA #$55        PC:E87A A:FF X:AA Y:FF P:A5 SP:FB CYC:232 SL:142\nE87B 24 BIT $01         PC:E87C A:55 X:AA Y:FF P:25 SP:FB CYC:238 SL:142\nE87D 18 CLC             PC:E87E A:55 X:AA Y:FF P:E5 SP:FB CYC:247 SL:142\nE87E 97 SAX $4A,y       PC:E87F A:55 X:AA Y:FF P:E4 SP:FB CYC:253 SL:142\nE880 EA NOP             PC:E881 A:55 X:AA Y:FF P:E4 SP:FB CYC:265 SL:142\nE881 EA NOP             PC:E882 A:55 X:AA Y:FF P:E4 SP:FB CYC:271 SL:142\nE882 EA NOP             PC:E883 A:55 X:AA Y:FF P:E4 SP:FB CYC:277 SL:142\nE883 EA NOP             PC:E884 A:55 X:AA Y:FF P:E4 SP:FB CYC:283 SL:142\nE884 F0 BEQ $E89E       PC:E885 A:55 X:AA Y:FF P:E4 SP:FB CYC:289 SL:142\nE886 B0 BCS $E89E       PC:E887 A:55 X:AA Y:FF P:E4 SP:FB CYC:295 SL:142\nE888 50 BVC $E89E       PC:E889 A:55 X:AA Y:FF P:E4 SP:FB CYC:301 SL:142\nE88A 10 BPL $E89E       PC:E88B A:55 X:AA Y:FF P:E4 SP:FB CYC:307 SL:142\nE88C C9 CMP #$55        PC:E88D A:55 X:AA Y:FF P:E4 SP:FB CYC:313 SL:142\nE88E D0 BNE $E89E       PC:E88F A:55 X:AA Y:FF P:67 SP:FB CYC:319 SL:142\nE890 C0 CPY #$FF        PC:E891 A:55 X:AA Y:FF P:67 SP:FB CYC:325 SL:142\nE892 D0 BNE $E89E       PC:E893 A:55 X:AA Y:FF P:67 SP:FB CYC:331 SL:142\nE894 E0 CPX #$AA        PC:E895 A:55 X:AA Y:FF P:67 SP:FB CYC:337 SL:142\nE896 D0 BNE $E89E       PC:E897 A:55 X:AA Y:FF P:67 SP:FB CYC:2 SL:143\nE898 A5 LDA $49         PC:E899 A:55 X:AA Y:FF P:67 SP:FB CYC:8 SL:143\nE89A C9 CMP #$00        PC:E89B A:00 X:AA Y:FF P:67 SP:FB CYC:17 SL:143\nE89C F0 BEQ $E8A2       PC:E89D A:00 X:AA Y:FF P:67 SP:FB CYC:23 SL:143\nE8A2 A9 LDA #$00        PC:E8A3 A:00 X:AA Y:FF P:67 SP:FB CYC:32 SL:143\nE8A4 85 STA $56         PC:E8A5 A:00 X:AA Y:FF P:67 SP:FB CYC:38 SL:143\nE8A6 A0 LDY #$06        PC:E8A7 A:00 X:AA Y:FF P:67 SP:FB CYC:47 SL:143\nE8A8 A2 LDX #$EF        PC:E8A9 A:00 X:AA Y:06 P:65 SP:FB CYC:53 SL:143\nE8AA A9 LDA #$66        PC:E8AB A:00 X:EF Y:06 P:E5 SP:FB CYC:59 SL:143\nE8AC 38 SEC             PC:E8AD A:66 X:EF Y:06 P:65 SP:FB CYC:65 SL:143\nE8AD B8 CLV             PC:E8AE A:66 X:EF Y:06 P:65 SP:FB CYC:71 SL:143\nE8AE 97 SAX $50,y       PC:E8AF A:66 X:EF Y:06 P:25 SP:FB CYC:77 SL:143\nE8B0 EA NOP             PC:E8B1 A:66 X:EF Y:06 P:25 SP:FB CYC:89 SL:143\nE8B1 EA NOP             PC:E8B2 A:66 X:EF Y:06 P:25 SP:FB CYC:95 SL:143\nE8B2 EA NOP             PC:E8B3 A:66 X:EF Y:06 P:25 SP:FB CYC:101 SL:143\nE8B3 EA NOP             PC:E8B4 A:66 X:EF Y:06 P:25 SP:FB CYC:107 SL:143\nE8B4 F0 BEQ $E8CE       PC:E8B5 A:66 X:EF Y:06 P:25 SP:FB CYC:113 SL:143\nE8B6 90 BCC $E8CE       PC:E8B7 A:66 X:EF Y:06 P:25 SP:FB CYC:119 SL:143\nE8B8 70 BVS $E8CE       PC:E8B9 A:66 X:EF Y:06 P:25 SP:FB CYC:125 SL:143\nE8BA 30 BMI $E8CE       PC:E8BB A:66 X:EF Y:06 P:25 SP:FB CYC:131 SL:143\nE8BC C9 CMP #$66        PC:E8BD A:66 X:EF Y:06 P:25 SP:FB CYC:137 SL:143\nE8BE D0 BNE $E8CE       PC:E8BF A:66 X:EF Y:06 P:27 SP:FB CYC:143 SL:143\nE8C0 C0 CPY #$06        PC:E8C1 A:66 X:EF Y:06 P:27 SP:FB CYC:149 SL:143\nE8C2 D0 BNE $E8CE       PC:E8C3 A:66 X:EF Y:06 P:27 SP:FB CYC:155 SL:143\nE8C4 E0 CPX #$EF        PC:E8C5 A:66 X:EF Y:06 P:27 SP:FB CYC:161 SL:143\nE8C6 D0 BNE $E8CE       PC:E8C7 A:66 X:EF Y:06 P:27 SP:FB CYC:167 SL:143\nE8C8 A5 LDA $56         PC:E8C9 A:66 X:EF Y:06 P:27 SP:FB CYC:173 SL:143\nE8CA C9 CMP #$66        PC:E8CB A:66 X:EF Y:06 P:25 SP:FB CYC:182 SL:143\nE8CC F0 BEQ $E8D2       PC:E8CD A:66 X:EF Y:06 P:27 SP:FB CYC:188 SL:143\nE8D2 60 RTS             PC:E8D3 A:66 X:EF Y:06 P:27 SP:FB CYC:197 SL:143\nC638 20 JSR $E8D3       PC:C639 A:66 X:EF Y:06 P:27 SP:FD CYC:215 SL:143\nE8D3 A0 LDY #$90        PC:E8D4 A:66 X:EF Y:06 P:27 SP:FB CYC:233 SL:143\nE8D5 20 JSR $F931       PC:E8D6 A:66 X:EF Y:90 P:A5 SP:FB CYC:239 SL:143\nF931 24 BIT $01         PC:F932 A:66 X:EF Y:90 P:A5 SP:F9 CYC:257 SL:143\nF933 A9 LDA #$40        PC:F934 A:66 X:EF Y:90 P:E5 SP:F9 CYC:266 SL:143\nF935 38 SEC             PC:F936 A:40 X:EF Y:90 P:65 SP:F9 CYC:272 SL:143\nF936 60 RTS             PC:F937 A:40 X:EF Y:90 P:65 SP:F9 CYC:278 SL:143\nE8D8 EB SBC #$40        PC:E8D9 A:40 X:EF Y:90 P:65 SP:FB CYC:296 SL:143\nE8DA EA NOP             PC:E8DB A:00 X:EF Y:90 P:27 SP:FB CYC:302 SL:143\nE8DB EA NOP             PC:E8DC A:00 X:EF Y:90 P:27 SP:FB CYC:308 SL:143\nE8DC EA NOP             PC:E8DD A:00 X:EF Y:90 P:27 SP:FB CYC:314 SL:143\nE8DD EA NOP             PC:E8DE A:00 X:EF Y:90 P:27 SP:FB CYC:320 SL:143\nE8DE 20 JSR $F937       PC:E8DF A:00 X:EF Y:90 P:27 SP:FB CYC:326 SL:143\nF937 30 BMI $F944       PC:F938 A:00 X:EF Y:90 P:27 SP:F9 CYC:3 SL:144\nF939 90 BCC $F944       PC:F93A A:00 X:EF Y:90 P:27 SP:F9 CYC:9 SL:144\nF93B D0 BNE $F944       PC:F93C A:00 X:EF Y:90 P:27 SP:F9 CYC:15 SL:144\nF93D 70 BVS $F944       PC:F93E A:00 X:EF Y:90 P:27 SP:F9 CYC:21 SL:144\nF93F C9 CMP #$00        PC:F940 A:00 X:EF Y:90 P:27 SP:F9 CYC:27 SL:144\nF941 D0 BNE $F944       PC:F942 A:00 X:EF Y:90 P:27 SP:F9 CYC:33 SL:144\nF943 60 RTS             PC:F944 A:00 X:EF Y:90 P:27 SP:F9 CYC:39 SL:144\nE8E1 C8 INY             PC:E8E2 A:00 X:EF Y:90 P:27 SP:FB CYC:57 SL:144\nE8E2 20 JSR $F947       PC:E8E3 A:00 X:EF Y:91 P:A5 SP:FB CYC:63 SL:144\nF947 B8 CLV             PC:F948 A:00 X:EF Y:91 P:A5 SP:F9 CYC:81 SL:144\nF948 38 SEC             PC:F949 A:00 X:EF Y:91 P:A5 SP:F9 CYC:87 SL:144\nF949 A9 LDA #$40        PC:F94A A:00 X:EF Y:91 P:A5 SP:F9 CYC:93 SL:144\nF94B 60 RTS             PC:F94C A:40 X:EF Y:91 P:25 SP:F9 CYC:99 SL:144\nE8E5 EB SBC #$3F        PC:E8E6 A:40 X:EF Y:91 P:25 SP:FB CYC:117 SL:144\nE8E7 EA NOP             PC:E8E8 A:01 X:EF Y:91 P:25 SP:FB CYC:123 SL:144\nE8E8 EA NOP             PC:E8E9 A:01 X:EF Y:91 P:25 SP:FB CYC:129 SL:144\nE8E9 EA NOP             PC:E8EA A:01 X:EF Y:91 P:25 SP:FB CYC:135 SL:144\nE8EA EA NOP             PC:E8EB A:01 X:EF Y:91 P:25 SP:FB CYC:141 SL:144\nE8EB 20 JSR $F94C       PC:E8EC A:01 X:EF Y:91 P:25 SP:FB CYC:147 SL:144\nF94C F0 BEQ $F959       PC:F94D A:01 X:EF Y:91 P:25 SP:F9 CYC:165 SL:144\nF94E 30 BMI $F959       PC:F94F A:01 X:EF Y:91 P:25 SP:F9 CYC:171 SL:144\nF950 90 BCC $F959       PC:F951 A:01 X:EF Y:91 P:25 SP:F9 CYC:177 SL:144\nF952 70 BVS $F959       PC:F953 A:01 X:EF Y:91 P:25 SP:F9 CYC:183 SL:144\nF954 C9 CMP #$01        PC:F955 A:01 X:EF Y:91 P:25 SP:F9 CYC:189 SL:144\nF956 D0 BNE $F959       PC:F957 A:01 X:EF Y:91 P:27 SP:F9 CYC:195 SL:144\nF958 60 RTS             PC:F959 A:01 X:EF Y:91 P:27 SP:F9 CYC:201 SL:144\nE8EE C8 INY             PC:E8EF A:01 X:EF Y:91 P:27 SP:FB CYC:219 SL:144\nE8EF 20 JSR $F95C       PC:E8F0 A:01 X:EF Y:92 P:A5 SP:FB CYC:225 SL:144\nF95C A9 LDA #$40        PC:F95D A:01 X:EF Y:92 P:A5 SP:F9 CYC:243 SL:144\nF95E 38 SEC             PC:F95F A:40 X:EF Y:92 P:25 SP:F9 CYC:249 SL:144\nF95F 24 BIT $01         PC:F960 A:40 X:EF Y:92 P:25 SP:F9 CYC:255 SL:144\nF961 60 RTS             PC:F962 A:40 X:EF Y:92 P:E5 SP:F9 CYC:264 SL:144\nE8F2 EB SBC #$41        PC:E8F3 A:40 X:EF Y:92 P:E5 SP:FB CYC:282 SL:144\nE8F4 EA NOP             PC:E8F5 A:FF X:EF Y:92 P:A4 SP:FB CYC:288 SL:144\nE8F5 EA NOP             PC:E8F6 A:FF X:EF Y:92 P:A4 SP:FB CYC:294 SL:144\nE8F6 EA NOP             PC:E8F7 A:FF X:EF Y:92 P:A4 SP:FB CYC:300 SL:144\nE8F7 EA NOP             PC:E8F8 A:FF X:EF Y:92 P:A4 SP:FB CYC:306 SL:144\nE8F8 20 JSR $F962       PC:E8F9 A:FF X:EF Y:92 P:A4 SP:FB CYC:312 SL:144\nF962 B0 BCS $F96F       PC:F963 A:FF X:EF Y:92 P:A4 SP:F9 CYC:330 SL:144\nF964 F0 BEQ $F96F       PC:F965 A:FF X:EF Y:92 P:A4 SP:F9 CYC:336 SL:144\nF966 10 BPL $F96F       PC:F967 A:FF X:EF Y:92 P:A4 SP:F9 CYC:1 SL:145\nF968 70 BVS $F96F       PC:F969 A:FF X:EF Y:92 P:A4 SP:F9 CYC:7 SL:145\nF96A C9 CMP #$FF        PC:F96B A:FF X:EF Y:92 P:A4 SP:F9 CYC:13 SL:145\nF96C D0 BNE $F96F       PC:F96D A:FF X:EF Y:92 P:27 SP:F9 CYC:19 SL:145\nF96E 60 RTS             PC:F96F A:FF X:EF Y:92 P:27 SP:F9 CYC:25 SL:145\nE8FB C8 INY             PC:E8FC A:FF X:EF Y:92 P:27 SP:FB CYC:43 SL:145\nE8FC 20 JSR $F972       PC:E8FD A:FF X:EF Y:93 P:A5 SP:FB CYC:49 SL:145\nF972 18 CLC             PC:F973 A:FF X:EF Y:93 P:A5 SP:F9 CYC:67 SL:145\nF973 A9 LDA #$80        PC:F974 A:FF X:EF Y:93 P:A4 SP:F9 CYC:73 SL:145\nF975 60 RTS             PC:F976 A:80 X:EF Y:93 P:A4 SP:F9 CYC:79 SL:145\nE8FF EB SBC #$00        PC:E900 A:80 X:EF Y:93 P:A4 SP:FB CYC:97 SL:145\nE901 EA NOP             PC:E902 A:7F X:EF Y:93 P:65 SP:FB CYC:103 SL:145\nE902 EA NOP             PC:E903 A:7F X:EF Y:93 P:65 SP:FB CYC:109 SL:145\nE903 EA NOP             PC:E904 A:7F X:EF Y:93 P:65 SP:FB CYC:115 SL:145\nE904 EA NOP             PC:E905 A:7F X:EF Y:93 P:65 SP:FB CYC:121 SL:145\nE905 20 JSR $F976       PC:E906 A:7F X:EF Y:93 P:65 SP:FB CYC:127 SL:145\nF976 90 BCC $F97D       PC:F977 A:7F X:EF Y:93 P:65 SP:F9 CYC:145 SL:145\nF978 C9 CMP #$7F        PC:F979 A:7F X:EF Y:93 P:65 SP:F9 CYC:151 SL:145\nF97A D0 BNE $F97D       PC:F97B A:7F X:EF Y:93 P:67 SP:F9 CYC:157 SL:145\nF97C 60 RTS             PC:F97D A:7F X:EF Y:93 P:67 SP:F9 CYC:163 SL:145\nE908 C8 INY             PC:E909 A:7F X:EF Y:93 P:67 SP:FB CYC:181 SL:145\nE909 20 JSR $F980       PC:E90A A:7F X:EF Y:94 P:E5 SP:FB CYC:187 SL:145\nF980 38 SEC             PC:F981 A:7F X:EF Y:94 P:E5 SP:F9 CYC:205 SL:145\nF981 A9 LDA #$81        PC:F982 A:7F X:EF Y:94 P:E5 SP:F9 CYC:211 SL:145\nF983 60 RTS             PC:F984 A:81 X:EF Y:94 P:E5 SP:F9 CYC:217 SL:145\nE90C EB SBC #$7F        PC:E90D A:81 X:EF Y:94 P:E5 SP:FB CYC:235 SL:145\nE90E EA NOP             PC:E90F A:02 X:EF Y:94 P:65 SP:FB CYC:241 SL:145\nE90F EA NOP             PC:E910 A:02 X:EF Y:94 P:65 SP:FB CYC:247 SL:145\nE910 EA NOP             PC:E911 A:02 X:EF Y:94 P:65 SP:FB CYC:253 SL:145\nE911 EA NOP             PC:E912 A:02 X:EF Y:94 P:65 SP:FB CYC:259 SL:145\nE912 20 JSR $F984       PC:E913 A:02 X:EF Y:94 P:65 SP:FB CYC:265 SL:145\nF984 50 BVC $F98D       PC:F985 A:02 X:EF Y:94 P:65 SP:F9 CYC:283 SL:145\nF986 90 BCC $F98D       PC:F987 A:02 X:EF Y:94 P:65 SP:F9 CYC:289 SL:145\nF988 C9 CMP #$02        PC:F989 A:02 X:EF Y:94 P:65 SP:F9 CYC:295 SL:145\nF98A D0 BNE $F98D       PC:F98B A:02 X:EF Y:94 P:67 SP:F9 CYC:301 SL:145\nF98C 60 RTS             PC:F98D A:02 X:EF Y:94 P:67 SP:F9 CYC:307 SL:145\nE915 60 RTS             PC:E916 A:02 X:EF Y:94 P:67 SP:FB CYC:325 SL:145\nC63B 20 JSR $E916       PC:C63C A:02 X:EF Y:94 P:67 SP:FD CYC:2 SL:146\nE916 A9 LDA #$FF        PC:E917 A:02 X:EF Y:94 P:67 SP:FB CYC:20 SL:146\nE918 85 STA $01         PC:E919 A:FF X:EF Y:94 P:E5 SP:FB CYC:26 SL:146\nE91A A0 LDY #$95        PC:E91B A:FF X:EF Y:94 P:E5 SP:FB CYC:35 SL:146\nE91C A2 LDX #$02        PC:E91D A:FF X:EF Y:95 P:E5 SP:FB CYC:41 SL:146\nE91E A9 LDA #$47        PC:E91F A:FF X:02 Y:95 P:65 SP:FB CYC:47 SL:146\nE920 85 STA $47         PC:E921 A:47 X:02 Y:95 P:65 SP:FB CYC:53 SL:146\nE922 A9 LDA #$06        PC:E923 A:47 X:02 Y:95 P:65 SP:FB CYC:62 SL:146\nE924 85 STA $48         PC:E925 A:06 X:02 Y:95 P:65 SP:FB CYC:68 SL:146\nE926 A9 LDA #$EB        PC:E927 A:06 X:02 Y:95 P:65 SP:FB CYC:77 SL:146\nE928 8D STA $0647       PC:E929 A:EB X:02 Y:95 P:E5 SP:FB CYC:83 SL:146\nE92B 20 JSR $FA31       PC:E92C A:EB X:02 Y:95 P:E5 SP:FB CYC:95 SL:146\nFA31 24 BIT $01         PC:FA32 A:EB X:02 Y:95 P:E5 SP:F9 CYC:113 SL:146\nFA33 18 CLC             PC:FA34 A:EB X:02 Y:95 P:E5 SP:F9 CYC:122 SL:146\nFA34 A9 LDA #$40        PC:FA35 A:EB X:02 Y:95 P:E4 SP:F9 CYC:128 SL:146\nFA36 60 RTS             PC:FA37 A:40 X:02 Y:95 P:64 SP:F9 CYC:134 SL:146\nE92E C3 DCP $(EA45,x)   PC:E92F A:40 X:02 Y:95 P:64 SP:FB CYC:152 SL:146\nE930 EA NOP             PC:E931 A:40 X:02 Y:95 P:64 SP:FB CYC:176 SL:146\nE931 EA NOP             PC:E932 A:40 X:02 Y:95 P:64 SP:FB CYC:182 SL:146\nE932 EA NOP             PC:E933 A:40 X:02 Y:95 P:64 SP:FB CYC:188 SL:146\nE933 EA NOP             PC:E934 A:40 X:02 Y:95 P:64 SP:FB CYC:194 SL:146\nE934 20 JSR $FA37       PC:E935 A:40 X:02 Y:95 P:64 SP:FB CYC:200 SL:146\nFA37 50 BVC $FA65       PC:FA38 A:40 X:02 Y:95 P:64 SP:F9 CYC:218 SL:146\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:02 Y:95 P:64 SP:F9 CYC:224 SL:146\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:02 Y:95 P:64 SP:F9 CYC:230 SL:146\nFA3D C9 CMP #$40        PC:FA3E A:40 X:02 Y:95 P:64 SP:F9 CYC:236 SL:146\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:02 Y:95 P:67 SP:F9 CYC:242 SL:146\nFA41 60 RTS             PC:FA42 A:40 X:02 Y:95 P:67 SP:F9 CYC:248 SL:146\nE937 AD LDA $0647       PC:E938 A:40 X:02 Y:95 P:67 SP:FB CYC:266 SL:146\nE93A C9 CMP #$EA        PC:E93B A:EA X:02 Y:95 P:E5 SP:FB CYC:278 SL:146\nE93C F0 BEQ $E940       PC:E93D A:EA X:02 Y:95 P:67 SP:FB CYC:284 SL:146\nE940 C8 INY             PC:E941 A:EA X:02 Y:95 P:67 SP:FB CYC:293 SL:146\nE941 A9 LDA #$00        PC:E942 A:EA X:02 Y:96 P:E5 SP:FB CYC:299 SL:146\nE943 8D STA $0647       PC:E944 A:00 X:02 Y:96 P:67 SP:FB CYC:305 SL:146\nE946 20 JSR $FA42       PC:E947 A:00 X:02 Y:96 P:67 SP:FB CYC:317 SL:146\nFA42 B8 CLV             PC:FA43 A:00 X:02 Y:96 P:67 SP:F9 CYC:335 SL:146\nFA43 38 SEC             PC:FA44 A:00 X:02 Y:96 P:27 SP:F9 CYC:0 SL:147\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:02 Y:96 P:27 SP:F9 CYC:6 SL:147\nFA46 60 RTS             PC:FA47 A:FF X:02 Y:96 P:A5 SP:F9 CYC:12 SL:147\nE949 C3 DCP $(EA45,x)   PC:E94A A:FF X:02 Y:96 P:A5 SP:FB CYC:30 SL:147\nE94B EA NOP             PC:E94C A:FF X:02 Y:96 P:27 SP:FB CYC:54 SL:147\nE94C EA NOP             PC:E94D A:FF X:02 Y:96 P:27 SP:FB CYC:60 SL:147\nE94D EA NOP             PC:E94E A:FF X:02 Y:96 P:27 SP:FB CYC:66 SL:147\nE94E EA NOP             PC:E94F A:FF X:02 Y:96 P:27 SP:FB CYC:72 SL:147\nE94F 20 JSR $FA47       PC:E950 A:FF X:02 Y:96 P:27 SP:FB CYC:78 SL:147\nFA47 70 BVS $FA65       PC:FA48 A:FF X:02 Y:96 P:27 SP:F9 CYC:96 SL:147\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:02 Y:96 P:27 SP:F9 CYC:102 SL:147\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:02 Y:96 P:27 SP:F9 CYC:108 SL:147\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:02 Y:96 P:27 SP:F9 CYC:114 SL:147\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:02 Y:96 P:27 SP:F9 CYC:120 SL:147\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:02 Y:96 P:27 SP:F9 CYC:126 SL:147\nFA53 60 RTS             PC:FA54 A:FF X:02 Y:96 P:27 SP:F9 CYC:132 SL:147\nE952 AD LDA $0647       PC:E953 A:FF X:02 Y:96 P:27 SP:FB CYC:150 SL:147\nE955 C9 CMP #$FF        PC:E956 A:FF X:02 Y:96 P:A5 SP:FB CYC:162 SL:147\nE957 F0 BEQ $E95B       PC:E958 A:FF X:02 Y:96 P:27 SP:FB CYC:168 SL:147\nE95B C8 INY             PC:E95C A:FF X:02 Y:96 P:27 SP:FB CYC:177 SL:147\nE95C A9 LDA #$37        PC:E95D A:FF X:02 Y:97 P:A5 SP:FB CYC:183 SL:147\nE95E 8D STA $0647       PC:E95F A:37 X:02 Y:97 P:25 SP:FB CYC:189 SL:147\nE961 20 JSR $FA54       PC:E962 A:37 X:02 Y:97 P:25 SP:FB CYC:201 SL:147\nFA54 24 BIT $01         PC:FA55 A:37 X:02 Y:97 P:25 SP:F9 CYC:219 SL:147\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:02 Y:97 P:E5 SP:F9 CYC:228 SL:147\nFA58 60 RTS             PC:FA59 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:234 SL:147\nE964 C3 DCP $(EA45,x)   PC:E965 A:F0 X:02 Y:97 P:E5 SP:FB CYC:252 SL:147\nE966 EA NOP             PC:E967 A:F0 X:02 Y:97 P:E5 SP:FB CYC:276 SL:147\nE967 EA NOP             PC:E968 A:F0 X:02 Y:97 P:E5 SP:FB CYC:282 SL:147\nE968 EA NOP             PC:E969 A:F0 X:02 Y:97 P:E5 SP:FB CYC:288 SL:147\nE969 EA NOP             PC:E96A A:F0 X:02 Y:97 P:E5 SP:FB CYC:294 SL:147\nE96A 20 JSR $FA59       PC:E96B A:F0 X:02 Y:97 P:E5 SP:FB CYC:300 SL:147\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:02 Y:97 P:E5 SP:F9 CYC:318 SL:147\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:02 Y:97 P:E5 SP:F9 CYC:324 SL:147\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:02 Y:97 P:E5 SP:F9 CYC:330 SL:147\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:336 SL:147\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:02 Y:97 P:E5 SP:F9 CYC:1 SL:148\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:02 Y:97 P:67 SP:F9 CYC:7 SL:148\nFA67 60 RTS             PC:FA68 A:F0 X:02 Y:97 P:67 SP:F9 CYC:16 SL:148\nE96D AD LDA $0647       PC:E96E A:F0 X:02 Y:97 P:67 SP:FB CYC:34 SL:148\nE970 C9 CMP #$36        PC:E971 A:36 X:02 Y:97 P:65 SP:FB CYC:46 SL:148\nE972 F0 BEQ $E976       PC:E973 A:36 X:02 Y:97 P:67 SP:FB CYC:52 SL:148\nE976 C8 INY             PC:E977 A:36 X:02 Y:97 P:67 SP:FB CYC:61 SL:148\nE977 A9 LDA #$EB        PC:E978 A:36 X:02 Y:98 P:E5 SP:FB CYC:67 SL:148\nE979 85 STA $47         PC:E97A A:EB X:02 Y:98 P:E5 SP:FB CYC:73 SL:148\nE97B 20 JSR $FA31       PC:E97C A:EB X:02 Y:98 P:E5 SP:FB CYC:82 SL:148\nFA31 24 BIT $01         PC:FA32 A:EB X:02 Y:98 P:E5 SP:F9 CYC:100 SL:148\nFA33 18 CLC             PC:FA34 A:EB X:02 Y:98 P:E5 SP:F9 CYC:109 SL:148\nFA34 A9 LDA #$40        PC:FA35 A:EB X:02 Y:98 P:E4 SP:F9 CYC:115 SL:148\nFA36 60 RTS             PC:FA37 A:40 X:02 Y:98 P:64 SP:F9 CYC:121 SL:148\nE97E C7 DCP $47         PC:E97F A:40 X:02 Y:98 P:64 SP:FB CYC:139 SL:148\nE980 EA NOP             PC:E981 A:40 X:02 Y:98 P:64 SP:FB CYC:154 SL:148\nE981 EA NOP             PC:E982 A:40 X:02 Y:98 P:64 SP:FB CYC:160 SL:148\nE982 EA NOP             PC:E983 A:40 X:02 Y:98 P:64 SP:FB CYC:166 SL:148\nE983 EA NOP             PC:E984 A:40 X:02 Y:98 P:64 SP:FB CYC:172 SL:148\nE984 20 JSR $FA37       PC:E985 A:40 X:02 Y:98 P:64 SP:FB CYC:178 SL:148\nFA37 50 BVC $FA65       PC:FA38 A:40 X:02 Y:98 P:64 SP:F9 CYC:196 SL:148\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:02 Y:98 P:64 SP:F9 CYC:202 SL:148\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:02 Y:98 P:64 SP:F9 CYC:208 SL:148\nFA3D C9 CMP #$40        PC:FA3E A:40 X:02 Y:98 P:64 SP:F9 CYC:214 SL:148\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:02 Y:98 P:67 SP:F9 CYC:220 SL:148\nFA41 60 RTS             PC:FA42 A:40 X:02 Y:98 P:67 SP:F9 CYC:226 SL:148\nE987 A5 LDA $47         PC:E988 A:40 X:02 Y:98 P:67 SP:FB CYC:244 SL:148\nE989 C9 CMP #$EA        PC:E98A A:EA X:02 Y:98 P:E5 SP:FB CYC:253 SL:148\nE98B F0 BEQ $E98F       PC:E98C A:EA X:02 Y:98 P:67 SP:FB CYC:259 SL:148\nE98F C8 INY             PC:E990 A:EA X:02 Y:98 P:67 SP:FB CYC:268 SL:148\nE990 A9 LDA #$00        PC:E991 A:EA X:02 Y:99 P:E5 SP:FB CYC:274 SL:148\nE992 85 STA $47         PC:E993 A:00 X:02 Y:99 P:67 SP:FB CYC:280 SL:148\nE994 20 JSR $FA42       PC:E995 A:00 X:02 Y:99 P:67 SP:FB CYC:289 SL:148\nFA42 B8 CLV             PC:FA43 A:00 X:02 Y:99 P:67 SP:F9 CYC:307 SL:148\nFA43 38 SEC             PC:FA44 A:00 X:02 Y:99 P:27 SP:F9 CYC:313 SL:148\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:02 Y:99 P:27 SP:F9 CYC:319 SL:148\nFA46 60 RTS             PC:FA47 A:FF X:02 Y:99 P:A5 SP:F9 CYC:325 SL:148\nE997 C7 DCP $47         PC:E998 A:FF X:02 Y:99 P:A5 SP:FB CYC:2 SL:149\nE999 EA NOP             PC:E99A A:FF X:02 Y:99 P:27 SP:FB CYC:17 SL:149\nE99A EA NOP             PC:E99B A:FF X:02 Y:99 P:27 SP:FB CYC:23 SL:149\nE99B EA NOP             PC:E99C A:FF X:02 Y:99 P:27 SP:FB CYC:29 SL:149\nE99C EA NOP             PC:E99D A:FF X:02 Y:99 P:27 SP:FB CYC:35 SL:149\nE99D 20 JSR $FA47       PC:E99E A:FF X:02 Y:99 P:27 SP:FB CYC:41 SL:149\nFA47 70 BVS $FA65       PC:FA48 A:FF X:02 Y:99 P:27 SP:F9 CYC:59 SL:149\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:02 Y:99 P:27 SP:F9 CYC:65 SL:149\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:02 Y:99 P:27 SP:F9 CYC:71 SL:149\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:02 Y:99 P:27 SP:F9 CYC:77 SL:149\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:02 Y:99 P:27 SP:F9 CYC:83 SL:149\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:02 Y:99 P:27 SP:F9 CYC:89 SL:149\nFA53 60 RTS             PC:FA54 A:FF X:02 Y:99 P:27 SP:F9 CYC:95 SL:149\nE9A0 A5 LDA $47         PC:E9A1 A:FF X:02 Y:99 P:27 SP:FB CYC:113 SL:149\nE9A2 C9 CMP #$FF        PC:E9A3 A:FF X:02 Y:99 P:A5 SP:FB CYC:122 SL:149\nE9A4 F0 BEQ $E9A8       PC:E9A5 A:FF X:02 Y:99 P:27 SP:FB CYC:128 SL:149\nE9A8 C8 INY             PC:E9A9 A:FF X:02 Y:99 P:27 SP:FB CYC:137 SL:149\nE9A9 A9 LDA #$37        PC:E9AA A:FF X:02 Y:9A P:A5 SP:FB CYC:143 SL:149\nE9AB 85 STA $47         PC:E9AC A:37 X:02 Y:9A P:25 SP:FB CYC:149 SL:149\nE9AD 20 JSR $FA54       PC:E9AE A:37 X:02 Y:9A P:25 SP:FB CYC:158 SL:149\nFA54 24 BIT $01         PC:FA55 A:37 X:02 Y:9A P:25 SP:F9 CYC:176 SL:149\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:02 Y:9A P:E5 SP:F9 CYC:185 SL:149\nFA58 60 RTS             PC:FA59 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:191 SL:149\nE9B0 C7 DCP $47         PC:E9B1 A:F0 X:02 Y:9A P:E5 SP:FB CYC:209 SL:149\nE9B2 EA NOP             PC:E9B3 A:F0 X:02 Y:9A P:E5 SP:FB CYC:224 SL:149\nE9B3 EA NOP             PC:E9B4 A:F0 X:02 Y:9A P:E5 SP:FB CYC:230 SL:149\nE9B4 EA NOP             PC:E9B5 A:F0 X:02 Y:9A P:E5 SP:FB CYC:236 SL:149\nE9B5 EA NOP             PC:E9B6 A:F0 X:02 Y:9A P:E5 SP:FB CYC:242 SL:149\nE9B6 20 JSR $FA59       PC:E9B7 A:F0 X:02 Y:9A P:E5 SP:FB CYC:248 SL:149\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:02 Y:9A P:E5 SP:F9 CYC:266 SL:149\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:02 Y:9A P:E5 SP:F9 CYC:272 SL:149\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:02 Y:9A P:E5 SP:F9 CYC:278 SL:149\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:284 SL:149\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:02 Y:9A P:E5 SP:F9 CYC:290 SL:149\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:02 Y:9A P:67 SP:F9 CYC:296 SL:149\nFA67 60 RTS             PC:FA68 A:F0 X:02 Y:9A P:67 SP:F9 CYC:305 SL:149\nE9B9 A5 LDA $47         PC:E9BA A:F0 X:02 Y:9A P:67 SP:FB CYC:323 SL:149\nE9BB C9 CMP #$36        PC:E9BC A:36 X:02 Y:9A P:65 SP:FB CYC:332 SL:149\nE9BD F0 BEQ $E9C1       PC:E9BE A:36 X:02 Y:9A P:67 SP:FB CYC:338 SL:149\nE9C1 C8 INY             PC:E9C2 A:36 X:02 Y:9A P:67 SP:FB CYC:6 SL:150\nE9C2 A9 LDA #$EB        PC:E9C3 A:36 X:02 Y:9B P:E5 SP:FB CYC:12 SL:150\nE9C4 8D STA $0647       PC:E9C5 A:EB X:02 Y:9B P:E5 SP:FB CYC:18 SL:150\nE9C7 20 JSR $FA31       PC:E9C8 A:EB X:02 Y:9B P:E5 SP:FB CYC:30 SL:150\nFA31 24 BIT $01         PC:FA32 A:EB X:02 Y:9B P:E5 SP:F9 CYC:48 SL:150\nFA33 18 CLC             PC:FA34 A:EB X:02 Y:9B P:E5 SP:F9 CYC:57 SL:150\nFA34 A9 LDA #$40        PC:FA35 A:EB X:02 Y:9B P:E4 SP:F9 CYC:63 SL:150\nFA36 60 RTS             PC:FA37 A:40 X:02 Y:9B P:64 SP:F9 CYC:69 SL:150\nE9CA CF DCP $0647       PC:E9CB A:40 X:02 Y:9B P:64 SP:FB CYC:87 SL:150\nE9CD EA NOP             PC:E9CE A:40 X:02 Y:9B P:64 SP:FB CYC:105 SL:150\nE9CE EA NOP             PC:E9CF A:40 X:02 Y:9B P:64 SP:FB CYC:111 SL:150\nE9CF EA NOP             PC:E9D0 A:40 X:02 Y:9B P:64 SP:FB CYC:117 SL:150\nE9D0 EA NOP             PC:E9D1 A:40 X:02 Y:9B P:64 SP:FB CYC:123 SL:150\nE9D1 20 JSR $FA37       PC:E9D2 A:40 X:02 Y:9B P:64 SP:FB CYC:129 SL:150\nFA37 50 BVC $FA65       PC:FA38 A:40 X:02 Y:9B P:64 SP:F9 CYC:147 SL:150\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:02 Y:9B P:64 SP:F9 CYC:153 SL:150\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:02 Y:9B P:64 SP:F9 CYC:159 SL:150\nFA3D C9 CMP #$40        PC:FA3E A:40 X:02 Y:9B P:64 SP:F9 CYC:165 SL:150\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:02 Y:9B P:67 SP:F9 CYC:171 SL:150\nFA41 60 RTS             PC:FA42 A:40 X:02 Y:9B P:67 SP:F9 CYC:177 SL:150\nE9D4 AD LDA $0647       PC:E9D5 A:40 X:02 Y:9B P:67 SP:FB CYC:195 SL:150\nE9D7 C9 CMP #$EA        PC:E9D8 A:EA X:02 Y:9B P:E5 SP:FB CYC:207 SL:150\nE9D9 F0 BEQ $E9DD       PC:E9DA A:EA X:02 Y:9B P:67 SP:FB CYC:213 SL:150\nE9DD C8 INY             PC:E9DE A:EA X:02 Y:9B P:67 SP:FB CYC:222 SL:150\nE9DE A9 LDA #$00        PC:E9DF A:EA X:02 Y:9C P:E5 SP:FB CYC:228 SL:150\nE9E0 8D STA $0647       PC:E9E1 A:00 X:02 Y:9C P:67 SP:FB CYC:234 SL:150\nE9E3 20 JSR $FA42       PC:E9E4 A:00 X:02 Y:9C P:67 SP:FB CYC:246 SL:150\nFA42 B8 CLV             PC:FA43 A:00 X:02 Y:9C P:67 SP:F9 CYC:264 SL:150\nFA43 38 SEC             PC:FA44 A:00 X:02 Y:9C P:27 SP:F9 CYC:270 SL:150\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:02 Y:9C P:27 SP:F9 CYC:276 SL:150\nFA46 60 RTS             PC:FA47 A:FF X:02 Y:9C P:A5 SP:F9 CYC:282 SL:150\nE9E6 CF DCP $0647       PC:E9E7 A:FF X:02 Y:9C P:A5 SP:FB CYC:300 SL:150\nE9E9 EA NOP             PC:E9EA A:FF X:02 Y:9C P:27 SP:FB CYC:318 SL:150\nE9EA EA NOP             PC:E9EB A:FF X:02 Y:9C P:27 SP:FB CYC:324 SL:150\nE9EB EA NOP             PC:E9EC A:FF X:02 Y:9C P:27 SP:FB CYC:330 SL:150\nE9EC EA NOP             PC:E9ED A:FF X:02 Y:9C P:27 SP:FB CYC:336 SL:150\nE9ED 20 JSR $FA47       PC:E9EE A:FF X:02 Y:9C P:27 SP:FB CYC:1 SL:151\nFA47 70 BVS $FA65       PC:FA48 A:FF X:02 Y:9C P:27 SP:F9 CYC:19 SL:151\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:02 Y:9C P:27 SP:F9 CYC:25 SL:151\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:02 Y:9C P:27 SP:F9 CYC:31 SL:151\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:02 Y:9C P:27 SP:F9 CYC:37 SL:151\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:02 Y:9C P:27 SP:F9 CYC:43 SL:151\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:02 Y:9C P:27 SP:F9 CYC:49 SL:151\nFA53 60 RTS             PC:FA54 A:FF X:02 Y:9C P:27 SP:F9 CYC:55 SL:151\nE9F0 AD LDA $0647       PC:E9F1 A:FF X:02 Y:9C P:27 SP:FB CYC:73 SL:151\nE9F3 C9 CMP #$FF        PC:E9F4 A:FF X:02 Y:9C P:A5 SP:FB CYC:85 SL:151\nE9F5 F0 BEQ $E9F9       PC:E9F6 A:FF X:02 Y:9C P:27 SP:FB CYC:91 SL:151\nE9F9 C8 INY             PC:E9FA A:FF X:02 Y:9C P:27 SP:FB CYC:100 SL:151\nE9FA A9 LDA #$37        PC:E9FB A:FF X:02 Y:9D P:A5 SP:FB CYC:106 SL:151\nE9FC 8D STA $0647       PC:E9FD A:37 X:02 Y:9D P:25 SP:FB CYC:112 SL:151\nE9FF 20 JSR $FA54       PC:EA00 A:37 X:02 Y:9D P:25 SP:FB CYC:124 SL:151\nFA54 24 BIT $01         PC:FA55 A:37 X:02 Y:9D P:25 SP:F9 CYC:142 SL:151\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:02 Y:9D P:E5 SP:F9 CYC:151 SL:151\nFA58 60 RTS             PC:FA59 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:157 SL:151\nEA02 CF DCP $0647       PC:EA03 A:F0 X:02 Y:9D P:E5 SP:FB CYC:175 SL:151\nEA05 EA NOP             PC:EA06 A:F0 X:02 Y:9D P:E5 SP:FB CYC:193 SL:151\nEA06 EA NOP             PC:EA07 A:F0 X:02 Y:9D P:E5 SP:FB CYC:199 SL:151\nEA07 EA NOP             PC:EA08 A:F0 X:02 Y:9D P:E5 SP:FB CYC:205 SL:151\nEA08 EA NOP             PC:EA09 A:F0 X:02 Y:9D P:E5 SP:FB CYC:211 SL:151\nEA09 20 JSR $FA59       PC:EA0A A:F0 X:02 Y:9D P:E5 SP:FB CYC:217 SL:151\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:02 Y:9D P:E5 SP:F9 CYC:235 SL:151\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:02 Y:9D P:E5 SP:F9 CYC:241 SL:151\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:02 Y:9D P:E5 SP:F9 CYC:247 SL:151\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:253 SL:151\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:02 Y:9D P:E5 SP:F9 CYC:259 SL:151\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:02 Y:9D P:67 SP:F9 CYC:265 SL:151\nFA67 60 RTS             PC:FA68 A:F0 X:02 Y:9D P:67 SP:F9 CYC:274 SL:151\nEA0C AD LDA $0647       PC:EA0D A:F0 X:02 Y:9D P:67 SP:FB CYC:292 SL:151\nEA0F C9 CMP #$36        PC:EA10 A:36 X:02 Y:9D P:65 SP:FB CYC:304 SL:151\nEA11 F0 BEQ $EA15       PC:EA12 A:36 X:02 Y:9D P:67 SP:FB CYC:310 SL:151\nEA15 A9 LDA #$EB        PC:EA16 A:36 X:02 Y:9D P:67 SP:FB CYC:319 SL:151\nEA17 8D STA $0647       PC:EA18 A:EB X:02 Y:9D P:E5 SP:FB CYC:325 SL:151\nEA1A A9 LDA #$48        PC:EA1B A:EB X:02 Y:9D P:E5 SP:FB CYC:337 SL:151\nEA1C 85 STA $45         PC:EA1D A:48 X:02 Y:9D P:65 SP:FB CYC:2 SL:152\nEA1E A9 LDA #$05        PC:EA1F A:48 X:02 Y:9D P:65 SP:FB CYC:11 SL:152\nEA20 85 STA $46         PC:EA21 A:05 X:02 Y:9D P:65 SP:FB CYC:17 SL:152\nEA22 A0 LDY #$FF        PC:EA23 A:05 X:02 Y:9D P:65 SP:FB CYC:26 SL:152\nEA24 20 JSR $FA31       PC:EA25 A:05 X:02 Y:FF P:E5 SP:FB CYC:32 SL:152\nFA31 24 BIT $01         PC:FA32 A:05 X:02 Y:FF P:E5 SP:F9 CYC:50 SL:152\nFA33 18 CLC             PC:FA34 A:05 X:02 Y:FF P:E5 SP:F9 CYC:59 SL:152\nFA34 A9 LDA #$40        PC:FA35 A:05 X:02 Y:FF P:E4 SP:F9 CYC:65 SL:152\nFA36 60 RTS             PC:FA37 A:40 X:02 Y:FF P:64 SP:F9 CYC:71 SL:152\nEA27 D3 DCP ($45), y    PC:EA28 A:40 X:02 Y:FF P:64 SP:FB CYC:89 SL:152\nEA29 EA NOP             PC:EA2A A:40 X:02 Y:FF P:64 SP:FB CYC:113 SL:152\nEA2A EA NOP             PC:EA2B A:40 X:02 Y:FF P:64 SP:FB CYC:119 SL:152\nEA2B 08 PHP             PC:EA2C A:40 X:02 Y:FF P:64 SP:FB CYC:125 SL:152\nEA2C 48 PHA             PC:EA2D A:40 X:02 Y:FF P:64 SP:FA CYC:134 SL:152\nEA2D A0 LDY #$9E        PC:EA2E A:40 X:02 Y:FF P:64 SP:F9 CYC:143 SL:152\nEA2F 68 PLA             PC:EA30 A:40 X:02 Y:9E P:E4 SP:F9 CYC:149 SL:152\nEA30 28 PLP             PC:EA31 A:40 X:02 Y:9E P:64 SP:FA CYC:161 SL:152\nEA31 20 JSR $FA37       PC:EA32 A:40 X:02 Y:9E P:64 SP:FB CYC:173 SL:152\nFA37 50 BVC $FA65       PC:FA38 A:40 X:02 Y:9E P:64 SP:F9 CYC:191 SL:152\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:02 Y:9E P:64 SP:F9 CYC:197 SL:152\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:02 Y:9E P:64 SP:F9 CYC:203 SL:152\nFA3D C9 CMP #$40        PC:FA3E A:40 X:02 Y:9E P:64 SP:F9 CYC:209 SL:152\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:02 Y:9E P:67 SP:F9 CYC:215 SL:152\nFA41 60 RTS             PC:FA42 A:40 X:02 Y:9E P:67 SP:F9 CYC:221 SL:152\nEA34 AD LDA $0647       PC:EA35 A:40 X:02 Y:9E P:67 SP:FB CYC:239 SL:152\nEA37 C9 CMP #$EA        PC:EA38 A:EA X:02 Y:9E P:E5 SP:FB CYC:251 SL:152\nEA39 F0 BEQ $EA3D       PC:EA3A A:EA X:02 Y:9E P:67 SP:FB CYC:257 SL:152\nEA3D A0 LDY #$FF        PC:EA3E A:EA X:02 Y:9E P:67 SP:FB CYC:266 SL:152\nEA3F A9 LDA #$00        PC:EA40 A:EA X:02 Y:FF P:E5 SP:FB CYC:272 SL:152\nEA41 8D STA $0647       PC:EA42 A:00 X:02 Y:FF P:67 SP:FB CYC:278 SL:152\nEA44 20 JSR $FA42       PC:EA45 A:00 X:02 Y:FF P:67 SP:FB CYC:290 SL:152\nFA42 B8 CLV             PC:FA43 A:00 X:02 Y:FF P:67 SP:F9 CYC:308 SL:152\nFA43 38 SEC             PC:FA44 A:00 X:02 Y:FF P:27 SP:F9 CYC:314 SL:152\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:02 Y:FF P:27 SP:F9 CYC:320 SL:152\nFA46 60 RTS             PC:FA47 A:FF X:02 Y:FF P:A5 SP:F9 CYC:326 SL:152\nEA47 D3 DCP ($45), y    PC:EA48 A:FF X:02 Y:FF P:A5 SP:FB CYC:3 SL:153\nEA49 EA NOP             PC:EA4A A:FF X:02 Y:FF P:27 SP:FB CYC:27 SL:153\nEA4A EA NOP             PC:EA4B A:FF X:02 Y:FF P:27 SP:FB CYC:33 SL:153\nEA4B 08 PHP             PC:EA4C A:FF X:02 Y:FF P:27 SP:FB CYC:39 SL:153\nEA4C 48 PHA             PC:EA4D A:FF X:02 Y:FF P:27 SP:FA CYC:48 SL:153\nEA4D A0 LDY #$9F        PC:EA4E A:FF X:02 Y:FF P:27 SP:F9 CYC:57 SL:153\nEA4F 68 PLA             PC:EA50 A:FF X:02 Y:9F P:A5 SP:F9 CYC:63 SL:153\nEA50 28 PLP             PC:EA51 A:FF X:02 Y:9F P:A5 SP:FA CYC:75 SL:153\nEA51 20 JSR $FA47       PC:EA52 A:FF X:02 Y:9F P:27 SP:FB CYC:87 SL:153\nFA47 70 BVS $FA65       PC:FA48 A:FF X:02 Y:9F P:27 SP:F9 CYC:105 SL:153\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:02 Y:9F P:27 SP:F9 CYC:111 SL:153\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:02 Y:9F P:27 SP:F9 CYC:117 SL:153\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:02 Y:9F P:27 SP:F9 CYC:123 SL:153\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:02 Y:9F P:27 SP:F9 CYC:129 SL:153\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:02 Y:9F P:27 SP:F9 CYC:135 SL:153\nFA53 60 RTS             PC:FA54 A:FF X:02 Y:9F P:27 SP:F9 CYC:141 SL:153\nEA54 AD LDA $0647       PC:EA55 A:FF X:02 Y:9F P:27 SP:FB CYC:159 SL:153\nEA57 C9 CMP #$FF        PC:EA58 A:FF X:02 Y:9F P:A5 SP:FB CYC:171 SL:153\nEA59 F0 BEQ $EA5D       PC:EA5A A:FF X:02 Y:9F P:27 SP:FB CYC:177 SL:153\nEA5D A0 LDY #$FF        PC:EA5E A:FF X:02 Y:9F P:27 SP:FB CYC:186 SL:153\nEA5F A9 LDA #$37        PC:EA60 A:FF X:02 Y:FF P:A5 SP:FB CYC:192 SL:153\nEA61 8D STA $0647       PC:EA62 A:37 X:02 Y:FF P:25 SP:FB CYC:198 SL:153\nEA64 20 JSR $FA54       PC:EA65 A:37 X:02 Y:FF P:25 SP:FB CYC:210 SL:153\nFA54 24 BIT $01         PC:FA55 A:37 X:02 Y:FF P:25 SP:F9 CYC:228 SL:153\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:02 Y:FF P:E5 SP:F9 CYC:237 SL:153\nFA58 60 RTS             PC:FA59 A:F0 X:02 Y:FF P:E5 SP:F9 CYC:243 SL:153\nEA67 D3 DCP ($45), y    PC:EA68 A:F0 X:02 Y:FF P:E5 SP:FB CYC:261 SL:153\nEA69 EA NOP             PC:EA6A A:F0 X:02 Y:FF P:E5 SP:FB CYC:285 SL:153\nEA6A EA NOP             PC:EA6B A:F0 X:02 Y:FF P:E5 SP:FB CYC:291 SL:153\nEA6B 08 PHP             PC:EA6C A:F0 X:02 Y:FF P:E5 SP:FB CYC:297 SL:153\nEA6C 48 PHA             PC:EA6D A:F0 X:02 Y:FF P:E5 SP:FA CYC:306 SL:153\nEA6D A0 LDY #$A0        PC:EA6E A:F0 X:02 Y:FF P:E5 SP:F9 CYC:315 SL:153\nEA6F 68 PLA             PC:EA70 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:321 SL:153\nEA70 28 PLP             PC:EA71 A:F0 X:02 Y:A0 P:E5 SP:FA CYC:333 SL:153\nEA71 20 JSR $FA59       PC:EA72 A:F0 X:02 Y:A0 P:E5 SP:FB CYC:4 SL:154\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:22 SL:154\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:28 SL:154\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:34 SL:154\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:40 SL:154\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:46 SL:154\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:02 Y:A0 P:67 SP:F9 CYC:52 SL:154\nFA67 60 RTS             PC:FA68 A:F0 X:02 Y:A0 P:67 SP:F9 CYC:61 SL:154\nEA74 AD LDA $0647       PC:EA75 A:F0 X:02 Y:A0 P:67 SP:FB CYC:79 SL:154\nEA77 C9 CMP #$36        PC:EA78 A:36 X:02 Y:A0 P:65 SP:FB CYC:91 SL:154\nEA79 F0 BEQ $EA7D       PC:EA7A A:36 X:02 Y:A0 P:67 SP:FB CYC:97 SL:154\nEA7D A0 LDY #$A1        PC:EA7E A:36 X:02 Y:A0 P:67 SP:FB CYC:106 SL:154\nEA7F A2 LDX #$FF        PC:EA80 A:36 X:02 Y:A1 P:E5 SP:FB CYC:112 SL:154\nEA81 A9 LDA #$EB        PC:EA82 A:36 X:FF Y:A1 P:E5 SP:FB CYC:118 SL:154\nEA83 85 STA $47         PC:EA84 A:EB X:FF Y:A1 P:E5 SP:FB CYC:124 SL:154\nEA85 20 JSR $FA31       PC:EA86 A:EB X:FF Y:A1 P:E5 SP:FB CYC:133 SL:154\nFA31 24 BIT $01         PC:FA32 A:EB X:FF Y:A1 P:E5 SP:F9 CYC:151 SL:154\nFA33 18 CLC             PC:FA34 A:EB X:FF Y:A1 P:E5 SP:F9 CYC:160 SL:154\nFA34 A9 LDA #$40        PC:FA35 A:EB X:FF Y:A1 P:E4 SP:F9 CYC:166 SL:154\nFA36 60 RTS             PC:FA37 A:40 X:FF Y:A1 P:64 SP:F9 CYC:172 SL:154\nEA88 D7 DCP $48,x       PC:EA89 A:40 X:FF Y:A1 P:64 SP:FB CYC:190 SL:154\nEA8A EA NOP             PC:EA8B A:40 X:FF Y:A1 P:64 SP:FB CYC:208 SL:154\nEA8B EA NOP             PC:EA8C A:40 X:FF Y:A1 P:64 SP:FB CYC:214 SL:154\nEA8C EA NOP             PC:EA8D A:40 X:FF Y:A1 P:64 SP:FB CYC:220 SL:154\nEA8D EA NOP             PC:EA8E A:40 X:FF Y:A1 P:64 SP:FB CYC:226 SL:154\nEA8E 20 JSR $FA37       PC:EA8F A:40 X:FF Y:A1 P:64 SP:FB CYC:232 SL:154\nFA37 50 BVC $FA65       PC:FA38 A:40 X:FF Y:A1 P:64 SP:F9 CYC:250 SL:154\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:FF Y:A1 P:64 SP:F9 CYC:256 SL:154\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:FF Y:A1 P:64 SP:F9 CYC:262 SL:154\nFA3D C9 CMP #$40        PC:FA3E A:40 X:FF Y:A1 P:64 SP:F9 CYC:268 SL:154\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:FF Y:A1 P:67 SP:F9 CYC:274 SL:154\nFA41 60 RTS             PC:FA42 A:40 X:FF Y:A1 P:67 SP:F9 CYC:280 SL:154\nEA91 A5 LDA $47         PC:EA92 A:40 X:FF Y:A1 P:67 SP:FB CYC:298 SL:154\nEA93 C9 CMP #$EA        PC:EA94 A:EA X:FF Y:A1 P:E5 SP:FB CYC:307 SL:154\nEA95 F0 BEQ $EA99       PC:EA96 A:EA X:FF Y:A1 P:67 SP:FB CYC:313 SL:154\nEA99 C8 INY             PC:EA9A A:EA X:FF Y:A1 P:67 SP:FB CYC:322 SL:154\nEA9A A9 LDA #$00        PC:EA9B A:EA X:FF Y:A2 P:E5 SP:FB CYC:328 SL:154\nEA9C 85 STA $47         PC:EA9D A:00 X:FF Y:A2 P:67 SP:FB CYC:334 SL:154\nEA9E 20 JSR $FA42       PC:EA9F A:00 X:FF Y:A2 P:67 SP:FB CYC:2 SL:155\nFA42 B8 CLV             PC:FA43 A:00 X:FF Y:A2 P:67 SP:F9 CYC:20 SL:155\nFA43 38 SEC             PC:FA44 A:00 X:FF Y:A2 P:27 SP:F9 CYC:26 SL:155\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:FF Y:A2 P:27 SP:F9 CYC:32 SL:155\nFA46 60 RTS             PC:FA47 A:FF X:FF Y:A2 P:A5 SP:F9 CYC:38 SL:155\nEAA1 D7 DCP $48,x       PC:EAA2 A:FF X:FF Y:A2 P:A5 SP:FB CYC:56 SL:155\nEAA3 EA NOP             PC:EAA4 A:FF X:FF Y:A2 P:27 SP:FB CYC:74 SL:155\nEAA4 EA NOP             PC:EAA5 A:FF X:FF Y:A2 P:27 SP:FB CYC:80 SL:155\nEAA5 EA NOP             PC:EAA6 A:FF X:FF Y:A2 P:27 SP:FB CYC:86 SL:155\nEAA6 EA NOP             PC:EAA7 A:FF X:FF Y:A2 P:27 SP:FB CYC:92 SL:155\nEAA7 20 JSR $FA47       PC:EAA8 A:FF X:FF Y:A2 P:27 SP:FB CYC:98 SL:155\nFA47 70 BVS $FA65       PC:FA48 A:FF X:FF Y:A2 P:27 SP:F9 CYC:116 SL:155\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:FF Y:A2 P:27 SP:F9 CYC:122 SL:155\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:FF Y:A2 P:27 SP:F9 CYC:128 SL:155\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:FF Y:A2 P:27 SP:F9 CYC:134 SL:155\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:FF Y:A2 P:27 SP:F9 CYC:140 SL:155\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:FF Y:A2 P:27 SP:F9 CYC:146 SL:155\nFA53 60 RTS             PC:FA54 A:FF X:FF Y:A2 P:27 SP:F9 CYC:152 SL:155\nEAAA A5 LDA $47         PC:EAAB A:FF X:FF Y:A2 P:27 SP:FB CYC:170 SL:155\nEAAC C9 CMP #$FF        PC:EAAD A:FF X:FF Y:A2 P:A5 SP:FB CYC:179 SL:155\nEAAE F0 BEQ $EAB2       PC:EAAF A:FF X:FF Y:A2 P:27 SP:FB CYC:185 SL:155\nEAB2 C8 INY             PC:EAB3 A:FF X:FF Y:A2 P:27 SP:FB CYC:194 SL:155\nEAB3 A9 LDA #$37        PC:EAB4 A:FF X:FF Y:A3 P:A5 SP:FB CYC:200 SL:155\nEAB5 85 STA $47         PC:EAB6 A:37 X:FF Y:A3 P:25 SP:FB CYC:206 SL:155\nEAB7 20 JSR $FA54       PC:EAB8 A:37 X:FF Y:A3 P:25 SP:FB CYC:215 SL:155\nFA54 24 BIT $01         PC:FA55 A:37 X:FF Y:A3 P:25 SP:F9 CYC:233 SL:155\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:FF Y:A3 P:E5 SP:F9 CYC:242 SL:155\nFA58 60 RTS             PC:FA59 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:248 SL:155\nEABA D7 DCP $48,x       PC:EABB A:F0 X:FF Y:A3 P:E5 SP:FB CYC:266 SL:155\nEABC EA NOP             PC:EABD A:F0 X:FF Y:A3 P:E5 SP:FB CYC:284 SL:155\nEABD EA NOP             PC:EABE A:F0 X:FF Y:A3 P:E5 SP:FB CYC:290 SL:155\nEABE EA NOP             PC:EABF A:F0 X:FF Y:A3 P:E5 SP:FB CYC:296 SL:155\nEABF EA NOP             PC:EAC0 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:302 SL:155\nEAC0 20 JSR $FA59       PC:EAC1 A:F0 X:FF Y:A3 P:E5 SP:FB CYC:308 SL:155\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:326 SL:155\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:332 SL:155\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:338 SL:155\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:3 SL:156\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:9 SL:156\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:FF Y:A3 P:67 SP:F9 CYC:15 SL:156\nFA67 60 RTS             PC:FA68 A:F0 X:FF Y:A3 P:67 SP:F9 CYC:24 SL:156\nEAC3 A5 LDA $47         PC:EAC4 A:F0 X:FF Y:A3 P:67 SP:FB CYC:42 SL:156\nEAC5 C9 CMP #$36        PC:EAC6 A:36 X:FF Y:A3 P:65 SP:FB CYC:51 SL:156\nEAC7 F0 BEQ $EACB       PC:EAC8 A:36 X:FF Y:A3 P:67 SP:FB CYC:57 SL:156\nEACB A9 LDA #$EB        PC:EACC A:36 X:FF Y:A3 P:67 SP:FB CYC:66 SL:156\nEACD 8D STA $0647       PC:EACE A:EB X:FF Y:A3 P:E5 SP:FB CYC:72 SL:156\nEAD0 A0 LDY #$FF        PC:EAD1 A:EB X:FF Y:A3 P:E5 SP:FB CYC:84 SL:156\nEAD2 20 JSR $FA31       PC:EAD3 A:EB X:FF Y:FF P:E5 SP:FB CYC:90 SL:156\nFA31 24 BIT $01         PC:FA32 A:EB X:FF Y:FF P:E5 SP:F9 CYC:108 SL:156\nFA33 18 CLC             PC:FA34 A:EB X:FF Y:FF P:E5 SP:F9 CYC:117 SL:156\nFA34 A9 LDA #$40        PC:FA35 A:EB X:FF Y:FF P:E4 SP:F9 CYC:123 SL:156\nFA36 60 RTS             PC:FA37 A:40 X:FF Y:FF P:64 SP:F9 CYC:129 SL:156\nEAD5 DB DCP $0548,y     PC:EAD6 A:40 X:FF Y:FF P:64 SP:FB CYC:147 SL:156\nEAD8 EA NOP             PC:EAD9 A:40 X:FF Y:FF P:64 SP:FB CYC:168 SL:156\nEAD9 EA NOP             PC:EADA A:40 X:FF Y:FF P:64 SP:FB CYC:174 SL:156\nEADA 08 PHP             PC:EADB A:40 X:FF Y:FF P:64 SP:FB CYC:180 SL:156\nEADB 48 PHA             PC:EADC A:40 X:FF Y:FF P:64 SP:FA CYC:189 SL:156\nEADC A0 LDY #$A4        PC:EADD A:40 X:FF Y:FF P:64 SP:F9 CYC:198 SL:156\nEADE 68 PLA             PC:EADF A:40 X:FF Y:A4 P:E4 SP:F9 CYC:204 SL:156\nEADF 28 PLP             PC:EAE0 A:40 X:FF Y:A4 P:64 SP:FA CYC:216 SL:156\nEAE0 20 JSR $FA37       PC:EAE1 A:40 X:FF Y:A4 P:64 SP:FB CYC:228 SL:156\nFA37 50 BVC $FA65       PC:FA38 A:40 X:FF Y:A4 P:64 SP:F9 CYC:246 SL:156\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:FF Y:A4 P:64 SP:F9 CYC:252 SL:156\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:FF Y:A4 P:64 SP:F9 CYC:258 SL:156\nFA3D C9 CMP #$40        PC:FA3E A:40 X:FF Y:A4 P:64 SP:F9 CYC:264 SL:156\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:FF Y:A4 P:67 SP:F9 CYC:270 SL:156\nFA41 60 RTS             PC:FA42 A:40 X:FF Y:A4 P:67 SP:F9 CYC:276 SL:156\nEAE3 AD LDA $0647       PC:EAE4 A:40 X:FF Y:A4 P:67 SP:FB CYC:294 SL:156\nEAE6 C9 CMP #$EA        PC:EAE7 A:EA X:FF Y:A4 P:E5 SP:FB CYC:306 SL:156\nEAE8 F0 BEQ $EAEC       PC:EAE9 A:EA X:FF Y:A4 P:67 SP:FB CYC:312 SL:156\nEAEC A0 LDY #$FF        PC:EAED A:EA X:FF Y:A4 P:67 SP:FB CYC:321 SL:156\nEAEE A9 LDA #$00        PC:EAEF A:EA X:FF Y:FF P:E5 SP:FB CYC:327 SL:156\nEAF0 8D STA $0647       PC:EAF1 A:00 X:FF Y:FF P:67 SP:FB CYC:333 SL:156\nEAF3 20 JSR $FA42       PC:EAF4 A:00 X:FF Y:FF P:67 SP:FB CYC:4 SL:157\nFA42 B8 CLV             PC:FA43 A:00 X:FF Y:FF P:67 SP:F9 CYC:22 SL:157\nFA43 38 SEC             PC:FA44 A:00 X:FF Y:FF P:27 SP:F9 CYC:28 SL:157\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:FF Y:FF P:27 SP:F9 CYC:34 SL:157\nFA46 60 RTS             PC:FA47 A:FF X:FF Y:FF P:A5 SP:F9 CYC:40 SL:157\nEAF6 DB DCP $0548,y     PC:EAF7 A:FF X:FF Y:FF P:A5 SP:FB CYC:58 SL:157\nEAF9 EA NOP             PC:EAFA A:FF X:FF Y:FF P:27 SP:FB CYC:79 SL:157\nEAFA EA NOP             PC:EAFB A:FF X:FF Y:FF P:27 SP:FB CYC:85 SL:157\nEAFB 08 PHP             PC:EAFC A:FF X:FF Y:FF P:27 SP:FB CYC:91 SL:157\nEAFC 48 PHA             PC:EAFD A:FF X:FF Y:FF P:27 SP:FA CYC:100 SL:157\nEAFD A0 LDY #$A5        PC:EAFE A:FF X:FF Y:FF P:27 SP:F9 CYC:109 SL:157\nEAFF 68 PLA             PC:EB00 A:FF X:FF Y:A5 P:A5 SP:F9 CYC:115 SL:157\nEB00 28 PLP             PC:EB01 A:FF X:FF Y:A5 P:A5 SP:FA CYC:127 SL:157\nEB01 20 JSR $FA47       PC:EB02 A:FF X:FF Y:A5 P:27 SP:FB CYC:139 SL:157\nFA47 70 BVS $FA65       PC:FA48 A:FF X:FF Y:A5 P:27 SP:F9 CYC:157 SL:157\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:FF Y:A5 P:27 SP:F9 CYC:163 SL:157\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:FF Y:A5 P:27 SP:F9 CYC:169 SL:157\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:FF Y:A5 P:27 SP:F9 CYC:175 SL:157\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:FF Y:A5 P:27 SP:F9 CYC:181 SL:157\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:FF Y:A5 P:27 SP:F9 CYC:187 SL:157\nFA53 60 RTS             PC:FA54 A:FF X:FF Y:A5 P:27 SP:F9 CYC:193 SL:157\nEB04 AD LDA $0647       PC:EB05 A:FF X:FF Y:A5 P:27 SP:FB CYC:211 SL:157\nEB07 C9 CMP #$FF        PC:EB08 A:FF X:FF Y:A5 P:A5 SP:FB CYC:223 SL:157\nEB09 F0 BEQ $EB0D       PC:EB0A A:FF X:FF Y:A5 P:27 SP:FB CYC:229 SL:157\nEB0D A0 LDY #$FF        PC:EB0E A:FF X:FF Y:A5 P:27 SP:FB CYC:238 SL:157\nEB0F A9 LDA #$37        PC:EB10 A:FF X:FF Y:FF P:A5 SP:FB CYC:244 SL:157\nEB11 8D STA $0647       PC:EB12 A:37 X:FF Y:FF P:25 SP:FB CYC:250 SL:157\nEB14 20 JSR $FA54       PC:EB15 A:37 X:FF Y:FF P:25 SP:FB CYC:262 SL:157\nFA54 24 BIT $01         PC:FA55 A:37 X:FF Y:FF P:25 SP:F9 CYC:280 SL:157\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:FF Y:FF P:E5 SP:F9 CYC:289 SL:157\nFA58 60 RTS             PC:FA59 A:F0 X:FF Y:FF P:E5 SP:F9 CYC:295 SL:157\nEB17 DB DCP $0548,y     PC:EB18 A:F0 X:FF Y:FF P:E5 SP:FB CYC:313 SL:157\nEB1A EA NOP             PC:EB1B A:F0 X:FF Y:FF P:E5 SP:FB CYC:334 SL:157\nEB1B EA NOP             PC:EB1C A:F0 X:FF Y:FF P:E5 SP:FB CYC:340 SL:157\nEB1C 08 PHP             PC:EB1D A:F0 X:FF Y:FF P:E5 SP:FB CYC:5 SL:158\nEB1D 48 PHA             PC:EB1E A:F0 X:FF Y:FF P:E5 SP:FA CYC:14 SL:158\nEB1E A0 LDY #$A6        PC:EB1F A:F0 X:FF Y:FF P:E5 SP:F9 CYC:23 SL:158\nEB20 68 PLA             PC:EB21 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:29 SL:158\nEB21 28 PLP             PC:EB22 A:F0 X:FF Y:A6 P:E5 SP:FA CYC:41 SL:158\nEB22 20 JSR $FA59       PC:EB23 A:F0 X:FF Y:A6 P:E5 SP:FB CYC:53 SL:158\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:71 SL:158\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:77 SL:158\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:83 SL:158\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:89 SL:158\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:FF Y:A6 P:E5 SP:F9 CYC:95 SL:158\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:FF Y:A6 P:67 SP:F9 CYC:101 SL:158\nFA67 60 RTS             PC:FA68 A:F0 X:FF Y:A6 P:67 SP:F9 CYC:110 SL:158\nEB25 AD LDA $0647       PC:EB26 A:F0 X:FF Y:A6 P:67 SP:FB CYC:128 SL:158\nEB28 C9 CMP #$36        PC:EB29 A:36 X:FF Y:A6 P:65 SP:FB CYC:140 SL:158\nEB2A F0 BEQ $EB2E       PC:EB2B A:36 X:FF Y:A6 P:67 SP:FB CYC:146 SL:158\nEB2E A0 LDY #$A7        PC:EB2F A:36 X:FF Y:A6 P:67 SP:FB CYC:155 SL:158\nEB30 A2 LDX #$FF        PC:EB31 A:36 X:FF Y:A7 P:E5 SP:FB CYC:161 SL:158\nEB32 A9 LDA #$EB        PC:EB33 A:36 X:FF Y:A7 P:E5 SP:FB CYC:167 SL:158\nEB34 8D STA $0647       PC:EB35 A:EB X:FF Y:A7 P:E5 SP:FB CYC:173 SL:158\nEB37 20 JSR $FA31       PC:EB38 A:EB X:FF Y:A7 P:E5 SP:FB CYC:185 SL:158\nFA31 24 BIT $01         PC:FA32 A:EB X:FF Y:A7 P:E5 SP:F9 CYC:203 SL:158\nFA33 18 CLC             PC:FA34 A:EB X:FF Y:A7 P:E5 SP:F9 CYC:212 SL:158\nFA34 A9 LDA #$40        PC:FA35 A:EB X:FF Y:A7 P:E4 SP:F9 CYC:218 SL:158\nFA36 60 RTS             PC:FA37 A:40 X:FF Y:A7 P:64 SP:F9 CYC:224 SL:158\nEB3A DF DCP $0548,x     PC:EB3B A:40 X:FF Y:A7 P:64 SP:FB CYC:242 SL:158\nEB3D EA NOP             PC:EB3E A:40 X:FF Y:A7 P:64 SP:FB CYC:263 SL:158\nEB3E EA NOP             PC:EB3F A:40 X:FF Y:A7 P:64 SP:FB CYC:269 SL:158\nEB3F EA NOP             PC:EB40 A:40 X:FF Y:A7 P:64 SP:FB CYC:275 SL:158\nEB40 EA NOP             PC:EB41 A:40 X:FF Y:A7 P:64 SP:FB CYC:281 SL:158\nEB41 20 JSR $FA37       PC:EB42 A:40 X:FF Y:A7 P:64 SP:FB CYC:287 SL:158\nFA37 50 BVC $FA65       PC:FA38 A:40 X:FF Y:A7 P:64 SP:F9 CYC:305 SL:158\nFA39 B0 BCS $FA65       PC:FA3A A:40 X:FF Y:A7 P:64 SP:F9 CYC:311 SL:158\nFA3B 30 BMI $FA65       PC:FA3C A:40 X:FF Y:A7 P:64 SP:F9 CYC:317 SL:158\nFA3D C9 CMP #$40        PC:FA3E A:40 X:FF Y:A7 P:64 SP:F9 CYC:323 SL:158\nFA3F D0 BNE $FA65       PC:FA40 A:40 X:FF Y:A7 P:67 SP:F9 CYC:329 SL:158\nFA41 60 RTS             PC:FA42 A:40 X:FF Y:A7 P:67 SP:F9 CYC:335 SL:158\nEB44 AD LDA $0647       PC:EB45 A:40 X:FF Y:A7 P:67 SP:FB CYC:12 SL:159\nEB47 C9 CMP #$EA        PC:EB48 A:EA X:FF Y:A7 P:E5 SP:FB CYC:24 SL:159\nEB49 F0 BEQ $EB4D       PC:EB4A A:EA X:FF Y:A7 P:67 SP:FB CYC:30 SL:159\nEB4D C8 INY             PC:EB4E A:EA X:FF Y:A7 P:67 SP:FB CYC:39 SL:159\nEB4E A9 LDA #$00        PC:EB4F A:EA X:FF Y:A8 P:E5 SP:FB CYC:45 SL:159\nEB50 8D STA $0647       PC:EB51 A:00 X:FF Y:A8 P:67 SP:FB CYC:51 SL:159\nEB53 20 JSR $FA42       PC:EB54 A:00 X:FF Y:A8 P:67 SP:FB CYC:63 SL:159\nFA42 B8 CLV             PC:FA43 A:00 X:FF Y:A8 P:67 SP:F9 CYC:81 SL:159\nFA43 38 SEC             PC:FA44 A:00 X:FF Y:A8 P:27 SP:F9 CYC:87 SL:159\nFA44 A9 LDA #$FF        PC:FA45 A:00 X:FF Y:A8 P:27 SP:F9 CYC:93 SL:159\nFA46 60 RTS             PC:FA47 A:FF X:FF Y:A8 P:A5 SP:F9 CYC:99 SL:159\nEB56 DF DCP $0548,x     PC:EB57 A:FF X:FF Y:A8 P:A5 SP:FB CYC:117 SL:159\nEB59 EA NOP             PC:EB5A A:FF X:FF Y:A8 P:27 SP:FB CYC:138 SL:159\nEB5A EA NOP             PC:EB5B A:FF X:FF Y:A8 P:27 SP:FB CYC:144 SL:159\nEB5B EA NOP             PC:EB5C A:FF X:FF Y:A8 P:27 SP:FB CYC:150 SL:159\nEB5C EA NOP             PC:EB5D A:FF X:FF Y:A8 P:27 SP:FB CYC:156 SL:159\nEB5D 20 JSR $FA47       PC:EB5E A:FF X:FF Y:A8 P:27 SP:FB CYC:162 SL:159\nFA47 70 BVS $FA65       PC:FA48 A:FF X:FF Y:A8 P:27 SP:F9 CYC:180 SL:159\nFA49 D0 BNE $FA65       PC:FA4A A:FF X:FF Y:A8 P:27 SP:F9 CYC:186 SL:159\nFA4B 30 BMI $FA65       PC:FA4C A:FF X:FF Y:A8 P:27 SP:F9 CYC:192 SL:159\nFA4D 90 BCC $FA65       PC:FA4E A:FF X:FF Y:A8 P:27 SP:F9 CYC:198 SL:159\nFA4F C9 CMP #$FF        PC:FA50 A:FF X:FF Y:A8 P:27 SP:F9 CYC:204 SL:159\nFA51 D0 BNE $FA65       PC:FA52 A:FF X:FF Y:A8 P:27 SP:F9 CYC:210 SL:159\nFA53 60 RTS             PC:FA54 A:FF X:FF Y:A8 P:27 SP:F9 CYC:216 SL:159\nEB60 AD LDA $0647       PC:EB61 A:FF X:FF Y:A8 P:27 SP:FB CYC:234 SL:159\nEB63 C9 CMP #$FF        PC:EB64 A:FF X:FF Y:A8 P:A5 SP:FB CYC:246 SL:159\nEB65 F0 BEQ $EB69       PC:EB66 A:FF X:FF Y:A8 P:27 SP:FB CYC:252 SL:159\nEB69 C8 INY             PC:EB6A A:FF X:FF Y:A8 P:27 SP:FB CYC:261 SL:159\nEB6A A9 LDA #$37        PC:EB6B A:FF X:FF Y:A9 P:A5 SP:FB CYC:267 SL:159\nEB6C 8D STA $0647       PC:EB6D A:37 X:FF Y:A9 P:25 SP:FB CYC:273 SL:159\nEB6F 20 JSR $FA54       PC:EB70 A:37 X:FF Y:A9 P:25 SP:FB CYC:285 SL:159\nFA54 24 BIT $01         PC:FA55 A:37 X:FF Y:A9 P:25 SP:F9 CYC:303 SL:159\nFA56 A9 LDA #$F0        PC:FA57 A:37 X:FF Y:A9 P:E5 SP:F9 CYC:312 SL:159\nFA58 60 RTS             PC:FA59 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:318 SL:159\nEB72 DF DCP $0548,x     PC:EB73 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:336 SL:159\nEB75 EA NOP             PC:EB76 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:16 SL:160\nEB76 EA NOP             PC:EB77 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:22 SL:160\nEB77 EA NOP             PC:EB78 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:28 SL:160\nEB78 EA NOP             PC:EB79 A:F0 X:FF Y:A9 P:E5 SP:FB CYC:34 SL:160\nEB79 20 JSR $FA59       PC:EB7A A:F0 X:FF Y:A9 P:E5 SP:FB CYC:40 SL:160\nFA59 50 BVC $FA65       PC:FA5A A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:58 SL:160\nFA5B F0 BEQ $FA65       PC:FA5C A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:64 SL:160\nFA5D 10 BPL $FA65       PC:FA5E A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:70 SL:160\nFA5F 90 BCC $FA65       PC:FA60 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:76 SL:160\nFA61 C9 CMP #$F0        PC:FA62 A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:82 SL:160\nFA63 F0 BEQ $FA67       PC:FA64 A:F0 X:FF Y:A9 P:67 SP:F9 CYC:88 SL:160\nFA67 60 RTS             PC:FA68 A:F0 X:FF Y:A9 P:67 SP:F9 CYC:97 SL:160\nEB7C AD LDA $0647       PC:EB7D A:F0 X:FF Y:A9 P:67 SP:FB CYC:115 SL:160\nEB7F C9 CMP #$36        PC:EB80 A:36 X:FF Y:A9 P:65 SP:FB CYC:127 SL:160\nEB81 F0 BEQ $EB85       PC:EB82 A:36 X:FF Y:A9 P:67 SP:FB CYC:133 SL:160\nEB85 60 RTS             PC:EB86 A:36 X:FF Y:A9 P:67 SP:FB CYC:142 SL:160\nC63E 20 JSR $EB86       PC:C63F A:36 X:FF Y:A9 P:67 SP:FD CYC:160 SL:160\nEB86 A9 LDA #$FF        PC:EB87 A:36 X:FF Y:A9 P:67 SP:FB CYC:178 SL:160\nEB88 85 STA $01         PC:EB89 A:FF X:FF Y:A9 P:E5 SP:FB CYC:184 SL:160\nEB8A A0 LDY #$AA        PC:EB8B A:FF X:FF Y:A9 P:E5 SP:FB CYC:193 SL:160\nEB8C A2 LDX #$02        PC:EB8D A:FF X:FF Y:AA P:E5 SP:FB CYC:199 SL:160\nEB8E A9 LDA #$47        PC:EB8F A:FF X:02 Y:AA P:65 SP:FB CYC:205 SL:160\nEB90 85 STA $47         PC:EB91 A:47 X:02 Y:AA P:65 SP:FB CYC:211 SL:160\nEB92 A9 LDA #$06        PC:EB93 A:47 X:02 Y:AA P:65 SP:FB CYC:220 SL:160\nEB94 85 STA $48         PC:EB95 A:06 X:02 Y:AA P:65 SP:FB CYC:226 SL:160\nEB96 A9 LDA #$EB        PC:EB97 A:06 X:02 Y:AA P:65 SP:FB CYC:235 SL:160\nEB98 8D STA $0647       PC:EB99 A:EB X:02 Y:AA P:E5 SP:FB CYC:241 SL:160\nEB9B 20 JSR $FAB1       PC:EB9C A:EB X:02 Y:AA P:E5 SP:FB CYC:253 SL:160\nFAB1 24 BIT $01         PC:FAB2 A:EB X:02 Y:AA P:E5 SP:F9 CYC:271 SL:160\nFAB3 18 CLC             PC:FAB4 A:EB X:02 Y:AA P:E5 SP:F9 CYC:280 SL:160\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:02 Y:AA P:E4 SP:F9 CYC:286 SL:160\nFAB6 60 RTS             PC:FAB7 A:40 X:02 Y:AA P:64 SP:F9 CYC:292 SL:160\nEB9E E3 ISC $(EA45,x)   PC:EB9F A:40 X:02 Y:AA P:64 SP:FB CYC:310 SL:160\nEBA0 EA NOP             PC:EBA1 A:53 X:02 Y:AA P:24 SP:FB CYC:334 SL:160\nEBA1 EA NOP             PC:EBA2 A:53 X:02 Y:AA P:24 SP:FB CYC:340 SL:160\nEBA2 EA NOP             PC:EBA3 A:53 X:02 Y:AA P:24 SP:FB CYC:5 SL:161\nEBA3 EA NOP             PC:EBA4 A:53 X:02 Y:AA P:24 SP:FB CYC:11 SL:161\nEBA4 20 JSR $FAB7       PC:EBA5 A:53 X:02 Y:AA P:24 SP:FB CYC:17 SL:161\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:02 Y:AA P:24 SP:F9 CYC:35 SL:161\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:02 Y:AA P:24 SP:F9 CYC:41 SL:161\nFABB 30 BMI $FAE6       PC:FABC A:53 X:02 Y:AA P:24 SP:F9 CYC:47 SL:161\nFABD C9 CMP #$53        PC:FABE A:53 X:02 Y:AA P:24 SP:F9 CYC:53 SL:161\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:02 Y:AA P:27 SP:F9 CYC:59 SL:161\nFAC1 60 RTS             PC:FAC2 A:53 X:02 Y:AA P:27 SP:F9 CYC:65 SL:161\nEBA7 AD LDA $0647       PC:EBA8 A:53 X:02 Y:AA P:27 SP:FB CYC:83 SL:161\nEBAA C9 CMP #$EC        PC:EBAB A:EC X:02 Y:AA P:A5 SP:FB CYC:95 SL:161\nEBAC F0 BEQ $EBB0       PC:EBAD A:EC X:02 Y:AA P:27 SP:FB CYC:101 SL:161\nEBB0 C8 INY             PC:EBB1 A:EC X:02 Y:AA P:27 SP:FB CYC:110 SL:161\nEBB1 A9 LDA #$FF        PC:EBB2 A:EC X:02 Y:AB P:A5 SP:FB CYC:116 SL:161\nEBB3 8D STA $0647       PC:EBB4 A:FF X:02 Y:AB P:A5 SP:FB CYC:122 SL:161\nEBB6 20 JSR $FAC2       PC:EBB7 A:FF X:02 Y:AB P:A5 SP:FB CYC:134 SL:161\nFAC2 B8 CLV             PC:FAC3 A:FF X:02 Y:AB P:A5 SP:F9 CYC:152 SL:161\nFAC3 38 SEC             PC:FAC4 A:FF X:02 Y:AB P:A5 SP:F9 CYC:158 SL:161\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:02 Y:AB P:A5 SP:F9 CYC:164 SL:161\nFAC6 60 RTS             PC:FAC7 A:FF X:02 Y:AB P:A5 SP:F9 CYC:170 SL:161\nEBB9 E3 ISC $(EA45,x)   PC:EBBA A:FF X:02 Y:AB P:A5 SP:FB CYC:188 SL:161\nEBBB EA NOP             PC:EBBC A:FF X:02 Y:AB P:A5 SP:FB CYC:212 SL:161\nEBBC EA NOP             PC:EBBD A:FF X:02 Y:AB P:A5 SP:FB CYC:218 SL:161\nEBBD EA NOP             PC:EBBE A:FF X:02 Y:AB P:A5 SP:FB CYC:224 SL:161\nEBBE EA NOP             PC:EBBF A:FF X:02 Y:AB P:A5 SP:FB CYC:230 SL:161\nEBBF 20 JSR $FAC7       PC:EBC0 A:FF X:02 Y:AB P:A5 SP:FB CYC:236 SL:161\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:02 Y:AB P:A5 SP:F9 CYC:254 SL:161\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:02 Y:AB P:A5 SP:F9 CYC:260 SL:161\nFACB 10 BPL $FAE6       PC:FACC A:FF X:02 Y:AB P:A5 SP:F9 CYC:266 SL:161\nFACD 90 BCC $FAE6       PC:FACE A:FF X:02 Y:AB P:A5 SP:F9 CYC:272 SL:161\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:02 Y:AB P:A5 SP:F9 CYC:278 SL:161\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:02 Y:AB P:27 SP:F9 CYC:284 SL:161\nFAD3 60 RTS             PC:FAD4 A:FF X:02 Y:AB P:27 SP:F9 CYC:290 SL:161\nEBC2 AD LDA $0647       PC:EBC3 A:FF X:02 Y:AB P:27 SP:FB CYC:308 SL:161\nEBC5 C9 CMP #$00        PC:EBC6 A:00 X:02 Y:AB P:27 SP:FB CYC:320 SL:161\nEBC7 F0 BEQ $EBCB       PC:EBC8 A:00 X:02 Y:AB P:27 SP:FB CYC:326 SL:161\nEBCB C8 INY             PC:EBCC A:00 X:02 Y:AB P:27 SP:FB CYC:335 SL:161\nEBCC A9 LDA #$37        PC:EBCD A:00 X:02 Y:AC P:A5 SP:FB CYC:0 SL:162\nEBCE 8D STA $0647       PC:EBCF A:37 X:02 Y:AC P:25 SP:FB CYC:6 SL:162\nEBD1 20 JSR $FAD4       PC:EBD2 A:37 X:02 Y:AC P:25 SP:FB CYC:18 SL:162\nFAD4 24 BIT $01         PC:FAD5 A:37 X:02 Y:AC P:25 SP:F9 CYC:36 SL:162\nFAD6 38 SEC             PC:FAD7 A:37 X:02 Y:AC P:E5 SP:F9 CYC:45 SL:162\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:02 Y:AC P:E5 SP:F9 CYC:51 SL:162\nFAD9 60 RTS             PC:FADA A:F0 X:02 Y:AC P:E5 SP:F9 CYC:57 SL:162\nEBD4 E3 ISC $(EA45,x)   PC:EBD5 A:F0 X:02 Y:AC P:E5 SP:FB CYC:75 SL:162\nEBD6 EA NOP             PC:EBD7 A:B8 X:02 Y:AC P:A5 SP:FB CYC:99 SL:162\nEBD7 EA NOP             PC:EBD8 A:B8 X:02 Y:AC P:A5 SP:FB CYC:105 SL:162\nEBD8 EA NOP             PC:EBD9 A:B8 X:02 Y:AC P:A5 SP:FB CYC:111 SL:162\nEBD9 EA NOP             PC:EBDA A:B8 X:02 Y:AC P:A5 SP:FB CYC:117 SL:162\nEBDA 20 JSR $FADA       PC:EBDB A:B8 X:02 Y:AC P:A5 SP:FB CYC:123 SL:162\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:02 Y:AC P:A5 SP:F9 CYC:141 SL:162\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:02 Y:AC P:A5 SP:F9 CYC:147 SL:162\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:02 Y:AC P:A5 SP:F9 CYC:153 SL:162\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:159 SL:162\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:02 Y:AC P:A5 SP:F9 CYC:165 SL:162\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:02 Y:AC P:27 SP:F9 CYC:171 SL:162\nFAE8 60 RTS             PC:FAE9 A:B8 X:02 Y:AC P:27 SP:F9 CYC:180 SL:162\nEBDD AD LDA $0647       PC:EBDE A:B8 X:02 Y:AC P:27 SP:FB CYC:198 SL:162\nEBE0 C9 CMP #$38        PC:EBE1 A:38 X:02 Y:AC P:25 SP:FB CYC:210 SL:162\nEBE2 F0 BEQ $EBE6       PC:EBE3 A:38 X:02 Y:AC P:27 SP:FB CYC:216 SL:162\nEBE6 C8 INY             PC:EBE7 A:38 X:02 Y:AC P:27 SP:FB CYC:225 SL:162\nEBE7 A9 LDA #$EB        PC:EBE8 A:38 X:02 Y:AD P:A5 SP:FB CYC:231 SL:162\nEBE9 85 STA $47         PC:EBEA A:EB X:02 Y:AD P:A5 SP:FB CYC:237 SL:162\nEBEB 20 JSR $FAB1       PC:EBEC A:EB X:02 Y:AD P:A5 SP:FB CYC:246 SL:162\nFAB1 24 BIT $01         PC:FAB2 A:EB X:02 Y:AD P:A5 SP:F9 CYC:264 SL:162\nFAB3 18 CLC             PC:FAB4 A:EB X:02 Y:AD P:E5 SP:F9 CYC:273 SL:162\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:02 Y:AD P:E4 SP:F9 CYC:279 SL:162\nFAB6 60 RTS             PC:FAB7 A:40 X:02 Y:AD P:64 SP:F9 CYC:285 SL:162\nEBEE E7 ISC $47         PC:EBEF A:40 X:02 Y:AD P:64 SP:FB CYC:303 SL:162\nEBF0 EA NOP             PC:EBF1 A:53 X:02 Y:AD P:24 SP:FB CYC:318 SL:162\nEBF1 EA NOP             PC:EBF2 A:53 X:02 Y:AD P:24 SP:FB CYC:324 SL:162\nEBF2 EA NOP             PC:EBF3 A:53 X:02 Y:AD P:24 SP:FB CYC:330 SL:162\nEBF3 EA NOP             PC:EBF4 A:53 X:02 Y:AD P:24 SP:FB CYC:336 SL:162\nEBF4 20 JSR $FAB7       PC:EBF5 A:53 X:02 Y:AD P:24 SP:FB CYC:1 SL:163\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:02 Y:AD P:24 SP:F9 CYC:19 SL:163\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:02 Y:AD P:24 SP:F9 CYC:25 SL:163\nFABB 30 BMI $FAE6       PC:FABC A:53 X:02 Y:AD P:24 SP:F9 CYC:31 SL:163\nFABD C9 CMP #$53        PC:FABE A:53 X:02 Y:AD P:24 SP:F9 CYC:37 SL:163\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:02 Y:AD P:27 SP:F9 CYC:43 SL:163\nFAC1 60 RTS             PC:FAC2 A:53 X:02 Y:AD P:27 SP:F9 CYC:49 SL:163\nEBF7 A5 LDA $47         PC:EBF8 A:53 X:02 Y:AD P:27 SP:FB CYC:67 SL:163\nEBF9 C9 CMP #$EC        PC:EBFA A:EC X:02 Y:AD P:A5 SP:FB CYC:76 SL:163\nEBFB F0 BEQ $EBFF       PC:EBFC A:EC X:02 Y:AD P:27 SP:FB CYC:82 SL:163\nEBFF C8 INY             PC:EC00 A:EC X:02 Y:AD P:27 SP:FB CYC:91 SL:163\nEC00 A9 LDA #$FF        PC:EC01 A:EC X:02 Y:AE P:A5 SP:FB CYC:97 SL:163\nEC02 85 STA $47         PC:EC03 A:FF X:02 Y:AE P:A5 SP:FB CYC:103 SL:163\nEC04 20 JSR $FAC2       PC:EC05 A:FF X:02 Y:AE P:A5 SP:FB CYC:112 SL:163\nFAC2 B8 CLV             PC:FAC3 A:FF X:02 Y:AE P:A5 SP:F9 CYC:130 SL:163\nFAC3 38 SEC             PC:FAC4 A:FF X:02 Y:AE P:A5 SP:F9 CYC:136 SL:163\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:02 Y:AE P:A5 SP:F9 CYC:142 SL:163\nFAC6 60 RTS             PC:FAC7 A:FF X:02 Y:AE P:A5 SP:F9 CYC:148 SL:163\nEC07 E7 ISC $47         PC:EC08 A:FF X:02 Y:AE P:A5 SP:FB CYC:166 SL:163\nEC09 EA NOP             PC:EC0A A:FF X:02 Y:AE P:A5 SP:FB CYC:181 SL:163\nEC0A EA NOP             PC:EC0B A:FF X:02 Y:AE P:A5 SP:FB CYC:187 SL:163\nEC0B EA NOP             PC:EC0C A:FF X:02 Y:AE P:A5 SP:FB CYC:193 SL:163\nEC0C EA NOP             PC:EC0D A:FF X:02 Y:AE P:A5 SP:FB CYC:199 SL:163\nEC0D 20 JSR $FAC7       PC:EC0E A:FF X:02 Y:AE P:A5 SP:FB CYC:205 SL:163\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:02 Y:AE P:A5 SP:F9 CYC:223 SL:163\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:02 Y:AE P:A5 SP:F9 CYC:229 SL:163\nFACB 10 BPL $FAE6       PC:FACC A:FF X:02 Y:AE P:A5 SP:F9 CYC:235 SL:163\nFACD 90 BCC $FAE6       PC:FACE A:FF X:02 Y:AE P:A5 SP:F9 CYC:241 SL:163\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:02 Y:AE P:A5 SP:F9 CYC:247 SL:163\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:02 Y:AE P:27 SP:F9 CYC:253 SL:163\nFAD3 60 RTS             PC:FAD4 A:FF X:02 Y:AE P:27 SP:F9 CYC:259 SL:163\nEC10 A5 LDA $47         PC:EC11 A:FF X:02 Y:AE P:27 SP:FB CYC:277 SL:163\nEC12 C9 CMP #$00        PC:EC13 A:00 X:02 Y:AE P:27 SP:FB CYC:286 SL:163\nEC14 F0 BEQ $EC18       PC:EC15 A:00 X:02 Y:AE P:27 SP:FB CYC:292 SL:163\nEC18 C8 INY             PC:EC19 A:00 X:02 Y:AE P:27 SP:FB CYC:301 SL:163\nEC19 A9 LDA #$37        PC:EC1A A:00 X:02 Y:AF P:A5 SP:FB CYC:307 SL:163\nEC1B 85 STA $47         PC:EC1C A:37 X:02 Y:AF P:25 SP:FB CYC:313 SL:163\nEC1D 20 JSR $FAD4       PC:EC1E A:37 X:02 Y:AF P:25 SP:FB CYC:322 SL:163\nFAD4 24 BIT $01         PC:FAD5 A:37 X:02 Y:AF P:25 SP:F9 CYC:340 SL:163\nFAD6 38 SEC             PC:FAD7 A:37 X:02 Y:AF P:E5 SP:F9 CYC:8 SL:164\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:02 Y:AF P:E5 SP:F9 CYC:14 SL:164\nFAD9 60 RTS             PC:FADA A:F0 X:02 Y:AF P:E5 SP:F9 CYC:20 SL:164\nEC20 E7 ISC $47         PC:EC21 A:F0 X:02 Y:AF P:E5 SP:FB CYC:38 SL:164\nEC22 EA NOP             PC:EC23 A:B8 X:02 Y:AF P:A5 SP:FB CYC:53 SL:164\nEC23 EA NOP             PC:EC24 A:B8 X:02 Y:AF P:A5 SP:FB CYC:59 SL:164\nEC24 EA NOP             PC:EC25 A:B8 X:02 Y:AF P:A5 SP:FB CYC:65 SL:164\nEC25 EA NOP             PC:EC26 A:B8 X:02 Y:AF P:A5 SP:FB CYC:71 SL:164\nEC26 20 JSR $FADA       PC:EC27 A:B8 X:02 Y:AF P:A5 SP:FB CYC:77 SL:164\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:02 Y:AF P:A5 SP:F9 CYC:95 SL:164\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:02 Y:AF P:A5 SP:F9 CYC:101 SL:164\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:02 Y:AF P:A5 SP:F9 CYC:107 SL:164\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:113 SL:164\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:02 Y:AF P:A5 SP:F9 CYC:119 SL:164\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:02 Y:AF P:27 SP:F9 CYC:125 SL:164\nFAE8 60 RTS             PC:FAE9 A:B8 X:02 Y:AF P:27 SP:F9 CYC:134 SL:164\nEC29 A5 LDA $47         PC:EC2A A:B8 X:02 Y:AF P:27 SP:FB CYC:152 SL:164\nEC2B C9 CMP #$38        PC:EC2C A:38 X:02 Y:AF P:25 SP:FB CYC:161 SL:164\nEC2D F0 BEQ $EC31       PC:EC2E A:38 X:02 Y:AF P:27 SP:FB CYC:167 SL:164\nEC31 C8 INY             PC:EC32 A:38 X:02 Y:AF P:27 SP:FB CYC:176 SL:164\nEC32 A9 LDA #$EB        PC:EC33 A:38 X:02 Y:B0 P:A5 SP:FB CYC:182 SL:164\nEC34 8D STA $0647       PC:EC35 A:EB X:02 Y:B0 P:A5 SP:FB CYC:188 SL:164\nEC37 20 JSR $FAB1       PC:EC38 A:EB X:02 Y:B0 P:A5 SP:FB CYC:200 SL:164\nFAB1 24 BIT $01         PC:FAB2 A:EB X:02 Y:B0 P:A5 SP:F9 CYC:218 SL:164\nFAB3 18 CLC             PC:FAB4 A:EB X:02 Y:B0 P:E5 SP:F9 CYC:227 SL:164\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:02 Y:B0 P:E4 SP:F9 CYC:233 SL:164\nFAB6 60 RTS             PC:FAB7 A:40 X:02 Y:B0 P:64 SP:F9 CYC:239 SL:164\nEC3A EF ISC $0647       PC:EC3B A:40 X:02 Y:B0 P:64 SP:FB CYC:257 SL:164\nEC3D EA NOP             PC:EC3E A:53 X:02 Y:B0 P:24 SP:FB CYC:275 SL:164\nEC3E EA NOP             PC:EC3F A:53 X:02 Y:B0 P:24 SP:FB CYC:281 SL:164\nEC3F EA NOP             PC:EC40 A:53 X:02 Y:B0 P:24 SP:FB CYC:287 SL:164\nEC40 EA NOP             PC:EC41 A:53 X:02 Y:B0 P:24 SP:FB CYC:293 SL:164\nEC41 20 JSR $FAB7       PC:EC42 A:53 X:02 Y:B0 P:24 SP:FB CYC:299 SL:164\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:02 Y:B0 P:24 SP:F9 CYC:317 SL:164\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:02 Y:B0 P:24 SP:F9 CYC:323 SL:164\nFABB 30 BMI $FAE6       PC:FABC A:53 X:02 Y:B0 P:24 SP:F9 CYC:329 SL:164\nFABD C9 CMP #$53        PC:FABE A:53 X:02 Y:B0 P:24 SP:F9 CYC:335 SL:164\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:02 Y:B0 P:27 SP:F9 CYC:0 SL:165\nFAC1 60 RTS             PC:FAC2 A:53 X:02 Y:B0 P:27 SP:F9 CYC:6 SL:165\nEC44 AD LDA $0647       PC:EC45 A:53 X:02 Y:B0 P:27 SP:FB CYC:24 SL:165\nEC47 C9 CMP #$EC        PC:EC48 A:EC X:02 Y:B0 P:A5 SP:FB CYC:36 SL:165\nEC49 F0 BEQ $EC4D       PC:EC4A A:EC X:02 Y:B0 P:27 SP:FB CYC:42 SL:165\nEC4D C8 INY             PC:EC4E A:EC X:02 Y:B0 P:27 SP:FB CYC:51 SL:165\nEC4E A9 LDA #$FF        PC:EC4F A:EC X:02 Y:B1 P:A5 SP:FB CYC:57 SL:165\nEC50 8D STA $0647       PC:EC51 A:FF X:02 Y:B1 P:A5 SP:FB CYC:63 SL:165\nEC53 20 JSR $FAC2       PC:EC54 A:FF X:02 Y:B1 P:A5 SP:FB CYC:75 SL:165\nFAC2 B8 CLV             PC:FAC3 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:93 SL:165\nFAC3 38 SEC             PC:FAC4 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:99 SL:165\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:105 SL:165\nFAC6 60 RTS             PC:FAC7 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:111 SL:165\nEC56 EF ISC $0647       PC:EC57 A:FF X:02 Y:B1 P:A5 SP:FB CYC:129 SL:165\nEC59 EA NOP             PC:EC5A A:FF X:02 Y:B1 P:A5 SP:FB CYC:147 SL:165\nEC5A EA NOP             PC:EC5B A:FF X:02 Y:B1 P:A5 SP:FB CYC:153 SL:165\nEC5B EA NOP             PC:EC5C A:FF X:02 Y:B1 P:A5 SP:FB CYC:159 SL:165\nEC5C EA NOP             PC:EC5D A:FF X:02 Y:B1 P:A5 SP:FB CYC:165 SL:165\nEC5D 20 JSR $FAC7       PC:EC5E A:FF X:02 Y:B1 P:A5 SP:FB CYC:171 SL:165\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:189 SL:165\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:02 Y:B1 P:A5 SP:F9 CYC:195 SL:165\nFACB 10 BPL $FAE6       PC:FACC A:FF X:02 Y:B1 P:A5 SP:F9 CYC:201 SL:165\nFACD 90 BCC $FAE6       PC:FACE A:FF X:02 Y:B1 P:A5 SP:F9 CYC:207 SL:165\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:02 Y:B1 P:A5 SP:F9 CYC:213 SL:165\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:02 Y:B1 P:27 SP:F9 CYC:219 SL:165\nFAD3 60 RTS             PC:FAD4 A:FF X:02 Y:B1 P:27 SP:F9 CYC:225 SL:165\nEC60 AD LDA $0647       PC:EC61 A:FF X:02 Y:B1 P:27 SP:FB CYC:243 SL:165\nEC63 C9 CMP #$00        PC:EC64 A:00 X:02 Y:B1 P:27 SP:FB CYC:255 SL:165\nEC65 F0 BEQ $EC69       PC:EC66 A:00 X:02 Y:B1 P:27 SP:FB CYC:261 SL:165\nEC69 C8 INY             PC:EC6A A:00 X:02 Y:B1 P:27 SP:FB CYC:270 SL:165\nEC6A A9 LDA #$37        PC:EC6B A:00 X:02 Y:B2 P:A5 SP:FB CYC:276 SL:165\nEC6C 8D STA $0647       PC:EC6D A:37 X:02 Y:B2 P:25 SP:FB CYC:282 SL:165\nEC6F 20 JSR $FAD4       PC:EC70 A:37 X:02 Y:B2 P:25 SP:FB CYC:294 SL:165\nFAD4 24 BIT $01         PC:FAD5 A:37 X:02 Y:B2 P:25 SP:F9 CYC:312 SL:165\nFAD6 38 SEC             PC:FAD7 A:37 X:02 Y:B2 P:E5 SP:F9 CYC:321 SL:165\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:02 Y:B2 P:E5 SP:F9 CYC:327 SL:165\nFAD9 60 RTS             PC:FADA A:F0 X:02 Y:B2 P:E5 SP:F9 CYC:333 SL:165\nEC72 EF ISC $0647       PC:EC73 A:F0 X:02 Y:B2 P:E5 SP:FB CYC:10 SL:166\nEC75 EA NOP             PC:EC76 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:28 SL:166\nEC76 EA NOP             PC:EC77 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:34 SL:166\nEC77 EA NOP             PC:EC78 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:40 SL:166\nEC78 EA NOP             PC:EC79 A:B8 X:02 Y:B2 P:A5 SP:FB CYC:46 SL:166\nEC79 20 JSR $FADA       PC:EC7A A:B8 X:02 Y:B2 P:A5 SP:FB CYC:52 SL:166\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:70 SL:166\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:76 SL:166\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:82 SL:166\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:88 SL:166\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:02 Y:B2 P:A5 SP:F9 CYC:94 SL:166\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:02 Y:B2 P:27 SP:F9 CYC:100 SL:166\nFAE8 60 RTS             PC:FAE9 A:B8 X:02 Y:B2 P:27 SP:F9 CYC:109 SL:166\nEC7C AD LDA $0647       PC:EC7D A:B8 X:02 Y:B2 P:27 SP:FB CYC:127 SL:166\nEC7F C9 CMP #$38        PC:EC80 A:38 X:02 Y:B2 P:25 SP:FB CYC:139 SL:166\nEC81 F0 BEQ $EC85       PC:EC82 A:38 X:02 Y:B2 P:27 SP:FB CYC:145 SL:166\nEC85 A9 LDA #$EB        PC:EC86 A:38 X:02 Y:B2 P:27 SP:FB CYC:154 SL:166\nEC87 8D STA $0647       PC:EC88 A:EB X:02 Y:B2 P:A5 SP:FB CYC:160 SL:166\nEC8A A9 LDA #$48        PC:EC8B A:EB X:02 Y:B2 P:A5 SP:FB CYC:172 SL:166\nEC8C 85 STA $45         PC:EC8D A:48 X:02 Y:B2 P:25 SP:FB CYC:178 SL:166\nEC8E A9 LDA #$05        PC:EC8F A:48 X:02 Y:B2 P:25 SP:FB CYC:187 SL:166\nEC90 85 STA $46         PC:EC91 A:05 X:02 Y:B2 P:25 SP:FB CYC:193 SL:166\nEC92 A0 LDY #$FF        PC:EC93 A:05 X:02 Y:B2 P:25 SP:FB CYC:202 SL:166\nEC94 20 JSR $FAB1       PC:EC95 A:05 X:02 Y:FF P:A5 SP:FB CYC:208 SL:166\nFAB1 24 BIT $01         PC:FAB2 A:05 X:02 Y:FF P:A5 SP:F9 CYC:226 SL:166\nFAB3 18 CLC             PC:FAB4 A:05 X:02 Y:FF P:E5 SP:F9 CYC:235 SL:166\nFAB4 A9 LDA #$40        PC:FAB5 A:05 X:02 Y:FF P:E4 SP:F9 CYC:241 SL:166\nFAB6 60 RTS             PC:FAB7 A:40 X:02 Y:FF P:64 SP:F9 CYC:247 SL:166\nEC97 F3 ISC ($45), y    PC:EC98 A:40 X:02 Y:FF P:64 SP:FB CYC:265 SL:166\nEC99 EA NOP             PC:EC9A A:53 X:02 Y:FF P:24 SP:FB CYC:289 SL:166\nEC9A EA NOP             PC:EC9B A:53 X:02 Y:FF P:24 SP:FB CYC:295 SL:166\nEC9B 08 PHP             PC:EC9C A:53 X:02 Y:FF P:24 SP:FB CYC:301 SL:166\nEC9C 48 PHA             PC:EC9D A:53 X:02 Y:FF P:24 SP:FA CYC:310 SL:166\nEC9D A0 LDY #$B3        PC:EC9E A:53 X:02 Y:FF P:24 SP:F9 CYC:319 SL:166\nEC9F 68 PLA             PC:ECA0 A:53 X:02 Y:B3 P:A4 SP:F9 CYC:325 SL:166\nECA0 28 PLP             PC:ECA1 A:53 X:02 Y:B3 P:24 SP:FA CYC:337 SL:166\nECA1 20 JSR $FAB7       PC:ECA2 A:53 X:02 Y:B3 P:24 SP:FB CYC:8 SL:167\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:02 Y:B3 P:24 SP:F9 CYC:26 SL:167\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:02 Y:B3 P:24 SP:F9 CYC:32 SL:167\nFABB 30 BMI $FAE6       PC:FABC A:53 X:02 Y:B3 P:24 SP:F9 CYC:38 SL:167\nFABD C9 CMP #$53        PC:FABE A:53 X:02 Y:B3 P:24 SP:F9 CYC:44 SL:167\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:02 Y:B3 P:27 SP:F9 CYC:50 SL:167\nFAC1 60 RTS             PC:FAC2 A:53 X:02 Y:B3 P:27 SP:F9 CYC:56 SL:167\nECA4 AD LDA $0647       PC:ECA5 A:53 X:02 Y:B3 P:27 SP:FB CYC:74 SL:167\nECA7 C9 CMP #$EC        PC:ECA8 A:EC X:02 Y:B3 P:A5 SP:FB CYC:86 SL:167\nECA9 F0 BEQ $ECAD       PC:ECAA A:EC X:02 Y:B3 P:27 SP:FB CYC:92 SL:167\nECAD A0 LDY #$FF        PC:ECAE A:EC X:02 Y:B3 P:27 SP:FB CYC:101 SL:167\nECAF A9 LDA #$FF        PC:ECB0 A:EC X:02 Y:FF P:A5 SP:FB CYC:107 SL:167\nECB1 8D STA $0647       PC:ECB2 A:FF X:02 Y:FF P:A5 SP:FB CYC:113 SL:167\nECB4 20 JSR $FAC2       PC:ECB5 A:FF X:02 Y:FF P:A5 SP:FB CYC:125 SL:167\nFAC2 B8 CLV             PC:FAC3 A:FF X:02 Y:FF P:A5 SP:F9 CYC:143 SL:167\nFAC3 38 SEC             PC:FAC4 A:FF X:02 Y:FF P:A5 SP:F9 CYC:149 SL:167\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:02 Y:FF P:A5 SP:F9 CYC:155 SL:167\nFAC6 60 RTS             PC:FAC7 A:FF X:02 Y:FF P:A5 SP:F9 CYC:161 SL:167\nECB7 F3 ISC ($45), y    PC:ECB8 A:FF X:02 Y:FF P:A5 SP:FB CYC:179 SL:167\nECB9 EA NOP             PC:ECBA A:FF X:02 Y:FF P:A5 SP:FB CYC:203 SL:167\nECBA EA NOP             PC:ECBB A:FF X:02 Y:FF P:A5 SP:FB CYC:209 SL:167\nECBB 08 PHP             PC:ECBC A:FF X:02 Y:FF P:A5 SP:FB CYC:215 SL:167\nECBC 48 PHA             PC:ECBD A:FF X:02 Y:FF P:A5 SP:FA CYC:224 SL:167\nECBD A0 LDY #$B4        PC:ECBE A:FF X:02 Y:FF P:A5 SP:F9 CYC:233 SL:167\nECBF 68 PLA             PC:ECC0 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:239 SL:167\nECC0 28 PLP             PC:ECC1 A:FF X:02 Y:B4 P:A5 SP:FA CYC:251 SL:167\nECC1 20 JSR $FAC7       PC:ECC2 A:FF X:02 Y:B4 P:A5 SP:FB CYC:263 SL:167\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:281 SL:167\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:02 Y:B4 P:A5 SP:F9 CYC:287 SL:167\nFACB 10 BPL $FAE6       PC:FACC A:FF X:02 Y:B4 P:A5 SP:F9 CYC:293 SL:167\nFACD 90 BCC $FAE6       PC:FACE A:FF X:02 Y:B4 P:A5 SP:F9 CYC:299 SL:167\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:02 Y:B4 P:A5 SP:F9 CYC:305 SL:167\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:02 Y:B4 P:27 SP:F9 CYC:311 SL:167\nFAD3 60 RTS             PC:FAD4 A:FF X:02 Y:B4 P:27 SP:F9 CYC:317 SL:167\nECC4 AD LDA $0647       PC:ECC5 A:FF X:02 Y:B4 P:27 SP:FB CYC:335 SL:167\nECC7 C9 CMP #$00        PC:ECC8 A:00 X:02 Y:B4 P:27 SP:FB CYC:6 SL:168\nECC9 F0 BEQ $ECCD       PC:ECCA A:00 X:02 Y:B4 P:27 SP:FB CYC:12 SL:168\nECCD A0 LDY #$FF        PC:ECCE A:00 X:02 Y:B4 P:27 SP:FB CYC:21 SL:168\nECCF A9 LDA #$37        PC:ECD0 A:00 X:02 Y:FF P:A5 SP:FB CYC:27 SL:168\nECD1 8D STA $0647       PC:ECD2 A:37 X:02 Y:FF P:25 SP:FB CYC:33 SL:168\nECD4 20 JSR $FAD4       PC:ECD5 A:37 X:02 Y:FF P:25 SP:FB CYC:45 SL:168\nFAD4 24 BIT $01         PC:FAD5 A:37 X:02 Y:FF P:25 SP:F9 CYC:63 SL:168\nFAD6 38 SEC             PC:FAD7 A:37 X:02 Y:FF P:E5 SP:F9 CYC:72 SL:168\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:02 Y:FF P:E5 SP:F9 CYC:78 SL:168\nFAD9 60 RTS             PC:FADA A:F0 X:02 Y:FF P:E5 SP:F9 CYC:84 SL:168\nECD7 F3 ISC ($45), y    PC:ECD8 A:F0 X:02 Y:FF P:E5 SP:FB CYC:102 SL:168\nECD9 EA NOP             PC:ECDA A:B8 X:02 Y:FF P:A5 SP:FB CYC:126 SL:168\nECDA EA NOP             PC:ECDB A:B8 X:02 Y:FF P:A5 SP:FB CYC:132 SL:168\nECDB 08 PHP             PC:ECDC A:B8 X:02 Y:FF P:A5 SP:FB CYC:138 SL:168\nECDC 48 PHA             PC:ECDD A:B8 X:02 Y:FF P:A5 SP:FA CYC:147 SL:168\nECDD A0 LDY #$B5        PC:ECDE A:B8 X:02 Y:FF P:A5 SP:F9 CYC:156 SL:168\nECDF 68 PLA             PC:ECE0 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:162 SL:168\nECE0 28 PLP             PC:ECE1 A:B8 X:02 Y:B5 P:A5 SP:FA CYC:174 SL:168\nECE1 20 JSR $FADA       PC:ECE2 A:B8 X:02 Y:B5 P:A5 SP:FB CYC:186 SL:168\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:204 SL:168\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:210 SL:168\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:216 SL:168\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:222 SL:168\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:228 SL:168\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:02 Y:B5 P:27 SP:F9 CYC:234 SL:168\nFAE8 60 RTS             PC:FAE9 A:B8 X:02 Y:B5 P:27 SP:F9 CYC:243 SL:168\nECE4 AD LDA $0647       PC:ECE5 A:B8 X:02 Y:B5 P:27 SP:FB CYC:261 SL:168\nECE7 C9 CMP #$38        PC:ECE8 A:38 X:02 Y:B5 P:25 SP:FB CYC:273 SL:168\nECE9 F0 BEQ $ECED       PC:ECEA A:38 X:02 Y:B5 P:27 SP:FB CYC:279 SL:168\nECED A0 LDY #$B6        PC:ECEE A:38 X:02 Y:B5 P:27 SP:FB CYC:288 SL:168\nECEF A2 LDX #$FF        PC:ECF0 A:38 X:02 Y:B6 P:A5 SP:FB CYC:294 SL:168\nECF1 A9 LDA #$EB        PC:ECF2 A:38 X:FF Y:B6 P:A5 SP:FB CYC:300 SL:168\nECF3 85 STA $47         PC:ECF4 A:EB X:FF Y:B6 P:A5 SP:FB CYC:306 SL:168\nECF5 20 JSR $FAB1       PC:ECF6 A:EB X:FF Y:B6 P:A5 SP:FB CYC:315 SL:168\nFAB1 24 BIT $01         PC:FAB2 A:EB X:FF Y:B6 P:A5 SP:F9 CYC:333 SL:168\nFAB3 18 CLC             PC:FAB4 A:EB X:FF Y:B6 P:E5 SP:F9 CYC:1 SL:169\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:FF Y:B6 P:E4 SP:F9 CYC:7 SL:169\nFAB6 60 RTS             PC:FAB7 A:40 X:FF Y:B6 P:64 SP:F9 CYC:13 SL:169\nECF8 F7 ISC $48,x       PC:ECF9 A:40 X:FF Y:B6 P:64 SP:FB CYC:31 SL:169\nECFA EA NOP             PC:ECFB A:53 X:FF Y:B6 P:24 SP:FB CYC:49 SL:169\nECFB EA NOP             PC:ECFC A:53 X:FF Y:B6 P:24 SP:FB CYC:55 SL:169\nECFC EA NOP             PC:ECFD A:53 X:FF Y:B6 P:24 SP:FB CYC:61 SL:169\nECFD EA NOP             PC:ECFE A:53 X:FF Y:B6 P:24 SP:FB CYC:67 SL:169\nECFE 20 JSR $FAB7       PC:ECFF A:53 X:FF Y:B6 P:24 SP:FB CYC:73 SL:169\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:FF Y:B6 P:24 SP:F9 CYC:91 SL:169\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:FF Y:B6 P:24 SP:F9 CYC:97 SL:169\nFABB 30 BMI $FAE6       PC:FABC A:53 X:FF Y:B6 P:24 SP:F9 CYC:103 SL:169\nFABD C9 CMP #$53        PC:FABE A:53 X:FF Y:B6 P:24 SP:F9 CYC:109 SL:169\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:FF Y:B6 P:27 SP:F9 CYC:115 SL:169\nFAC1 60 RTS             PC:FAC2 A:53 X:FF Y:B6 P:27 SP:F9 CYC:121 SL:169\nED01 A5 LDA $47         PC:ED02 A:53 X:FF Y:B6 P:27 SP:FB CYC:139 SL:169\nED03 C9 CMP #$EC        PC:ED04 A:EC X:FF Y:B6 P:A5 SP:FB CYC:148 SL:169\nED05 F0 BEQ $ED09       PC:ED06 A:EC X:FF Y:B6 P:27 SP:FB CYC:154 SL:169\nED09 C8 INY             PC:ED0A A:EC X:FF Y:B6 P:27 SP:FB CYC:163 SL:169\nED0A A9 LDA #$FF        PC:ED0B A:EC X:FF Y:B7 P:A5 SP:FB CYC:169 SL:169\nED0C 85 STA $47         PC:ED0D A:FF X:FF Y:B7 P:A5 SP:FB CYC:175 SL:169\nED0E 20 JSR $FAC2       PC:ED0F A:FF X:FF Y:B7 P:A5 SP:FB CYC:184 SL:169\nFAC2 B8 CLV             PC:FAC3 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:202 SL:169\nFAC3 38 SEC             PC:FAC4 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:208 SL:169\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:214 SL:169\nFAC6 60 RTS             PC:FAC7 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:220 SL:169\nED11 F7 ISC $48,x       PC:ED12 A:FF X:FF Y:B7 P:A5 SP:FB CYC:238 SL:169\nED13 EA NOP             PC:ED14 A:FF X:FF Y:B7 P:A5 SP:FB CYC:256 SL:169\nED14 EA NOP             PC:ED15 A:FF X:FF Y:B7 P:A5 SP:FB CYC:262 SL:169\nED15 EA NOP             PC:ED16 A:FF X:FF Y:B7 P:A5 SP:FB CYC:268 SL:169\nED16 EA NOP             PC:ED17 A:FF X:FF Y:B7 P:A5 SP:FB CYC:274 SL:169\nED17 20 JSR $FAC7       PC:ED18 A:FF X:FF Y:B7 P:A5 SP:FB CYC:280 SL:169\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:298 SL:169\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:FF Y:B7 P:A5 SP:F9 CYC:304 SL:169\nFACB 10 BPL $FAE6       PC:FACC A:FF X:FF Y:B7 P:A5 SP:F9 CYC:310 SL:169\nFACD 90 BCC $FAE6       PC:FACE A:FF X:FF Y:B7 P:A5 SP:F9 CYC:316 SL:169\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:FF Y:B7 P:A5 SP:F9 CYC:322 SL:169\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:FF Y:B7 P:27 SP:F9 CYC:328 SL:169\nFAD3 60 RTS             PC:FAD4 A:FF X:FF Y:B7 P:27 SP:F9 CYC:334 SL:169\nED1A A5 LDA $47         PC:ED1B A:FF X:FF Y:B7 P:27 SP:FB CYC:11 SL:170\nED1C C9 CMP #$00        PC:ED1D A:00 X:FF Y:B7 P:27 SP:FB CYC:20 SL:170\nED1E F0 BEQ $ED22       PC:ED1F A:00 X:FF Y:B7 P:27 SP:FB CYC:26 SL:170\nED22 C8 INY             PC:ED23 A:00 X:FF Y:B7 P:27 SP:FB CYC:35 SL:170\nED23 A9 LDA #$37        PC:ED24 A:00 X:FF Y:B8 P:A5 SP:FB CYC:41 SL:170\nED25 85 STA $47         PC:ED26 A:37 X:FF Y:B8 P:25 SP:FB CYC:47 SL:170\nED27 20 JSR $FAD4       PC:ED28 A:37 X:FF Y:B8 P:25 SP:FB CYC:56 SL:170\nFAD4 24 BIT $01         PC:FAD5 A:37 X:FF Y:B8 P:25 SP:F9 CYC:74 SL:170\nFAD6 38 SEC             PC:FAD7 A:37 X:FF Y:B8 P:E5 SP:F9 CYC:83 SL:170\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:FF Y:B8 P:E5 SP:F9 CYC:89 SL:170\nFAD9 60 RTS             PC:FADA A:F0 X:FF Y:B8 P:E5 SP:F9 CYC:95 SL:170\nED2A F7 ISC $48,x       PC:ED2B A:F0 X:FF Y:B8 P:E5 SP:FB CYC:113 SL:170\nED2C EA NOP             PC:ED2D A:B8 X:FF Y:B8 P:A5 SP:FB CYC:131 SL:170\nED2D EA NOP             PC:ED2E A:B8 X:FF Y:B8 P:A5 SP:FB CYC:137 SL:170\nED2E EA NOP             PC:ED2F A:B8 X:FF Y:B8 P:A5 SP:FB CYC:143 SL:170\nED2F EA NOP             PC:ED30 A:B8 X:FF Y:B8 P:A5 SP:FB CYC:149 SL:170\nED30 20 JSR $FADA       PC:ED31 A:B8 X:FF Y:B8 P:A5 SP:FB CYC:155 SL:170\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:173 SL:170\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:179 SL:170\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:185 SL:170\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:191 SL:170\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:197 SL:170\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:FF Y:B8 P:27 SP:F9 CYC:203 SL:170\nFAE8 60 RTS             PC:FAE9 A:B8 X:FF Y:B8 P:27 SP:F9 CYC:212 SL:170\nED33 A5 LDA $47         PC:ED34 A:B8 X:FF Y:B8 P:27 SP:FB CYC:230 SL:170\nED35 C9 CMP #$38        PC:ED36 A:38 X:FF Y:B8 P:25 SP:FB CYC:239 SL:170\nED37 F0 BEQ $ED3B       PC:ED38 A:38 X:FF Y:B8 P:27 SP:FB CYC:245 SL:170\nED3B A9 LDA #$EB        PC:ED3C A:38 X:FF Y:B8 P:27 SP:FB CYC:254 SL:170\nED3D 8D STA $0647       PC:ED3E A:EB X:FF Y:B8 P:A5 SP:FB CYC:260 SL:170\nED40 A0 LDY #$FF        PC:ED41 A:EB X:FF Y:B8 P:A5 SP:FB CYC:272 SL:170\nED42 20 JSR $FAB1       PC:ED43 A:EB X:FF Y:FF P:A5 SP:FB CYC:278 SL:170\nFAB1 24 BIT $01         PC:FAB2 A:EB X:FF Y:FF P:A5 SP:F9 CYC:296 SL:170\nFAB3 18 CLC             PC:FAB4 A:EB X:FF Y:FF P:E5 SP:F9 CYC:305 SL:170\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:FF Y:FF P:E4 SP:F9 CYC:311 SL:170\nFAB6 60 RTS             PC:FAB7 A:40 X:FF Y:FF P:64 SP:F9 CYC:317 SL:170\nED45 FB ISC $0548,y     PC:ED46 A:40 X:FF Y:FF P:64 SP:FB CYC:335 SL:170\nED48 EA NOP             PC:ED49 A:53 X:FF Y:FF P:24 SP:FB CYC:15 SL:171\nED49 EA NOP             PC:ED4A A:53 X:FF Y:FF P:24 SP:FB CYC:21 SL:171\nED4A 08 PHP             PC:ED4B A:53 X:FF Y:FF P:24 SP:FB CYC:27 SL:171\nED4B 48 PHA             PC:ED4C A:53 X:FF Y:FF P:24 SP:FA CYC:36 SL:171\nED4C A0 LDY #$B9        PC:ED4D A:53 X:FF Y:FF P:24 SP:F9 CYC:45 SL:171\nED4E 68 PLA             PC:ED4F A:53 X:FF Y:B9 P:A4 SP:F9 CYC:51 SL:171\nED4F 28 PLP             PC:ED50 A:53 X:FF Y:B9 P:24 SP:FA CYC:63 SL:171\nED50 20 JSR $FAB7       PC:ED51 A:53 X:FF Y:B9 P:24 SP:FB CYC:75 SL:171\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:FF Y:B9 P:24 SP:F9 CYC:93 SL:171\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:FF Y:B9 P:24 SP:F9 CYC:99 SL:171\nFABB 30 BMI $FAE6       PC:FABC A:53 X:FF Y:B9 P:24 SP:F9 CYC:105 SL:171\nFABD C9 CMP #$53        PC:FABE A:53 X:FF Y:B9 P:24 SP:F9 CYC:111 SL:171\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:FF Y:B9 P:27 SP:F9 CYC:117 SL:171\nFAC1 60 RTS             PC:FAC2 A:53 X:FF Y:B9 P:27 SP:F9 CYC:123 SL:171\nED53 AD LDA $0647       PC:ED54 A:53 X:FF Y:B9 P:27 SP:FB CYC:141 SL:171\nED56 C9 CMP #$EC        PC:ED57 A:EC X:FF Y:B9 P:A5 SP:FB CYC:153 SL:171\nED58 F0 BEQ $ED5C       PC:ED59 A:EC X:FF Y:B9 P:27 SP:FB CYC:159 SL:171\nED5C A0 LDY #$FF        PC:ED5D A:EC X:FF Y:B9 P:27 SP:FB CYC:168 SL:171\nED5E A9 LDA #$FF        PC:ED5F A:EC X:FF Y:FF P:A5 SP:FB CYC:174 SL:171\nED60 8D STA $0647       PC:ED61 A:FF X:FF Y:FF P:A5 SP:FB CYC:180 SL:171\nED63 20 JSR $FAC2       PC:ED64 A:FF X:FF Y:FF P:A5 SP:FB CYC:192 SL:171\nFAC2 B8 CLV             PC:FAC3 A:FF X:FF Y:FF P:A5 SP:F9 CYC:210 SL:171\nFAC3 38 SEC             PC:FAC4 A:FF X:FF Y:FF P:A5 SP:F9 CYC:216 SL:171\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:FF Y:FF P:A5 SP:F9 CYC:222 SL:171\nFAC6 60 RTS             PC:FAC7 A:FF X:FF Y:FF P:A5 SP:F9 CYC:228 SL:171\nED66 FB ISC $0548,y     PC:ED67 A:FF X:FF Y:FF P:A5 SP:FB CYC:246 SL:171\nED69 EA NOP             PC:ED6A A:FF X:FF Y:FF P:A5 SP:FB CYC:267 SL:171\nED6A EA NOP             PC:ED6B A:FF X:FF Y:FF P:A5 SP:FB CYC:273 SL:171\nED6B 08 PHP             PC:ED6C A:FF X:FF Y:FF P:A5 SP:FB CYC:279 SL:171\nED6C 48 PHA             PC:ED6D A:FF X:FF Y:FF P:A5 SP:FA CYC:288 SL:171\nED6D A0 LDY #$BA        PC:ED6E A:FF X:FF Y:FF P:A5 SP:F9 CYC:297 SL:171\nED6F 68 PLA             PC:ED70 A:FF X:FF Y:BA P:A5 SP:F9 CYC:303 SL:171\nED70 28 PLP             PC:ED71 A:FF X:FF Y:BA P:A5 SP:FA CYC:315 SL:171\nED71 20 JSR $FAC7       PC:ED72 A:FF X:FF Y:BA P:A5 SP:FB CYC:327 SL:171\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:FF Y:BA P:A5 SP:F9 CYC:4 SL:172\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:FF Y:BA P:A5 SP:F9 CYC:10 SL:172\nFACB 10 BPL $FAE6       PC:FACC A:FF X:FF Y:BA P:A5 SP:F9 CYC:16 SL:172\nFACD 90 BCC $FAE6       PC:FACE A:FF X:FF Y:BA P:A5 SP:F9 CYC:22 SL:172\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:FF Y:BA P:A5 SP:F9 CYC:28 SL:172\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:FF Y:BA P:27 SP:F9 CYC:34 SL:172\nFAD3 60 RTS             PC:FAD4 A:FF X:FF Y:BA P:27 SP:F9 CYC:40 SL:172\nED74 AD LDA $0647       PC:ED75 A:FF X:FF Y:BA P:27 SP:FB CYC:58 SL:172\nED77 C9 CMP #$00        PC:ED78 A:00 X:FF Y:BA P:27 SP:FB CYC:70 SL:172\nED79 F0 BEQ $ED7D       PC:ED7A A:00 X:FF Y:BA P:27 SP:FB CYC:76 SL:172\nED7D A0 LDY #$FF        PC:ED7E A:00 X:FF Y:BA P:27 SP:FB CYC:85 SL:172\nED7F A9 LDA #$37        PC:ED80 A:00 X:FF Y:FF P:A5 SP:FB CYC:91 SL:172\nED81 8D STA $0647       PC:ED82 A:37 X:FF Y:FF P:25 SP:FB CYC:97 SL:172\nED84 20 JSR $FAD4       PC:ED85 A:37 X:FF Y:FF P:25 SP:FB CYC:109 SL:172\nFAD4 24 BIT $01         PC:FAD5 A:37 X:FF Y:FF P:25 SP:F9 CYC:127 SL:172\nFAD6 38 SEC             PC:FAD7 A:37 X:FF Y:FF P:E5 SP:F9 CYC:136 SL:172\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:FF Y:FF P:E5 SP:F9 CYC:142 SL:172\nFAD9 60 RTS             PC:FADA A:F0 X:FF Y:FF P:E5 SP:F9 CYC:148 SL:172\nED87 FB ISC $0548,y     PC:ED88 A:F0 X:FF Y:FF P:E5 SP:FB CYC:166 SL:172\nED8A EA NOP             PC:ED8B A:B8 X:FF Y:FF P:A5 SP:FB CYC:187 SL:172\nED8B EA NOP             PC:ED8C A:B8 X:FF Y:FF P:A5 SP:FB CYC:193 SL:172\nED8C 08 PHP             PC:ED8D A:B8 X:FF Y:FF P:A5 SP:FB CYC:199 SL:172\nED8D 48 PHA             PC:ED8E A:B8 X:FF Y:FF P:A5 SP:FA CYC:208 SL:172\nED8E A0 LDY #$BB        PC:ED8F A:B8 X:FF Y:FF P:A5 SP:F9 CYC:217 SL:172\nED90 68 PLA             PC:ED91 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:223 SL:172\nED91 28 PLP             PC:ED92 A:B8 X:FF Y:BB P:A5 SP:FA CYC:235 SL:172\nED92 20 JSR $FADA       PC:ED93 A:B8 X:FF Y:BB P:A5 SP:FB CYC:247 SL:172\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:FF Y:BB P:A5 SP:F9 CYC:265 SL:172\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:FF Y:BB P:A5 SP:F9 CYC:271 SL:172\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:FF Y:BB P:A5 SP:F9 CYC:277 SL:172\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:283 SL:172\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:FF Y:BB P:A5 SP:F9 CYC:289 SL:172\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:FF Y:BB P:27 SP:F9 CYC:295 SL:172\nFAE8 60 RTS             PC:FAE9 A:B8 X:FF Y:BB P:27 SP:F9 CYC:304 SL:172\nED95 AD LDA $0647       PC:ED96 A:B8 X:FF Y:BB P:27 SP:FB CYC:322 SL:172\nED98 C9 CMP #$38        PC:ED99 A:38 X:FF Y:BB P:25 SP:FB CYC:334 SL:172\nED9A F0 BEQ $ED9E       PC:ED9B A:38 X:FF Y:BB P:27 SP:FB CYC:340 SL:172\nED9E A0 LDY #$BC        PC:ED9F A:38 X:FF Y:BB P:27 SP:FB CYC:8 SL:173\nEDA0 A2 LDX #$FF        PC:EDA1 A:38 X:FF Y:BC P:A5 SP:FB CYC:14 SL:173\nEDA2 A9 LDA #$EB        PC:EDA3 A:38 X:FF Y:BC P:A5 SP:FB CYC:20 SL:173\nEDA4 8D STA $0647       PC:EDA5 A:EB X:FF Y:BC P:A5 SP:FB CYC:26 SL:173\nEDA7 20 JSR $FAB1       PC:EDA8 A:EB X:FF Y:BC P:A5 SP:FB CYC:38 SL:173\nFAB1 24 BIT $01         PC:FAB2 A:EB X:FF Y:BC P:A5 SP:F9 CYC:56 SL:173\nFAB3 18 CLC             PC:FAB4 A:EB X:FF Y:BC P:E5 SP:F9 CYC:65 SL:173\nFAB4 A9 LDA #$40        PC:FAB5 A:EB X:FF Y:BC P:E4 SP:F9 CYC:71 SL:173\nFAB6 60 RTS             PC:FAB7 A:40 X:FF Y:BC P:64 SP:F9 CYC:77 SL:173\nEDAA FF ISC $0548,x     PC:EDAB A:40 X:FF Y:BC P:64 SP:FB CYC:95 SL:173\nEDAD EA NOP             PC:EDAE A:53 X:FF Y:BC P:24 SP:FB CYC:116 SL:173\nEDAE EA NOP             PC:EDAF A:53 X:FF Y:BC P:24 SP:FB CYC:122 SL:173\nEDAF EA NOP             PC:EDB0 A:53 X:FF Y:BC P:24 SP:FB CYC:128 SL:173\nEDB0 EA NOP             PC:EDB1 A:53 X:FF Y:BC P:24 SP:FB CYC:134 SL:173\nEDB1 20 JSR $FAB7       PC:EDB2 A:53 X:FF Y:BC P:24 SP:FB CYC:140 SL:173\nFAB7 70 BVS $FAE6       PC:FAB8 A:53 X:FF Y:BC P:24 SP:F9 CYC:158 SL:173\nFAB9 B0 BCS $FAE6       PC:FABA A:53 X:FF Y:BC P:24 SP:F9 CYC:164 SL:173\nFABB 30 BMI $FAE6       PC:FABC A:53 X:FF Y:BC P:24 SP:F9 CYC:170 SL:173\nFABD C9 CMP #$53        PC:FABE A:53 X:FF Y:BC P:24 SP:F9 CYC:176 SL:173\nFABF D0 BNE $FAE6       PC:FAC0 A:53 X:FF Y:BC P:27 SP:F9 CYC:182 SL:173\nFAC1 60 RTS             PC:FAC2 A:53 X:FF Y:BC P:27 SP:F9 CYC:188 SL:173\nEDB4 AD LDA $0647       PC:EDB5 A:53 X:FF Y:BC P:27 SP:FB CYC:206 SL:173\nEDB7 C9 CMP #$EC        PC:EDB8 A:EC X:FF Y:BC P:A5 SP:FB CYC:218 SL:173\nEDB9 F0 BEQ $EDBD       PC:EDBA A:EC X:FF Y:BC P:27 SP:FB CYC:224 SL:173\nEDBD C8 INY             PC:EDBE A:EC X:FF Y:BC P:27 SP:FB CYC:233 SL:173\nEDBE A9 LDA #$FF        PC:EDBF A:EC X:FF Y:BD P:A5 SP:FB CYC:239 SL:173\nEDC0 8D STA $0647       PC:EDC1 A:FF X:FF Y:BD P:A5 SP:FB CYC:245 SL:173\nEDC3 20 JSR $FAC2       PC:EDC4 A:FF X:FF Y:BD P:A5 SP:FB CYC:257 SL:173\nFAC2 B8 CLV             PC:FAC3 A:FF X:FF Y:BD P:A5 SP:F9 CYC:275 SL:173\nFAC3 38 SEC             PC:FAC4 A:FF X:FF Y:BD P:A5 SP:F9 CYC:281 SL:173\nFAC4 A9 LDA #$FF        PC:FAC5 A:FF X:FF Y:BD P:A5 SP:F9 CYC:287 SL:173\nFAC6 60 RTS             PC:FAC7 A:FF X:FF Y:BD P:A5 SP:F9 CYC:293 SL:173\nEDC6 FF ISC $0548,x     PC:EDC7 A:FF X:FF Y:BD P:A5 SP:FB CYC:311 SL:173\nEDC9 EA NOP             PC:EDCA A:FF X:FF Y:BD P:A5 SP:FB CYC:332 SL:173\nEDCA EA NOP             PC:EDCB A:FF X:FF Y:BD P:A5 SP:FB CYC:338 SL:173\nEDCB EA NOP             PC:EDCC A:FF X:FF Y:BD P:A5 SP:FB CYC:3 SL:174\nEDCC EA NOP             PC:EDCD A:FF X:FF Y:BD P:A5 SP:FB CYC:9 SL:174\nEDCD 20 JSR $FAC7       PC:EDCE A:FF X:FF Y:BD P:A5 SP:FB CYC:15 SL:174\nFAC7 70 BVS $FAE6       PC:FAC8 A:FF X:FF Y:BD P:A5 SP:F9 CYC:33 SL:174\nFAC9 F0 BEQ $FAE6       PC:FACA A:FF X:FF Y:BD P:A5 SP:F9 CYC:39 SL:174\nFACB 10 BPL $FAE6       PC:FACC A:FF X:FF Y:BD P:A5 SP:F9 CYC:45 SL:174\nFACD 90 BCC $FAE6       PC:FACE A:FF X:FF Y:BD P:A5 SP:F9 CYC:51 SL:174\nFACF C9 CMP #$FF        PC:FAD0 A:FF X:FF Y:BD P:A5 SP:F9 CYC:57 SL:174\nFAD1 D0 BNE $FAE6       PC:FAD2 A:FF X:FF Y:BD P:27 SP:F9 CYC:63 SL:174\nFAD3 60 RTS             PC:FAD4 A:FF X:FF Y:BD P:27 SP:F9 CYC:69 SL:174\nEDD0 AD LDA $0647       PC:EDD1 A:FF X:FF Y:BD P:27 SP:FB CYC:87 SL:174\nEDD3 C9 CMP #$00        PC:EDD4 A:00 X:FF Y:BD P:27 SP:FB CYC:99 SL:174\nEDD5 F0 BEQ $EDD9       PC:EDD6 A:00 X:FF Y:BD P:27 SP:FB CYC:105 SL:174\nEDD9 C8 INY             PC:EDDA A:00 X:FF Y:BD P:27 SP:FB CYC:114 SL:174\nEDDA A9 LDA #$37        PC:EDDB A:00 X:FF Y:BE P:A5 SP:FB CYC:120 SL:174\nEDDC 8D STA $0647       PC:EDDD A:37 X:FF Y:BE P:25 SP:FB CYC:126 SL:174\nEDDF 20 JSR $FAD4       PC:EDE0 A:37 X:FF Y:BE P:25 SP:FB CYC:138 SL:174\nFAD4 24 BIT $01         PC:FAD5 A:37 X:FF Y:BE P:25 SP:F9 CYC:156 SL:174\nFAD6 38 SEC             PC:FAD7 A:37 X:FF Y:BE P:E5 SP:F9 CYC:165 SL:174\nFAD7 A9 LDA #$F0        PC:FAD8 A:37 X:FF Y:BE P:E5 SP:F9 CYC:171 SL:174\nFAD9 60 RTS             PC:FADA A:F0 X:FF Y:BE P:E5 SP:F9 CYC:177 SL:174\nEDE2 FF ISC $0548,x     PC:EDE3 A:F0 X:FF Y:BE P:E5 SP:FB CYC:195 SL:174\nEDE5 EA NOP             PC:EDE6 A:B8 X:FF Y:BE P:A5 SP:FB CYC:216 SL:174\nEDE6 EA NOP             PC:EDE7 A:B8 X:FF Y:BE P:A5 SP:FB CYC:222 SL:174\nEDE7 EA NOP             PC:EDE8 A:B8 X:FF Y:BE P:A5 SP:FB CYC:228 SL:174\nEDE8 EA NOP             PC:EDE9 A:B8 X:FF Y:BE P:A5 SP:FB CYC:234 SL:174\nEDE9 20 JSR $FADA       PC:EDEA A:B8 X:FF Y:BE P:A5 SP:FB CYC:240 SL:174\nFADA 70 BVS $FAE6       PC:FADB A:B8 X:FF Y:BE P:A5 SP:F9 CYC:258 SL:174\nFADC F0 BEQ $FAE6       PC:FADD A:B8 X:FF Y:BE P:A5 SP:F9 CYC:264 SL:174\nFADE 10 BPL $FAE6       PC:FADF A:B8 X:FF Y:BE P:A5 SP:F9 CYC:270 SL:174\nFAE0 90 BCC $FAE6       PC:FAE1 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:276 SL:174\nFAE2 C9 CMP #$B8        PC:FAE3 A:B8 X:FF Y:BE P:A5 SP:F9 CYC:282 SL:174\nFAE4 F0 BEQ $FAE8       PC:FAE5 A:B8 X:FF Y:BE P:27 SP:F9 CYC:288 SL:174\nFAE8 60 RTS             PC:FAE9 A:B8 X:FF Y:BE P:27 SP:F9 CYC:297 SL:174\nEDEC AD LDA $0647       PC:EDED A:B8 X:FF Y:BE P:27 SP:FB CYC:315 SL:174\nEDEF C9 CMP #$38        PC:EDF0 A:38 X:FF Y:BE P:25 SP:FB CYC:327 SL:174\nEDF1 F0 BEQ $EDF5       PC:EDF2 A:38 X:FF Y:BE P:27 SP:FB CYC:333 SL:174\nEDF5 60 RTS             PC:EDF6 A:38 X:FF Y:BE P:27 SP:FB CYC:1 SL:175\nC641 20 JSR $EDF6       PC:C642 A:38 X:FF Y:BE P:27 SP:FD CYC:19 SL:175\nEDF6 A9 LDA #$FF        PC:EDF7 A:38 X:FF Y:BE P:27 SP:FB CYC:37 SL:175\nEDF8 85 STA $01         PC:EDF9 A:FF X:FF Y:BE P:A5 SP:FB CYC:43 SL:175\nEDFA A0 LDY #$BF        PC:EDFB A:FF X:FF Y:BE P:A5 SP:FB CYC:52 SL:175\nEDFC A2 LDX #$02        PC:EDFD A:FF X:FF Y:BF P:A5 SP:FB CYC:58 SL:175\nEDFE A9 LDA #$47        PC:EDFF A:FF X:02 Y:BF P:25 SP:FB CYC:64 SL:175\nEE00 85 STA $47         PC:EE01 A:47 X:02 Y:BF P:25 SP:FB CYC:70 SL:175\nEE02 A9 LDA #$06        PC:EE03 A:47 X:02 Y:BF P:25 SP:FB CYC:79 SL:175\nEE04 85 STA $48         PC:EE05 A:06 X:02 Y:BF P:25 SP:FB CYC:85 SL:175\nEE06 A9 LDA #$A5        PC:EE07 A:06 X:02 Y:BF P:25 SP:FB CYC:94 SL:175\nEE08 8D STA $0647       PC:EE09 A:A5 X:02 Y:BF P:A5 SP:FB CYC:100 SL:175\nEE0B 20 JSR $FA7B       PC:EE0C A:A5 X:02 Y:BF P:A5 SP:FB CYC:112 SL:175\nFA7B 24 BIT $01         PC:FA7C A:A5 X:02 Y:BF P:A5 SP:F9 CYC:130 SL:175\nFA7D 18 CLC             PC:FA7E A:A5 X:02 Y:BF P:E5 SP:F9 CYC:139 SL:175\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:02 Y:BF P:E4 SP:F9 CYC:145 SL:175\nFA80 60 RTS             PC:FA81 A:B3 X:02 Y:BF P:E4 SP:F9 CYC:151 SL:175\nEE0E 03 SLO $(EA45,x)   PC:EE0F A:B3 X:02 Y:BF P:E4 SP:FB CYC:169 SL:175\nEE10 EA NOP             PC:EE11 A:FB X:02 Y:BF P:E5 SP:FB CYC:193 SL:175\nEE11 EA NOP             PC:EE12 A:FB X:02 Y:BF P:E5 SP:FB CYC:199 SL:175\nEE12 EA NOP             PC:EE13 A:FB X:02 Y:BF P:E5 SP:FB CYC:205 SL:175\nEE13 EA NOP             PC:EE14 A:FB X:02 Y:BF P:E5 SP:FB CYC:211 SL:175\nEE14 20 JSR $FA81       PC:EE15 A:FB X:02 Y:BF P:E5 SP:FB CYC:217 SL:175\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:02 Y:BF P:E5 SP:F9 CYC:235 SL:175\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:02 Y:BF P:E5 SP:F9 CYC:241 SL:175\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:02 Y:BF P:E5 SP:F9 CYC:247 SL:175\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:02 Y:BF P:E5 SP:F9 CYC:253 SL:175\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:02 Y:BF P:67 SP:F9 CYC:259 SL:175\nFA8B 60 RTS             PC:FA8C A:FB X:02 Y:BF P:67 SP:F9 CYC:265 SL:175\nEE17 AD LDA $0647       PC:EE18 A:FB X:02 Y:BF P:67 SP:FB CYC:283 SL:175\nEE1A C9 CMP #$4A        PC:EE1B A:4A X:02 Y:BF P:65 SP:FB CYC:295 SL:175\nEE1C F0 BEQ $EE20       PC:EE1D A:4A X:02 Y:BF P:67 SP:FB CYC:301 SL:175\nEE20 C8 INY             PC:EE21 A:4A X:02 Y:BF P:67 SP:FB CYC:310 SL:175\nEE21 A9 LDA #$29        PC:EE22 A:4A X:02 Y:C0 P:E5 SP:FB CYC:316 SL:175\nEE23 8D STA $0647       PC:EE24 A:29 X:02 Y:C0 P:65 SP:FB CYC:322 SL:175\nEE26 20 JSR $FA8C       PC:EE27 A:29 X:02 Y:C0 P:65 SP:FB CYC:334 SL:175\nFA8C B8 CLV             PC:FA8D A:29 X:02 Y:C0 P:65 SP:F9 CYC:11 SL:176\nFA8D 18 CLC             PC:FA8E A:29 X:02 Y:C0 P:25 SP:F9 CYC:17 SL:176\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:02 Y:C0 P:24 SP:F9 CYC:23 SL:176\nFA90 60 RTS             PC:FA91 A:C3 X:02 Y:C0 P:A4 SP:F9 CYC:29 SL:176\nEE29 03 SLO $(EA45,x)   PC:EE2A A:C3 X:02 Y:C0 P:A4 SP:FB CYC:47 SL:176\nEE2B EA NOP             PC:EE2C A:D3 X:02 Y:C0 P:A4 SP:FB CYC:71 SL:176\nEE2C EA NOP             PC:EE2D A:D3 X:02 Y:C0 P:A4 SP:FB CYC:77 SL:176\nEE2D EA NOP             PC:EE2E A:D3 X:02 Y:C0 P:A4 SP:FB CYC:83 SL:176\nEE2E EA NOP             PC:EE2F A:D3 X:02 Y:C0 P:A4 SP:FB CYC:89 SL:176\nEE2F 20 JSR $FA91       PC:EE30 A:D3 X:02 Y:C0 P:A4 SP:FB CYC:95 SL:176\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:113 SL:176\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:119 SL:176\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:125 SL:176\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:131 SL:176\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:137 SL:176\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:02 Y:C0 P:27 SP:F9 CYC:143 SL:176\nFA9D 60 RTS             PC:FA9E A:D3 X:02 Y:C0 P:27 SP:F9 CYC:149 SL:176\nEE32 AD LDA $0647       PC:EE33 A:D3 X:02 Y:C0 P:27 SP:FB CYC:167 SL:176\nEE35 C9 CMP #$52        PC:EE36 A:52 X:02 Y:C0 P:25 SP:FB CYC:179 SL:176\nEE37 F0 BEQ $EE3B       PC:EE38 A:52 X:02 Y:C0 P:27 SP:FB CYC:185 SL:176\nEE3B C8 INY             PC:EE3C A:52 X:02 Y:C0 P:27 SP:FB CYC:194 SL:176\nEE3C A9 LDA #$37        PC:EE3D A:52 X:02 Y:C1 P:A5 SP:FB CYC:200 SL:176\nEE3E 8D STA $0647       PC:EE3F A:37 X:02 Y:C1 P:25 SP:FB CYC:206 SL:176\nEE41 20 JSR $FA9E       PC:EE42 A:37 X:02 Y:C1 P:25 SP:FB CYC:218 SL:176\nFA9E 24 BIT $01         PC:FA9F A:37 X:02 Y:C1 P:25 SP:F9 CYC:236 SL:176\nFAA0 38 SEC             PC:FAA1 A:37 X:02 Y:C1 P:E5 SP:F9 CYC:245 SL:176\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:02 Y:C1 P:E5 SP:F9 CYC:251 SL:176\nFAA3 60 RTS             PC:FAA4 A:10 X:02 Y:C1 P:65 SP:F9 CYC:257 SL:176\nEE44 03 SLO $(EA45,x)   PC:EE45 A:10 X:02 Y:C1 P:65 SP:FB CYC:275 SL:176\nEE46 EA NOP             PC:EE47 A:7E X:02 Y:C1 P:64 SP:FB CYC:299 SL:176\nEE47 EA NOP             PC:EE48 A:7E X:02 Y:C1 P:64 SP:FB CYC:305 SL:176\nEE48 EA NOP             PC:EE49 A:7E X:02 Y:C1 P:64 SP:FB CYC:311 SL:176\nEE49 EA NOP             PC:EE4A A:7E X:02 Y:C1 P:64 SP:FB CYC:317 SL:176\nEE4A 20 JSR $FAA4       PC:EE4B A:7E X:02 Y:C1 P:64 SP:FB CYC:323 SL:176\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:02 Y:C1 P:64 SP:F9 CYC:0 SL:177\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:02 Y:C1 P:64 SP:F9 CYC:6 SL:177\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:02 Y:C1 P:64 SP:F9 CYC:12 SL:177\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:02 Y:C1 P:64 SP:F9 CYC:18 SL:177\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:02 Y:C1 P:64 SP:F9 CYC:24 SL:177\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:02 Y:C1 P:67 SP:F9 CYC:30 SL:177\nFAB0 60 RTS             PC:FAB1 A:7E X:02 Y:C1 P:67 SP:F9 CYC:36 SL:177\nEE4D AD LDA $0647       PC:EE4E A:7E X:02 Y:C1 P:67 SP:FB CYC:54 SL:177\nEE50 C9 CMP #$6E        PC:EE51 A:6E X:02 Y:C1 P:65 SP:FB CYC:66 SL:177\nEE52 F0 BEQ $EE56       PC:EE53 A:6E X:02 Y:C1 P:67 SP:FB CYC:72 SL:177\nEE56 C8 INY             PC:EE57 A:6E X:02 Y:C1 P:67 SP:FB CYC:81 SL:177\nEE57 A9 LDA #$A5        PC:EE58 A:6E X:02 Y:C2 P:E5 SP:FB CYC:87 SL:177\nEE59 85 STA $47         PC:EE5A A:A5 X:02 Y:C2 P:E5 SP:FB CYC:93 SL:177\nEE5B 20 JSR $FA7B       PC:EE5C A:A5 X:02 Y:C2 P:E5 SP:FB CYC:102 SL:177\nFA7B 24 BIT $01         PC:FA7C A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:120 SL:177\nFA7D 18 CLC             PC:FA7E A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:129 SL:177\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:02 Y:C2 P:E4 SP:F9 CYC:135 SL:177\nFA80 60 RTS             PC:FA81 A:B3 X:02 Y:C2 P:E4 SP:F9 CYC:141 SL:177\nEE5E 07 SLO $47         PC:EE5F A:B3 X:02 Y:C2 P:E4 SP:FB CYC:159 SL:177\nEE60 EA NOP             PC:EE61 A:FB X:02 Y:C2 P:E5 SP:FB CYC:174 SL:177\nEE61 EA NOP             PC:EE62 A:FB X:02 Y:C2 P:E5 SP:FB CYC:180 SL:177\nEE62 EA NOP             PC:EE63 A:FB X:02 Y:C2 P:E5 SP:FB CYC:186 SL:177\nEE63 EA NOP             PC:EE64 A:FB X:02 Y:C2 P:E5 SP:FB CYC:192 SL:177\nEE64 20 JSR $FA81       PC:EE65 A:FB X:02 Y:C2 P:E5 SP:FB CYC:198 SL:177\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:216 SL:177\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:222 SL:177\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:228 SL:177\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:02 Y:C2 P:E5 SP:F9 CYC:234 SL:177\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:02 Y:C2 P:67 SP:F9 CYC:240 SL:177\nFA8B 60 RTS             PC:FA8C A:FB X:02 Y:C2 P:67 SP:F9 CYC:246 SL:177\nEE67 A5 LDA $47         PC:EE68 A:FB X:02 Y:C2 P:67 SP:FB CYC:264 SL:177\nEE69 C9 CMP #$4A        PC:EE6A A:4A X:02 Y:C2 P:65 SP:FB CYC:273 SL:177\nEE6B F0 BEQ $EE6F       PC:EE6C A:4A X:02 Y:C2 P:67 SP:FB CYC:279 SL:177\nEE6F C8 INY             PC:EE70 A:4A X:02 Y:C2 P:67 SP:FB CYC:288 SL:177\nEE70 A9 LDA #$29        PC:EE71 A:4A X:02 Y:C3 P:E5 SP:FB CYC:294 SL:177\nEE72 85 STA $47         PC:EE73 A:29 X:02 Y:C3 P:65 SP:FB CYC:300 SL:177\nEE74 20 JSR $FA8C       PC:EE75 A:29 X:02 Y:C3 P:65 SP:FB CYC:309 SL:177\nFA8C B8 CLV             PC:FA8D A:29 X:02 Y:C3 P:65 SP:F9 CYC:327 SL:177\nFA8D 18 CLC             PC:FA8E A:29 X:02 Y:C3 P:25 SP:F9 CYC:333 SL:177\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:02 Y:C3 P:24 SP:F9 CYC:339 SL:177\nFA90 60 RTS             PC:FA91 A:C3 X:02 Y:C3 P:A4 SP:F9 CYC:4 SL:178\nEE77 07 SLO $47         PC:EE78 A:C3 X:02 Y:C3 P:A4 SP:FB CYC:22 SL:178\nEE79 EA NOP             PC:EE7A A:D3 X:02 Y:C3 P:A4 SP:FB CYC:37 SL:178\nEE7A EA NOP             PC:EE7B A:D3 X:02 Y:C3 P:A4 SP:FB CYC:43 SL:178\nEE7B EA NOP             PC:EE7C A:D3 X:02 Y:C3 P:A4 SP:FB CYC:49 SL:178\nEE7C EA NOP             PC:EE7D A:D3 X:02 Y:C3 P:A4 SP:FB CYC:55 SL:178\nEE7D 20 JSR $FA91       PC:EE7E A:D3 X:02 Y:C3 P:A4 SP:FB CYC:61 SL:178\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:79 SL:178\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:85 SL:178\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:91 SL:178\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:97 SL:178\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:103 SL:178\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:02 Y:C3 P:27 SP:F9 CYC:109 SL:178\nFA9D 60 RTS             PC:FA9E A:D3 X:02 Y:C3 P:27 SP:F9 CYC:115 SL:178\nEE80 A5 LDA $47         PC:EE81 A:D3 X:02 Y:C3 P:27 SP:FB CYC:133 SL:178\nEE82 C9 CMP #$52        PC:EE83 A:52 X:02 Y:C3 P:25 SP:FB CYC:142 SL:178\nEE84 F0 BEQ $EE88       PC:EE85 A:52 X:02 Y:C3 P:27 SP:FB CYC:148 SL:178\nEE88 C8 INY             PC:EE89 A:52 X:02 Y:C3 P:27 SP:FB CYC:157 SL:178\nEE89 A9 LDA #$37        PC:EE8A A:52 X:02 Y:C4 P:A5 SP:FB CYC:163 SL:178\nEE8B 85 STA $47         PC:EE8C A:37 X:02 Y:C4 P:25 SP:FB CYC:169 SL:178\nEE8D 20 JSR $FA9E       PC:EE8E A:37 X:02 Y:C4 P:25 SP:FB CYC:178 SL:178\nFA9E 24 BIT $01         PC:FA9F A:37 X:02 Y:C4 P:25 SP:F9 CYC:196 SL:178\nFAA0 38 SEC             PC:FAA1 A:37 X:02 Y:C4 P:E5 SP:F9 CYC:205 SL:178\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:02 Y:C4 P:E5 SP:F9 CYC:211 SL:178\nFAA3 60 RTS             PC:FAA4 A:10 X:02 Y:C4 P:65 SP:F9 CYC:217 SL:178\nEE90 07 SLO $47         PC:EE91 A:10 X:02 Y:C4 P:65 SP:FB CYC:235 SL:178\nEE92 EA NOP             PC:EE93 A:7E X:02 Y:C4 P:64 SP:FB CYC:250 SL:178\nEE93 EA NOP             PC:EE94 A:7E X:02 Y:C4 P:64 SP:FB CYC:256 SL:178\nEE94 EA NOP             PC:EE95 A:7E X:02 Y:C4 P:64 SP:FB CYC:262 SL:178\nEE95 EA NOP             PC:EE96 A:7E X:02 Y:C4 P:64 SP:FB CYC:268 SL:178\nEE96 20 JSR $FAA4       PC:EE97 A:7E X:02 Y:C4 P:64 SP:FB CYC:274 SL:178\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:02 Y:C4 P:64 SP:F9 CYC:292 SL:178\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:02 Y:C4 P:64 SP:F9 CYC:298 SL:178\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:02 Y:C4 P:64 SP:F9 CYC:304 SL:178\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:02 Y:C4 P:64 SP:F9 CYC:310 SL:178\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:02 Y:C4 P:64 SP:F9 CYC:316 SL:178\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:02 Y:C4 P:67 SP:F9 CYC:322 SL:178\nFAB0 60 RTS             PC:FAB1 A:7E X:02 Y:C4 P:67 SP:F9 CYC:328 SL:178\nEE99 A5 LDA $47         PC:EE9A A:7E X:02 Y:C4 P:67 SP:FB CYC:5 SL:179\nEE9B C9 CMP #$6E        PC:EE9C A:6E X:02 Y:C4 P:65 SP:FB CYC:14 SL:179\nEE9D F0 BEQ $EEA1       PC:EE9E A:6E X:02 Y:C4 P:67 SP:FB CYC:20 SL:179\nEEA1 C8 INY             PC:EEA2 A:6E X:02 Y:C4 P:67 SP:FB CYC:29 SL:179\nEEA2 A9 LDA #$A5        PC:EEA3 A:6E X:02 Y:C5 P:E5 SP:FB CYC:35 SL:179\nEEA4 8D STA $0647       PC:EEA5 A:A5 X:02 Y:C5 P:E5 SP:FB CYC:41 SL:179\nEEA7 20 JSR $FA7B       PC:EEA8 A:A5 X:02 Y:C5 P:E5 SP:FB CYC:53 SL:179\nFA7B 24 BIT $01         PC:FA7C A:A5 X:02 Y:C5 P:E5 SP:F9 CYC:71 SL:179\nFA7D 18 CLC             PC:FA7E A:A5 X:02 Y:C5 P:E5 SP:F9 CYC:80 SL:179\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:02 Y:C5 P:E4 SP:F9 CYC:86 SL:179\nFA80 60 RTS             PC:FA81 A:B3 X:02 Y:C5 P:E4 SP:F9 CYC:92 SL:179\nEEAA 0F SLO $0647       PC:EEAB A:B3 X:02 Y:C5 P:E4 SP:FB CYC:110 SL:179\nEEAD EA NOP             PC:EEAE A:FB X:02 Y:C5 P:E5 SP:FB CYC:128 SL:179\nEEAE EA NOP             PC:EEAF A:FB X:02 Y:C5 P:E5 SP:FB CYC:134 SL:179\nEEAF EA NOP             PC:EEB0 A:FB X:02 Y:C5 P:E5 SP:FB CYC:140 SL:179\nEEB0 EA NOP             PC:EEB1 A:FB X:02 Y:C5 P:E5 SP:FB CYC:146 SL:179\nEEB1 20 JSR $FA81       PC:EEB2 A:FB X:02 Y:C5 P:E5 SP:FB CYC:152 SL:179\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:170 SL:179\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:176 SL:179\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:182 SL:179\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:02 Y:C5 P:E5 SP:F9 CYC:188 SL:179\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:02 Y:C5 P:67 SP:F9 CYC:194 SL:179\nFA8B 60 RTS             PC:FA8C A:FB X:02 Y:C5 P:67 SP:F9 CYC:200 SL:179\nEEB4 AD LDA $0647       PC:EEB5 A:FB X:02 Y:C5 P:67 SP:FB CYC:218 SL:179\nEEB7 C9 CMP #$4A        PC:EEB8 A:4A X:02 Y:C5 P:65 SP:FB CYC:230 SL:179\nEEB9 F0 BEQ $EEBD       PC:EEBA A:4A X:02 Y:C5 P:67 SP:FB CYC:236 SL:179\nEEBD C8 INY             PC:EEBE A:4A X:02 Y:C5 P:67 SP:FB CYC:245 SL:179\nEEBE A9 LDA #$29        PC:EEBF A:4A X:02 Y:C6 P:E5 SP:FB CYC:251 SL:179\nEEC0 8D STA $0647       PC:EEC1 A:29 X:02 Y:C6 P:65 SP:FB CYC:257 SL:179\nEEC3 20 JSR $FA8C       PC:EEC4 A:29 X:02 Y:C6 P:65 SP:FB CYC:269 SL:179\nFA8C B8 CLV             PC:FA8D A:29 X:02 Y:C6 P:65 SP:F9 CYC:287 SL:179\nFA8D 18 CLC             PC:FA8E A:29 X:02 Y:C6 P:25 SP:F9 CYC:293 SL:179\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:02 Y:C6 P:24 SP:F9 CYC:299 SL:179\nFA90 60 RTS             PC:FA91 A:C3 X:02 Y:C6 P:A4 SP:F9 CYC:305 SL:179\nEEC6 0F SLO $0647       PC:EEC7 A:C3 X:02 Y:C6 P:A4 SP:FB CYC:323 SL:179\nEEC9 EA NOP             PC:EECA A:D3 X:02 Y:C6 P:A4 SP:FB CYC:0 SL:180\nEECA EA NOP             PC:EECB A:D3 X:02 Y:C6 P:A4 SP:FB CYC:6 SL:180\nEECB EA NOP             PC:EECC A:D3 X:02 Y:C6 P:A4 SP:FB CYC:12 SL:180\nEECC EA NOP             PC:EECD A:D3 X:02 Y:C6 P:A4 SP:FB CYC:18 SL:180\nEECD 20 JSR $FA91       PC:EECE A:D3 X:02 Y:C6 P:A4 SP:FB CYC:24 SL:180\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:42 SL:180\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:48 SL:180\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:54 SL:180\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:60 SL:180\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:02 Y:C6 P:A4 SP:F9 CYC:66 SL:180\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:02 Y:C6 P:27 SP:F9 CYC:72 SL:180\nFA9D 60 RTS             PC:FA9E A:D3 X:02 Y:C6 P:27 SP:F9 CYC:78 SL:180\nEED0 AD LDA $0647       PC:EED1 A:D3 X:02 Y:C6 P:27 SP:FB CYC:96 SL:180\nEED3 C9 CMP #$52        PC:EED4 A:52 X:02 Y:C6 P:25 SP:FB CYC:108 SL:180\nEED5 F0 BEQ $EED9       PC:EED6 A:52 X:02 Y:C6 P:27 SP:FB CYC:114 SL:180\nEED9 C8 INY             PC:EEDA A:52 X:02 Y:C6 P:27 SP:FB CYC:123 SL:180\nEEDA A9 LDA #$37        PC:EEDB A:52 X:02 Y:C7 P:A5 SP:FB CYC:129 SL:180\nEEDC 8D STA $0647       PC:EEDD A:37 X:02 Y:C7 P:25 SP:FB CYC:135 SL:180\nEEDF 20 JSR $FA9E       PC:EEE0 A:37 X:02 Y:C7 P:25 SP:FB CYC:147 SL:180\nFA9E 24 BIT $01         PC:FA9F A:37 X:02 Y:C7 P:25 SP:F9 CYC:165 SL:180\nFAA0 38 SEC             PC:FAA1 A:37 X:02 Y:C7 P:E5 SP:F9 CYC:174 SL:180\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:02 Y:C7 P:E5 SP:F9 CYC:180 SL:180\nFAA3 60 RTS             PC:FAA4 A:10 X:02 Y:C7 P:65 SP:F9 CYC:186 SL:180\nEEE2 0F SLO $0647       PC:EEE3 A:10 X:02 Y:C7 P:65 SP:FB CYC:204 SL:180\nEEE5 EA NOP             PC:EEE6 A:7E X:02 Y:C7 P:64 SP:FB CYC:222 SL:180\nEEE6 EA NOP             PC:EEE7 A:7E X:02 Y:C7 P:64 SP:FB CYC:228 SL:180\nEEE7 EA NOP             PC:EEE8 A:7E X:02 Y:C7 P:64 SP:FB CYC:234 SL:180\nEEE8 EA NOP             PC:EEE9 A:7E X:02 Y:C7 P:64 SP:FB CYC:240 SL:180\nEEE9 20 JSR $FAA4       PC:EEEA A:7E X:02 Y:C7 P:64 SP:FB CYC:246 SL:180\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:02 Y:C7 P:64 SP:F9 CYC:264 SL:180\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:02 Y:C7 P:64 SP:F9 CYC:270 SL:180\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:02 Y:C7 P:64 SP:F9 CYC:276 SL:180\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:02 Y:C7 P:64 SP:F9 CYC:282 SL:180\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:02 Y:C7 P:64 SP:F9 CYC:288 SL:180\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:02 Y:C7 P:67 SP:F9 CYC:294 SL:180\nFAB0 60 RTS             PC:FAB1 A:7E X:02 Y:C7 P:67 SP:F9 CYC:300 SL:180\nEEEC AD LDA $0647       PC:EEED A:7E X:02 Y:C7 P:67 SP:FB CYC:318 SL:180\nEEEF C9 CMP #$6E        PC:EEF0 A:6E X:02 Y:C7 P:65 SP:FB CYC:330 SL:180\nEEF1 F0 BEQ $EEF5       PC:EEF2 A:6E X:02 Y:C7 P:67 SP:FB CYC:336 SL:180\nEEF5 A9 LDA #$A5        PC:EEF6 A:6E X:02 Y:C7 P:67 SP:FB CYC:4 SL:181\nEEF7 8D STA $0647       PC:EEF8 A:A5 X:02 Y:C7 P:E5 SP:FB CYC:10 SL:181\nEEFA A9 LDA #$48        PC:EEFB A:A5 X:02 Y:C7 P:E5 SP:FB CYC:22 SL:181\nEEFC 85 STA $45         PC:EEFD A:48 X:02 Y:C7 P:65 SP:FB CYC:28 SL:181\nEEFE A9 LDA #$05        PC:EEFF A:48 X:02 Y:C7 P:65 SP:FB CYC:37 SL:181\nEF00 85 STA $46         PC:EF01 A:05 X:02 Y:C7 P:65 SP:FB CYC:43 SL:181\nEF02 A0 LDY #$FF        PC:EF03 A:05 X:02 Y:C7 P:65 SP:FB CYC:52 SL:181\nEF04 20 JSR $FA7B       PC:EF05 A:05 X:02 Y:FF P:E5 SP:FB CYC:58 SL:181\nFA7B 24 BIT $01         PC:FA7C A:05 X:02 Y:FF P:E5 SP:F9 CYC:76 SL:181\nFA7D 18 CLC             PC:FA7E A:05 X:02 Y:FF P:E5 SP:F9 CYC:85 SL:181\nFA7E A9 LDA #$B3        PC:FA7F A:05 X:02 Y:FF P:E4 SP:F9 CYC:91 SL:181\nFA80 60 RTS             PC:FA81 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:97 SL:181\nEF07 13 SLO ($45), y    PC:EF08 A:B3 X:02 Y:FF P:E4 SP:FB CYC:115 SL:181\nEF09 EA NOP             PC:EF0A A:FB X:02 Y:FF P:E5 SP:FB CYC:139 SL:181\nEF0A EA NOP             PC:EF0B A:FB X:02 Y:FF P:E5 SP:FB CYC:145 SL:181\nEF0B 08 PHP             PC:EF0C A:FB X:02 Y:FF P:E5 SP:FB CYC:151 SL:181\nEF0C 48 PHA             PC:EF0D A:FB X:02 Y:FF P:E5 SP:FA CYC:160 SL:181\nEF0D A0 LDY #$C8        PC:EF0E A:FB X:02 Y:FF P:E5 SP:F9 CYC:169 SL:181\nEF0F 68 PLA             PC:EF10 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:175 SL:181\nEF10 28 PLP             PC:EF11 A:FB X:02 Y:C8 P:E5 SP:FA CYC:187 SL:181\nEF11 20 JSR $FA81       PC:EF12 A:FB X:02 Y:C8 P:E5 SP:FB CYC:199 SL:181\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:217 SL:181\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:223 SL:181\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:229 SL:181\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:02 Y:C8 P:E5 SP:F9 CYC:235 SL:181\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:02 Y:C8 P:67 SP:F9 CYC:241 SL:181\nFA8B 60 RTS             PC:FA8C A:FB X:02 Y:C8 P:67 SP:F9 CYC:247 SL:181\nEF14 AD LDA $0647       PC:EF15 A:FB X:02 Y:C8 P:67 SP:FB CYC:265 SL:181\nEF17 C9 CMP #$4A        PC:EF18 A:4A X:02 Y:C8 P:65 SP:FB CYC:277 SL:181\nEF19 F0 BEQ $EF1D       PC:EF1A A:4A X:02 Y:C8 P:67 SP:FB CYC:283 SL:181\nEF1D A0 LDY #$FF        PC:EF1E A:4A X:02 Y:C8 P:67 SP:FB CYC:292 SL:181\nEF1F A9 LDA #$29        PC:EF20 A:4A X:02 Y:FF P:E5 SP:FB CYC:298 SL:181\nEF21 8D STA $0647       PC:EF22 A:29 X:02 Y:FF P:65 SP:FB CYC:304 SL:181\nEF24 20 JSR $FA8C       PC:EF25 A:29 X:02 Y:FF P:65 SP:FB CYC:316 SL:181\nFA8C B8 CLV             PC:FA8D A:29 X:02 Y:FF P:65 SP:F9 CYC:334 SL:181\nFA8D 18 CLC             PC:FA8E A:29 X:02 Y:FF P:25 SP:F9 CYC:340 SL:181\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:02 Y:FF P:24 SP:F9 CYC:5 SL:182\nFA90 60 RTS             PC:FA91 A:C3 X:02 Y:FF P:A4 SP:F9 CYC:11 SL:182\nEF27 13 SLO ($45), y    PC:EF28 A:C3 X:02 Y:FF P:A4 SP:FB CYC:29 SL:182\nEF29 EA NOP             PC:EF2A A:D3 X:02 Y:FF P:A4 SP:FB CYC:53 SL:182\nEF2A EA NOP             PC:EF2B A:D3 X:02 Y:FF P:A4 SP:FB CYC:59 SL:182\nEF2B 08 PHP             PC:EF2C A:D3 X:02 Y:FF P:A4 SP:FB CYC:65 SL:182\nEF2C 48 PHA             PC:EF2D A:D3 X:02 Y:FF P:A4 SP:FA CYC:74 SL:182\nEF2D A0 LDY #$C9        PC:EF2E A:D3 X:02 Y:FF P:A4 SP:F9 CYC:83 SL:182\nEF2F 68 PLA             PC:EF30 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:89 SL:182\nEF30 28 PLP             PC:EF31 A:D3 X:02 Y:C9 P:A4 SP:FA CYC:101 SL:182\nEF31 20 JSR $FA91       PC:EF32 A:D3 X:02 Y:C9 P:A4 SP:FB CYC:113 SL:182\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:131 SL:182\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:137 SL:182\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:143 SL:182\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:149 SL:182\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:155 SL:182\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:02 Y:C9 P:27 SP:F9 CYC:161 SL:182\nFA9D 60 RTS             PC:FA9E A:D3 X:02 Y:C9 P:27 SP:F9 CYC:167 SL:182\nEF34 AD LDA $0647       PC:EF35 A:D3 X:02 Y:C9 P:27 SP:FB CYC:185 SL:182\nEF37 C9 CMP #$52        PC:EF38 A:52 X:02 Y:C9 P:25 SP:FB CYC:197 SL:182\nEF39 F0 BEQ $EF3D       PC:EF3A A:52 X:02 Y:C9 P:27 SP:FB CYC:203 SL:182\nEF3D A0 LDY #$FF        PC:EF3E A:52 X:02 Y:C9 P:27 SP:FB CYC:212 SL:182\nEF3F A9 LDA #$37        PC:EF40 A:52 X:02 Y:FF P:A5 SP:FB CYC:218 SL:182\nEF41 8D STA $0647       PC:EF42 A:37 X:02 Y:FF P:25 SP:FB CYC:224 SL:182\nEF44 20 JSR $FA9E       PC:EF45 A:37 X:02 Y:FF P:25 SP:FB CYC:236 SL:182\nFA9E 24 BIT $01         PC:FA9F A:37 X:02 Y:FF P:25 SP:F9 CYC:254 SL:182\nFAA0 38 SEC             PC:FAA1 A:37 X:02 Y:FF P:E5 SP:F9 CYC:263 SL:182\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:02 Y:FF P:E5 SP:F9 CYC:269 SL:182\nFAA3 60 RTS             PC:FAA4 A:10 X:02 Y:FF P:65 SP:F9 CYC:275 SL:182\nEF47 13 SLO ($45), y    PC:EF48 A:10 X:02 Y:FF P:65 SP:FB CYC:293 SL:182\nEF49 EA NOP             PC:EF4A A:7E X:02 Y:FF P:64 SP:FB CYC:317 SL:182\nEF4A EA NOP             PC:EF4B A:7E X:02 Y:FF P:64 SP:FB CYC:323 SL:182\nEF4B 08 PHP             PC:EF4C A:7E X:02 Y:FF P:64 SP:FB CYC:329 SL:182\nEF4C 48 PHA             PC:EF4D A:7E X:02 Y:FF P:64 SP:FA CYC:338 SL:182\nEF4D A0 LDY #$CA        PC:EF4E A:7E X:02 Y:FF P:64 SP:F9 CYC:6 SL:183\nEF4F 68 PLA             PC:EF50 A:7E X:02 Y:CA P:E4 SP:F9 CYC:12 SL:183\nEF50 28 PLP             PC:EF51 A:7E X:02 Y:CA P:64 SP:FA CYC:24 SL:183\nEF51 20 JSR $FAA4       PC:EF52 A:7E X:02 Y:CA P:64 SP:FB CYC:36 SL:183\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:02 Y:CA P:64 SP:F9 CYC:54 SL:183\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:02 Y:CA P:64 SP:F9 CYC:60 SL:183\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:02 Y:CA P:64 SP:F9 CYC:66 SL:183\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:02 Y:CA P:64 SP:F9 CYC:72 SL:183\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:02 Y:CA P:64 SP:F9 CYC:78 SL:183\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:02 Y:CA P:67 SP:F9 CYC:84 SL:183\nFAB0 60 RTS             PC:FAB1 A:7E X:02 Y:CA P:67 SP:F9 CYC:90 SL:183\nEF54 AD LDA $0647       PC:EF55 A:7E X:02 Y:CA P:67 SP:FB CYC:108 SL:183\nEF57 C9 CMP #$6E        PC:EF58 A:6E X:02 Y:CA P:65 SP:FB CYC:120 SL:183\nEF59 F0 BEQ $EF5D       PC:EF5A A:6E X:02 Y:CA P:67 SP:FB CYC:126 SL:183\nEF5D A0 LDY #$CB        PC:EF5E A:6E X:02 Y:CA P:67 SP:FB CYC:135 SL:183\nEF5F A2 LDX #$FF        PC:EF60 A:6E X:02 Y:CB P:E5 SP:FB CYC:141 SL:183\nEF61 A9 LDA #$A5        PC:EF62 A:6E X:FF Y:CB P:E5 SP:FB CYC:147 SL:183\nEF63 85 STA $47         PC:EF64 A:A5 X:FF Y:CB P:E5 SP:FB CYC:153 SL:183\nEF65 20 JSR $FA7B       PC:EF66 A:A5 X:FF Y:CB P:E5 SP:FB CYC:162 SL:183\nFA7B 24 BIT $01         PC:FA7C A:A5 X:FF Y:CB P:E5 SP:F9 CYC:180 SL:183\nFA7D 18 CLC             PC:FA7E A:A5 X:FF Y:CB P:E5 SP:F9 CYC:189 SL:183\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:FF Y:CB P:E4 SP:F9 CYC:195 SL:183\nFA80 60 RTS             PC:FA81 A:B3 X:FF Y:CB P:E4 SP:F9 CYC:201 SL:183\nEF68 17 SLO $48,x       PC:EF69 A:B3 X:FF Y:CB P:E4 SP:FB CYC:219 SL:183\nEF6A EA NOP             PC:EF6B A:FB X:FF Y:CB P:E5 SP:FB CYC:237 SL:183\nEF6B EA NOP             PC:EF6C A:FB X:FF Y:CB P:E5 SP:FB CYC:243 SL:183\nEF6C EA NOP             PC:EF6D A:FB X:FF Y:CB P:E5 SP:FB CYC:249 SL:183\nEF6D EA NOP             PC:EF6E A:FB X:FF Y:CB P:E5 SP:FB CYC:255 SL:183\nEF6E 20 JSR $FA81       PC:EF6F A:FB X:FF Y:CB P:E5 SP:FB CYC:261 SL:183\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:FF Y:CB P:E5 SP:F9 CYC:279 SL:183\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:FF Y:CB P:E5 SP:F9 CYC:285 SL:183\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:FF Y:CB P:E5 SP:F9 CYC:291 SL:183\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:FF Y:CB P:E5 SP:F9 CYC:297 SL:183\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:FF Y:CB P:67 SP:F9 CYC:303 SL:183\nFA8B 60 RTS             PC:FA8C A:FB X:FF Y:CB P:67 SP:F9 CYC:309 SL:183\nEF71 A5 LDA $47         PC:EF72 A:FB X:FF Y:CB P:67 SP:FB CYC:327 SL:183\nEF73 C9 CMP #$4A        PC:EF74 A:4A X:FF Y:CB P:65 SP:FB CYC:336 SL:183\nEF75 F0 BEQ $EF79       PC:EF76 A:4A X:FF Y:CB P:67 SP:FB CYC:1 SL:184\nEF79 C8 INY             PC:EF7A A:4A X:FF Y:CB P:67 SP:FB CYC:10 SL:184\nEF7A A9 LDA #$29        PC:EF7B A:4A X:FF Y:CC P:E5 SP:FB CYC:16 SL:184\nEF7C 85 STA $47         PC:EF7D A:29 X:FF Y:CC P:65 SP:FB CYC:22 SL:184\nEF7E 20 JSR $FA8C       PC:EF7F A:29 X:FF Y:CC P:65 SP:FB CYC:31 SL:184\nFA8C B8 CLV             PC:FA8D A:29 X:FF Y:CC P:65 SP:F9 CYC:49 SL:184\nFA8D 18 CLC             PC:FA8E A:29 X:FF Y:CC P:25 SP:F9 CYC:55 SL:184\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:FF Y:CC P:24 SP:F9 CYC:61 SL:184\nFA90 60 RTS             PC:FA91 A:C3 X:FF Y:CC P:A4 SP:F9 CYC:67 SL:184\nEF81 17 SLO $48,x       PC:EF82 A:C3 X:FF Y:CC P:A4 SP:FB CYC:85 SL:184\nEF83 EA NOP             PC:EF84 A:D3 X:FF Y:CC P:A4 SP:FB CYC:103 SL:184\nEF84 EA NOP             PC:EF85 A:D3 X:FF Y:CC P:A4 SP:FB CYC:109 SL:184\nEF85 EA NOP             PC:EF86 A:D3 X:FF Y:CC P:A4 SP:FB CYC:115 SL:184\nEF86 EA NOP             PC:EF87 A:D3 X:FF Y:CC P:A4 SP:FB CYC:121 SL:184\nEF87 20 JSR $FA91       PC:EF88 A:D3 X:FF Y:CC P:A4 SP:FB CYC:127 SL:184\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:145 SL:184\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:151 SL:184\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:157 SL:184\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:FF Y:CC P:A4 SP:F9 CYC:163 SL:184\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:FF Y:CC P:A4 SP:F9 CYC:169 SL:184\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:FF Y:CC P:27 SP:F9 CYC:175 SL:184\nFA9D 60 RTS             PC:FA9E A:D3 X:FF Y:CC P:27 SP:F9 CYC:181 SL:184\nEF8A A5 LDA $47         PC:EF8B A:D3 X:FF Y:CC P:27 SP:FB CYC:199 SL:184\nEF8C C9 CMP #$52        PC:EF8D A:52 X:FF Y:CC P:25 SP:FB CYC:208 SL:184\nEF8E F0 BEQ $EF92       PC:EF8F A:52 X:FF Y:CC P:27 SP:FB CYC:214 SL:184\nEF92 C8 INY             PC:EF93 A:52 X:FF Y:CC P:27 SP:FB CYC:223 SL:184\nEF93 A9 LDA #$37        PC:EF94 A:52 X:FF Y:CD P:A5 SP:FB CYC:229 SL:184\nEF95 85 STA $47         PC:EF96 A:37 X:FF Y:CD P:25 SP:FB CYC:235 SL:184\nEF97 20 JSR $FA9E       PC:EF98 A:37 X:FF Y:CD P:25 SP:FB CYC:244 SL:184\nFA9E 24 BIT $01         PC:FA9F A:37 X:FF Y:CD P:25 SP:F9 CYC:262 SL:184\nFAA0 38 SEC             PC:FAA1 A:37 X:FF Y:CD P:E5 SP:F9 CYC:271 SL:184\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:FF Y:CD P:E5 SP:F9 CYC:277 SL:184\nFAA3 60 RTS             PC:FAA4 A:10 X:FF Y:CD P:65 SP:F9 CYC:283 SL:184\nEF9A 17 SLO $48,x       PC:EF9B A:10 X:FF Y:CD P:65 SP:FB CYC:301 SL:184\nEF9C EA NOP             PC:EF9D A:7E X:FF Y:CD P:64 SP:FB CYC:319 SL:184\nEF9D EA NOP             PC:EF9E A:7E X:FF Y:CD P:64 SP:FB CYC:325 SL:184\nEF9E EA NOP             PC:EF9F A:7E X:FF Y:CD P:64 SP:FB CYC:331 SL:184\nEF9F EA NOP             PC:EFA0 A:7E X:FF Y:CD P:64 SP:FB CYC:337 SL:184\nEFA0 20 JSR $FAA4       PC:EFA1 A:7E X:FF Y:CD P:64 SP:FB CYC:2 SL:185\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:FF Y:CD P:64 SP:F9 CYC:20 SL:185\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:FF Y:CD P:64 SP:F9 CYC:26 SL:185\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:FF Y:CD P:64 SP:F9 CYC:32 SL:185\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:FF Y:CD P:64 SP:F9 CYC:38 SL:185\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:FF Y:CD P:64 SP:F9 CYC:44 SL:185\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:FF Y:CD P:67 SP:F9 CYC:50 SL:185\nFAB0 60 RTS             PC:FAB1 A:7E X:FF Y:CD P:67 SP:F9 CYC:56 SL:185\nEFA3 A5 LDA $47         PC:EFA4 A:7E X:FF Y:CD P:67 SP:FB CYC:74 SL:185\nEFA5 C9 CMP #$6E        PC:EFA6 A:6E X:FF Y:CD P:65 SP:FB CYC:83 SL:185\nEFA7 F0 BEQ $EFAB       PC:EFA8 A:6E X:FF Y:CD P:67 SP:FB CYC:89 SL:185\nEFAB A9 LDA #$A5        PC:EFAC A:6E X:FF Y:CD P:67 SP:FB CYC:98 SL:185\nEFAD 8D STA $0647       PC:EFAE A:A5 X:FF Y:CD P:E5 SP:FB CYC:104 SL:185\nEFB0 A0 LDY #$FF        PC:EFB1 A:A5 X:FF Y:CD P:E5 SP:FB CYC:116 SL:185\nEFB2 20 JSR $FA7B       PC:EFB3 A:A5 X:FF Y:FF P:E5 SP:FB CYC:122 SL:185\nFA7B 24 BIT $01         PC:FA7C A:A5 X:FF Y:FF P:E5 SP:F9 CYC:140 SL:185\nFA7D 18 CLC             PC:FA7E A:A5 X:FF Y:FF P:E5 SP:F9 CYC:149 SL:185\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:FF Y:FF P:E4 SP:F9 CYC:155 SL:185\nFA80 60 RTS             PC:FA81 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:161 SL:185\nEFB5 1B SLO $0548,y     PC:EFB6 A:B3 X:FF Y:FF P:E4 SP:FB CYC:179 SL:185\nEFB8 EA NOP             PC:EFB9 A:FB X:FF Y:FF P:E5 SP:FB CYC:200 SL:185\nEFB9 EA NOP             PC:EFBA A:FB X:FF Y:FF P:E5 SP:FB CYC:206 SL:185\nEFBA 08 PHP             PC:EFBB A:FB X:FF Y:FF P:E5 SP:FB CYC:212 SL:185\nEFBB 48 PHA             PC:EFBC A:FB X:FF Y:FF P:E5 SP:FA CYC:221 SL:185\nEFBC A0 LDY #$CE        PC:EFBD A:FB X:FF Y:FF P:E5 SP:F9 CYC:230 SL:185\nEFBE 68 PLA             PC:EFBF A:FB X:FF Y:CE P:E5 SP:F9 CYC:236 SL:185\nEFBF 28 PLP             PC:EFC0 A:FB X:FF Y:CE P:E5 SP:FA CYC:248 SL:185\nEFC0 20 JSR $FA81       PC:EFC1 A:FB X:FF Y:CE P:E5 SP:FB CYC:260 SL:185\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:FF Y:CE P:E5 SP:F9 CYC:278 SL:185\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:FF Y:CE P:E5 SP:F9 CYC:284 SL:185\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:FF Y:CE P:E5 SP:F9 CYC:290 SL:185\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:FF Y:CE P:E5 SP:F9 CYC:296 SL:185\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:FF Y:CE P:67 SP:F9 CYC:302 SL:185\nFA8B 60 RTS             PC:FA8C A:FB X:FF Y:CE P:67 SP:F9 CYC:308 SL:185\nEFC3 AD LDA $0647       PC:EFC4 A:FB X:FF Y:CE P:67 SP:FB CYC:326 SL:185\nEFC6 C9 CMP #$4A        PC:EFC7 A:4A X:FF Y:CE P:65 SP:FB CYC:338 SL:185\nEFC8 F0 BEQ $EFCC       PC:EFC9 A:4A X:FF Y:CE P:67 SP:FB CYC:3 SL:186\nEFCC A0 LDY #$FF        PC:EFCD A:4A X:FF Y:CE P:67 SP:FB CYC:12 SL:186\nEFCE A9 LDA #$29        PC:EFCF A:4A X:FF Y:FF P:E5 SP:FB CYC:18 SL:186\nEFD0 8D STA $0647       PC:EFD1 A:29 X:FF Y:FF P:65 SP:FB CYC:24 SL:186\nEFD3 20 JSR $FA8C       PC:EFD4 A:29 X:FF Y:FF P:65 SP:FB CYC:36 SL:186\nFA8C B8 CLV             PC:FA8D A:29 X:FF Y:FF P:65 SP:F9 CYC:54 SL:186\nFA8D 18 CLC             PC:FA8E A:29 X:FF Y:FF P:25 SP:F9 CYC:60 SL:186\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:FF Y:FF P:24 SP:F9 CYC:66 SL:186\nFA90 60 RTS             PC:FA91 A:C3 X:FF Y:FF P:A4 SP:F9 CYC:72 SL:186\nEFD6 1B SLO $0548,y     PC:EFD7 A:C3 X:FF Y:FF P:A4 SP:FB CYC:90 SL:186\nEFD9 EA NOP             PC:EFDA A:D3 X:FF Y:FF P:A4 SP:FB CYC:111 SL:186\nEFDA EA NOP             PC:EFDB A:D3 X:FF Y:FF P:A4 SP:FB CYC:117 SL:186\nEFDB 08 PHP             PC:EFDC A:D3 X:FF Y:FF P:A4 SP:FB CYC:123 SL:186\nEFDC 48 PHA             PC:EFDD A:D3 X:FF Y:FF P:A4 SP:FA CYC:132 SL:186\nEFDD A0 LDY #$CF        PC:EFDE A:D3 X:FF Y:FF P:A4 SP:F9 CYC:141 SL:186\nEFDF 68 PLA             PC:EFE0 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:147 SL:186\nEFE0 28 PLP             PC:EFE1 A:D3 X:FF Y:CF P:A4 SP:FA CYC:159 SL:186\nEFE1 20 JSR $FA91       PC:EFE2 A:D3 X:FF Y:CF P:A4 SP:FB CYC:171 SL:186\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:189 SL:186\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:195 SL:186\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:201 SL:186\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:FF Y:CF P:A4 SP:F9 CYC:207 SL:186\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:FF Y:CF P:A4 SP:F9 CYC:213 SL:186\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:FF Y:CF P:27 SP:F9 CYC:219 SL:186\nFA9D 60 RTS             PC:FA9E A:D3 X:FF Y:CF P:27 SP:F9 CYC:225 SL:186\nEFE4 AD LDA $0647       PC:EFE5 A:D3 X:FF Y:CF P:27 SP:FB CYC:243 SL:186\nEFE7 C9 CMP #$52        PC:EFE8 A:52 X:FF Y:CF P:25 SP:FB CYC:255 SL:186\nEFE9 F0 BEQ $EFED       PC:EFEA A:52 X:FF Y:CF P:27 SP:FB CYC:261 SL:186\nEFED A0 LDY #$FF        PC:EFEE A:52 X:FF Y:CF P:27 SP:FB CYC:270 SL:186\nEFEF A9 LDA #$37        PC:EFF0 A:52 X:FF Y:FF P:A5 SP:FB CYC:276 SL:186\nEFF1 8D STA $0647       PC:EFF2 A:37 X:FF Y:FF P:25 SP:FB CYC:282 SL:186\nEFF4 20 JSR $FA9E       PC:EFF5 A:37 X:FF Y:FF P:25 SP:FB CYC:294 SL:186\nFA9E 24 BIT $01         PC:FA9F A:37 X:FF Y:FF P:25 SP:F9 CYC:312 SL:186\nFAA0 38 SEC             PC:FAA1 A:37 X:FF Y:FF P:E5 SP:F9 CYC:321 SL:186\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:FF Y:FF P:E5 SP:F9 CYC:327 SL:186\nFAA3 60 RTS             PC:FAA4 A:10 X:FF Y:FF P:65 SP:F9 CYC:333 SL:186\nEFF7 1B SLO $0548,y     PC:EFF8 A:10 X:FF Y:FF P:65 SP:FB CYC:10 SL:187\nEFFA EA NOP             PC:EFFB A:7E X:FF Y:FF P:64 SP:FB CYC:31 SL:187\nEFFB EA NOP             PC:EFFC A:7E X:FF Y:FF P:64 SP:FB CYC:37 SL:187\nEFFC 08 PHP             PC:EFFD A:7E X:FF Y:FF P:64 SP:FB CYC:43 SL:187\nEFFD 48 PHA             PC:EFFE A:7E X:FF Y:FF P:64 SP:FA CYC:52 SL:187\nEFFE A0 LDY #$D0        PC:EFFF A:7E X:FF Y:FF P:64 SP:F9 CYC:61 SL:187\nF000 68 PLA             PC:F001 A:7E X:FF Y:D0 P:E4 SP:F9 CYC:67 SL:187\nF001 28 PLP             PC:F002 A:7E X:FF Y:D0 P:64 SP:FA CYC:79 SL:187\nF002 20 JSR $FAA4       PC:F003 A:7E X:FF Y:D0 P:64 SP:FB CYC:91 SL:187\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:FF Y:D0 P:64 SP:F9 CYC:109 SL:187\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:FF Y:D0 P:64 SP:F9 CYC:115 SL:187\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:FF Y:D0 P:64 SP:F9 CYC:121 SL:187\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:FF Y:D0 P:64 SP:F9 CYC:127 SL:187\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:FF Y:D0 P:64 SP:F9 CYC:133 SL:187\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:FF Y:D0 P:67 SP:F9 CYC:139 SL:187\nFAB0 60 RTS             PC:FAB1 A:7E X:FF Y:D0 P:67 SP:F9 CYC:145 SL:187\nF005 AD LDA $0647       PC:F006 A:7E X:FF Y:D0 P:67 SP:FB CYC:163 SL:187\nF008 C9 CMP #$6E        PC:F009 A:6E X:FF Y:D0 P:65 SP:FB CYC:175 SL:187\nF00A F0 BEQ $F00E       PC:F00B A:6E X:FF Y:D0 P:67 SP:FB CYC:181 SL:187\nF00E A0 LDY #$D1        PC:F00F A:6E X:FF Y:D0 P:67 SP:FB CYC:190 SL:187\nF010 A2 LDX #$FF        PC:F011 A:6E X:FF Y:D1 P:E5 SP:FB CYC:196 SL:187\nF012 A9 LDA #$A5        PC:F013 A:6E X:FF Y:D1 P:E5 SP:FB CYC:202 SL:187\nF014 8D STA $0647       PC:F015 A:A5 X:FF Y:D1 P:E5 SP:FB CYC:208 SL:187\nF017 20 JSR $FA7B       PC:F018 A:A5 X:FF Y:D1 P:E5 SP:FB CYC:220 SL:187\nFA7B 24 BIT $01         PC:FA7C A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:238 SL:187\nFA7D 18 CLC             PC:FA7E A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:247 SL:187\nFA7E A9 LDA #$B3        PC:FA7F A:A5 X:FF Y:D1 P:E4 SP:F9 CYC:253 SL:187\nFA80 60 RTS             PC:FA81 A:B3 X:FF Y:D1 P:E4 SP:F9 CYC:259 SL:187\nF01A 1F SLO $0548,x     PC:F01B A:B3 X:FF Y:D1 P:E4 SP:FB CYC:277 SL:187\nF01D EA NOP             PC:F01E A:FB X:FF Y:D1 P:E5 SP:FB CYC:298 SL:187\nF01E EA NOP             PC:F01F A:FB X:FF Y:D1 P:E5 SP:FB CYC:304 SL:187\nF01F EA NOP             PC:F020 A:FB X:FF Y:D1 P:E5 SP:FB CYC:310 SL:187\nF020 EA NOP             PC:F021 A:FB X:FF Y:D1 P:E5 SP:FB CYC:316 SL:187\nF021 20 JSR $FA81       PC:F022 A:FB X:FF Y:D1 P:E5 SP:FB CYC:322 SL:187\nFA81 50 BVC $FAE6       PC:FA82 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:340 SL:187\nFA83 90 BCC $FAE6       PC:FA84 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:5 SL:188\nFA85 10 BPL $FAE6       PC:FA86 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:11 SL:188\nFA87 C9 CMP #$FB        PC:FA88 A:FB X:FF Y:D1 P:E5 SP:F9 CYC:17 SL:188\nFA89 D0 BNE $FAE6       PC:FA8A A:FB X:FF Y:D1 P:67 SP:F9 CYC:23 SL:188\nFA8B 60 RTS             PC:FA8C A:FB X:FF Y:D1 P:67 SP:F9 CYC:29 SL:188\nF024 AD LDA $0647       PC:F025 A:FB X:FF Y:D1 P:67 SP:FB CYC:47 SL:188\nF027 C9 CMP #$4A        PC:F028 A:4A X:FF Y:D1 P:65 SP:FB CYC:59 SL:188\nF029 F0 BEQ $F02D       PC:F02A A:4A X:FF Y:D1 P:67 SP:FB CYC:65 SL:188\nF02D C8 INY             PC:F02E A:4A X:FF Y:D1 P:67 SP:FB CYC:74 SL:188\nF02E A9 LDA #$29        PC:F02F A:4A X:FF Y:D2 P:E5 SP:FB CYC:80 SL:188\nF030 8D STA $0647       PC:F031 A:29 X:FF Y:D2 P:65 SP:FB CYC:86 SL:188\nF033 20 JSR $FA8C       PC:F034 A:29 X:FF Y:D2 P:65 SP:FB CYC:98 SL:188\nFA8C B8 CLV             PC:FA8D A:29 X:FF Y:D2 P:65 SP:F9 CYC:116 SL:188\nFA8D 18 CLC             PC:FA8E A:29 X:FF Y:D2 P:25 SP:F9 CYC:122 SL:188\nFA8E A9 LDA #$C3        PC:FA8F A:29 X:FF Y:D2 P:24 SP:F9 CYC:128 SL:188\nFA90 60 RTS             PC:FA91 A:C3 X:FF Y:D2 P:A4 SP:F9 CYC:134 SL:188\nF036 1F SLO $0548,x     PC:F037 A:C3 X:FF Y:D2 P:A4 SP:FB CYC:152 SL:188\nF039 EA NOP             PC:F03A A:D3 X:FF Y:D2 P:A4 SP:FB CYC:173 SL:188\nF03A EA NOP             PC:F03B A:D3 X:FF Y:D2 P:A4 SP:FB CYC:179 SL:188\nF03B EA NOP             PC:F03C A:D3 X:FF Y:D2 P:A4 SP:FB CYC:185 SL:188\nF03C EA NOP             PC:F03D A:D3 X:FF Y:D2 P:A4 SP:FB CYC:191 SL:188\nF03D 20 JSR $FA91       PC:F03E A:D3 X:FF Y:D2 P:A4 SP:FB CYC:197 SL:188\nFA91 70 BVS $FAE6       PC:FA92 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:215 SL:188\nFA93 F0 BEQ $FAE6       PC:FA94 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:221 SL:188\nFA95 10 BPL $FAE6       PC:FA96 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:227 SL:188\nFA97 B0 BCS $FAE6       PC:FA98 A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:233 SL:188\nFA99 C9 CMP #$D3        PC:FA9A A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:239 SL:188\nFA9B D0 BNE $FAE6       PC:FA9C A:D3 X:FF Y:D2 P:27 SP:F9 CYC:245 SL:188\nFA9D 60 RTS             PC:FA9E A:D3 X:FF Y:D2 P:27 SP:F9 CYC:251 SL:188\nF040 AD LDA $0647       PC:F041 A:D3 X:FF Y:D2 P:27 SP:FB CYC:269 SL:188\nF043 C9 CMP #$52        PC:F044 A:52 X:FF Y:D2 P:25 SP:FB CYC:281 SL:188\nF045 F0 BEQ $F049       PC:F046 A:52 X:FF Y:D2 P:27 SP:FB CYC:287 SL:188\nF049 C8 INY             PC:F04A A:52 X:FF Y:D2 P:27 SP:FB CYC:296 SL:188\nF04A A9 LDA #$37        PC:F04B A:52 X:FF Y:D3 P:A5 SP:FB CYC:302 SL:188\nF04C 8D STA $0647       PC:F04D A:37 X:FF Y:D3 P:25 SP:FB CYC:308 SL:188\nF04F 20 JSR $FA9E       PC:F050 A:37 X:FF Y:D3 P:25 SP:FB CYC:320 SL:188\nFA9E 24 BIT $01         PC:FA9F A:37 X:FF Y:D3 P:25 SP:F9 CYC:338 SL:188\nFAA0 38 SEC             PC:FAA1 A:37 X:FF Y:D3 P:E5 SP:F9 CYC:6 SL:189\nFAA1 A9 LDA #$10        PC:FAA2 A:37 X:FF Y:D3 P:E5 SP:F9 CYC:12 SL:189\nFAA3 60 RTS             PC:FAA4 A:10 X:FF Y:D3 P:65 SP:F9 CYC:18 SL:189\nF052 1F SLO $0548,x     PC:F053 A:10 X:FF Y:D3 P:65 SP:FB CYC:36 SL:189\nF055 EA NOP             PC:F056 A:7E X:FF Y:D3 P:64 SP:FB CYC:57 SL:189\nF056 EA NOP             PC:F057 A:7E X:FF Y:D3 P:64 SP:FB CYC:63 SL:189\nF057 EA NOP             PC:F058 A:7E X:FF Y:D3 P:64 SP:FB CYC:69 SL:189\nF058 EA NOP             PC:F059 A:7E X:FF Y:D3 P:64 SP:FB CYC:75 SL:189\nF059 20 JSR $FAA4       PC:F05A A:7E X:FF Y:D3 P:64 SP:FB CYC:81 SL:189\nFAA4 50 BVC $FAE6       PC:FAA5 A:7E X:FF Y:D3 P:64 SP:F9 CYC:99 SL:189\nFAA6 F0 BEQ $FAE6       PC:FAA7 A:7E X:FF Y:D3 P:64 SP:F9 CYC:105 SL:189\nFAA8 30 BMI $FAE6       PC:FAA9 A:7E X:FF Y:D3 P:64 SP:F9 CYC:111 SL:189\nFAAA B0 BCS $FAE6       PC:FAAB A:7E X:FF Y:D3 P:64 SP:F9 CYC:117 SL:189\nFAAC C9 CMP #$7E        PC:FAAD A:7E X:FF Y:D3 P:64 SP:F9 CYC:123 SL:189\nFAAE D0 BNE $FAE6       PC:FAAF A:7E X:FF Y:D3 P:67 SP:F9 CYC:129 SL:189\nFAB0 60 RTS             PC:FAB1 A:7E X:FF Y:D3 P:67 SP:F9 CYC:135 SL:189\nF05C AD LDA $0647       PC:F05D A:7E X:FF Y:D3 P:67 SP:FB CYC:153 SL:189\nF05F C9 CMP #$6E        PC:F060 A:6E X:FF Y:D3 P:65 SP:FB CYC:165 SL:189\nF061 F0 BEQ $F065       PC:F062 A:6E X:FF Y:D3 P:67 SP:FB CYC:171 SL:189\nF065 60 RTS             PC:F066 A:6E X:FF Y:D3 P:67 SP:FB CYC:180 SL:189\nC644 20 JSR $F066       PC:C645 A:6E X:FF Y:D3 P:67 SP:FD CYC:198 SL:189\nF066 A9 LDA #$FF        PC:F067 A:6E X:FF Y:D3 P:67 SP:FB CYC:216 SL:189\nF068 85 STA $01         PC:F069 A:FF X:FF Y:D3 P:E5 SP:FB CYC:222 SL:189\nF06A A0 LDY #$D4        PC:F06B A:FF X:FF Y:D3 P:E5 SP:FB CYC:231 SL:189\nF06C A2 LDX #$02        PC:F06D A:FF X:FF Y:D4 P:E5 SP:FB CYC:237 SL:189\nF06E A9 LDA #$47        PC:F06F A:FF X:02 Y:D4 P:65 SP:FB CYC:243 SL:189\nF070 85 STA $47         PC:F071 A:47 X:02 Y:D4 P:65 SP:FB CYC:249 SL:189\nF072 A9 LDA #$06        PC:F073 A:47 X:02 Y:D4 P:65 SP:FB CYC:258 SL:189\nF074 85 STA $48         PC:F075 A:06 X:02 Y:D4 P:65 SP:FB CYC:264 SL:189\nF076 A9 LDA #$A5        PC:F077 A:06 X:02 Y:D4 P:65 SP:FB CYC:273 SL:189\nF078 8D STA $0647       PC:F079 A:A5 X:02 Y:D4 P:E5 SP:FB CYC:279 SL:189\nF07B 20 JSR $FB53       PC:F07C A:A5 X:02 Y:D4 P:E5 SP:FB CYC:291 SL:189\nFB53 24 BIT $01         PC:FB54 A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:309 SL:189\nFB55 18 CLC             PC:FB56 A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:318 SL:189\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:02 Y:D4 P:E4 SP:F9 CYC:324 SL:189\nFB58 60 RTS             PC:FB59 A:B3 X:02 Y:D4 P:E4 SP:F9 CYC:330 SL:189\nF07E 23 RLA $(EA45,x)   PC:F07F A:B3 X:02 Y:D4 P:E4 SP:FB CYC:7 SL:190\nF080 EA NOP             PC:F081 A:02 X:02 Y:D4 P:65 SP:FB CYC:31 SL:190\nF081 EA NOP             PC:F082 A:02 X:02 Y:D4 P:65 SP:FB CYC:37 SL:190\nF082 EA NOP             PC:F083 A:02 X:02 Y:D4 P:65 SP:FB CYC:43 SL:190\nF083 EA NOP             PC:F084 A:02 X:02 Y:D4 P:65 SP:FB CYC:49 SL:190\nF084 20 JSR $FB59       PC:F085 A:02 X:02 Y:D4 P:65 SP:FB CYC:55 SL:190\nFB59 50 BVC $FB75       PC:FB5A A:02 X:02 Y:D4 P:65 SP:F9 CYC:73 SL:190\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:02 Y:D4 P:65 SP:F9 CYC:79 SL:190\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:02 Y:D4 P:65 SP:F9 CYC:85 SL:190\nFB5F C9 CMP #$02        PC:FB60 A:02 X:02 Y:D4 P:65 SP:F9 CYC:91 SL:190\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:02 Y:D4 P:67 SP:F9 CYC:97 SL:190\nFB63 60 RTS             PC:FB64 A:02 X:02 Y:D4 P:67 SP:F9 CYC:103 SL:190\nF087 AD LDA $0647       PC:F088 A:02 X:02 Y:D4 P:67 SP:FB CYC:121 SL:190\nF08A C9 CMP #$4A        PC:F08B A:4A X:02 Y:D4 P:65 SP:FB CYC:133 SL:190\nF08C F0 BEQ $F090       PC:F08D A:4A X:02 Y:D4 P:67 SP:FB CYC:139 SL:190\nF090 C8 INY             PC:F091 A:4A X:02 Y:D4 P:67 SP:FB CYC:148 SL:190\nF091 A9 LDA #$29        PC:F092 A:4A X:02 Y:D5 P:E5 SP:FB CYC:154 SL:190\nF093 8D STA $0647       PC:F094 A:29 X:02 Y:D5 P:65 SP:FB CYC:160 SL:190\nF096 20 JSR $FB64       PC:F097 A:29 X:02 Y:D5 P:65 SP:FB CYC:172 SL:190\nFB64 B8 CLV             PC:FB65 A:29 X:02 Y:D5 P:65 SP:F9 CYC:190 SL:190\nFB65 18 CLC             PC:FB66 A:29 X:02 Y:D5 P:25 SP:F9 CYC:196 SL:190\nFB66 A9 LDA #$42        PC:FB67 A:29 X:02 Y:D5 P:24 SP:F9 CYC:202 SL:190\nFB68 60 RTS             PC:FB69 A:42 X:02 Y:D5 P:24 SP:F9 CYC:208 SL:190\nF099 23 RLA $(EA45,x)   PC:F09A A:42 X:02 Y:D5 P:24 SP:FB CYC:226 SL:190\nF09B EA NOP             PC:F09C A:42 X:02 Y:D5 P:24 SP:FB CYC:250 SL:190\nF09C EA NOP             PC:F09D A:42 X:02 Y:D5 P:24 SP:FB CYC:256 SL:190\nF09D EA NOP             PC:F09E A:42 X:02 Y:D5 P:24 SP:FB CYC:262 SL:190\nF09E EA NOP             PC:F09F A:42 X:02 Y:D5 P:24 SP:FB CYC:268 SL:190\nF09F 20 JSR $FB69       PC:F0A0 A:42 X:02 Y:D5 P:24 SP:FB CYC:274 SL:190\nFB69 70 BVS $FB75       PC:FB6A A:42 X:02 Y:D5 P:24 SP:F9 CYC:292 SL:190\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:02 Y:D5 P:24 SP:F9 CYC:298 SL:190\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:02 Y:D5 P:24 SP:F9 CYC:304 SL:190\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:02 Y:D5 P:24 SP:F9 CYC:310 SL:190\nFB71 C9 CMP #$42        PC:FB72 A:42 X:02 Y:D5 P:24 SP:F9 CYC:316 SL:190\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:02 Y:D5 P:27 SP:F9 CYC:322 SL:190\nFB77 60 RTS             PC:FB78 A:42 X:02 Y:D5 P:27 SP:F9 CYC:331 SL:190\nF0A2 AD LDA $0647       PC:F0A3 A:42 X:02 Y:D5 P:27 SP:FB CYC:8 SL:191\nF0A5 C9 CMP #$52        PC:F0A6 A:52 X:02 Y:D5 P:25 SP:FB CYC:20 SL:191\nF0A7 F0 BEQ $F0AB       PC:F0A8 A:52 X:02 Y:D5 P:27 SP:FB CYC:26 SL:191\nF0AB C8 INY             PC:F0AC A:52 X:02 Y:D5 P:27 SP:FB CYC:35 SL:191\nF0AC A9 LDA #$37        PC:F0AD A:52 X:02 Y:D6 P:A5 SP:FB CYC:41 SL:191\nF0AE 8D STA $0647       PC:F0AF A:37 X:02 Y:D6 P:25 SP:FB CYC:47 SL:191\nF0B1 20 JSR $FA68       PC:F0B2 A:37 X:02 Y:D6 P:25 SP:FB CYC:59 SL:191\nFA68 24 BIT $01         PC:FA69 A:37 X:02 Y:D6 P:25 SP:F9 CYC:77 SL:191\nFA6A 38 SEC             PC:FA6B A:37 X:02 Y:D6 P:E5 SP:F9 CYC:86 SL:191\nFA6B A9 LDA #$75        PC:FA6C A:37 X:02 Y:D6 P:E5 SP:F9 CYC:92 SL:191\nFA6D 60 RTS             PC:FA6E A:75 X:02 Y:D6 P:65 SP:F9 CYC:98 SL:191\nF0B4 23 RLA $(EA45,x)   PC:F0B5 A:75 X:02 Y:D6 P:65 SP:FB CYC:116 SL:191\nF0B6 EA NOP             PC:F0B7 A:65 X:02 Y:D6 P:64 SP:FB CYC:140 SL:191\nF0B7 EA NOP             PC:F0B8 A:65 X:02 Y:D6 P:64 SP:FB CYC:146 SL:191\nF0B8 EA NOP             PC:F0B9 A:65 X:02 Y:D6 P:64 SP:FB CYC:152 SL:191\nF0B9 EA NOP             PC:F0BA A:65 X:02 Y:D6 P:64 SP:FB CYC:158 SL:191\nF0BA 20 JSR $FA6E       PC:F0BB A:65 X:02 Y:D6 P:64 SP:FB CYC:164 SL:191\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:02 Y:D6 P:64 SP:F9 CYC:182 SL:191\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:02 Y:D6 P:64 SP:F9 CYC:188 SL:191\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:02 Y:D6 P:64 SP:F9 CYC:194 SL:191\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:02 Y:D6 P:64 SP:F9 CYC:200 SL:191\nFA76 C9 CMP #$65        PC:FA77 A:65 X:02 Y:D6 P:64 SP:F9 CYC:206 SL:191\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:02 Y:D6 P:67 SP:F9 CYC:212 SL:191\nFA7A 60 RTS             PC:FA7B A:65 X:02 Y:D6 P:67 SP:F9 CYC:218 SL:191\nF0BD AD LDA $0647       PC:F0BE A:65 X:02 Y:D6 P:67 SP:FB CYC:236 SL:191\nF0C0 C9 CMP #$6F        PC:F0C1 A:6F X:02 Y:D6 P:65 SP:FB CYC:248 SL:191\nF0C2 F0 BEQ $F0C6       PC:F0C3 A:6F X:02 Y:D6 P:67 SP:FB CYC:254 SL:191\nF0C6 C8 INY             PC:F0C7 A:6F X:02 Y:D6 P:67 SP:FB CYC:263 SL:191\nF0C7 A9 LDA #$A5        PC:F0C8 A:6F X:02 Y:D7 P:E5 SP:FB CYC:269 SL:191\nF0C9 85 STA $47         PC:F0CA A:A5 X:02 Y:D7 P:E5 SP:FB CYC:275 SL:191\nF0CB 20 JSR $FB53       PC:F0CC A:A5 X:02 Y:D7 P:E5 SP:FB CYC:284 SL:191\nFB53 24 BIT $01         PC:FB54 A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:302 SL:191\nFB55 18 CLC             PC:FB56 A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:311 SL:191\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:02 Y:D7 P:E4 SP:F9 CYC:317 SL:191\nFB58 60 RTS             PC:FB59 A:B3 X:02 Y:D7 P:E4 SP:F9 CYC:323 SL:191\nF0CE 27 RLA $47         PC:F0CF A:B3 X:02 Y:D7 P:E4 SP:FB CYC:0 SL:192\nF0D0 EA NOP             PC:F0D1 A:02 X:02 Y:D7 P:65 SP:FB CYC:15 SL:192\nF0D1 EA NOP             PC:F0D2 A:02 X:02 Y:D7 P:65 SP:FB CYC:21 SL:192\nF0D2 EA NOP             PC:F0D3 A:02 X:02 Y:D7 P:65 SP:FB CYC:27 SL:192\nF0D3 EA NOP             PC:F0D4 A:02 X:02 Y:D7 P:65 SP:FB CYC:33 SL:192\nF0D4 20 JSR $FB59       PC:F0D5 A:02 X:02 Y:D7 P:65 SP:FB CYC:39 SL:192\nFB59 50 BVC $FB75       PC:FB5A A:02 X:02 Y:D7 P:65 SP:F9 CYC:57 SL:192\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:02 Y:D7 P:65 SP:F9 CYC:63 SL:192\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:02 Y:D7 P:65 SP:F9 CYC:69 SL:192\nFB5F C9 CMP #$02        PC:FB60 A:02 X:02 Y:D7 P:65 SP:F9 CYC:75 SL:192\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:02 Y:D7 P:67 SP:F9 CYC:81 SL:192\nFB63 60 RTS             PC:FB64 A:02 X:02 Y:D7 P:67 SP:F9 CYC:87 SL:192\nF0D7 A5 LDA $47         PC:F0D8 A:02 X:02 Y:D7 P:67 SP:FB CYC:105 SL:192\nF0D9 C9 CMP #$4A        PC:F0DA A:4A X:02 Y:D7 P:65 SP:FB CYC:114 SL:192\nF0DB F0 BEQ $F0DF       PC:F0DC A:4A X:02 Y:D7 P:67 SP:FB CYC:120 SL:192\nF0DF C8 INY             PC:F0E0 A:4A X:02 Y:D7 P:67 SP:FB CYC:129 SL:192\nF0E0 A9 LDA #$29        PC:F0E1 A:4A X:02 Y:D8 P:E5 SP:FB CYC:135 SL:192\nF0E2 85 STA $47         PC:F0E3 A:29 X:02 Y:D8 P:65 SP:FB CYC:141 SL:192\nF0E4 20 JSR $FB64       PC:F0E5 A:29 X:02 Y:D8 P:65 SP:FB CYC:150 SL:192\nFB64 B8 CLV             PC:FB65 A:29 X:02 Y:D8 P:65 SP:F9 CYC:168 SL:192\nFB65 18 CLC             PC:FB66 A:29 X:02 Y:D8 P:25 SP:F9 CYC:174 SL:192\nFB66 A9 LDA #$42        PC:FB67 A:29 X:02 Y:D8 P:24 SP:F9 CYC:180 SL:192\nFB68 60 RTS             PC:FB69 A:42 X:02 Y:D8 P:24 SP:F9 CYC:186 SL:192\nF0E7 27 RLA $47         PC:F0E8 A:42 X:02 Y:D8 P:24 SP:FB CYC:204 SL:192\nF0E9 EA NOP             PC:F0EA A:42 X:02 Y:D8 P:24 SP:FB CYC:219 SL:192\nF0EA EA NOP             PC:F0EB A:42 X:02 Y:D8 P:24 SP:FB CYC:225 SL:192\nF0EB EA NOP             PC:F0EC A:42 X:02 Y:D8 P:24 SP:FB CYC:231 SL:192\nF0EC EA NOP             PC:F0ED A:42 X:02 Y:D8 P:24 SP:FB CYC:237 SL:192\nF0ED 20 JSR $FB69       PC:F0EE A:42 X:02 Y:D8 P:24 SP:FB CYC:243 SL:192\nFB69 70 BVS $FB75       PC:FB6A A:42 X:02 Y:D8 P:24 SP:F9 CYC:261 SL:192\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:02 Y:D8 P:24 SP:F9 CYC:267 SL:192\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:02 Y:D8 P:24 SP:F9 CYC:273 SL:192\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:02 Y:D8 P:24 SP:F9 CYC:279 SL:192\nFB71 C9 CMP #$42        PC:FB72 A:42 X:02 Y:D8 P:24 SP:F9 CYC:285 SL:192\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:02 Y:D8 P:27 SP:F9 CYC:291 SL:192\nFB77 60 RTS             PC:FB78 A:42 X:02 Y:D8 P:27 SP:F9 CYC:300 SL:192\nF0F0 A5 LDA $47         PC:F0F1 A:42 X:02 Y:D8 P:27 SP:FB CYC:318 SL:192\nF0F2 C9 CMP #$52        PC:F0F3 A:52 X:02 Y:D8 P:25 SP:FB CYC:327 SL:192\nF0F4 F0 BEQ $F0F8       PC:F0F5 A:52 X:02 Y:D8 P:27 SP:FB CYC:333 SL:192\nF0F8 C8 INY             PC:F0F9 A:52 X:02 Y:D8 P:27 SP:FB CYC:1 SL:193\nF0F9 A9 LDA #$37        PC:F0FA A:52 X:02 Y:D9 P:A5 SP:FB CYC:7 SL:193\nF0FB 85 STA $47         PC:F0FC A:37 X:02 Y:D9 P:25 SP:FB CYC:13 SL:193\nF0FD 20 JSR $FA68       PC:F0FE A:37 X:02 Y:D9 P:25 SP:FB CYC:22 SL:193\nFA68 24 BIT $01         PC:FA69 A:37 X:02 Y:D9 P:25 SP:F9 CYC:40 SL:193\nFA6A 38 SEC             PC:FA6B A:37 X:02 Y:D9 P:E5 SP:F9 CYC:49 SL:193\nFA6B A9 LDA #$75        PC:FA6C A:37 X:02 Y:D9 P:E5 SP:F9 CYC:55 SL:193\nFA6D 60 RTS             PC:FA6E A:75 X:02 Y:D9 P:65 SP:F9 CYC:61 SL:193\nF100 27 RLA $47         PC:F101 A:75 X:02 Y:D9 P:65 SP:FB CYC:79 SL:193\nF102 EA NOP             PC:F103 A:65 X:02 Y:D9 P:64 SP:FB CYC:94 SL:193\nF103 EA NOP             PC:F104 A:65 X:02 Y:D9 P:64 SP:FB CYC:100 SL:193\nF104 EA NOP             PC:F105 A:65 X:02 Y:D9 P:64 SP:FB CYC:106 SL:193\nF105 EA NOP             PC:F106 A:65 X:02 Y:D9 P:64 SP:FB CYC:112 SL:193\nF106 20 JSR $FA6E       PC:F107 A:65 X:02 Y:D9 P:64 SP:FB CYC:118 SL:193\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:02 Y:D9 P:64 SP:F9 CYC:136 SL:193\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:02 Y:D9 P:64 SP:F9 CYC:142 SL:193\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:02 Y:D9 P:64 SP:F9 CYC:148 SL:193\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:02 Y:D9 P:64 SP:F9 CYC:154 SL:193\nFA76 C9 CMP #$65        PC:FA77 A:65 X:02 Y:D9 P:64 SP:F9 CYC:160 SL:193\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:02 Y:D9 P:67 SP:F9 CYC:166 SL:193\nFA7A 60 RTS             PC:FA7B A:65 X:02 Y:D9 P:67 SP:F9 CYC:172 SL:193\nF109 A5 LDA $47         PC:F10A A:65 X:02 Y:D9 P:67 SP:FB CYC:190 SL:193\nF10B C9 CMP #$6F        PC:F10C A:6F X:02 Y:D9 P:65 SP:FB CYC:199 SL:193\nF10D F0 BEQ $F111       PC:F10E A:6F X:02 Y:D9 P:67 SP:FB CYC:205 SL:193\nF111 C8 INY             PC:F112 A:6F X:02 Y:D9 P:67 SP:FB CYC:214 SL:193\nF112 A9 LDA #$A5        PC:F113 A:6F X:02 Y:DA P:E5 SP:FB CYC:220 SL:193\nF114 8D STA $0647       PC:F115 A:A5 X:02 Y:DA P:E5 SP:FB CYC:226 SL:193\nF117 20 JSR $FB53       PC:F118 A:A5 X:02 Y:DA P:E5 SP:FB CYC:238 SL:193\nFB53 24 BIT $01         PC:FB54 A:A5 X:02 Y:DA P:E5 SP:F9 CYC:256 SL:193\nFB55 18 CLC             PC:FB56 A:A5 X:02 Y:DA P:E5 SP:F9 CYC:265 SL:193\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:02 Y:DA P:E4 SP:F9 CYC:271 SL:193\nFB58 60 RTS             PC:FB59 A:B3 X:02 Y:DA P:E4 SP:F9 CYC:277 SL:193\nF11A 2F RLA $0647       PC:F11B A:B3 X:02 Y:DA P:E4 SP:FB CYC:295 SL:193\nF11D EA NOP             PC:F11E A:02 X:02 Y:DA P:65 SP:FB CYC:313 SL:193\nF11E EA NOP             PC:F11F A:02 X:02 Y:DA P:65 SP:FB CYC:319 SL:193\nF11F EA NOP             PC:F120 A:02 X:02 Y:DA P:65 SP:FB CYC:325 SL:193\nF120 EA NOP             PC:F121 A:02 X:02 Y:DA P:65 SP:FB CYC:331 SL:193\nF121 20 JSR $FB59       PC:F122 A:02 X:02 Y:DA P:65 SP:FB CYC:337 SL:193\nFB59 50 BVC $FB75       PC:FB5A A:02 X:02 Y:DA P:65 SP:F9 CYC:14 SL:194\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:02 Y:DA P:65 SP:F9 CYC:20 SL:194\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:02 Y:DA P:65 SP:F9 CYC:26 SL:194\nFB5F C9 CMP #$02        PC:FB60 A:02 X:02 Y:DA P:65 SP:F9 CYC:32 SL:194\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:02 Y:DA P:67 SP:F9 CYC:38 SL:194\nFB63 60 RTS             PC:FB64 A:02 X:02 Y:DA P:67 SP:F9 CYC:44 SL:194\nF124 AD LDA $0647       PC:F125 A:02 X:02 Y:DA P:67 SP:FB CYC:62 SL:194\nF127 C9 CMP #$4A        PC:F128 A:4A X:02 Y:DA P:65 SP:FB CYC:74 SL:194\nF129 F0 BEQ $F12D       PC:F12A A:4A X:02 Y:DA P:67 SP:FB CYC:80 SL:194\nF12D C8 INY             PC:F12E A:4A X:02 Y:DA P:67 SP:FB CYC:89 SL:194\nF12E A9 LDA #$29        PC:F12F A:4A X:02 Y:DB P:E5 SP:FB CYC:95 SL:194\nF130 8D STA $0647       PC:F131 A:29 X:02 Y:DB P:65 SP:FB CYC:101 SL:194\nF133 20 JSR $FB64       PC:F134 A:29 X:02 Y:DB P:65 SP:FB CYC:113 SL:194\nFB64 B8 CLV             PC:FB65 A:29 X:02 Y:DB P:65 SP:F9 CYC:131 SL:194\nFB65 18 CLC             PC:FB66 A:29 X:02 Y:DB P:25 SP:F9 CYC:137 SL:194\nFB66 A9 LDA #$42        PC:FB67 A:29 X:02 Y:DB P:24 SP:F9 CYC:143 SL:194\nFB68 60 RTS             PC:FB69 A:42 X:02 Y:DB P:24 SP:F9 CYC:149 SL:194\nF136 2F RLA $0647       PC:F137 A:42 X:02 Y:DB P:24 SP:FB CYC:167 SL:194\nF139 EA NOP             PC:F13A A:42 X:02 Y:DB P:24 SP:FB CYC:185 SL:194\nF13A EA NOP             PC:F13B A:42 X:02 Y:DB P:24 SP:FB CYC:191 SL:194\nF13B EA NOP             PC:F13C A:42 X:02 Y:DB P:24 SP:FB CYC:197 SL:194\nF13C EA NOP             PC:F13D A:42 X:02 Y:DB P:24 SP:FB CYC:203 SL:194\nF13D 20 JSR $FB69       PC:F13E A:42 X:02 Y:DB P:24 SP:FB CYC:209 SL:194\nFB69 70 BVS $FB75       PC:FB6A A:42 X:02 Y:DB P:24 SP:F9 CYC:227 SL:194\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:02 Y:DB P:24 SP:F9 CYC:233 SL:194\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:02 Y:DB P:24 SP:F9 CYC:239 SL:194\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:02 Y:DB P:24 SP:F9 CYC:245 SL:194\nFB71 C9 CMP #$42        PC:FB72 A:42 X:02 Y:DB P:24 SP:F9 CYC:251 SL:194\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:02 Y:DB P:27 SP:F9 CYC:257 SL:194\nFB77 60 RTS             PC:FB78 A:42 X:02 Y:DB P:27 SP:F9 CYC:266 SL:194\nF140 AD LDA $0647       PC:F141 A:42 X:02 Y:DB P:27 SP:FB CYC:284 SL:194\nF143 C9 CMP #$52        PC:F144 A:52 X:02 Y:DB P:25 SP:FB CYC:296 SL:194\nF145 F0 BEQ $F149       PC:F146 A:52 X:02 Y:DB P:27 SP:FB CYC:302 SL:194\nF149 C8 INY             PC:F14A A:52 X:02 Y:DB P:27 SP:FB CYC:311 SL:194\nF14A A9 LDA #$37        PC:F14B A:52 X:02 Y:DC P:A5 SP:FB CYC:317 SL:194\nF14C 8D STA $0647       PC:F14D A:37 X:02 Y:DC P:25 SP:FB CYC:323 SL:194\nF14F 20 JSR $FA68       PC:F150 A:37 X:02 Y:DC P:25 SP:FB CYC:335 SL:194\nFA68 24 BIT $01         PC:FA69 A:37 X:02 Y:DC P:25 SP:F9 CYC:12 SL:195\nFA6A 38 SEC             PC:FA6B A:37 X:02 Y:DC P:E5 SP:F9 CYC:21 SL:195\nFA6B A9 LDA #$75        PC:FA6C A:37 X:02 Y:DC P:E5 SP:F9 CYC:27 SL:195\nFA6D 60 RTS             PC:FA6E A:75 X:02 Y:DC P:65 SP:F9 CYC:33 SL:195\nF152 2F RLA $0647       PC:F153 A:75 X:02 Y:DC P:65 SP:FB CYC:51 SL:195\nF155 EA NOP             PC:F156 A:65 X:02 Y:DC P:64 SP:FB CYC:69 SL:195\nF156 EA NOP             PC:F157 A:65 X:02 Y:DC P:64 SP:FB CYC:75 SL:195\nF157 EA NOP             PC:F158 A:65 X:02 Y:DC P:64 SP:FB CYC:81 SL:195\nF158 EA NOP             PC:F159 A:65 X:02 Y:DC P:64 SP:FB CYC:87 SL:195\nF159 20 JSR $FA6E       PC:F15A A:65 X:02 Y:DC P:64 SP:FB CYC:93 SL:195\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:02 Y:DC P:64 SP:F9 CYC:111 SL:195\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:02 Y:DC P:64 SP:F9 CYC:117 SL:195\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:02 Y:DC P:64 SP:F9 CYC:123 SL:195\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:02 Y:DC P:64 SP:F9 CYC:129 SL:195\nFA76 C9 CMP #$65        PC:FA77 A:65 X:02 Y:DC P:64 SP:F9 CYC:135 SL:195\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:02 Y:DC P:67 SP:F9 CYC:141 SL:195\nFA7A 60 RTS             PC:FA7B A:65 X:02 Y:DC P:67 SP:F9 CYC:147 SL:195\nF15C AD LDA $0647       PC:F15D A:65 X:02 Y:DC P:67 SP:FB CYC:165 SL:195\nF15F C9 CMP #$6F        PC:F160 A:6F X:02 Y:DC P:65 SP:FB CYC:177 SL:195\nF161 F0 BEQ $F165       PC:F162 A:6F X:02 Y:DC P:67 SP:FB CYC:183 SL:195\nF165 A9 LDA #$A5        PC:F166 A:6F X:02 Y:DC P:67 SP:FB CYC:192 SL:195\nF167 8D STA $0647       PC:F168 A:A5 X:02 Y:DC P:E5 SP:FB CYC:198 SL:195\nF16A A9 LDA #$48        PC:F16B A:A5 X:02 Y:DC P:E5 SP:FB CYC:210 SL:195\nF16C 85 STA $45         PC:F16D A:48 X:02 Y:DC P:65 SP:FB CYC:216 SL:195\nF16E A9 LDA #$05        PC:F16F A:48 X:02 Y:DC P:65 SP:FB CYC:225 SL:195\nF170 85 STA $46         PC:F171 A:05 X:02 Y:DC P:65 SP:FB CYC:231 SL:195\nF172 A0 LDY #$FF        PC:F173 A:05 X:02 Y:DC P:65 SP:FB CYC:240 SL:195\nF174 20 JSR $FB53       PC:F175 A:05 X:02 Y:FF P:E5 SP:FB CYC:246 SL:195\nFB53 24 BIT $01         PC:FB54 A:05 X:02 Y:FF P:E5 SP:F9 CYC:264 SL:195\nFB55 18 CLC             PC:FB56 A:05 X:02 Y:FF P:E5 SP:F9 CYC:273 SL:195\nFB56 A9 LDA #$B3        PC:FB57 A:05 X:02 Y:FF P:E4 SP:F9 CYC:279 SL:195\nFB58 60 RTS             PC:FB59 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:285 SL:195\nF177 33 RLA ($45), y    PC:F178 A:B3 X:02 Y:FF P:E4 SP:FB CYC:303 SL:195\nF179 EA NOP             PC:F17A A:02 X:02 Y:FF P:65 SP:FB CYC:327 SL:195\nF17A EA NOP             PC:F17B A:02 X:02 Y:FF P:65 SP:FB CYC:333 SL:195\nF17B 08 PHP             PC:F17C A:02 X:02 Y:FF P:65 SP:FB CYC:339 SL:195\nF17C 48 PHA             PC:F17D A:02 X:02 Y:FF P:65 SP:FA CYC:7 SL:196\nF17D A0 LDY #$DD        PC:F17E A:02 X:02 Y:FF P:65 SP:F9 CYC:16 SL:196\nF17F 68 PLA             PC:F180 A:02 X:02 Y:DD P:E5 SP:F9 CYC:22 SL:196\nF180 28 PLP             PC:F181 A:02 X:02 Y:DD P:65 SP:FA CYC:34 SL:196\nF181 20 JSR $FB59       PC:F182 A:02 X:02 Y:DD P:65 SP:FB CYC:46 SL:196\nFB59 50 BVC $FB75       PC:FB5A A:02 X:02 Y:DD P:65 SP:F9 CYC:64 SL:196\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:02 Y:DD P:65 SP:F9 CYC:70 SL:196\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:02 Y:DD P:65 SP:F9 CYC:76 SL:196\nFB5F C9 CMP #$02        PC:FB60 A:02 X:02 Y:DD P:65 SP:F9 CYC:82 SL:196\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:02 Y:DD P:67 SP:F9 CYC:88 SL:196\nFB63 60 RTS             PC:FB64 A:02 X:02 Y:DD P:67 SP:F9 CYC:94 SL:196\nF184 AD LDA $0647       PC:F185 A:02 X:02 Y:DD P:67 SP:FB CYC:112 SL:196\nF187 C9 CMP #$4A        PC:F188 A:4A X:02 Y:DD P:65 SP:FB CYC:124 SL:196\nF189 F0 BEQ $F18D       PC:F18A A:4A X:02 Y:DD P:67 SP:FB CYC:130 SL:196\nF18D A0 LDY #$FF        PC:F18E A:4A X:02 Y:DD P:67 SP:FB CYC:139 SL:196\nF18F A9 LDA #$29        PC:F190 A:4A X:02 Y:FF P:E5 SP:FB CYC:145 SL:196\nF191 8D STA $0647       PC:F192 A:29 X:02 Y:FF P:65 SP:FB CYC:151 SL:196\nF194 20 JSR $FB64       PC:F195 A:29 X:02 Y:FF P:65 SP:FB CYC:163 SL:196\nFB64 B8 CLV             PC:FB65 A:29 X:02 Y:FF P:65 SP:F9 CYC:181 SL:196\nFB65 18 CLC             PC:FB66 A:29 X:02 Y:FF P:25 SP:F9 CYC:187 SL:196\nFB66 A9 LDA #$42        PC:FB67 A:29 X:02 Y:FF P:24 SP:F9 CYC:193 SL:196\nFB68 60 RTS             PC:FB69 A:42 X:02 Y:FF P:24 SP:F9 CYC:199 SL:196\nF197 33 RLA ($45), y    PC:F198 A:42 X:02 Y:FF P:24 SP:FB CYC:217 SL:196\nF199 EA NOP             PC:F19A A:42 X:02 Y:FF P:24 SP:FB CYC:241 SL:196\nF19A EA NOP             PC:F19B A:42 X:02 Y:FF P:24 SP:FB CYC:247 SL:196\nF19B 08 PHP             PC:F19C A:42 X:02 Y:FF P:24 SP:FB CYC:253 SL:196\nF19C 48 PHA             PC:F19D A:42 X:02 Y:FF P:24 SP:FA CYC:262 SL:196\nF19D A0 LDY #$DE        PC:F19E A:42 X:02 Y:FF P:24 SP:F9 CYC:271 SL:196\nF19F 68 PLA             PC:F1A0 A:42 X:02 Y:DE P:A4 SP:F9 CYC:277 SL:196\nF1A0 28 PLP             PC:F1A1 A:42 X:02 Y:DE P:24 SP:FA CYC:289 SL:196\nF1A1 20 JSR $FB69       PC:F1A2 A:42 X:02 Y:DE P:24 SP:FB CYC:301 SL:196\nFB69 70 BVS $FB75       PC:FB6A A:42 X:02 Y:DE P:24 SP:F9 CYC:319 SL:196\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:02 Y:DE P:24 SP:F9 CYC:325 SL:196\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:02 Y:DE P:24 SP:F9 CYC:331 SL:196\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:02 Y:DE P:24 SP:F9 CYC:337 SL:196\nFB71 C9 CMP #$42        PC:FB72 A:42 X:02 Y:DE P:24 SP:F9 CYC:2 SL:197\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:02 Y:DE P:27 SP:F9 CYC:8 SL:197\nFB77 60 RTS             PC:FB78 A:42 X:02 Y:DE P:27 SP:F9 CYC:17 SL:197\nF1A4 AD LDA $0647       PC:F1A5 A:42 X:02 Y:DE P:27 SP:FB CYC:35 SL:197\nF1A7 C9 CMP #$52        PC:F1A8 A:52 X:02 Y:DE P:25 SP:FB CYC:47 SL:197\nF1A9 F0 BEQ $F1AD       PC:F1AA A:52 X:02 Y:DE P:27 SP:FB CYC:53 SL:197\nF1AD A0 LDY #$FF        PC:F1AE A:52 X:02 Y:DE P:27 SP:FB CYC:62 SL:197\nF1AF A9 LDA #$37        PC:F1B0 A:52 X:02 Y:FF P:A5 SP:FB CYC:68 SL:197\nF1B1 8D STA $0647       PC:F1B2 A:37 X:02 Y:FF P:25 SP:FB CYC:74 SL:197\nF1B4 20 JSR $FA68       PC:F1B5 A:37 X:02 Y:FF P:25 SP:FB CYC:86 SL:197\nFA68 24 BIT $01         PC:FA69 A:37 X:02 Y:FF P:25 SP:F9 CYC:104 SL:197\nFA6A 38 SEC             PC:FA6B A:37 X:02 Y:FF P:E5 SP:F9 CYC:113 SL:197\nFA6B A9 LDA #$75        PC:FA6C A:37 X:02 Y:FF P:E5 SP:F9 CYC:119 SL:197\nFA6D 60 RTS             PC:FA6E A:75 X:02 Y:FF P:65 SP:F9 CYC:125 SL:197\nF1B7 33 RLA ($45), y    PC:F1B8 A:75 X:02 Y:FF P:65 SP:FB CYC:143 SL:197\nF1B9 EA NOP             PC:F1BA A:65 X:02 Y:FF P:64 SP:FB CYC:167 SL:197\nF1BA EA NOP             PC:F1BB A:65 X:02 Y:FF P:64 SP:FB CYC:173 SL:197\nF1BB 08 PHP             PC:F1BC A:65 X:02 Y:FF P:64 SP:FB CYC:179 SL:197\nF1BC 48 PHA             PC:F1BD A:65 X:02 Y:FF P:64 SP:FA CYC:188 SL:197\nF1BD A0 LDY #$DF        PC:F1BE A:65 X:02 Y:FF P:64 SP:F9 CYC:197 SL:197\nF1BF 68 PLA             PC:F1C0 A:65 X:02 Y:DF P:E4 SP:F9 CYC:203 SL:197\nF1C0 28 PLP             PC:F1C1 A:65 X:02 Y:DF P:64 SP:FA CYC:215 SL:197\nF1C1 20 JSR $FA6E       PC:F1C2 A:65 X:02 Y:DF P:64 SP:FB CYC:227 SL:197\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:02 Y:DF P:64 SP:F9 CYC:245 SL:197\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:02 Y:DF P:64 SP:F9 CYC:251 SL:197\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:02 Y:DF P:64 SP:F9 CYC:257 SL:197\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:02 Y:DF P:64 SP:F9 CYC:263 SL:197\nFA76 C9 CMP #$65        PC:FA77 A:65 X:02 Y:DF P:64 SP:F9 CYC:269 SL:197\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:02 Y:DF P:67 SP:F9 CYC:275 SL:197\nFA7A 60 RTS             PC:FA7B A:65 X:02 Y:DF P:67 SP:F9 CYC:281 SL:197\nF1C4 AD LDA $0647       PC:F1C5 A:65 X:02 Y:DF P:67 SP:FB CYC:299 SL:197\nF1C7 C9 CMP #$6F        PC:F1C8 A:6F X:02 Y:DF P:65 SP:FB CYC:311 SL:197\nF1C9 F0 BEQ $F1CD       PC:F1CA A:6F X:02 Y:DF P:67 SP:FB CYC:317 SL:197\nF1CD A0 LDY #$E0        PC:F1CE A:6F X:02 Y:DF P:67 SP:FB CYC:326 SL:197\nF1CF A2 LDX #$FF        PC:F1D0 A:6F X:02 Y:E0 P:E5 SP:FB CYC:332 SL:197\nF1D1 A9 LDA #$A5        PC:F1D2 A:6F X:FF Y:E0 P:E5 SP:FB CYC:338 SL:197\nF1D3 85 STA $47         PC:F1D4 A:A5 X:FF Y:E0 P:E5 SP:FB CYC:3 SL:198\nF1D5 20 JSR $FB53       PC:F1D6 A:A5 X:FF Y:E0 P:E5 SP:FB CYC:12 SL:198\nFB53 24 BIT $01         PC:FB54 A:A5 X:FF Y:E0 P:E5 SP:F9 CYC:30 SL:198\nFB55 18 CLC             PC:FB56 A:A5 X:FF Y:E0 P:E5 SP:F9 CYC:39 SL:198\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:FF Y:E0 P:E4 SP:F9 CYC:45 SL:198\nFB58 60 RTS             PC:FB59 A:B3 X:FF Y:E0 P:E4 SP:F9 CYC:51 SL:198\nF1D8 37 RLA $48,x       PC:F1D9 A:B3 X:FF Y:E0 P:E4 SP:FB CYC:69 SL:198\nF1DA EA NOP             PC:F1DB A:02 X:FF Y:E0 P:65 SP:FB CYC:87 SL:198\nF1DB EA NOP             PC:F1DC A:02 X:FF Y:E0 P:65 SP:FB CYC:93 SL:198\nF1DC EA NOP             PC:F1DD A:02 X:FF Y:E0 P:65 SP:FB CYC:99 SL:198\nF1DD EA NOP             PC:F1DE A:02 X:FF Y:E0 P:65 SP:FB CYC:105 SL:198\nF1DE 20 JSR $FB59       PC:F1DF A:02 X:FF Y:E0 P:65 SP:FB CYC:111 SL:198\nFB59 50 BVC $FB75       PC:FB5A A:02 X:FF Y:E0 P:65 SP:F9 CYC:129 SL:198\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:FF Y:E0 P:65 SP:F9 CYC:135 SL:198\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:FF Y:E0 P:65 SP:F9 CYC:141 SL:198\nFB5F C9 CMP #$02        PC:FB60 A:02 X:FF Y:E0 P:65 SP:F9 CYC:147 SL:198\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:FF Y:E0 P:67 SP:F9 CYC:153 SL:198\nFB63 60 RTS             PC:FB64 A:02 X:FF Y:E0 P:67 SP:F9 CYC:159 SL:198\nF1E1 A5 LDA $47         PC:F1E2 A:02 X:FF Y:E0 P:67 SP:FB CYC:177 SL:198\nF1E3 C9 CMP #$4A        PC:F1E4 A:4A X:FF Y:E0 P:65 SP:FB CYC:186 SL:198\nF1E5 F0 BEQ $F1E9       PC:F1E6 A:4A X:FF Y:E0 P:67 SP:FB CYC:192 SL:198\nF1E9 C8 INY             PC:F1EA A:4A X:FF Y:E0 P:67 SP:FB CYC:201 SL:198\nF1EA A9 LDA #$29        PC:F1EB A:4A X:FF Y:E1 P:E5 SP:FB CYC:207 SL:198\nF1EC 85 STA $47         PC:F1ED A:29 X:FF Y:E1 P:65 SP:FB CYC:213 SL:198\nF1EE 20 JSR $FB64       PC:F1EF A:29 X:FF Y:E1 P:65 SP:FB CYC:222 SL:198\nFB64 B8 CLV             PC:FB65 A:29 X:FF Y:E1 P:65 SP:F9 CYC:240 SL:198\nFB65 18 CLC             PC:FB66 A:29 X:FF Y:E1 P:25 SP:F9 CYC:246 SL:198\nFB66 A9 LDA #$42        PC:FB67 A:29 X:FF Y:E1 P:24 SP:F9 CYC:252 SL:198\nFB68 60 RTS             PC:FB69 A:42 X:FF Y:E1 P:24 SP:F9 CYC:258 SL:198\nF1F1 37 RLA $48,x       PC:F1F2 A:42 X:FF Y:E1 P:24 SP:FB CYC:276 SL:198\nF1F3 EA NOP             PC:F1F4 A:42 X:FF Y:E1 P:24 SP:FB CYC:294 SL:198\nF1F4 EA NOP             PC:F1F5 A:42 X:FF Y:E1 P:24 SP:FB CYC:300 SL:198\nF1F5 EA NOP             PC:F1F6 A:42 X:FF Y:E1 P:24 SP:FB CYC:306 SL:198\nF1F6 EA NOP             PC:F1F7 A:42 X:FF Y:E1 P:24 SP:FB CYC:312 SL:198\nF1F7 20 JSR $FB69       PC:F1F8 A:42 X:FF Y:E1 P:24 SP:FB CYC:318 SL:198\nFB69 70 BVS $FB75       PC:FB6A A:42 X:FF Y:E1 P:24 SP:F9 CYC:336 SL:198\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:FF Y:E1 P:24 SP:F9 CYC:1 SL:199\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:FF Y:E1 P:24 SP:F9 CYC:7 SL:199\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:FF Y:E1 P:24 SP:F9 CYC:13 SL:199\nFB71 C9 CMP #$42        PC:FB72 A:42 X:FF Y:E1 P:24 SP:F9 CYC:19 SL:199\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:FF Y:E1 P:27 SP:F9 CYC:25 SL:199\nFB77 60 RTS             PC:FB78 A:42 X:FF Y:E1 P:27 SP:F9 CYC:34 SL:199\nF1FA A5 LDA $47         PC:F1FB A:42 X:FF Y:E1 P:27 SP:FB CYC:52 SL:199\nF1FC C9 CMP #$52        PC:F1FD A:52 X:FF Y:E1 P:25 SP:FB CYC:61 SL:199\nF1FE F0 BEQ $F202       PC:F1FF A:52 X:FF Y:E1 P:27 SP:FB CYC:67 SL:199\nF202 C8 INY             PC:F203 A:52 X:FF Y:E1 P:27 SP:FB CYC:76 SL:199\nF203 A9 LDA #$37        PC:F204 A:52 X:FF Y:E2 P:A5 SP:FB CYC:82 SL:199\nF205 85 STA $47         PC:F206 A:37 X:FF Y:E2 P:25 SP:FB CYC:88 SL:199\nF207 20 JSR $FA68       PC:F208 A:37 X:FF Y:E2 P:25 SP:FB CYC:97 SL:199\nFA68 24 BIT $01         PC:FA69 A:37 X:FF Y:E2 P:25 SP:F9 CYC:115 SL:199\nFA6A 38 SEC             PC:FA6B A:37 X:FF Y:E2 P:E5 SP:F9 CYC:124 SL:199\nFA6B A9 LDA #$75        PC:FA6C A:37 X:FF Y:E2 P:E5 SP:F9 CYC:130 SL:199\nFA6D 60 RTS             PC:FA6E A:75 X:FF Y:E2 P:65 SP:F9 CYC:136 SL:199\nF20A 37 RLA $48,x       PC:F20B A:75 X:FF Y:E2 P:65 SP:FB CYC:154 SL:199\nF20C EA NOP             PC:F20D A:65 X:FF Y:E2 P:64 SP:FB CYC:172 SL:199\nF20D EA NOP             PC:F20E A:65 X:FF Y:E2 P:64 SP:FB CYC:178 SL:199\nF20E EA NOP             PC:F20F A:65 X:FF Y:E2 P:64 SP:FB CYC:184 SL:199\nF20F EA NOP             PC:F210 A:65 X:FF Y:E2 P:64 SP:FB CYC:190 SL:199\nF210 20 JSR $FA6E       PC:F211 A:65 X:FF Y:E2 P:64 SP:FB CYC:196 SL:199\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:FF Y:E2 P:64 SP:F9 CYC:214 SL:199\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:FF Y:E2 P:64 SP:F9 CYC:220 SL:199\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:FF Y:E2 P:64 SP:F9 CYC:226 SL:199\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:FF Y:E2 P:64 SP:F9 CYC:232 SL:199\nFA76 C9 CMP #$65        PC:FA77 A:65 X:FF Y:E2 P:64 SP:F9 CYC:238 SL:199\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:FF Y:E2 P:67 SP:F9 CYC:244 SL:199\nFA7A 60 RTS             PC:FA7B A:65 X:FF Y:E2 P:67 SP:F9 CYC:250 SL:199\nF213 A5 LDA $47         PC:F214 A:65 X:FF Y:E2 P:67 SP:FB CYC:268 SL:199\nF215 C9 CMP #$6F        PC:F216 A:6F X:FF Y:E2 P:65 SP:FB CYC:277 SL:199\nF217 F0 BEQ $F21B       PC:F218 A:6F X:FF Y:E2 P:67 SP:FB CYC:283 SL:199\nF21B A9 LDA #$A5        PC:F21C A:6F X:FF Y:E2 P:67 SP:FB CYC:292 SL:199\nF21D 8D STA $0647       PC:F21E A:A5 X:FF Y:E2 P:E5 SP:FB CYC:298 SL:199\nF220 A0 LDY #$FF        PC:F221 A:A5 X:FF Y:E2 P:E5 SP:FB CYC:310 SL:199\nF222 20 JSR $FB53       PC:F223 A:A5 X:FF Y:FF P:E5 SP:FB CYC:316 SL:199\nFB53 24 BIT $01         PC:FB54 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:334 SL:199\nFB55 18 CLC             PC:FB56 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:2 SL:200\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:8 SL:200\nFB58 60 RTS             PC:FB59 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:14 SL:200\nF225 3B RLA $0548,y     PC:F226 A:B3 X:FF Y:FF P:E4 SP:FB CYC:32 SL:200\nF228 EA NOP             PC:F229 A:02 X:FF Y:FF P:65 SP:FB CYC:53 SL:200\nF229 EA NOP             PC:F22A A:02 X:FF Y:FF P:65 SP:FB CYC:59 SL:200\nF22A 08 PHP             PC:F22B A:02 X:FF Y:FF P:65 SP:FB CYC:65 SL:200\nF22B 48 PHA             PC:F22C A:02 X:FF Y:FF P:65 SP:FA CYC:74 SL:200\nF22C A0 LDY #$E3        PC:F22D A:02 X:FF Y:FF P:65 SP:F9 CYC:83 SL:200\nF22E 68 PLA             PC:F22F A:02 X:FF Y:E3 P:E5 SP:F9 CYC:89 SL:200\nF22F 28 PLP             PC:F230 A:02 X:FF Y:E3 P:65 SP:FA CYC:101 SL:200\nF230 20 JSR $FB59       PC:F231 A:02 X:FF Y:E3 P:65 SP:FB CYC:113 SL:200\nFB59 50 BVC $FB75       PC:FB5A A:02 X:FF Y:E3 P:65 SP:F9 CYC:131 SL:200\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:FF Y:E3 P:65 SP:F9 CYC:137 SL:200\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:FF Y:E3 P:65 SP:F9 CYC:143 SL:200\nFB5F C9 CMP #$02        PC:FB60 A:02 X:FF Y:E3 P:65 SP:F9 CYC:149 SL:200\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:FF Y:E3 P:67 SP:F9 CYC:155 SL:200\nFB63 60 RTS             PC:FB64 A:02 X:FF Y:E3 P:67 SP:F9 CYC:161 SL:200\nF233 AD LDA $0647       PC:F234 A:02 X:FF Y:E3 P:67 SP:FB CYC:179 SL:200\nF236 C9 CMP #$4A        PC:F237 A:4A X:FF Y:E3 P:65 SP:FB CYC:191 SL:200\nF238 F0 BEQ $F23C       PC:F239 A:4A X:FF Y:E3 P:67 SP:FB CYC:197 SL:200\nF23C A0 LDY #$FF        PC:F23D A:4A X:FF Y:E3 P:67 SP:FB CYC:206 SL:200\nF23E A9 LDA #$29        PC:F23F A:4A X:FF Y:FF P:E5 SP:FB CYC:212 SL:200\nF240 8D STA $0647       PC:F241 A:29 X:FF Y:FF P:65 SP:FB CYC:218 SL:200\nF243 20 JSR $FB64       PC:F244 A:29 X:FF Y:FF P:65 SP:FB CYC:230 SL:200\nFB64 B8 CLV             PC:FB65 A:29 X:FF Y:FF P:65 SP:F9 CYC:248 SL:200\nFB65 18 CLC             PC:FB66 A:29 X:FF Y:FF P:25 SP:F9 CYC:254 SL:200\nFB66 A9 LDA #$42        PC:FB67 A:29 X:FF Y:FF P:24 SP:F9 CYC:260 SL:200\nFB68 60 RTS             PC:FB69 A:42 X:FF Y:FF P:24 SP:F9 CYC:266 SL:200\nF246 3B RLA $0548,y     PC:F247 A:42 X:FF Y:FF P:24 SP:FB CYC:284 SL:200\nF249 EA NOP             PC:F24A A:42 X:FF Y:FF P:24 SP:FB CYC:305 SL:200\nF24A EA NOP             PC:F24B A:42 X:FF Y:FF P:24 SP:FB CYC:311 SL:200\nF24B 08 PHP             PC:F24C A:42 X:FF Y:FF P:24 SP:FB CYC:317 SL:200\nF24C 48 PHA             PC:F24D A:42 X:FF Y:FF P:24 SP:FA CYC:326 SL:200\nF24D A0 LDY #$E4        PC:F24E A:42 X:FF Y:FF P:24 SP:F9 CYC:335 SL:200\nF24F 68 PLA             PC:F250 A:42 X:FF Y:E4 P:A4 SP:F9 CYC:0 SL:201\nF250 28 PLP             PC:F251 A:42 X:FF Y:E4 P:24 SP:FA CYC:12 SL:201\nF251 20 JSR $FB69       PC:F252 A:42 X:FF Y:E4 P:24 SP:FB CYC:24 SL:201\nFB69 70 BVS $FB75       PC:FB6A A:42 X:FF Y:E4 P:24 SP:F9 CYC:42 SL:201\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:FF Y:E4 P:24 SP:F9 CYC:48 SL:201\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:FF Y:E4 P:24 SP:F9 CYC:54 SL:201\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:FF Y:E4 P:24 SP:F9 CYC:60 SL:201\nFB71 C9 CMP #$42        PC:FB72 A:42 X:FF Y:E4 P:24 SP:F9 CYC:66 SL:201\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:FF Y:E4 P:27 SP:F9 CYC:72 SL:201\nFB77 60 RTS             PC:FB78 A:42 X:FF Y:E4 P:27 SP:F9 CYC:81 SL:201\nF254 AD LDA $0647       PC:F255 A:42 X:FF Y:E4 P:27 SP:FB CYC:99 SL:201\nF257 C9 CMP #$52        PC:F258 A:52 X:FF Y:E4 P:25 SP:FB CYC:111 SL:201\nF259 F0 BEQ $F25D       PC:F25A A:52 X:FF Y:E4 P:27 SP:FB CYC:117 SL:201\nF25D A0 LDY #$FF        PC:F25E A:52 X:FF Y:E4 P:27 SP:FB CYC:126 SL:201\nF25F A9 LDA #$37        PC:F260 A:52 X:FF Y:FF P:A5 SP:FB CYC:132 SL:201\nF261 8D STA $0647       PC:F262 A:37 X:FF Y:FF P:25 SP:FB CYC:138 SL:201\nF264 20 JSR $FA68       PC:F265 A:37 X:FF Y:FF P:25 SP:FB CYC:150 SL:201\nFA68 24 BIT $01         PC:FA69 A:37 X:FF Y:FF P:25 SP:F9 CYC:168 SL:201\nFA6A 38 SEC             PC:FA6B A:37 X:FF Y:FF P:E5 SP:F9 CYC:177 SL:201\nFA6B A9 LDA #$75        PC:FA6C A:37 X:FF Y:FF P:E5 SP:F9 CYC:183 SL:201\nFA6D 60 RTS             PC:FA6E A:75 X:FF Y:FF P:65 SP:F9 CYC:189 SL:201\nF267 3B RLA $0548,y     PC:F268 A:75 X:FF Y:FF P:65 SP:FB CYC:207 SL:201\nF26A EA NOP             PC:F26B A:65 X:FF Y:FF P:64 SP:FB CYC:228 SL:201\nF26B EA NOP             PC:F26C A:65 X:FF Y:FF P:64 SP:FB CYC:234 SL:201\nF26C 08 PHP             PC:F26D A:65 X:FF Y:FF P:64 SP:FB CYC:240 SL:201\nF26D 48 PHA             PC:F26E A:65 X:FF Y:FF P:64 SP:FA CYC:249 SL:201\nF26E A0 LDY #$E5        PC:F26F A:65 X:FF Y:FF P:64 SP:F9 CYC:258 SL:201\nF270 68 PLA             PC:F271 A:65 X:FF Y:E5 P:E4 SP:F9 CYC:264 SL:201\nF271 28 PLP             PC:F272 A:65 X:FF Y:E5 P:64 SP:FA CYC:276 SL:201\nF272 20 JSR $FA6E       PC:F273 A:65 X:FF Y:E5 P:64 SP:FB CYC:288 SL:201\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:FF Y:E5 P:64 SP:F9 CYC:306 SL:201\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:FF Y:E5 P:64 SP:F9 CYC:312 SL:201\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:FF Y:E5 P:64 SP:F9 CYC:318 SL:201\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:FF Y:E5 P:64 SP:F9 CYC:324 SL:201\nFA76 C9 CMP #$65        PC:FA77 A:65 X:FF Y:E5 P:64 SP:F9 CYC:330 SL:201\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:FF Y:E5 P:67 SP:F9 CYC:336 SL:201\nFA7A 60 RTS             PC:FA7B A:65 X:FF Y:E5 P:67 SP:F9 CYC:1 SL:202\nF275 AD LDA $0647       PC:F276 A:65 X:FF Y:E5 P:67 SP:FB CYC:19 SL:202\nF278 C9 CMP #$6F        PC:F279 A:6F X:FF Y:E5 P:65 SP:FB CYC:31 SL:202\nF27A F0 BEQ $F27E       PC:F27B A:6F X:FF Y:E5 P:67 SP:FB CYC:37 SL:202\nF27E A0 LDY #$E6        PC:F27F A:6F X:FF Y:E5 P:67 SP:FB CYC:46 SL:202\nF280 A2 LDX #$FF        PC:F281 A:6F X:FF Y:E6 P:E5 SP:FB CYC:52 SL:202\nF282 A9 LDA #$A5        PC:F283 A:6F X:FF Y:E6 P:E5 SP:FB CYC:58 SL:202\nF284 8D STA $0647       PC:F285 A:A5 X:FF Y:E6 P:E5 SP:FB CYC:64 SL:202\nF287 20 JSR $FB53       PC:F288 A:A5 X:FF Y:E6 P:E5 SP:FB CYC:76 SL:202\nFB53 24 BIT $01         PC:FB54 A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:94 SL:202\nFB55 18 CLC             PC:FB56 A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:103 SL:202\nFB56 A9 LDA #$B3        PC:FB57 A:A5 X:FF Y:E6 P:E4 SP:F9 CYC:109 SL:202\nFB58 60 RTS             PC:FB59 A:B3 X:FF Y:E6 P:E4 SP:F9 CYC:115 SL:202\nF28A 3F RLA $0548,x     PC:F28B A:B3 X:FF Y:E6 P:E4 SP:FB CYC:133 SL:202\nF28D EA NOP             PC:F28E A:02 X:FF Y:E6 P:65 SP:FB CYC:154 SL:202\nF28E EA NOP             PC:F28F A:02 X:FF Y:E6 P:65 SP:FB CYC:160 SL:202\nF28F EA NOP             PC:F290 A:02 X:FF Y:E6 P:65 SP:FB CYC:166 SL:202\nF290 EA NOP             PC:F291 A:02 X:FF Y:E6 P:65 SP:FB CYC:172 SL:202\nF291 20 JSR $FB59       PC:F292 A:02 X:FF Y:E6 P:65 SP:FB CYC:178 SL:202\nFB59 50 BVC $FB75       PC:FB5A A:02 X:FF Y:E6 P:65 SP:F9 CYC:196 SL:202\nFB5B 90 BCC $FB75       PC:FB5C A:02 X:FF Y:E6 P:65 SP:F9 CYC:202 SL:202\nFB5D 30 BMI $FB75       PC:FB5E A:02 X:FF Y:E6 P:65 SP:F9 CYC:208 SL:202\nFB5F C9 CMP #$02        PC:FB60 A:02 X:FF Y:E6 P:65 SP:F9 CYC:214 SL:202\nFB61 D0 BNE $FB75       PC:FB62 A:02 X:FF Y:E6 P:67 SP:F9 CYC:220 SL:202\nFB63 60 RTS             PC:FB64 A:02 X:FF Y:E6 P:67 SP:F9 CYC:226 SL:202\nF294 AD LDA $0647       PC:F295 A:02 X:FF Y:E6 P:67 SP:FB CYC:244 SL:202\nF297 C9 CMP #$4A        PC:F298 A:4A X:FF Y:E6 P:65 SP:FB CYC:256 SL:202\nF299 F0 BEQ $F29D       PC:F29A A:4A X:FF Y:E6 P:67 SP:FB CYC:262 SL:202\nF29D C8 INY             PC:F29E A:4A X:FF Y:E6 P:67 SP:FB CYC:271 SL:202\nF29E A9 LDA #$29        PC:F29F A:4A X:FF Y:E7 P:E5 SP:FB CYC:277 SL:202\nF2A0 8D STA $0647       PC:F2A1 A:29 X:FF Y:E7 P:65 SP:FB CYC:283 SL:202\nF2A3 20 JSR $FB64       PC:F2A4 A:29 X:FF Y:E7 P:65 SP:FB CYC:295 SL:202\nFB64 B8 CLV             PC:FB65 A:29 X:FF Y:E7 P:65 SP:F9 CYC:313 SL:202\nFB65 18 CLC             PC:FB66 A:29 X:FF Y:E7 P:25 SP:F9 CYC:319 SL:202\nFB66 A9 LDA #$42        PC:FB67 A:29 X:FF Y:E7 P:24 SP:F9 CYC:325 SL:202\nFB68 60 RTS             PC:FB69 A:42 X:FF Y:E7 P:24 SP:F9 CYC:331 SL:202\nF2A6 3F RLA $0548,x     PC:F2A7 A:42 X:FF Y:E7 P:24 SP:FB CYC:8 SL:203\nF2A9 EA NOP             PC:F2AA A:42 X:FF Y:E7 P:24 SP:FB CYC:29 SL:203\nF2AA EA NOP             PC:F2AB A:42 X:FF Y:E7 P:24 SP:FB CYC:35 SL:203\nF2AB EA NOP             PC:F2AC A:42 X:FF Y:E7 P:24 SP:FB CYC:41 SL:203\nF2AC EA NOP             PC:F2AD A:42 X:FF Y:E7 P:24 SP:FB CYC:47 SL:203\nF2AD 20 JSR $FB69       PC:F2AE A:42 X:FF Y:E7 P:24 SP:FB CYC:53 SL:203\nFB69 70 BVS $FB75       PC:FB6A A:42 X:FF Y:E7 P:24 SP:F9 CYC:71 SL:203\nFB6B F0 BEQ $FB75       PC:FB6C A:42 X:FF Y:E7 P:24 SP:F9 CYC:77 SL:203\nFB6D 30 BMI $FB75       PC:FB6E A:42 X:FF Y:E7 P:24 SP:F9 CYC:83 SL:203\nFB6F B0 BCS $FB75       PC:FB70 A:42 X:FF Y:E7 P:24 SP:F9 CYC:89 SL:203\nFB71 C9 CMP #$42        PC:FB72 A:42 X:FF Y:E7 P:24 SP:F9 CYC:95 SL:203\nFB73 F0 BEQ $FB77       PC:FB74 A:42 X:FF Y:E7 P:27 SP:F9 CYC:101 SL:203\nFB77 60 RTS             PC:FB78 A:42 X:FF Y:E7 P:27 SP:F9 CYC:110 SL:203\nF2B0 AD LDA $0647       PC:F2B1 A:42 X:FF Y:E7 P:27 SP:FB CYC:128 SL:203\nF2B3 C9 CMP #$52        PC:F2B4 A:52 X:FF Y:E7 P:25 SP:FB CYC:140 SL:203\nF2B5 F0 BEQ $F2B9       PC:F2B6 A:52 X:FF Y:E7 P:27 SP:FB CYC:146 SL:203\nF2B9 C8 INY             PC:F2BA A:52 X:FF Y:E7 P:27 SP:FB CYC:155 SL:203\nF2BA A9 LDA #$37        PC:F2BB A:52 X:FF Y:E8 P:A5 SP:FB CYC:161 SL:203\nF2BC 8D STA $0647       PC:F2BD A:37 X:FF Y:E8 P:25 SP:FB CYC:167 SL:203\nF2BF 20 JSR $FA68       PC:F2C0 A:37 X:FF Y:E8 P:25 SP:FB CYC:179 SL:203\nFA68 24 BIT $01         PC:FA69 A:37 X:FF Y:E8 P:25 SP:F9 CYC:197 SL:203\nFA6A 38 SEC             PC:FA6B A:37 X:FF Y:E8 P:E5 SP:F9 CYC:206 SL:203\nFA6B A9 LDA #$75        PC:FA6C A:37 X:FF Y:E8 P:E5 SP:F9 CYC:212 SL:203\nFA6D 60 RTS             PC:FA6E A:75 X:FF Y:E8 P:65 SP:F9 CYC:218 SL:203\nF2C2 3F RLA $0548,x     PC:F2C3 A:75 X:FF Y:E8 P:65 SP:FB CYC:236 SL:203\nF2C5 EA NOP             PC:F2C6 A:65 X:FF Y:E8 P:64 SP:FB CYC:257 SL:203\nF2C6 EA NOP             PC:F2C7 A:65 X:FF Y:E8 P:64 SP:FB CYC:263 SL:203\nF2C7 EA NOP             PC:F2C8 A:65 X:FF Y:E8 P:64 SP:FB CYC:269 SL:203\nF2C8 EA NOP             PC:F2C9 A:65 X:FF Y:E8 P:64 SP:FB CYC:275 SL:203\nF2C9 20 JSR $FA6E       PC:F2CA A:65 X:FF Y:E8 P:64 SP:FB CYC:281 SL:203\nFA6E 50 BVC $FAE6       PC:FA6F A:65 X:FF Y:E8 P:64 SP:F9 CYC:299 SL:203\nFA70 F0 BEQ $FAE6       PC:FA71 A:65 X:FF Y:E8 P:64 SP:F9 CYC:305 SL:203\nFA72 30 BMI $FAE6       PC:FA73 A:65 X:FF Y:E8 P:64 SP:F9 CYC:311 SL:203\nFA74 B0 BCS $FAE6       PC:FA75 A:65 X:FF Y:E8 P:64 SP:F9 CYC:317 SL:203\nFA76 C9 CMP #$65        PC:FA77 A:65 X:FF Y:E8 P:64 SP:F9 CYC:323 SL:203\nFA78 D0 BNE $FAE6       PC:FA79 A:65 X:FF Y:E8 P:67 SP:F9 CYC:329 SL:203\nFA7A 60 RTS             PC:FA7B A:65 X:FF Y:E8 P:67 SP:F9 CYC:335 SL:203\nF2CC AD LDA $0647       PC:F2CD A:65 X:FF Y:E8 P:67 SP:FB CYC:12 SL:204\nF2CF C9 CMP #$6F        PC:F2D0 A:6F X:FF Y:E8 P:65 SP:FB CYC:24 SL:204\nF2D1 F0 BEQ $F2D5       PC:F2D2 A:6F X:FF Y:E8 P:67 SP:FB CYC:30 SL:204\nF2D5 60 RTS             PC:F2D6 A:6F X:FF Y:E8 P:67 SP:FB CYC:39 SL:204\nC647 20 JSR $F2D6       PC:C648 A:6F X:FF Y:E8 P:67 SP:FD CYC:57 SL:204\nF2D6 A9 LDA #$FF        PC:F2D7 A:6F X:FF Y:E8 P:67 SP:FB CYC:75 SL:204\nF2D8 85 STA $01         PC:F2D9 A:FF X:FF Y:E8 P:E5 SP:FB CYC:81 SL:204\nF2DA A0 LDY #$E9        PC:F2DB A:FF X:FF Y:E8 P:E5 SP:FB CYC:90 SL:204\nF2DC A2 LDX #$02        PC:F2DD A:FF X:FF Y:E9 P:E5 SP:FB CYC:96 SL:204\nF2DE A9 LDA #$47        PC:F2DF A:FF X:02 Y:E9 P:65 SP:FB CYC:102 SL:204\nF2E0 85 STA $47         PC:F2E1 A:47 X:02 Y:E9 P:65 SP:FB CYC:108 SL:204\nF2E2 A9 LDA #$06        PC:F2E3 A:47 X:02 Y:E9 P:65 SP:FB CYC:117 SL:204\nF2E4 85 STA $48         PC:F2E5 A:06 X:02 Y:E9 P:65 SP:FB CYC:123 SL:204\nF2E6 A9 LDA #$A5        PC:F2E7 A:06 X:02 Y:E9 P:65 SP:FB CYC:132 SL:204\nF2E8 8D STA $0647       PC:F2E9 A:A5 X:02 Y:E9 P:E5 SP:FB CYC:138 SL:204\nF2EB 20 JSR $FB1D       PC:F2EC A:A5 X:02 Y:E9 P:E5 SP:FB CYC:150 SL:204\nFB1D 24 BIT $01         PC:FB1E A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:168 SL:204\nFB1F 18 CLC             PC:FB20 A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:177 SL:204\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:02 Y:E9 P:E4 SP:F9 CYC:183 SL:204\nFB22 60 RTS             PC:FB23 A:B3 X:02 Y:E9 P:E4 SP:F9 CYC:189 SL:204\nF2EE 43 SRE $(EA45,x)   PC:F2EF A:B3 X:02 Y:E9 P:E4 SP:FB CYC:207 SL:204\nF2F0 EA NOP             PC:F2F1 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:231 SL:204\nF2F1 EA NOP             PC:F2F2 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:237 SL:204\nF2F2 EA NOP             PC:F2F3 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:243 SL:204\nF2F3 EA NOP             PC:F2F4 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:249 SL:204\nF2F4 20 JSR $FB23       PC:F2F5 A:E1 X:02 Y:E9 P:E5 SP:FB CYC:255 SL:204\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:273 SL:204\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:279 SL:204\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:285 SL:204\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:291 SL:204\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:02 Y:E9 P:67 SP:F9 CYC:297 SL:204\nFB2D 60 RTS             PC:FB2E A:E1 X:02 Y:E9 P:67 SP:F9 CYC:303 SL:204\nF2F7 AD LDA $0647       PC:F2F8 A:E1 X:02 Y:E9 P:67 SP:FB CYC:321 SL:204\nF2FA C9 CMP #$52        PC:F2FB A:52 X:02 Y:E9 P:65 SP:FB CYC:333 SL:204\nF2FC F0 BEQ $F300       PC:F2FD A:52 X:02 Y:E9 P:67 SP:FB CYC:339 SL:204\nF300 C8 INY             PC:F301 A:52 X:02 Y:E9 P:67 SP:FB CYC:10 SL:205\nF301 A9 LDA #$29        PC:F302 A:52 X:02 Y:EA P:E5 SP:FB CYC:16 SL:205\nF303 8D STA $0647       PC:F304 A:29 X:02 Y:EA P:65 SP:FB CYC:22 SL:205\nF306 20 JSR $FB2E       PC:F307 A:29 X:02 Y:EA P:65 SP:FB CYC:34 SL:205\nFB2E B8 CLV             PC:FB2F A:29 X:02 Y:EA P:65 SP:F9 CYC:52 SL:205\nFB2F 18 CLC             PC:FB30 A:29 X:02 Y:EA P:25 SP:F9 CYC:58 SL:205\nFB30 A9 LDA #$42        PC:FB31 A:29 X:02 Y:EA P:24 SP:F9 CYC:64 SL:205\nFB32 60 RTS             PC:FB33 A:42 X:02 Y:EA P:24 SP:F9 CYC:70 SL:205\nF309 43 SRE $(EA45,x)   PC:F30A A:42 X:02 Y:EA P:24 SP:FB CYC:88 SL:205\nF30B EA NOP             PC:F30C A:56 X:02 Y:EA P:25 SP:FB CYC:112 SL:205\nF30C EA NOP             PC:F30D A:56 X:02 Y:EA P:25 SP:FB CYC:118 SL:205\nF30D EA NOP             PC:F30E A:56 X:02 Y:EA P:25 SP:FB CYC:124 SL:205\nF30E EA NOP             PC:F30F A:56 X:02 Y:EA P:25 SP:FB CYC:130 SL:205\nF30F 20 JSR $FB33       PC:F310 A:56 X:02 Y:EA P:25 SP:FB CYC:136 SL:205\nFB33 70 BVS $FB75       PC:FB34 A:56 X:02 Y:EA P:25 SP:F9 CYC:154 SL:205\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:02 Y:EA P:25 SP:F9 CYC:160 SL:205\nFB37 30 BMI $FB75       PC:FB38 A:56 X:02 Y:EA P:25 SP:F9 CYC:166 SL:205\nFB39 90 BCC $FB75       PC:FB3A A:56 X:02 Y:EA P:25 SP:F9 CYC:172 SL:205\nFB3B C9 CMP #$56        PC:FB3C A:56 X:02 Y:EA P:25 SP:F9 CYC:178 SL:205\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:02 Y:EA P:27 SP:F9 CYC:184 SL:205\nFB3F 60 RTS             PC:FB40 A:56 X:02 Y:EA P:27 SP:F9 CYC:190 SL:205\nF312 AD LDA $0647       PC:F313 A:56 X:02 Y:EA P:27 SP:FB CYC:208 SL:205\nF315 C9 CMP #$14        PC:F316 A:14 X:02 Y:EA P:25 SP:FB CYC:220 SL:205\nF317 F0 BEQ $F31B       PC:F318 A:14 X:02 Y:EA P:27 SP:FB CYC:226 SL:205\nF31B C8 INY             PC:F31C A:14 X:02 Y:EA P:27 SP:FB CYC:235 SL:205\nF31C A9 LDA #$37        PC:F31D A:14 X:02 Y:EB P:A5 SP:FB CYC:241 SL:205\nF31E 8D STA $0647       PC:F31F A:37 X:02 Y:EB P:25 SP:FB CYC:247 SL:205\nF321 20 JSR $FB40       PC:F322 A:37 X:02 Y:EB P:25 SP:FB CYC:259 SL:205\nFB40 24 BIT $01         PC:FB41 A:37 X:02 Y:EB P:25 SP:F9 CYC:277 SL:205\nFB42 38 SEC             PC:FB43 A:37 X:02 Y:EB P:E5 SP:F9 CYC:286 SL:205\nFB43 A9 LDA #$75        PC:FB44 A:37 X:02 Y:EB P:E5 SP:F9 CYC:292 SL:205\nFB45 60 RTS             PC:FB46 A:75 X:02 Y:EB P:65 SP:F9 CYC:298 SL:205\nF324 43 SRE $(EA45,x)   PC:F325 A:75 X:02 Y:EB P:65 SP:FB CYC:316 SL:205\nF326 EA NOP             PC:F327 A:6E X:02 Y:EB P:65 SP:FB CYC:340 SL:205\nF327 EA NOP             PC:F328 A:6E X:02 Y:EB P:65 SP:FB CYC:5 SL:206\nF328 EA NOP             PC:F329 A:6E X:02 Y:EB P:65 SP:FB CYC:11 SL:206\nF329 EA NOP             PC:F32A A:6E X:02 Y:EB P:65 SP:FB CYC:17 SL:206\nF32A 20 JSR $FB46       PC:F32B A:6E X:02 Y:EB P:65 SP:FB CYC:23 SL:206\nFB46 50 BVC $FB75       PC:FB47 A:6E X:02 Y:EB P:65 SP:F9 CYC:41 SL:206\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:02 Y:EB P:65 SP:F9 CYC:47 SL:206\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:02 Y:EB P:65 SP:F9 CYC:53 SL:206\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:02 Y:EB P:65 SP:F9 CYC:59 SL:206\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:02 Y:EB P:65 SP:F9 CYC:65 SL:206\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:02 Y:EB P:67 SP:F9 CYC:71 SL:206\nFB52 60 RTS             PC:FB53 A:6E X:02 Y:EB P:67 SP:F9 CYC:77 SL:206\nF32D AD LDA $0647       PC:F32E A:6E X:02 Y:EB P:67 SP:FB CYC:95 SL:206\nF330 C9 CMP #$1B        PC:F331 A:1B X:02 Y:EB P:65 SP:FB CYC:107 SL:206\nF332 F0 BEQ $F336       PC:F333 A:1B X:02 Y:EB P:67 SP:FB CYC:113 SL:206\nF336 C8 INY             PC:F337 A:1B X:02 Y:EB P:67 SP:FB CYC:122 SL:206\nF337 A9 LDA #$A5        PC:F338 A:1B X:02 Y:EC P:E5 SP:FB CYC:128 SL:206\nF339 85 STA $47         PC:F33A A:A5 X:02 Y:EC P:E5 SP:FB CYC:134 SL:206\nF33B 20 JSR $FB1D       PC:F33C A:A5 X:02 Y:EC P:E5 SP:FB CYC:143 SL:206\nFB1D 24 BIT $01         PC:FB1E A:A5 X:02 Y:EC P:E5 SP:F9 CYC:161 SL:206\nFB1F 18 CLC             PC:FB20 A:A5 X:02 Y:EC P:E5 SP:F9 CYC:170 SL:206\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:02 Y:EC P:E4 SP:F9 CYC:176 SL:206\nFB22 60 RTS             PC:FB23 A:B3 X:02 Y:EC P:E4 SP:F9 CYC:182 SL:206\nF33E 47 SRE $47         PC:F33F A:B3 X:02 Y:EC P:E4 SP:FB CYC:200 SL:206\nF340 EA NOP             PC:F341 A:E1 X:02 Y:EC P:E5 SP:FB CYC:215 SL:206\nF341 EA NOP             PC:F342 A:E1 X:02 Y:EC P:E5 SP:FB CYC:221 SL:206\nF342 EA NOP             PC:F343 A:E1 X:02 Y:EC P:E5 SP:FB CYC:227 SL:206\nF343 EA NOP             PC:F344 A:E1 X:02 Y:EC P:E5 SP:FB CYC:233 SL:206\nF344 20 JSR $FB23       PC:F345 A:E1 X:02 Y:EC P:E5 SP:FB CYC:239 SL:206\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:257 SL:206\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:263 SL:206\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:02 Y:EC P:E5 SP:F9 CYC:269 SL:206\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:02 Y:EC P:E5 SP:F9 CYC:275 SL:206\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:02 Y:EC P:67 SP:F9 CYC:281 SL:206\nFB2D 60 RTS             PC:FB2E A:E1 X:02 Y:EC P:67 SP:F9 CYC:287 SL:206\nF347 A5 LDA $47         PC:F348 A:E1 X:02 Y:EC P:67 SP:FB CYC:305 SL:206\nF349 C9 CMP #$52        PC:F34A A:52 X:02 Y:EC P:65 SP:FB CYC:314 SL:206\nF34B F0 BEQ $F34F       PC:F34C A:52 X:02 Y:EC P:67 SP:FB CYC:320 SL:206\nF34F C8 INY             PC:F350 A:52 X:02 Y:EC P:67 SP:FB CYC:329 SL:206\nF350 A9 LDA #$29        PC:F351 A:52 X:02 Y:ED P:E5 SP:FB CYC:335 SL:206\nF352 85 STA $47         PC:F353 A:29 X:02 Y:ED P:65 SP:FB CYC:0 SL:207\nF354 20 JSR $FB2E       PC:F355 A:29 X:02 Y:ED P:65 SP:FB CYC:9 SL:207\nFB2E B8 CLV             PC:FB2F A:29 X:02 Y:ED P:65 SP:F9 CYC:27 SL:207\nFB2F 18 CLC             PC:FB30 A:29 X:02 Y:ED P:25 SP:F9 CYC:33 SL:207\nFB30 A9 LDA #$42        PC:FB31 A:29 X:02 Y:ED P:24 SP:F9 CYC:39 SL:207\nFB32 60 RTS             PC:FB33 A:42 X:02 Y:ED P:24 SP:F9 CYC:45 SL:207\nF357 47 SRE $47         PC:F358 A:42 X:02 Y:ED P:24 SP:FB CYC:63 SL:207\nF359 EA NOP             PC:F35A A:56 X:02 Y:ED P:25 SP:FB CYC:78 SL:207\nF35A EA NOP             PC:F35B A:56 X:02 Y:ED P:25 SP:FB CYC:84 SL:207\nF35B EA NOP             PC:F35C A:56 X:02 Y:ED P:25 SP:FB CYC:90 SL:207\nF35C EA NOP             PC:F35D A:56 X:02 Y:ED P:25 SP:FB CYC:96 SL:207\nF35D 20 JSR $FB33       PC:F35E A:56 X:02 Y:ED P:25 SP:FB CYC:102 SL:207\nFB33 70 BVS $FB75       PC:FB34 A:56 X:02 Y:ED P:25 SP:F9 CYC:120 SL:207\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:02 Y:ED P:25 SP:F9 CYC:126 SL:207\nFB37 30 BMI $FB75       PC:FB38 A:56 X:02 Y:ED P:25 SP:F9 CYC:132 SL:207\nFB39 90 BCC $FB75       PC:FB3A A:56 X:02 Y:ED P:25 SP:F9 CYC:138 SL:207\nFB3B C9 CMP #$56        PC:FB3C A:56 X:02 Y:ED P:25 SP:F9 CYC:144 SL:207\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:02 Y:ED P:27 SP:F9 CYC:150 SL:207\nFB3F 60 RTS             PC:FB40 A:56 X:02 Y:ED P:27 SP:F9 CYC:156 SL:207\nF360 A5 LDA $47         PC:F361 A:56 X:02 Y:ED P:27 SP:FB CYC:174 SL:207\nF362 C9 CMP #$14        PC:F363 A:14 X:02 Y:ED P:25 SP:FB CYC:183 SL:207\nF364 F0 BEQ $F368       PC:F365 A:14 X:02 Y:ED P:27 SP:FB CYC:189 SL:207\nF368 C8 INY             PC:F369 A:14 X:02 Y:ED P:27 SP:FB CYC:198 SL:207\nF369 A9 LDA #$37        PC:F36A A:14 X:02 Y:EE P:A5 SP:FB CYC:204 SL:207\nF36B 85 STA $47         PC:F36C A:37 X:02 Y:EE P:25 SP:FB CYC:210 SL:207\nF36D 20 JSR $FB40       PC:F36E A:37 X:02 Y:EE P:25 SP:FB CYC:219 SL:207\nFB40 24 BIT $01         PC:FB41 A:37 X:02 Y:EE P:25 SP:F9 CYC:237 SL:207\nFB42 38 SEC             PC:FB43 A:37 X:02 Y:EE P:E5 SP:F9 CYC:246 SL:207\nFB43 A9 LDA #$75        PC:FB44 A:37 X:02 Y:EE P:E5 SP:F9 CYC:252 SL:207\nFB45 60 RTS             PC:FB46 A:75 X:02 Y:EE P:65 SP:F9 CYC:258 SL:207\nF370 47 SRE $47         PC:F371 A:75 X:02 Y:EE P:65 SP:FB CYC:276 SL:207\nF372 EA NOP             PC:F373 A:6E X:02 Y:EE P:65 SP:FB CYC:291 SL:207\nF373 EA NOP             PC:F374 A:6E X:02 Y:EE P:65 SP:FB CYC:297 SL:207\nF374 EA NOP             PC:F375 A:6E X:02 Y:EE P:65 SP:FB CYC:303 SL:207\nF375 EA NOP             PC:F376 A:6E X:02 Y:EE P:65 SP:FB CYC:309 SL:207\nF376 20 JSR $FB46       PC:F377 A:6E X:02 Y:EE P:65 SP:FB CYC:315 SL:207\nFB46 50 BVC $FB75       PC:FB47 A:6E X:02 Y:EE P:65 SP:F9 CYC:333 SL:207\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:02 Y:EE P:65 SP:F9 CYC:339 SL:207\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:02 Y:EE P:65 SP:F9 CYC:4 SL:208\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:02 Y:EE P:65 SP:F9 CYC:10 SL:208\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:02 Y:EE P:65 SP:F9 CYC:16 SL:208\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:02 Y:EE P:67 SP:F9 CYC:22 SL:208\nFB52 60 RTS             PC:FB53 A:6E X:02 Y:EE P:67 SP:F9 CYC:28 SL:208\nF379 A5 LDA $47         PC:F37A A:6E X:02 Y:EE P:67 SP:FB CYC:46 SL:208\nF37B C9 CMP #$1B        PC:F37C A:1B X:02 Y:EE P:65 SP:FB CYC:55 SL:208\nF37D F0 BEQ $F381       PC:F37E A:1B X:02 Y:EE P:67 SP:FB CYC:61 SL:208\nF381 C8 INY             PC:F382 A:1B X:02 Y:EE P:67 SP:FB CYC:70 SL:208\nF382 A9 LDA #$A5        PC:F383 A:1B X:02 Y:EF P:E5 SP:FB CYC:76 SL:208\nF384 8D STA $0647       PC:F385 A:A5 X:02 Y:EF P:E5 SP:FB CYC:82 SL:208\nF387 20 JSR $FB1D       PC:F388 A:A5 X:02 Y:EF P:E5 SP:FB CYC:94 SL:208\nFB1D 24 BIT $01         PC:FB1E A:A5 X:02 Y:EF P:E5 SP:F9 CYC:112 SL:208\nFB1F 18 CLC             PC:FB20 A:A5 X:02 Y:EF P:E5 SP:F9 CYC:121 SL:208\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:02 Y:EF P:E4 SP:F9 CYC:127 SL:208\nFB22 60 RTS             PC:FB23 A:B3 X:02 Y:EF P:E4 SP:F9 CYC:133 SL:208\nF38A 4F SRE $0647       PC:F38B A:B3 X:02 Y:EF P:E4 SP:FB CYC:151 SL:208\nF38D EA NOP             PC:F38E A:E1 X:02 Y:EF P:E5 SP:FB CYC:169 SL:208\nF38E EA NOP             PC:F38F A:E1 X:02 Y:EF P:E5 SP:FB CYC:175 SL:208\nF38F EA NOP             PC:F390 A:E1 X:02 Y:EF P:E5 SP:FB CYC:181 SL:208\nF390 EA NOP             PC:F391 A:E1 X:02 Y:EF P:E5 SP:FB CYC:187 SL:208\nF391 20 JSR $FB23       PC:F392 A:E1 X:02 Y:EF P:E5 SP:FB CYC:193 SL:208\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:211 SL:208\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:217 SL:208\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:02 Y:EF P:E5 SP:F9 CYC:223 SL:208\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:02 Y:EF P:E5 SP:F9 CYC:229 SL:208\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:02 Y:EF P:67 SP:F9 CYC:235 SL:208\nFB2D 60 RTS             PC:FB2E A:E1 X:02 Y:EF P:67 SP:F9 CYC:241 SL:208\nF394 AD LDA $0647       PC:F395 A:E1 X:02 Y:EF P:67 SP:FB CYC:259 SL:208\nF397 C9 CMP #$52        PC:F398 A:52 X:02 Y:EF P:65 SP:FB CYC:271 SL:208\nF399 F0 BEQ $F39D       PC:F39A A:52 X:02 Y:EF P:67 SP:FB CYC:277 SL:208\nF39D C8 INY             PC:F39E A:52 X:02 Y:EF P:67 SP:FB CYC:286 SL:208\nF39E A9 LDA #$29        PC:F39F A:52 X:02 Y:F0 P:E5 SP:FB CYC:292 SL:208\nF3A0 8D STA $0647       PC:F3A1 A:29 X:02 Y:F0 P:65 SP:FB CYC:298 SL:208\nF3A3 20 JSR $FB2E       PC:F3A4 A:29 X:02 Y:F0 P:65 SP:FB CYC:310 SL:208\nFB2E B8 CLV             PC:FB2F A:29 X:02 Y:F0 P:65 SP:F9 CYC:328 SL:208\nFB2F 18 CLC             PC:FB30 A:29 X:02 Y:F0 P:25 SP:F9 CYC:334 SL:208\nFB30 A9 LDA #$42        PC:FB31 A:29 X:02 Y:F0 P:24 SP:F9 CYC:340 SL:208\nFB32 60 RTS             PC:FB33 A:42 X:02 Y:F0 P:24 SP:F9 CYC:5 SL:209\nF3A6 4F SRE $0647       PC:F3A7 A:42 X:02 Y:F0 P:24 SP:FB CYC:23 SL:209\nF3A9 EA NOP             PC:F3AA A:56 X:02 Y:F0 P:25 SP:FB CYC:41 SL:209\nF3AA EA NOP             PC:F3AB A:56 X:02 Y:F0 P:25 SP:FB CYC:47 SL:209\nF3AB EA NOP             PC:F3AC A:56 X:02 Y:F0 P:25 SP:FB CYC:53 SL:209\nF3AC EA NOP             PC:F3AD A:56 X:02 Y:F0 P:25 SP:FB CYC:59 SL:209\nF3AD 20 JSR $FB33       PC:F3AE A:56 X:02 Y:F0 P:25 SP:FB CYC:65 SL:209\nFB33 70 BVS $FB75       PC:FB34 A:56 X:02 Y:F0 P:25 SP:F9 CYC:83 SL:209\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:02 Y:F0 P:25 SP:F9 CYC:89 SL:209\nFB37 30 BMI $FB75       PC:FB38 A:56 X:02 Y:F0 P:25 SP:F9 CYC:95 SL:209\nFB39 90 BCC $FB75       PC:FB3A A:56 X:02 Y:F0 P:25 SP:F9 CYC:101 SL:209\nFB3B C9 CMP #$56        PC:FB3C A:56 X:02 Y:F0 P:25 SP:F9 CYC:107 SL:209\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:02 Y:F0 P:27 SP:F9 CYC:113 SL:209\nFB3F 60 RTS             PC:FB40 A:56 X:02 Y:F0 P:27 SP:F9 CYC:119 SL:209\nF3B0 AD LDA $0647       PC:F3B1 A:56 X:02 Y:F0 P:27 SP:FB CYC:137 SL:209\nF3B3 C9 CMP #$14        PC:F3B4 A:14 X:02 Y:F0 P:25 SP:FB CYC:149 SL:209\nF3B5 F0 BEQ $F3B9       PC:F3B6 A:14 X:02 Y:F0 P:27 SP:FB CYC:155 SL:209\nF3B9 C8 INY             PC:F3BA A:14 X:02 Y:F0 P:27 SP:FB CYC:164 SL:209\nF3BA A9 LDA #$37        PC:F3BB A:14 X:02 Y:F1 P:A5 SP:FB CYC:170 SL:209\nF3BC 8D STA $0647       PC:F3BD A:37 X:02 Y:F1 P:25 SP:FB CYC:176 SL:209\nF3BF 20 JSR $FB40       PC:F3C0 A:37 X:02 Y:F1 P:25 SP:FB CYC:188 SL:209\nFB40 24 BIT $01         PC:FB41 A:37 X:02 Y:F1 P:25 SP:F9 CYC:206 SL:209\nFB42 38 SEC             PC:FB43 A:37 X:02 Y:F1 P:E5 SP:F9 CYC:215 SL:209\nFB43 A9 LDA #$75        PC:FB44 A:37 X:02 Y:F1 P:E5 SP:F9 CYC:221 SL:209\nFB45 60 RTS             PC:FB46 A:75 X:02 Y:F1 P:65 SP:F9 CYC:227 SL:209\nF3C2 4F SRE $0647       PC:F3C3 A:75 X:02 Y:F1 P:65 SP:FB CYC:245 SL:209\nF3C5 EA NOP             PC:F3C6 A:6E X:02 Y:F1 P:65 SP:FB CYC:263 SL:209\nF3C6 EA NOP             PC:F3C7 A:6E X:02 Y:F1 P:65 SP:FB CYC:269 SL:209\nF3C7 EA NOP             PC:F3C8 A:6E X:02 Y:F1 P:65 SP:FB CYC:275 SL:209\nF3C8 EA NOP             PC:F3C9 A:6E X:02 Y:F1 P:65 SP:FB CYC:281 SL:209\nF3C9 20 JSR $FB46       PC:F3CA A:6E X:02 Y:F1 P:65 SP:FB CYC:287 SL:209\nFB46 50 BVC $FB75       PC:FB47 A:6E X:02 Y:F1 P:65 SP:F9 CYC:305 SL:209\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:02 Y:F1 P:65 SP:F9 CYC:311 SL:209\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:02 Y:F1 P:65 SP:F9 CYC:317 SL:209\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:02 Y:F1 P:65 SP:F9 CYC:323 SL:209\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:02 Y:F1 P:65 SP:F9 CYC:329 SL:209\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:02 Y:F1 P:67 SP:F9 CYC:335 SL:209\nFB52 60 RTS             PC:FB53 A:6E X:02 Y:F1 P:67 SP:F9 CYC:0 SL:210\nF3CC AD LDA $0647       PC:F3CD A:6E X:02 Y:F1 P:67 SP:FB CYC:18 SL:210\nF3CF C9 CMP #$1B        PC:F3D0 A:1B X:02 Y:F1 P:65 SP:FB CYC:30 SL:210\nF3D1 F0 BEQ $F3D5       PC:F3D2 A:1B X:02 Y:F1 P:67 SP:FB CYC:36 SL:210\nF3D5 A9 LDA #$A5        PC:F3D6 A:1B X:02 Y:F1 P:67 SP:FB CYC:45 SL:210\nF3D7 8D STA $0647       PC:F3D8 A:A5 X:02 Y:F1 P:E5 SP:FB CYC:51 SL:210\nF3DA A9 LDA #$48        PC:F3DB A:A5 X:02 Y:F1 P:E5 SP:FB CYC:63 SL:210\nF3DC 85 STA $45         PC:F3DD A:48 X:02 Y:F1 P:65 SP:FB CYC:69 SL:210\nF3DE A9 LDA #$05        PC:F3DF A:48 X:02 Y:F1 P:65 SP:FB CYC:78 SL:210\nF3E0 85 STA $46         PC:F3E1 A:05 X:02 Y:F1 P:65 SP:FB CYC:84 SL:210\nF3E2 A0 LDY #$FF        PC:F3E3 A:05 X:02 Y:F1 P:65 SP:FB CYC:93 SL:210\nF3E4 20 JSR $FB1D       PC:F3E5 A:05 X:02 Y:FF P:E5 SP:FB CYC:99 SL:210\nFB1D 24 BIT $01         PC:FB1E A:05 X:02 Y:FF P:E5 SP:F9 CYC:117 SL:210\nFB1F 18 CLC             PC:FB20 A:05 X:02 Y:FF P:E5 SP:F9 CYC:126 SL:210\nFB20 A9 LDA #$B3        PC:FB21 A:05 X:02 Y:FF P:E4 SP:F9 CYC:132 SL:210\nFB22 60 RTS             PC:FB23 A:B3 X:02 Y:FF P:E4 SP:F9 CYC:138 SL:210\nF3E7 53 SRE ($45), y    PC:F3E8 A:B3 X:02 Y:FF P:E4 SP:FB CYC:156 SL:210\nF3E9 EA NOP             PC:F3EA A:E1 X:02 Y:FF P:E5 SP:FB CYC:180 SL:210\nF3EA EA NOP             PC:F3EB A:E1 X:02 Y:FF P:E5 SP:FB CYC:186 SL:210\nF3EB 08 PHP             PC:F3EC A:E1 X:02 Y:FF P:E5 SP:FB CYC:192 SL:210\nF3EC 48 PHA             PC:F3ED A:E1 X:02 Y:FF P:E5 SP:FA CYC:201 SL:210\nF3ED A0 LDY #$F2        PC:F3EE A:E1 X:02 Y:FF P:E5 SP:F9 CYC:210 SL:210\nF3EF 68 PLA             PC:F3F0 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:216 SL:210\nF3F0 28 PLP             PC:F3F1 A:E1 X:02 Y:F2 P:E5 SP:FA CYC:228 SL:210\nF3F1 20 JSR $FB23       PC:F3F2 A:E1 X:02 Y:F2 P:E5 SP:FB CYC:240 SL:210\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:258 SL:210\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:264 SL:210\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:270 SL:210\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:276 SL:210\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:02 Y:F2 P:67 SP:F9 CYC:282 SL:210\nFB2D 60 RTS             PC:FB2E A:E1 X:02 Y:F2 P:67 SP:F9 CYC:288 SL:210\nF3F4 AD LDA $0647       PC:F3F5 A:E1 X:02 Y:F2 P:67 SP:FB CYC:306 SL:210\nF3F7 C9 CMP #$52        PC:F3F8 A:52 X:02 Y:F2 P:65 SP:FB CYC:318 SL:210\nF3F9 F0 BEQ $F3FD       PC:F3FA A:52 X:02 Y:F2 P:67 SP:FB CYC:324 SL:210\nF3FD A0 LDY #$FF        PC:F3FE A:52 X:02 Y:F2 P:67 SP:FB CYC:333 SL:210\nF3FF A9 LDA #$29        PC:F400 A:52 X:02 Y:FF P:E5 SP:FB CYC:339 SL:210\nF401 8D STA $0647       PC:F402 A:29 X:02 Y:FF P:65 SP:FB CYC:4 SL:211\nF404 20 JSR $FB2E       PC:F405 A:29 X:02 Y:FF P:65 SP:FB CYC:16 SL:211\nFB2E B8 CLV             PC:FB2F A:29 X:02 Y:FF P:65 SP:F9 CYC:34 SL:211\nFB2F 18 CLC             PC:FB30 A:29 X:02 Y:FF P:25 SP:F9 CYC:40 SL:211\nFB30 A9 LDA #$42        PC:FB31 A:29 X:02 Y:FF P:24 SP:F9 CYC:46 SL:211\nFB32 60 RTS             PC:FB33 A:42 X:02 Y:FF P:24 SP:F9 CYC:52 SL:211\nF407 53 SRE ($45), y    PC:F408 A:42 X:02 Y:FF P:24 SP:FB CYC:70 SL:211\nF409 EA NOP             PC:F40A A:56 X:02 Y:FF P:25 SP:FB CYC:94 SL:211\nF40A EA NOP             PC:F40B A:56 X:02 Y:FF P:25 SP:FB CYC:100 SL:211\nF40B 08 PHP             PC:F40C A:56 X:02 Y:FF P:25 SP:FB CYC:106 SL:211\nF40C 48 PHA             PC:F40D A:56 X:02 Y:FF P:25 SP:FA CYC:115 SL:211\nF40D A0 LDY #$F3        PC:F40E A:56 X:02 Y:FF P:25 SP:F9 CYC:124 SL:211\nF40F 68 PLA             PC:F410 A:56 X:02 Y:F3 P:A5 SP:F9 CYC:130 SL:211\nF410 28 PLP             PC:F411 A:56 X:02 Y:F3 P:25 SP:FA CYC:142 SL:211\nF411 20 JSR $FB33       PC:F412 A:56 X:02 Y:F3 P:25 SP:FB CYC:154 SL:211\nFB33 70 BVS $FB75       PC:FB34 A:56 X:02 Y:F3 P:25 SP:F9 CYC:172 SL:211\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:02 Y:F3 P:25 SP:F9 CYC:178 SL:211\nFB37 30 BMI $FB75       PC:FB38 A:56 X:02 Y:F3 P:25 SP:F9 CYC:184 SL:211\nFB39 90 BCC $FB75       PC:FB3A A:56 X:02 Y:F3 P:25 SP:F9 CYC:190 SL:211\nFB3B C9 CMP #$56        PC:FB3C A:56 X:02 Y:F3 P:25 SP:F9 CYC:196 SL:211\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:02 Y:F3 P:27 SP:F9 CYC:202 SL:211\nFB3F 60 RTS             PC:FB40 A:56 X:02 Y:F3 P:27 SP:F9 CYC:208 SL:211\nF414 AD LDA $0647       PC:F415 A:56 X:02 Y:F3 P:27 SP:FB CYC:226 SL:211\nF417 C9 CMP #$14        PC:F418 A:14 X:02 Y:F3 P:25 SP:FB CYC:238 SL:211\nF419 F0 BEQ $F41D       PC:F41A A:14 X:02 Y:F3 P:27 SP:FB CYC:244 SL:211\nF41D A0 LDY #$FF        PC:F41E A:14 X:02 Y:F3 P:27 SP:FB CYC:253 SL:211\nF41F A9 LDA #$37        PC:F420 A:14 X:02 Y:FF P:A5 SP:FB CYC:259 SL:211\nF421 8D STA $0647       PC:F422 A:37 X:02 Y:FF P:25 SP:FB CYC:265 SL:211\nF424 20 JSR $FB40       PC:F425 A:37 X:02 Y:FF P:25 SP:FB CYC:277 SL:211\nFB40 24 BIT $01         PC:FB41 A:37 X:02 Y:FF P:25 SP:F9 CYC:295 SL:211\nFB42 38 SEC             PC:FB43 A:37 X:02 Y:FF P:E5 SP:F9 CYC:304 SL:211\nFB43 A9 LDA #$75        PC:FB44 A:37 X:02 Y:FF P:E5 SP:F9 CYC:310 SL:211\nFB45 60 RTS             PC:FB46 A:75 X:02 Y:FF P:65 SP:F9 CYC:316 SL:211\nF427 53 SRE ($45), y    PC:F428 A:75 X:02 Y:FF P:65 SP:FB CYC:334 SL:211\nF429 EA NOP             PC:F42A A:6E X:02 Y:FF P:65 SP:FB CYC:17 SL:212\nF42A EA NOP             PC:F42B A:6E X:02 Y:FF P:65 SP:FB CYC:23 SL:212\nF42B 08 PHP             PC:F42C A:6E X:02 Y:FF P:65 SP:FB CYC:29 SL:212\nF42C 48 PHA             PC:F42D A:6E X:02 Y:FF P:65 SP:FA CYC:38 SL:212\nF42D A0 LDY #$F4        PC:F42E A:6E X:02 Y:FF P:65 SP:F9 CYC:47 SL:212\nF42F 68 PLA             PC:F430 A:6E X:02 Y:F4 P:E5 SP:F9 CYC:53 SL:212\nF430 28 PLP             PC:F431 A:6E X:02 Y:F4 P:65 SP:FA CYC:65 SL:212\nF431 20 JSR $FB46       PC:F432 A:6E X:02 Y:F4 P:65 SP:FB CYC:77 SL:212\nFB46 50 BVC $FB75       PC:FB47 A:6E X:02 Y:F4 P:65 SP:F9 CYC:95 SL:212\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:02 Y:F4 P:65 SP:F9 CYC:101 SL:212\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:02 Y:F4 P:65 SP:F9 CYC:107 SL:212\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:02 Y:F4 P:65 SP:F9 CYC:113 SL:212\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:02 Y:F4 P:65 SP:F9 CYC:119 SL:212\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:02 Y:F4 P:67 SP:F9 CYC:125 SL:212\nFB52 60 RTS             PC:FB53 A:6E X:02 Y:F4 P:67 SP:F9 CYC:131 SL:212\nF434 AD LDA $0647       PC:F435 A:6E X:02 Y:F4 P:67 SP:FB CYC:149 SL:212\nF437 C9 CMP #$1B        PC:F438 A:1B X:02 Y:F4 P:65 SP:FB CYC:161 SL:212\nF439 F0 BEQ $F43D       PC:F43A A:1B X:02 Y:F4 P:67 SP:FB CYC:167 SL:212\nF43D A0 LDY #$F5        PC:F43E A:1B X:02 Y:F4 P:67 SP:FB CYC:176 SL:212\nF43F A2 LDX #$FF        PC:F440 A:1B X:02 Y:F5 P:E5 SP:FB CYC:182 SL:212\nF441 A9 LDA #$A5        PC:F442 A:1B X:FF Y:F5 P:E5 SP:FB CYC:188 SL:212\nF443 85 STA $47         PC:F444 A:A5 X:FF Y:F5 P:E5 SP:FB CYC:194 SL:212\nF445 20 JSR $FB1D       PC:F446 A:A5 X:FF Y:F5 P:E5 SP:FB CYC:203 SL:212\nFB1D 24 BIT $01         PC:FB1E A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:221 SL:212\nFB1F 18 CLC             PC:FB20 A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:230 SL:212\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:FF Y:F5 P:E4 SP:F9 CYC:236 SL:212\nFB22 60 RTS             PC:FB23 A:B3 X:FF Y:F5 P:E4 SP:F9 CYC:242 SL:212\nF448 57 SRE $48,x       PC:F449 A:B3 X:FF Y:F5 P:E4 SP:FB CYC:260 SL:212\nF44A EA NOP             PC:F44B A:E1 X:FF Y:F5 P:E5 SP:FB CYC:278 SL:212\nF44B EA NOP             PC:F44C A:E1 X:FF Y:F5 P:E5 SP:FB CYC:284 SL:212\nF44C EA NOP             PC:F44D A:E1 X:FF Y:F5 P:E5 SP:FB CYC:290 SL:212\nF44D EA NOP             PC:F44E A:E1 X:FF Y:F5 P:E5 SP:FB CYC:296 SL:212\nF44E 20 JSR $FB23       PC:F44F A:E1 X:FF Y:F5 P:E5 SP:FB CYC:302 SL:212\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:320 SL:212\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:326 SL:212\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:332 SL:212\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:338 SL:212\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:FF Y:F5 P:67 SP:F9 CYC:3 SL:213\nFB2D 60 RTS             PC:FB2E A:E1 X:FF Y:F5 P:67 SP:F9 CYC:9 SL:213\nF451 A5 LDA $47         PC:F452 A:E1 X:FF Y:F5 P:67 SP:FB CYC:27 SL:213\nF453 C9 CMP #$52        PC:F454 A:52 X:FF Y:F5 P:65 SP:FB CYC:36 SL:213\nF455 F0 BEQ $F459       PC:F456 A:52 X:FF Y:F5 P:67 SP:FB CYC:42 SL:213\nF459 C8 INY             PC:F45A A:52 X:FF Y:F5 P:67 SP:FB CYC:51 SL:213\nF45A A9 LDA #$29        PC:F45B A:52 X:FF Y:F6 P:E5 SP:FB CYC:57 SL:213\nF45C 85 STA $47         PC:F45D A:29 X:FF Y:F6 P:65 SP:FB CYC:63 SL:213\nF45E 20 JSR $FB2E       PC:F45F A:29 X:FF Y:F6 P:65 SP:FB CYC:72 SL:213\nFB2E B8 CLV             PC:FB2F A:29 X:FF Y:F6 P:65 SP:F9 CYC:90 SL:213\nFB2F 18 CLC             PC:FB30 A:29 X:FF Y:F6 P:25 SP:F9 CYC:96 SL:213\nFB30 A9 LDA #$42        PC:FB31 A:29 X:FF Y:F6 P:24 SP:F9 CYC:102 SL:213\nFB32 60 RTS             PC:FB33 A:42 X:FF Y:F6 P:24 SP:F9 CYC:108 SL:213\nF461 57 SRE $48,x       PC:F462 A:42 X:FF Y:F6 P:24 SP:FB CYC:126 SL:213\nF463 EA NOP             PC:F464 A:56 X:FF Y:F6 P:25 SP:FB CYC:144 SL:213\nF464 EA NOP             PC:F465 A:56 X:FF Y:F6 P:25 SP:FB CYC:150 SL:213\nF465 EA NOP             PC:F466 A:56 X:FF Y:F6 P:25 SP:FB CYC:156 SL:213\nF466 EA NOP             PC:F467 A:56 X:FF Y:F6 P:25 SP:FB CYC:162 SL:213\nF467 20 JSR $FB33       PC:F468 A:56 X:FF Y:F6 P:25 SP:FB CYC:168 SL:213\nFB33 70 BVS $FB75       PC:FB34 A:56 X:FF Y:F6 P:25 SP:F9 CYC:186 SL:213\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:FF Y:F6 P:25 SP:F9 CYC:192 SL:213\nFB37 30 BMI $FB75       PC:FB38 A:56 X:FF Y:F6 P:25 SP:F9 CYC:198 SL:213\nFB39 90 BCC $FB75       PC:FB3A A:56 X:FF Y:F6 P:25 SP:F9 CYC:204 SL:213\nFB3B C9 CMP #$56        PC:FB3C A:56 X:FF Y:F6 P:25 SP:F9 CYC:210 SL:213\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:FF Y:F6 P:27 SP:F9 CYC:216 SL:213\nFB3F 60 RTS             PC:FB40 A:56 X:FF Y:F6 P:27 SP:F9 CYC:222 SL:213\nF46A A5 LDA $47         PC:F46B A:56 X:FF Y:F6 P:27 SP:FB CYC:240 SL:213\nF46C C9 CMP #$14        PC:F46D A:14 X:FF Y:F6 P:25 SP:FB CYC:249 SL:213\nF46E F0 BEQ $F472       PC:F46F A:14 X:FF Y:F6 P:27 SP:FB CYC:255 SL:213\nF472 C8 INY             PC:F473 A:14 X:FF Y:F6 P:27 SP:FB CYC:264 SL:213\nF473 A9 LDA #$37        PC:F474 A:14 X:FF Y:F7 P:A5 SP:FB CYC:270 SL:213\nF475 85 STA $47         PC:F476 A:37 X:FF Y:F7 P:25 SP:FB CYC:276 SL:213\nF477 20 JSR $FB40       PC:F478 A:37 X:FF Y:F7 P:25 SP:FB CYC:285 SL:213\nFB40 24 BIT $01         PC:FB41 A:37 X:FF Y:F7 P:25 SP:F9 CYC:303 SL:213\nFB42 38 SEC             PC:FB43 A:37 X:FF Y:F7 P:E5 SP:F9 CYC:312 SL:213\nFB43 A9 LDA #$75        PC:FB44 A:37 X:FF Y:F7 P:E5 SP:F9 CYC:318 SL:213\nFB45 60 RTS             PC:FB46 A:75 X:FF Y:F7 P:65 SP:F9 CYC:324 SL:213\nF47A 57 SRE $48,x       PC:F47B A:75 X:FF Y:F7 P:65 SP:FB CYC:1 SL:214\nF47C EA NOP             PC:F47D A:6E X:FF Y:F7 P:65 SP:FB CYC:19 SL:214\nF47D EA NOP             PC:F47E A:6E X:FF Y:F7 P:65 SP:FB CYC:25 SL:214\nF47E EA NOP             PC:F47F A:6E X:FF Y:F7 P:65 SP:FB CYC:31 SL:214\nF47F EA NOP             PC:F480 A:6E X:FF Y:F7 P:65 SP:FB CYC:37 SL:214\nF480 20 JSR $FB46       PC:F481 A:6E X:FF Y:F7 P:65 SP:FB CYC:43 SL:214\nFB46 50 BVC $FB75       PC:FB47 A:6E X:FF Y:F7 P:65 SP:F9 CYC:61 SL:214\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:FF Y:F7 P:65 SP:F9 CYC:67 SL:214\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:FF Y:F7 P:65 SP:F9 CYC:73 SL:214\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:FF Y:F7 P:65 SP:F9 CYC:79 SL:214\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:FF Y:F7 P:65 SP:F9 CYC:85 SL:214\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:FF Y:F7 P:67 SP:F9 CYC:91 SL:214\nFB52 60 RTS             PC:FB53 A:6E X:FF Y:F7 P:67 SP:F9 CYC:97 SL:214\nF483 A5 LDA $47         PC:F484 A:6E X:FF Y:F7 P:67 SP:FB CYC:115 SL:214\nF485 C9 CMP #$1B        PC:F486 A:1B X:FF Y:F7 P:65 SP:FB CYC:124 SL:214\nF487 F0 BEQ $F48B       PC:F488 A:1B X:FF Y:F7 P:67 SP:FB CYC:130 SL:214\nF48B A9 LDA #$A5        PC:F48C A:1B X:FF Y:F7 P:67 SP:FB CYC:139 SL:214\nF48D 8D STA $0647       PC:F48E A:A5 X:FF Y:F7 P:E5 SP:FB CYC:145 SL:214\nF490 A0 LDY #$FF        PC:F491 A:A5 X:FF Y:F7 P:E5 SP:FB CYC:157 SL:214\nF492 20 JSR $FB1D       PC:F493 A:A5 X:FF Y:FF P:E5 SP:FB CYC:163 SL:214\nFB1D 24 BIT $01         PC:FB1E A:A5 X:FF Y:FF P:E5 SP:F9 CYC:181 SL:214\nFB1F 18 CLC             PC:FB20 A:A5 X:FF Y:FF P:E5 SP:F9 CYC:190 SL:214\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:FF Y:FF P:E4 SP:F9 CYC:196 SL:214\nFB22 60 RTS             PC:FB23 A:B3 X:FF Y:FF P:E4 SP:F9 CYC:202 SL:214\nF495 5B SRE $0548,y     PC:F496 A:B3 X:FF Y:FF P:E4 SP:FB CYC:220 SL:214\nF498 EA NOP             PC:F499 A:E1 X:FF Y:FF P:E5 SP:FB CYC:241 SL:214\nF499 EA NOP             PC:F49A A:E1 X:FF Y:FF P:E5 SP:FB CYC:247 SL:214\nF49A 08 PHP             PC:F49B A:E1 X:FF Y:FF P:E5 SP:FB CYC:253 SL:214\nF49B 48 PHA             PC:F49C A:E1 X:FF Y:FF P:E5 SP:FA CYC:262 SL:214\nF49C A0 LDY #$F8        PC:F49D A:E1 X:FF Y:FF P:E5 SP:F9 CYC:271 SL:214\nF49E 68 PLA             PC:F49F A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:277 SL:214\nF49F 28 PLP             PC:F4A0 A:E1 X:FF Y:F8 P:E5 SP:FA CYC:289 SL:214\nF4A0 20 JSR $FB23       PC:F4A1 A:E1 X:FF Y:F8 P:E5 SP:FB CYC:301 SL:214\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:319 SL:214\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:325 SL:214\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:331 SL:214\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:337 SL:214\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:FF Y:F8 P:67 SP:F9 CYC:2 SL:215\nFB2D 60 RTS             PC:FB2E A:E1 X:FF Y:F8 P:67 SP:F9 CYC:8 SL:215\nF4A3 AD LDA $0647       PC:F4A4 A:E1 X:FF Y:F8 P:67 SP:FB CYC:26 SL:215\nF4A6 C9 CMP #$52        PC:F4A7 A:52 X:FF Y:F8 P:65 SP:FB CYC:38 SL:215\nF4A8 F0 BEQ $F4AC       PC:F4A9 A:52 X:FF Y:F8 P:67 SP:FB CYC:44 SL:215\nF4AC A0 LDY #$FF        PC:F4AD A:52 X:FF Y:F8 P:67 SP:FB CYC:53 SL:215\nF4AE A9 LDA #$29        PC:F4AF A:52 X:FF Y:FF P:E5 SP:FB CYC:59 SL:215\nF4B0 8D STA $0647       PC:F4B1 A:29 X:FF Y:FF P:65 SP:FB CYC:65 SL:215\nF4B3 20 JSR $FB2E       PC:F4B4 A:29 X:FF Y:FF P:65 SP:FB CYC:77 SL:215\nFB2E B8 CLV             PC:FB2F A:29 X:FF Y:FF P:65 SP:F9 CYC:95 SL:215\nFB2F 18 CLC             PC:FB30 A:29 X:FF Y:FF P:25 SP:F9 CYC:101 SL:215\nFB30 A9 LDA #$42        PC:FB31 A:29 X:FF Y:FF P:24 SP:F9 CYC:107 SL:215\nFB32 60 RTS             PC:FB33 A:42 X:FF Y:FF P:24 SP:F9 CYC:113 SL:215\nF4B6 5B SRE $0548,y     PC:F4B7 A:42 X:FF Y:FF P:24 SP:FB CYC:131 SL:215\nF4B9 EA NOP             PC:F4BA A:56 X:FF Y:FF P:25 SP:FB CYC:152 SL:215\nF4BA EA NOP             PC:F4BB A:56 X:FF Y:FF P:25 SP:FB CYC:158 SL:215\nF4BB 08 PHP             PC:F4BC A:56 X:FF Y:FF P:25 SP:FB CYC:164 SL:215\nF4BC 48 PHA             PC:F4BD A:56 X:FF Y:FF P:25 SP:FA CYC:173 SL:215\nF4BD A0 LDY #$F9        PC:F4BE A:56 X:FF Y:FF P:25 SP:F9 CYC:182 SL:215\nF4BF 68 PLA             PC:F4C0 A:56 X:FF Y:F9 P:A5 SP:F9 CYC:188 SL:215\nF4C0 28 PLP             PC:F4C1 A:56 X:FF Y:F9 P:25 SP:FA CYC:200 SL:215\nF4C1 20 JSR $FB33       PC:F4C2 A:56 X:FF Y:F9 P:25 SP:FB CYC:212 SL:215\nFB33 70 BVS $FB75       PC:FB34 A:56 X:FF Y:F9 P:25 SP:F9 CYC:230 SL:215\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:FF Y:F9 P:25 SP:F9 CYC:236 SL:215\nFB37 30 BMI $FB75       PC:FB38 A:56 X:FF Y:F9 P:25 SP:F9 CYC:242 SL:215\nFB39 90 BCC $FB75       PC:FB3A A:56 X:FF Y:F9 P:25 SP:F9 CYC:248 SL:215\nFB3B C9 CMP #$56        PC:FB3C A:56 X:FF Y:F9 P:25 SP:F9 CYC:254 SL:215\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:FF Y:F9 P:27 SP:F9 CYC:260 SL:215\nFB3F 60 RTS             PC:FB40 A:56 X:FF Y:F9 P:27 SP:F9 CYC:266 SL:215\nF4C4 AD LDA $0647       PC:F4C5 A:56 X:FF Y:F9 P:27 SP:FB CYC:284 SL:215\nF4C7 C9 CMP #$14        PC:F4C8 A:14 X:FF Y:F9 P:25 SP:FB CYC:296 SL:215\nF4C9 F0 BEQ $F4CD       PC:F4CA A:14 X:FF Y:F9 P:27 SP:FB CYC:302 SL:215\nF4CD A0 LDY #$FF        PC:F4CE A:14 X:FF Y:F9 P:27 SP:FB CYC:311 SL:215\nF4CF A9 LDA #$37        PC:F4D0 A:14 X:FF Y:FF P:A5 SP:FB CYC:317 SL:215\nF4D1 8D STA $0647       PC:F4D2 A:37 X:FF Y:FF P:25 SP:FB CYC:323 SL:215\nF4D4 20 JSR $FB40       PC:F4D5 A:37 X:FF Y:FF P:25 SP:FB CYC:335 SL:215\nFB40 24 BIT $01         PC:FB41 A:37 X:FF Y:FF P:25 SP:F9 CYC:12 SL:216\nFB42 38 SEC             PC:FB43 A:37 X:FF Y:FF P:E5 SP:F9 CYC:21 SL:216\nFB43 A9 LDA #$75        PC:FB44 A:37 X:FF Y:FF P:E5 SP:F9 CYC:27 SL:216\nFB45 60 RTS             PC:FB46 A:75 X:FF Y:FF P:65 SP:F9 CYC:33 SL:216\nF4D7 5B SRE $0548,y     PC:F4D8 A:75 X:FF Y:FF P:65 SP:FB CYC:51 SL:216\nF4DA EA NOP             PC:F4DB A:6E X:FF Y:FF P:65 SP:FB CYC:72 SL:216\nF4DB EA NOP             PC:F4DC A:6E X:FF Y:FF P:65 SP:FB CYC:78 SL:216\nF4DC 08 PHP             PC:F4DD A:6E X:FF Y:FF P:65 SP:FB CYC:84 SL:216\nF4DD 48 PHA             PC:F4DE A:6E X:FF Y:FF P:65 SP:FA CYC:93 SL:216\nF4DE A0 LDY #$FA        PC:F4DF A:6E X:FF Y:FF P:65 SP:F9 CYC:102 SL:216\nF4E0 68 PLA             PC:F4E1 A:6E X:FF Y:FA P:E5 SP:F9 CYC:108 SL:216\nF4E1 28 PLP             PC:F4E2 A:6E X:FF Y:FA P:65 SP:FA CYC:120 SL:216\nF4E2 20 JSR $FB46       PC:F4E3 A:6E X:FF Y:FA P:65 SP:FB CYC:132 SL:216\nFB46 50 BVC $FB75       PC:FB47 A:6E X:FF Y:FA P:65 SP:F9 CYC:150 SL:216\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:FF Y:FA P:65 SP:F9 CYC:156 SL:216\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:FF Y:FA P:65 SP:F9 CYC:162 SL:216\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:FF Y:FA P:65 SP:F9 CYC:168 SL:216\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:FF Y:FA P:65 SP:F9 CYC:174 SL:216\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:FF Y:FA P:67 SP:F9 CYC:180 SL:216\nFB52 60 RTS             PC:FB53 A:6E X:FF Y:FA P:67 SP:F9 CYC:186 SL:216\nF4E5 AD LDA $0647       PC:F4E6 A:6E X:FF Y:FA P:67 SP:FB CYC:204 SL:216\nF4E8 C9 CMP #$1B        PC:F4E9 A:1B X:FF Y:FA P:65 SP:FB CYC:216 SL:216\nF4EA F0 BEQ $F4EE       PC:F4EB A:1B X:FF Y:FA P:67 SP:FB CYC:222 SL:216\nF4EE A0 LDY #$FB        PC:F4EF A:1B X:FF Y:FA P:67 SP:FB CYC:231 SL:216\nF4F0 A2 LDX #$FF        PC:F4F1 A:1B X:FF Y:FB P:E5 SP:FB CYC:237 SL:216\nF4F2 A9 LDA #$A5        PC:F4F3 A:1B X:FF Y:FB P:E5 SP:FB CYC:243 SL:216\nF4F4 8D STA $0647       PC:F4F5 A:A5 X:FF Y:FB P:E5 SP:FB CYC:249 SL:216\nF4F7 20 JSR $FB1D       PC:F4F8 A:A5 X:FF Y:FB P:E5 SP:FB CYC:261 SL:216\nFB1D 24 BIT $01         PC:FB1E A:A5 X:FF Y:FB P:E5 SP:F9 CYC:279 SL:216\nFB1F 18 CLC             PC:FB20 A:A5 X:FF Y:FB P:E5 SP:F9 CYC:288 SL:216\nFB20 A9 LDA #$B3        PC:FB21 A:A5 X:FF Y:FB P:E4 SP:F9 CYC:294 SL:216\nFB22 60 RTS             PC:FB23 A:B3 X:FF Y:FB P:E4 SP:F9 CYC:300 SL:216\nF4FA 5F SRE $0548,x     PC:F4FB A:B3 X:FF Y:FB P:E4 SP:FB CYC:318 SL:216\nF4FD EA NOP             PC:F4FE A:E1 X:FF Y:FB P:E5 SP:FB CYC:339 SL:216\nF4FE EA NOP             PC:F4FF A:E1 X:FF Y:FB P:E5 SP:FB CYC:4 SL:217\nF4FF EA NOP             PC:F500 A:E1 X:FF Y:FB P:E5 SP:FB CYC:10 SL:217\nF500 EA NOP             PC:F501 A:E1 X:FF Y:FB P:E5 SP:FB CYC:16 SL:217\nF501 20 JSR $FB23       PC:F502 A:E1 X:FF Y:FB P:E5 SP:FB CYC:22 SL:217\nFB23 50 BVC $FB75       PC:FB24 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:40 SL:217\nFB25 90 BCC $FB75       PC:FB26 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:46 SL:217\nFB27 10 BPL $FB75       PC:FB28 A:E1 X:FF Y:FB P:E5 SP:F9 CYC:52 SL:217\nFB29 C9 CMP #$E1        PC:FB2A A:E1 X:FF Y:FB P:E5 SP:F9 CYC:58 SL:217\nFB2B D0 BNE $FB75       PC:FB2C A:E1 X:FF Y:FB P:67 SP:F9 CYC:64 SL:217\nFB2D 60 RTS             PC:FB2E A:E1 X:FF Y:FB P:67 SP:F9 CYC:70 SL:217\nF504 AD LDA $0647       PC:F505 A:E1 X:FF Y:FB P:67 SP:FB CYC:88 SL:217\nF507 C9 CMP #$52        PC:F508 A:52 X:FF Y:FB P:65 SP:FB CYC:100 SL:217\nF509 F0 BEQ $F50D       PC:F50A A:52 X:FF Y:FB P:67 SP:FB CYC:106 SL:217\nF50D C8 INY             PC:F50E A:52 X:FF Y:FB P:67 SP:FB CYC:115 SL:217\nF50E A9 LDA #$29        PC:F50F A:52 X:FF Y:FC P:E5 SP:FB CYC:121 SL:217\nF510 8D STA $0647       PC:F511 A:29 X:FF Y:FC P:65 SP:FB CYC:127 SL:217\nF513 20 JSR $FB2E       PC:F514 A:29 X:FF Y:FC P:65 SP:FB CYC:139 SL:217\nFB2E B8 CLV             PC:FB2F A:29 X:FF Y:FC P:65 SP:F9 CYC:157 SL:217\nFB2F 18 CLC             PC:FB30 A:29 X:FF Y:FC P:25 SP:F9 CYC:163 SL:217\nFB30 A9 LDA #$42        PC:FB31 A:29 X:FF Y:FC P:24 SP:F9 CYC:169 SL:217\nFB32 60 RTS             PC:FB33 A:42 X:FF Y:FC P:24 SP:F9 CYC:175 SL:217\nF516 5F SRE $0548,x     PC:F517 A:42 X:FF Y:FC P:24 SP:FB CYC:193 SL:217\nF519 EA NOP             PC:F51A A:56 X:FF Y:FC P:25 SP:FB CYC:214 SL:217\nF51A EA NOP             PC:F51B A:56 X:FF Y:FC P:25 SP:FB CYC:220 SL:217\nF51B EA NOP             PC:F51C A:56 X:FF Y:FC P:25 SP:FB CYC:226 SL:217\nF51C EA NOP             PC:F51D A:56 X:FF Y:FC P:25 SP:FB CYC:232 SL:217\nF51D 20 JSR $FB33       PC:F51E A:56 X:FF Y:FC P:25 SP:FB CYC:238 SL:217\nFB33 70 BVS $FB75       PC:FB34 A:56 X:FF Y:FC P:25 SP:F9 CYC:256 SL:217\nFB35 F0 BEQ $FB75       PC:FB36 A:56 X:FF Y:FC P:25 SP:F9 CYC:262 SL:217\nFB37 30 BMI $FB75       PC:FB38 A:56 X:FF Y:FC P:25 SP:F9 CYC:268 SL:217\nFB39 90 BCC $FB75       PC:FB3A A:56 X:FF Y:FC P:25 SP:F9 CYC:274 SL:217\nFB3B C9 CMP #$56        PC:FB3C A:56 X:FF Y:FC P:25 SP:F9 CYC:280 SL:217\nFB3D D0 BNE $FB75       PC:FB3E A:56 X:FF Y:FC P:27 SP:F9 CYC:286 SL:217\nFB3F 60 RTS             PC:FB40 A:56 X:FF Y:FC P:27 SP:F9 CYC:292 SL:217\nF520 AD LDA $0647       PC:F521 A:56 X:FF Y:FC P:27 SP:FB CYC:310 SL:217\nF523 C9 CMP #$14        PC:F524 A:14 X:FF Y:FC P:25 SP:FB CYC:322 SL:217\nF525 F0 BEQ $F529       PC:F526 A:14 X:FF Y:FC P:27 SP:FB CYC:328 SL:217\nF529 C8 INY             PC:F52A A:14 X:FF Y:FC P:27 SP:FB CYC:337 SL:217\nF52A A9 LDA #$37        PC:F52B A:14 X:FF Y:FD P:A5 SP:FB CYC:2 SL:218\nF52C 8D STA $0647       PC:F52D A:37 X:FF Y:FD P:25 SP:FB CYC:8 SL:218\nF52F 20 JSR $FB40       PC:F530 A:37 X:FF Y:FD P:25 SP:FB CYC:20 SL:218\nFB40 24 BIT $01         PC:FB41 A:37 X:FF Y:FD P:25 SP:F9 CYC:38 SL:218\nFB42 38 SEC             PC:FB43 A:37 X:FF Y:FD P:E5 SP:F9 CYC:47 SL:218\nFB43 A9 LDA #$75        PC:FB44 A:37 X:FF Y:FD P:E5 SP:F9 CYC:53 SL:218\nFB45 60 RTS             PC:FB46 A:75 X:FF Y:FD P:65 SP:F9 CYC:59 SL:218\nF532 5F SRE $0548,x     PC:F533 A:75 X:FF Y:FD P:65 SP:FB CYC:77 SL:218\nF535 EA NOP             PC:F536 A:6E X:FF Y:FD P:65 SP:FB CYC:98 SL:218\nF536 EA NOP             PC:F537 A:6E X:FF Y:FD P:65 SP:FB CYC:104 SL:218\nF537 EA NOP             PC:F538 A:6E X:FF Y:FD P:65 SP:FB CYC:110 SL:218\nF538 EA NOP             PC:F539 A:6E X:FF Y:FD P:65 SP:FB CYC:116 SL:218\nF539 20 JSR $FB46       PC:F53A A:6E X:FF Y:FD P:65 SP:FB CYC:122 SL:218\nFB46 50 BVC $FB75       PC:FB47 A:6E X:FF Y:FD P:65 SP:F9 CYC:140 SL:218\nFB48 F0 BEQ $FB75       PC:FB49 A:6E X:FF Y:FD P:65 SP:F9 CYC:146 SL:218\nFB4A 30 BMI $FB75       PC:FB4B A:6E X:FF Y:FD P:65 SP:F9 CYC:152 SL:218\nFB4C 90 BCC $FB75       PC:FB4D A:6E X:FF Y:FD P:65 SP:F9 CYC:158 SL:218\nFB4E C9 CMP #$6E        PC:FB4F A:6E X:FF Y:FD P:65 SP:F9 CYC:164 SL:218\nFB50 D0 BNE $FB75       PC:FB51 A:6E X:FF Y:FD P:67 SP:F9 CYC:170 SL:218\nFB52 60 RTS             PC:FB53 A:6E X:FF Y:FD P:67 SP:F9 CYC:176 SL:218\nF53C AD LDA $0647       PC:F53D A:6E X:FF Y:FD P:67 SP:FB CYC:194 SL:218\nF53F C9 CMP #$1B        PC:F540 A:1B X:FF Y:FD P:65 SP:FB CYC:206 SL:218\nF541 F0 BEQ $F545       PC:F542 A:1B X:FF Y:FD P:67 SP:FB CYC:212 SL:218\nF545 60 RTS             PC:F546 A:1B X:FF Y:FD P:67 SP:FB CYC:221 SL:218\nC64A A5 LDA $00         PC:C64B A:1B X:FF Y:FD P:67 SP:FD CYC:239 SL:218\nC64C 85 STA $11         PC:C64D A:00 X:FF Y:FD P:67 SP:FD CYC:248 SL:218\nC64E A9 LDA #$00        PC:C64F A:00 X:FF Y:FD P:67 SP:FD CYC:257 SL:218\nC650 85 STA $00         PC:C651 A:00 X:FF Y:FD P:67 SP:FD CYC:263 SL:218\nC652 20 JSR $F546       PC:C653 A:00 X:FF Y:FD P:67 SP:FD CYC:272 SL:218\nF546 A9 LDA #$FF        PC:F547 A:00 X:FF Y:FD P:67 SP:FB CYC:290 SL:218\nF548 85 STA $01         PC:F549 A:FF X:FF Y:FD P:E5 SP:FB CYC:296 SL:218\nF54A A0 LDY #$01        PC:F54B A:FF X:FF Y:FD P:E5 SP:FB CYC:305 SL:218\nF54C A2 LDX #$02        PC:F54D A:FF X:FF Y:01 P:65 SP:FB CYC:311 SL:218\nF54E A9 LDA #$47        PC:F54F A:FF X:02 Y:01 P:65 SP:FB CYC:317 SL:218\nF550 85 STA $47         PC:F551 A:47 X:02 Y:01 P:65 SP:FB CYC:323 SL:218\nF552 A9 LDA #$06        PC:F553 A:47 X:02 Y:01 P:65 SP:FB CYC:332 SL:218\nF554 85 STA $48         PC:F555 A:06 X:02 Y:01 P:65 SP:FB CYC:338 SL:218\nF556 A9 LDA #$A5        PC:F557 A:06 X:02 Y:01 P:65 SP:FB CYC:6 SL:219\nF558 8D STA $0647       PC:F559 A:A5 X:02 Y:01 P:E5 SP:FB CYC:12 SL:219\nF55B 20 JSR $FAE9       PC:F55C A:A5 X:02 Y:01 P:E5 SP:FB CYC:24 SL:219\nFAE9 24 BIT $01         PC:FAEA A:A5 X:02 Y:01 P:E5 SP:F9 CYC:42 SL:219\nFAEB 18 CLC             PC:FAEC A:A5 X:02 Y:01 P:E5 SP:F9 CYC:51 SL:219\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:02 Y:01 P:E4 SP:F9 CYC:57 SL:219\nFAEE 60 RTS             PC:FAEF A:B2 X:02 Y:01 P:E4 SP:F9 CYC:63 SL:219\nF55E 63 RRA $(EA45,x)   PC:F55F A:B2 X:02 Y:01 P:E4 SP:FB CYC:81 SL:219\nF560 EA NOP             PC:F561 A:05 X:02 Y:01 P:25 SP:FB CYC:105 SL:219\nF561 EA NOP             PC:F562 A:05 X:02 Y:01 P:25 SP:FB CYC:111 SL:219\nF562 EA NOP             PC:F563 A:05 X:02 Y:01 P:25 SP:FB CYC:117 SL:219\nF563 EA NOP             PC:F564 A:05 X:02 Y:01 P:25 SP:FB CYC:123 SL:219\nF564 20 JSR $FAEF       PC:F565 A:05 X:02 Y:01 P:25 SP:FB CYC:129 SL:219\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:02 Y:01 P:25 SP:F9 CYC:147 SL:219\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:02 Y:01 P:25 SP:F9 CYC:153 SL:219\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:02 Y:01 P:25 SP:F9 CYC:159 SL:219\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:02 Y:01 P:25 SP:F9 CYC:165 SL:219\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:02 Y:01 P:27 SP:F9 CYC:171 SL:219\nFAF9 60 RTS             PC:FAFA A:05 X:02 Y:01 P:27 SP:F9 CYC:177 SL:219\nF567 AD LDA $0647       PC:F568 A:05 X:02 Y:01 P:27 SP:FB CYC:195 SL:219\nF56A C9 CMP #$52        PC:F56B A:52 X:02 Y:01 P:25 SP:FB CYC:207 SL:219\nF56C F0 BEQ $F570       PC:F56D A:52 X:02 Y:01 P:27 SP:FB CYC:213 SL:219\nF570 C8 INY             PC:F571 A:52 X:02 Y:01 P:27 SP:FB CYC:222 SL:219\nF571 A9 LDA #$29        PC:F572 A:52 X:02 Y:02 P:25 SP:FB CYC:228 SL:219\nF573 8D STA $0647       PC:F574 A:29 X:02 Y:02 P:25 SP:FB CYC:234 SL:219\nF576 20 JSR $FAFA       PC:F577 A:29 X:02 Y:02 P:25 SP:FB CYC:246 SL:219\nFAFA B8 CLV             PC:FAFB A:29 X:02 Y:02 P:25 SP:F9 CYC:264 SL:219\nFAFB 18 CLC             PC:FAFC A:29 X:02 Y:02 P:25 SP:F9 CYC:270 SL:219\nFAFC A9 LDA #$42        PC:FAFD A:29 X:02 Y:02 P:24 SP:F9 CYC:276 SL:219\nFAFE 60 RTS             PC:FAFF A:42 X:02 Y:02 P:24 SP:F9 CYC:282 SL:219\nF579 63 RRA $(EA45,x)   PC:F57A A:42 X:02 Y:02 P:24 SP:FB CYC:300 SL:219\nF57B EA NOP             PC:F57C A:57 X:02 Y:02 P:24 SP:FB CYC:324 SL:219\nF57C EA NOP             PC:F57D A:57 X:02 Y:02 P:24 SP:FB CYC:330 SL:219\nF57D EA NOP             PC:F57E A:57 X:02 Y:02 P:24 SP:FB CYC:336 SL:219\nF57E EA NOP             PC:F57F A:57 X:02 Y:02 P:24 SP:FB CYC:1 SL:220\nF57F 20 JSR $FAFF       PC:F580 A:57 X:02 Y:02 P:24 SP:FB CYC:7 SL:220\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:02 Y:02 P:24 SP:F9 CYC:25 SL:220\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:02 Y:02 P:24 SP:F9 CYC:31 SL:220\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:02 Y:02 P:24 SP:F9 CYC:37 SL:220\nFB05 C9 CMP #$57        PC:FB06 A:57 X:02 Y:02 P:24 SP:F9 CYC:43 SL:220\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:02 Y:02 P:27 SP:F9 CYC:49 SL:220\nFB09 60 RTS             PC:FB0A A:57 X:02 Y:02 P:27 SP:F9 CYC:55 SL:220\nF582 AD LDA $0647       PC:F583 A:57 X:02 Y:02 P:27 SP:FB CYC:73 SL:220\nF585 C9 CMP #$14        PC:F586 A:14 X:02 Y:02 P:25 SP:FB CYC:85 SL:220\nF587 F0 BEQ $F58B       PC:F588 A:14 X:02 Y:02 P:27 SP:FB CYC:91 SL:220\nF58B C8 INY             PC:F58C A:14 X:02 Y:02 P:27 SP:FB CYC:100 SL:220\nF58C A9 LDA #$37        PC:F58D A:14 X:02 Y:03 P:25 SP:FB CYC:106 SL:220\nF58E 8D STA $0647       PC:F58F A:37 X:02 Y:03 P:25 SP:FB CYC:112 SL:220\nF591 20 JSR $FB0A       PC:F592 A:37 X:02 Y:03 P:25 SP:FB CYC:124 SL:220\nFB0A 24 BIT $01         PC:FB0B A:37 X:02 Y:03 P:25 SP:F9 CYC:142 SL:220\nFB0C 38 SEC             PC:FB0D A:37 X:02 Y:03 P:E5 SP:F9 CYC:151 SL:220\nFB0D A9 LDA #$75        PC:FB0E A:37 X:02 Y:03 P:E5 SP:F9 CYC:157 SL:220\nFB0F 60 RTS             PC:FB10 A:75 X:02 Y:03 P:65 SP:F9 CYC:163 SL:220\nF594 63 RRA $(EA45,x)   PC:F595 A:75 X:02 Y:03 P:65 SP:FB CYC:181 SL:220\nF596 EA NOP             PC:F597 A:11 X:02 Y:03 P:25 SP:FB CYC:205 SL:220\nF597 EA NOP             PC:F598 A:11 X:02 Y:03 P:25 SP:FB CYC:211 SL:220\nF598 EA NOP             PC:F599 A:11 X:02 Y:03 P:25 SP:FB CYC:217 SL:220\nF599 EA NOP             PC:F59A A:11 X:02 Y:03 P:25 SP:FB CYC:223 SL:220\nF59A 20 JSR $FB10       PC:F59B A:11 X:02 Y:03 P:25 SP:FB CYC:229 SL:220\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:02 Y:03 P:25 SP:F9 CYC:247 SL:220\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:02 Y:03 P:25 SP:F9 CYC:253 SL:220\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:02 Y:03 P:25 SP:F9 CYC:259 SL:220\nFB16 C9 CMP #$11        PC:FB17 A:11 X:02 Y:03 P:25 SP:F9 CYC:265 SL:220\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:02 Y:03 P:27 SP:F9 CYC:271 SL:220\nFB1A 60 RTS             PC:FB1B A:11 X:02 Y:03 P:27 SP:F9 CYC:277 SL:220\nF59D AD LDA $0647       PC:F59E A:11 X:02 Y:03 P:27 SP:FB CYC:295 SL:220\nF5A0 C9 CMP #$9B        PC:F5A1 A:9B X:02 Y:03 P:A5 SP:FB CYC:307 SL:220\nF5A2 F0 BEQ $F5A6       PC:F5A3 A:9B X:02 Y:03 P:27 SP:FB CYC:313 SL:220\nF5A6 C8 INY             PC:F5A7 A:9B X:02 Y:03 P:27 SP:FB CYC:322 SL:220\nF5A7 A9 LDA #$A5        PC:F5A8 A:9B X:02 Y:04 P:25 SP:FB CYC:328 SL:220\nF5A9 85 STA $47         PC:F5AA A:A5 X:02 Y:04 P:A5 SP:FB CYC:334 SL:220\nF5AB 20 JSR $FAE9       PC:F5AC A:A5 X:02 Y:04 P:A5 SP:FB CYC:2 SL:221\nFAE9 24 BIT $01         PC:FAEA A:A5 X:02 Y:04 P:A5 SP:F9 CYC:20 SL:221\nFAEB 18 CLC             PC:FAEC A:A5 X:02 Y:04 P:E5 SP:F9 CYC:29 SL:221\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:02 Y:04 P:E4 SP:F9 CYC:35 SL:221\nFAEE 60 RTS             PC:FAEF A:B2 X:02 Y:04 P:E4 SP:F9 CYC:41 SL:221\nF5AE 67 RRA $47         PC:F5AF A:B2 X:02 Y:04 P:E4 SP:FB CYC:59 SL:221\nF5B0 EA NOP             PC:F5B1 A:05 X:02 Y:04 P:25 SP:FB CYC:74 SL:221\nF5B1 EA NOP             PC:F5B2 A:05 X:02 Y:04 P:25 SP:FB CYC:80 SL:221\nF5B2 EA NOP             PC:F5B3 A:05 X:02 Y:04 P:25 SP:FB CYC:86 SL:221\nF5B3 EA NOP             PC:F5B4 A:05 X:02 Y:04 P:25 SP:FB CYC:92 SL:221\nF5B4 20 JSR $FAEF       PC:F5B5 A:05 X:02 Y:04 P:25 SP:FB CYC:98 SL:221\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:02 Y:04 P:25 SP:F9 CYC:116 SL:221\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:02 Y:04 P:25 SP:F9 CYC:122 SL:221\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:02 Y:04 P:25 SP:F9 CYC:128 SL:221\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:02 Y:04 P:25 SP:F9 CYC:134 SL:221\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:02 Y:04 P:27 SP:F9 CYC:140 SL:221\nFAF9 60 RTS             PC:FAFA A:05 X:02 Y:04 P:27 SP:F9 CYC:146 SL:221\nF5B7 A5 LDA $47         PC:F5B8 A:05 X:02 Y:04 P:27 SP:FB CYC:164 SL:221\nF5B9 C9 CMP #$52        PC:F5BA A:52 X:02 Y:04 P:25 SP:FB CYC:173 SL:221\nF5BB F0 BEQ $F5BF       PC:F5BC A:52 X:02 Y:04 P:27 SP:FB CYC:179 SL:221\nF5BF C8 INY             PC:F5C0 A:52 X:02 Y:04 P:27 SP:FB CYC:188 SL:221\nF5C0 A9 LDA #$29        PC:F5C1 A:52 X:02 Y:05 P:25 SP:FB CYC:194 SL:221\nF5C2 85 STA $47         PC:F5C3 A:29 X:02 Y:05 P:25 SP:FB CYC:200 SL:221\nF5C4 20 JSR $FAFA       PC:F5C5 A:29 X:02 Y:05 P:25 SP:FB CYC:209 SL:221\nFAFA B8 CLV             PC:FAFB A:29 X:02 Y:05 P:25 SP:F9 CYC:227 SL:221\nFAFB 18 CLC             PC:FAFC A:29 X:02 Y:05 P:25 SP:F9 CYC:233 SL:221\nFAFC A9 LDA #$42        PC:FAFD A:29 X:02 Y:05 P:24 SP:F9 CYC:239 SL:221\nFAFE 60 RTS             PC:FAFF A:42 X:02 Y:05 P:24 SP:F9 CYC:245 SL:221\nF5C7 67 RRA $47         PC:F5C8 A:42 X:02 Y:05 P:24 SP:FB CYC:263 SL:221\nF5C9 EA NOP             PC:F5CA A:57 X:02 Y:05 P:24 SP:FB CYC:278 SL:221\nF5CA EA NOP             PC:F5CB A:57 X:02 Y:05 P:24 SP:FB CYC:284 SL:221\nF5CB EA NOP             PC:F5CC A:57 X:02 Y:05 P:24 SP:FB CYC:290 SL:221\nF5CC EA NOP             PC:F5CD A:57 X:02 Y:05 P:24 SP:FB CYC:296 SL:221\nF5CD 20 JSR $FAFF       PC:F5CE A:57 X:02 Y:05 P:24 SP:FB CYC:302 SL:221\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:02 Y:05 P:24 SP:F9 CYC:320 SL:221\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:02 Y:05 P:24 SP:F9 CYC:326 SL:221\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:02 Y:05 P:24 SP:F9 CYC:332 SL:221\nFB05 C9 CMP #$57        PC:FB06 A:57 X:02 Y:05 P:24 SP:F9 CYC:338 SL:221\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:02 Y:05 P:27 SP:F9 CYC:3 SL:222\nFB09 60 RTS             PC:FB0A A:57 X:02 Y:05 P:27 SP:F9 CYC:9 SL:222\nF5D0 A5 LDA $47         PC:F5D1 A:57 X:02 Y:05 P:27 SP:FB CYC:27 SL:222\nF5D2 C9 CMP #$14        PC:F5D3 A:14 X:02 Y:05 P:25 SP:FB CYC:36 SL:222\nF5D4 F0 BEQ $F5D8       PC:F5D5 A:14 X:02 Y:05 P:27 SP:FB CYC:42 SL:222\nF5D8 C8 INY             PC:F5D9 A:14 X:02 Y:05 P:27 SP:FB CYC:51 SL:222\nF5D9 A9 LDA #$37        PC:F5DA A:14 X:02 Y:06 P:25 SP:FB CYC:57 SL:222\nF5DB 85 STA $47         PC:F5DC A:37 X:02 Y:06 P:25 SP:FB CYC:63 SL:222\nF5DD 20 JSR $FB0A       PC:F5DE A:37 X:02 Y:06 P:25 SP:FB CYC:72 SL:222\nFB0A 24 BIT $01         PC:FB0B A:37 X:02 Y:06 P:25 SP:F9 CYC:90 SL:222\nFB0C 38 SEC             PC:FB0D A:37 X:02 Y:06 P:E5 SP:F9 CYC:99 SL:222\nFB0D A9 LDA #$75        PC:FB0E A:37 X:02 Y:06 P:E5 SP:F9 CYC:105 SL:222\nFB0F 60 RTS             PC:FB10 A:75 X:02 Y:06 P:65 SP:F9 CYC:111 SL:222\nF5E0 67 RRA $47         PC:F5E1 A:75 X:02 Y:06 P:65 SP:FB CYC:129 SL:222\nF5E2 EA NOP             PC:F5E3 A:11 X:02 Y:06 P:25 SP:FB CYC:144 SL:222\nF5E3 EA NOP             PC:F5E4 A:11 X:02 Y:06 P:25 SP:FB CYC:150 SL:222\nF5E4 EA NOP             PC:F5E5 A:11 X:02 Y:06 P:25 SP:FB CYC:156 SL:222\nF5E5 EA NOP             PC:F5E6 A:11 X:02 Y:06 P:25 SP:FB CYC:162 SL:222\nF5E6 20 JSR $FB10       PC:F5E7 A:11 X:02 Y:06 P:25 SP:FB CYC:168 SL:222\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:02 Y:06 P:25 SP:F9 CYC:186 SL:222\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:02 Y:06 P:25 SP:F9 CYC:192 SL:222\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:02 Y:06 P:25 SP:F9 CYC:198 SL:222\nFB16 C9 CMP #$11        PC:FB17 A:11 X:02 Y:06 P:25 SP:F9 CYC:204 SL:222\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:02 Y:06 P:27 SP:F9 CYC:210 SL:222\nFB1A 60 RTS             PC:FB1B A:11 X:02 Y:06 P:27 SP:F9 CYC:216 SL:222\nF5E9 A5 LDA $47         PC:F5EA A:11 X:02 Y:06 P:27 SP:FB CYC:234 SL:222\nF5EB C9 CMP #$9B        PC:F5EC A:9B X:02 Y:06 P:A5 SP:FB CYC:243 SL:222\nF5ED F0 BEQ $F5F1       PC:F5EE A:9B X:02 Y:06 P:27 SP:FB CYC:249 SL:222\nF5F1 C8 INY             PC:F5F2 A:9B X:02 Y:06 P:27 SP:FB CYC:258 SL:222\nF5F2 A9 LDA #$A5        PC:F5F3 A:9B X:02 Y:07 P:25 SP:FB CYC:264 SL:222\nF5F4 8D STA $0647       PC:F5F5 A:A5 X:02 Y:07 P:A5 SP:FB CYC:270 SL:222\nF5F7 20 JSR $FAE9       PC:F5F8 A:A5 X:02 Y:07 P:A5 SP:FB CYC:282 SL:222\nFAE9 24 BIT $01         PC:FAEA A:A5 X:02 Y:07 P:A5 SP:F9 CYC:300 SL:222\nFAEB 18 CLC             PC:FAEC A:A5 X:02 Y:07 P:E5 SP:F9 CYC:309 SL:222\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:02 Y:07 P:E4 SP:F9 CYC:315 SL:222\nFAEE 60 RTS             PC:FAEF A:B2 X:02 Y:07 P:E4 SP:F9 CYC:321 SL:222\nF5FA 6F RRA $0647       PC:F5FB A:B2 X:02 Y:07 P:E4 SP:FB CYC:339 SL:222\nF5FD EA NOP             PC:F5FE A:05 X:02 Y:07 P:25 SP:FB CYC:16 SL:223\nF5FE EA NOP             PC:F5FF A:05 X:02 Y:07 P:25 SP:FB CYC:22 SL:223\nF5FF EA NOP             PC:F600 A:05 X:02 Y:07 P:25 SP:FB CYC:28 SL:223\nF600 EA NOP             PC:F601 A:05 X:02 Y:07 P:25 SP:FB CYC:34 SL:223\nF601 20 JSR $FAEF       PC:F602 A:05 X:02 Y:07 P:25 SP:FB CYC:40 SL:223\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:02 Y:07 P:25 SP:F9 CYC:58 SL:223\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:02 Y:07 P:25 SP:F9 CYC:64 SL:223\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:02 Y:07 P:25 SP:F9 CYC:70 SL:223\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:02 Y:07 P:25 SP:F9 CYC:76 SL:223\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:02 Y:07 P:27 SP:F9 CYC:82 SL:223\nFAF9 60 RTS             PC:FAFA A:05 X:02 Y:07 P:27 SP:F9 CYC:88 SL:223\nF604 AD LDA $0647       PC:F605 A:05 X:02 Y:07 P:27 SP:FB CYC:106 SL:223\nF607 C9 CMP #$52        PC:F608 A:52 X:02 Y:07 P:25 SP:FB CYC:118 SL:223\nF609 F0 BEQ $F60D       PC:F60A A:52 X:02 Y:07 P:27 SP:FB CYC:124 SL:223\nF60D C8 INY             PC:F60E A:52 X:02 Y:07 P:27 SP:FB CYC:133 SL:223\nF60E A9 LDA #$29        PC:F60F A:52 X:02 Y:08 P:25 SP:FB CYC:139 SL:223\nF610 8D STA $0647       PC:F611 A:29 X:02 Y:08 P:25 SP:FB CYC:145 SL:223\nF613 20 JSR $FAFA       PC:F614 A:29 X:02 Y:08 P:25 SP:FB CYC:157 SL:223\nFAFA B8 CLV             PC:FAFB A:29 X:02 Y:08 P:25 SP:F9 CYC:175 SL:223\nFAFB 18 CLC             PC:FAFC A:29 X:02 Y:08 P:25 SP:F9 CYC:181 SL:223\nFAFC A9 LDA #$42        PC:FAFD A:29 X:02 Y:08 P:24 SP:F9 CYC:187 SL:223\nFAFE 60 RTS             PC:FAFF A:42 X:02 Y:08 P:24 SP:F9 CYC:193 SL:223\nF616 6F RRA $0647       PC:F617 A:42 X:02 Y:08 P:24 SP:FB CYC:211 SL:223\nF619 EA NOP             PC:F61A A:57 X:02 Y:08 P:24 SP:FB CYC:229 SL:223\nF61A EA NOP             PC:F61B A:57 X:02 Y:08 P:24 SP:FB CYC:235 SL:223\nF61B EA NOP             PC:F61C A:57 X:02 Y:08 P:24 SP:FB CYC:241 SL:223\nF61C EA NOP             PC:F61D A:57 X:02 Y:08 P:24 SP:FB CYC:247 SL:223\nF61D 20 JSR $FAFF       PC:F61E A:57 X:02 Y:08 P:24 SP:FB CYC:253 SL:223\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:02 Y:08 P:24 SP:F9 CYC:271 SL:223\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:02 Y:08 P:24 SP:F9 CYC:277 SL:223\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:02 Y:08 P:24 SP:F9 CYC:283 SL:223\nFB05 C9 CMP #$57        PC:FB06 A:57 X:02 Y:08 P:24 SP:F9 CYC:289 SL:223\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:02 Y:08 P:27 SP:F9 CYC:295 SL:223\nFB09 60 RTS             PC:FB0A A:57 X:02 Y:08 P:27 SP:F9 CYC:301 SL:223\nF620 AD LDA $0647       PC:F621 A:57 X:02 Y:08 P:27 SP:FB CYC:319 SL:223\nF623 C9 CMP #$14        PC:F624 A:14 X:02 Y:08 P:25 SP:FB CYC:331 SL:223\nF625 F0 BEQ $F629       PC:F626 A:14 X:02 Y:08 P:27 SP:FB CYC:337 SL:223\nF629 C8 INY             PC:F62A A:14 X:02 Y:08 P:27 SP:FB CYC:5 SL:224\nF62A A9 LDA #$37        PC:F62B A:14 X:02 Y:09 P:25 SP:FB CYC:11 SL:224\nF62C 8D STA $0647       PC:F62D A:37 X:02 Y:09 P:25 SP:FB CYC:17 SL:224\nF62F 20 JSR $FB0A       PC:F630 A:37 X:02 Y:09 P:25 SP:FB CYC:29 SL:224\nFB0A 24 BIT $01         PC:FB0B A:37 X:02 Y:09 P:25 SP:F9 CYC:47 SL:224\nFB0C 38 SEC             PC:FB0D A:37 X:02 Y:09 P:E5 SP:F9 CYC:56 SL:224\nFB0D A9 LDA #$75        PC:FB0E A:37 X:02 Y:09 P:E5 SP:F9 CYC:62 SL:224\nFB0F 60 RTS             PC:FB10 A:75 X:02 Y:09 P:65 SP:F9 CYC:68 SL:224\nF632 6F RRA $0647       PC:F633 A:75 X:02 Y:09 P:65 SP:FB CYC:86 SL:224\nF635 EA NOP             PC:F636 A:11 X:02 Y:09 P:25 SP:FB CYC:104 SL:224\nF636 EA NOP             PC:F637 A:11 X:02 Y:09 P:25 SP:FB CYC:110 SL:224\nF637 EA NOP             PC:F638 A:11 X:02 Y:09 P:25 SP:FB CYC:116 SL:224\nF638 EA NOP             PC:F639 A:11 X:02 Y:09 P:25 SP:FB CYC:122 SL:224\nF639 20 JSR $FB10       PC:F63A A:11 X:02 Y:09 P:25 SP:FB CYC:128 SL:224\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:02 Y:09 P:25 SP:F9 CYC:146 SL:224\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:02 Y:09 P:25 SP:F9 CYC:152 SL:224\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:02 Y:09 P:25 SP:F9 CYC:158 SL:224\nFB16 C9 CMP #$11        PC:FB17 A:11 X:02 Y:09 P:25 SP:F9 CYC:164 SL:224\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:02 Y:09 P:27 SP:F9 CYC:170 SL:224\nFB1A 60 RTS             PC:FB1B A:11 X:02 Y:09 P:27 SP:F9 CYC:176 SL:224\nF63C AD LDA $0647       PC:F63D A:11 X:02 Y:09 P:27 SP:FB CYC:194 SL:224\nF63F C9 CMP #$9B        PC:F640 A:9B X:02 Y:09 P:A5 SP:FB CYC:206 SL:224\nF641 F0 BEQ $F645       PC:F642 A:9B X:02 Y:09 P:27 SP:FB CYC:212 SL:224\nF645 A9 LDA #$A5        PC:F646 A:9B X:02 Y:09 P:27 SP:FB CYC:221 SL:224\nF647 8D STA $0647       PC:F648 A:A5 X:02 Y:09 P:A5 SP:FB CYC:227 SL:224\nF64A A9 LDA #$48        PC:F64B A:A5 X:02 Y:09 P:A5 SP:FB CYC:239 SL:224\nF64C 85 STA $45         PC:F64D A:48 X:02 Y:09 P:25 SP:FB CYC:245 SL:224\nF64E A9 LDA #$05        PC:F64F A:48 X:02 Y:09 P:25 SP:FB CYC:254 SL:224\nF650 85 STA $46         PC:F651 A:05 X:02 Y:09 P:25 SP:FB CYC:260 SL:224\nF652 A0 LDY #$FF        PC:F653 A:05 X:02 Y:09 P:25 SP:FB CYC:269 SL:224\nF654 20 JSR $FAE9       PC:F655 A:05 X:02 Y:FF P:A5 SP:FB CYC:275 SL:224\nFAE9 24 BIT $01         PC:FAEA A:05 X:02 Y:FF P:A5 SP:F9 CYC:293 SL:224\nFAEB 18 CLC             PC:FAEC A:05 X:02 Y:FF P:E5 SP:F9 CYC:302 SL:224\nFAEC A9 LDA #$B2        PC:FAED A:05 X:02 Y:FF P:E4 SP:F9 CYC:308 SL:224\nFAEE 60 RTS             PC:FAEF A:B2 X:02 Y:FF P:E4 SP:F9 CYC:314 SL:224\nF657 73 RRA ($45), y    PC:F658 A:B2 X:02 Y:FF P:E4 SP:FB CYC:332 SL:224\nF659 EA NOP             PC:F65A A:05 X:02 Y:FF P:25 SP:FB CYC:15 SL:225\nF65A EA NOP             PC:F65B A:05 X:02 Y:FF P:25 SP:FB CYC:21 SL:225\nF65B 08 PHP             PC:F65C A:05 X:02 Y:FF P:25 SP:FB CYC:27 SL:225\nF65C 48 PHA             PC:F65D A:05 X:02 Y:FF P:25 SP:FA CYC:36 SL:225\nF65D A0 LDY #$0A        PC:F65E A:05 X:02 Y:FF P:25 SP:F9 CYC:45 SL:225\nF65F 68 PLA             PC:F660 A:05 X:02 Y:0A P:25 SP:F9 CYC:51 SL:225\nF660 28 PLP             PC:F661 A:05 X:02 Y:0A P:25 SP:FA CYC:63 SL:225\nF661 20 JSR $FAEF       PC:F662 A:05 X:02 Y:0A P:25 SP:FB CYC:75 SL:225\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:02 Y:0A P:25 SP:F9 CYC:93 SL:225\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:02 Y:0A P:25 SP:F9 CYC:99 SL:225\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:02 Y:0A P:25 SP:F9 CYC:105 SL:225\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:02 Y:0A P:25 SP:F9 CYC:111 SL:225\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:02 Y:0A P:27 SP:F9 CYC:117 SL:225\nFAF9 60 RTS             PC:FAFA A:05 X:02 Y:0A P:27 SP:F9 CYC:123 SL:225\nF664 AD LDA $0647       PC:F665 A:05 X:02 Y:0A P:27 SP:FB CYC:141 SL:225\nF667 C9 CMP #$52        PC:F668 A:52 X:02 Y:0A P:25 SP:FB CYC:153 SL:225\nF669 F0 BEQ $F66D       PC:F66A A:52 X:02 Y:0A P:27 SP:FB CYC:159 SL:225\nF66D A0 LDY #$FF        PC:F66E A:52 X:02 Y:0A P:27 SP:FB CYC:168 SL:225\nF66F A9 LDA #$29        PC:F670 A:52 X:02 Y:FF P:A5 SP:FB CYC:174 SL:225\nF671 8D STA $0647       PC:F672 A:29 X:02 Y:FF P:25 SP:FB CYC:180 SL:225\nF674 20 JSR $FAFA       PC:F675 A:29 X:02 Y:FF P:25 SP:FB CYC:192 SL:225\nFAFA B8 CLV             PC:FAFB A:29 X:02 Y:FF P:25 SP:F9 CYC:210 SL:225\nFAFB 18 CLC             PC:FAFC A:29 X:02 Y:FF P:25 SP:F9 CYC:216 SL:225\nFAFC A9 LDA #$42        PC:FAFD A:29 X:02 Y:FF P:24 SP:F9 CYC:222 SL:225\nFAFE 60 RTS             PC:FAFF A:42 X:02 Y:FF P:24 SP:F9 CYC:228 SL:225\nF677 73 RRA ($45), y    PC:F678 A:42 X:02 Y:FF P:24 SP:FB CYC:246 SL:225\nF679 EA NOP             PC:F67A A:57 X:02 Y:FF P:24 SP:FB CYC:270 SL:225\nF67A EA NOP             PC:F67B A:57 X:02 Y:FF P:24 SP:FB CYC:276 SL:225\nF67B 08 PHP             PC:F67C A:57 X:02 Y:FF P:24 SP:FB CYC:282 SL:225\nF67C 48 PHA             PC:F67D A:57 X:02 Y:FF P:24 SP:FA CYC:291 SL:225\nF67D A0 LDY #$0B        PC:F67E A:57 X:02 Y:FF P:24 SP:F9 CYC:300 SL:225\nF67F 68 PLA             PC:F680 A:57 X:02 Y:0B P:24 SP:F9 CYC:306 SL:225\nF680 28 PLP             PC:F681 A:57 X:02 Y:0B P:24 SP:FA CYC:318 SL:225\nF681 20 JSR $FAFF       PC:F682 A:57 X:02 Y:0B P:24 SP:FB CYC:330 SL:225\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:02 Y:0B P:24 SP:F9 CYC:7 SL:226\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:02 Y:0B P:24 SP:F9 CYC:13 SL:226\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:02 Y:0B P:24 SP:F9 CYC:19 SL:226\nFB05 C9 CMP #$57        PC:FB06 A:57 X:02 Y:0B P:24 SP:F9 CYC:25 SL:226\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:02 Y:0B P:27 SP:F9 CYC:31 SL:226\nFB09 60 RTS             PC:FB0A A:57 X:02 Y:0B P:27 SP:F9 CYC:37 SL:226\nF684 AD LDA $0647       PC:F685 A:57 X:02 Y:0B P:27 SP:FB CYC:55 SL:226\nF687 C9 CMP #$14        PC:F688 A:14 X:02 Y:0B P:25 SP:FB CYC:67 SL:226\nF689 F0 BEQ $F68D       PC:F68A A:14 X:02 Y:0B P:27 SP:FB CYC:73 SL:226\nF68D A0 LDY #$FF        PC:F68E A:14 X:02 Y:0B P:27 SP:FB CYC:82 SL:226\nF68F A9 LDA #$37        PC:F690 A:14 X:02 Y:FF P:A5 SP:FB CYC:88 SL:226\nF691 8D STA $0647       PC:F692 A:37 X:02 Y:FF P:25 SP:FB CYC:94 SL:226\nF694 20 JSR $FB0A       PC:F695 A:37 X:02 Y:FF P:25 SP:FB CYC:106 SL:226\nFB0A 24 BIT $01         PC:FB0B A:37 X:02 Y:FF P:25 SP:F9 CYC:124 SL:226\nFB0C 38 SEC             PC:FB0D A:37 X:02 Y:FF P:E5 SP:F9 CYC:133 SL:226\nFB0D A9 LDA #$75        PC:FB0E A:37 X:02 Y:FF P:E5 SP:F9 CYC:139 SL:226\nFB0F 60 RTS             PC:FB10 A:75 X:02 Y:FF P:65 SP:F9 CYC:145 SL:226\nF697 73 RRA ($45), y    PC:F698 A:75 X:02 Y:FF P:65 SP:FB CYC:163 SL:226\nF699 EA NOP             PC:F69A A:11 X:02 Y:FF P:25 SP:FB CYC:187 SL:226\nF69A EA NOP             PC:F69B A:11 X:02 Y:FF P:25 SP:FB CYC:193 SL:226\nF69B 08 PHP             PC:F69C A:11 X:02 Y:FF P:25 SP:FB CYC:199 SL:226\nF69C 48 PHA             PC:F69D A:11 X:02 Y:FF P:25 SP:FA CYC:208 SL:226\nF69D A0 LDY #$0C        PC:F69E A:11 X:02 Y:FF P:25 SP:F9 CYC:217 SL:226\nF69F 68 PLA             PC:F6A0 A:11 X:02 Y:0C P:25 SP:F9 CYC:223 SL:226\nF6A0 28 PLP             PC:F6A1 A:11 X:02 Y:0C P:25 SP:FA CYC:235 SL:226\nF6A1 20 JSR $FB10       PC:F6A2 A:11 X:02 Y:0C P:25 SP:FB CYC:247 SL:226\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:02 Y:0C P:25 SP:F9 CYC:265 SL:226\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:02 Y:0C P:25 SP:F9 CYC:271 SL:226\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:02 Y:0C P:25 SP:F9 CYC:277 SL:226\nFB16 C9 CMP #$11        PC:FB17 A:11 X:02 Y:0C P:25 SP:F9 CYC:283 SL:226\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:02 Y:0C P:27 SP:F9 CYC:289 SL:226\nFB1A 60 RTS             PC:FB1B A:11 X:02 Y:0C P:27 SP:F9 CYC:295 SL:226\nF6A4 AD LDA $0647       PC:F6A5 A:11 X:02 Y:0C P:27 SP:FB CYC:313 SL:226\nF6A7 C9 CMP #$9B        PC:F6A8 A:9B X:02 Y:0C P:A5 SP:FB CYC:325 SL:226\nF6A9 F0 BEQ $F6AD       PC:F6AA A:9B X:02 Y:0C P:27 SP:FB CYC:331 SL:226\nF6AD A0 LDY #$0D        PC:F6AE A:9B X:02 Y:0C P:27 SP:FB CYC:340 SL:226\nF6AF A2 LDX #$FF        PC:F6B0 A:9B X:02 Y:0D P:25 SP:FB CYC:5 SL:227\nF6B1 A9 LDA #$A5        PC:F6B2 A:9B X:FF Y:0D P:A5 SP:FB CYC:11 SL:227\nF6B3 85 STA $47         PC:F6B4 A:A5 X:FF Y:0D P:A5 SP:FB CYC:17 SL:227\nF6B5 20 JSR $FAE9       PC:F6B6 A:A5 X:FF Y:0D P:A5 SP:FB CYC:26 SL:227\nFAE9 24 BIT $01         PC:FAEA A:A5 X:FF Y:0D P:A5 SP:F9 CYC:44 SL:227\nFAEB 18 CLC             PC:FAEC A:A5 X:FF Y:0D P:E5 SP:F9 CYC:53 SL:227\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:FF Y:0D P:E4 SP:F9 CYC:59 SL:227\nFAEE 60 RTS             PC:FAEF A:B2 X:FF Y:0D P:E4 SP:F9 CYC:65 SL:227\nF6B8 77 RRA $48,x       PC:F6B9 A:B2 X:FF Y:0D P:E4 SP:FB CYC:83 SL:227\nF6BA EA NOP             PC:F6BB A:05 X:FF Y:0D P:25 SP:FB CYC:101 SL:227\nF6BB EA NOP             PC:F6BC A:05 X:FF Y:0D P:25 SP:FB CYC:107 SL:227\nF6BC EA NOP             PC:F6BD A:05 X:FF Y:0D P:25 SP:FB CYC:113 SL:227\nF6BD EA NOP             PC:F6BE A:05 X:FF Y:0D P:25 SP:FB CYC:119 SL:227\nF6BE 20 JSR $FAEF       PC:F6BF A:05 X:FF Y:0D P:25 SP:FB CYC:125 SL:227\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:FF Y:0D P:25 SP:F9 CYC:143 SL:227\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:FF Y:0D P:25 SP:F9 CYC:149 SL:227\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:FF Y:0D P:25 SP:F9 CYC:155 SL:227\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:FF Y:0D P:25 SP:F9 CYC:161 SL:227\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:FF Y:0D P:27 SP:F9 CYC:167 SL:227\nFAF9 60 RTS             PC:FAFA A:05 X:FF Y:0D P:27 SP:F9 CYC:173 SL:227\nF6C1 A5 LDA $47         PC:F6C2 A:05 X:FF Y:0D P:27 SP:FB CYC:191 SL:227\nF6C3 C9 CMP #$52        PC:F6C4 A:52 X:FF Y:0D P:25 SP:FB CYC:200 SL:227\nF6C5 F0 BEQ $F6C9       PC:F6C6 A:52 X:FF Y:0D P:27 SP:FB CYC:206 SL:227\nF6C9 C8 INY             PC:F6CA A:52 X:FF Y:0D P:27 SP:FB CYC:215 SL:227\nF6CA A9 LDA #$29        PC:F6CB A:52 X:FF Y:0E P:25 SP:FB CYC:221 SL:227\nF6CC 85 STA $47         PC:F6CD A:29 X:FF Y:0E P:25 SP:FB CYC:227 SL:227\nF6CE 20 JSR $FAFA       PC:F6CF A:29 X:FF Y:0E P:25 SP:FB CYC:236 SL:227\nFAFA B8 CLV             PC:FAFB A:29 X:FF Y:0E P:25 SP:F9 CYC:254 SL:227\nFAFB 18 CLC             PC:FAFC A:29 X:FF Y:0E P:25 SP:F9 CYC:260 SL:227\nFAFC A9 LDA #$42        PC:FAFD A:29 X:FF Y:0E P:24 SP:F9 CYC:266 SL:227\nFAFE 60 RTS             PC:FAFF A:42 X:FF Y:0E P:24 SP:F9 CYC:272 SL:227\nF6D1 77 RRA $48,x       PC:F6D2 A:42 X:FF Y:0E P:24 SP:FB CYC:290 SL:227\nF6D3 EA NOP             PC:F6D4 A:57 X:FF Y:0E P:24 SP:FB CYC:308 SL:227\nF6D4 EA NOP             PC:F6D5 A:57 X:FF Y:0E P:24 SP:FB CYC:314 SL:227\nF6D5 EA NOP             PC:F6D6 A:57 X:FF Y:0E P:24 SP:FB CYC:320 SL:227\nF6D6 EA NOP             PC:F6D7 A:57 X:FF Y:0E P:24 SP:FB CYC:326 SL:227\nF6D7 20 JSR $FAFF       PC:F6D8 A:57 X:FF Y:0E P:24 SP:FB CYC:332 SL:227\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:FF Y:0E P:24 SP:F9 CYC:9 SL:228\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:FF Y:0E P:24 SP:F9 CYC:15 SL:228\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:FF Y:0E P:24 SP:F9 CYC:21 SL:228\nFB05 C9 CMP #$57        PC:FB06 A:57 X:FF Y:0E P:24 SP:F9 CYC:27 SL:228\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:FF Y:0E P:27 SP:F9 CYC:33 SL:228\nFB09 60 RTS             PC:FB0A A:57 X:FF Y:0E P:27 SP:F9 CYC:39 SL:228\nF6DA A5 LDA $47         PC:F6DB A:57 X:FF Y:0E P:27 SP:FB CYC:57 SL:228\nF6DC C9 CMP #$14        PC:F6DD A:14 X:FF Y:0E P:25 SP:FB CYC:66 SL:228\nF6DE F0 BEQ $F6E2       PC:F6DF A:14 X:FF Y:0E P:27 SP:FB CYC:72 SL:228\nF6E2 C8 INY             PC:F6E3 A:14 X:FF Y:0E P:27 SP:FB CYC:81 SL:228\nF6E3 A9 LDA #$37        PC:F6E4 A:14 X:FF Y:0F P:25 SP:FB CYC:87 SL:228\nF6E5 85 STA $47         PC:F6E6 A:37 X:FF Y:0F P:25 SP:FB CYC:93 SL:228\nF6E7 20 JSR $FB0A       PC:F6E8 A:37 X:FF Y:0F P:25 SP:FB CYC:102 SL:228\nFB0A 24 BIT $01         PC:FB0B A:37 X:FF Y:0F P:25 SP:F9 CYC:120 SL:228\nFB0C 38 SEC             PC:FB0D A:37 X:FF Y:0F P:E5 SP:F9 CYC:129 SL:228\nFB0D A9 LDA #$75        PC:FB0E A:37 X:FF Y:0F P:E5 SP:F9 CYC:135 SL:228\nFB0F 60 RTS             PC:FB10 A:75 X:FF Y:0F P:65 SP:F9 CYC:141 SL:228\nF6EA 77 RRA $48,x       PC:F6EB A:75 X:FF Y:0F P:65 SP:FB CYC:159 SL:228\nF6EC EA NOP             PC:F6ED A:11 X:FF Y:0F P:25 SP:FB CYC:177 SL:228\nF6ED EA NOP             PC:F6EE A:11 X:FF Y:0F P:25 SP:FB CYC:183 SL:228\nF6EE EA NOP             PC:F6EF A:11 X:FF Y:0F P:25 SP:FB CYC:189 SL:228\nF6EF EA NOP             PC:F6F0 A:11 X:FF Y:0F P:25 SP:FB CYC:195 SL:228\nF6F0 20 JSR $FB10       PC:F6F1 A:11 X:FF Y:0F P:25 SP:FB CYC:201 SL:228\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:FF Y:0F P:25 SP:F9 CYC:219 SL:228\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:FF Y:0F P:25 SP:F9 CYC:225 SL:228\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:FF Y:0F P:25 SP:F9 CYC:231 SL:228\nFB16 C9 CMP #$11        PC:FB17 A:11 X:FF Y:0F P:25 SP:F9 CYC:237 SL:228\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:FF Y:0F P:27 SP:F9 CYC:243 SL:228\nFB1A 60 RTS             PC:FB1B A:11 X:FF Y:0F P:27 SP:F9 CYC:249 SL:228\nF6F3 A5 LDA $47         PC:F6F4 A:11 X:FF Y:0F P:27 SP:FB CYC:267 SL:228\nF6F5 C9 CMP #$9B        PC:F6F6 A:9B X:FF Y:0F P:A5 SP:FB CYC:276 SL:228\nF6F7 F0 BEQ $F6FB       PC:F6F8 A:9B X:FF Y:0F P:27 SP:FB CYC:282 SL:228\nF6FB A9 LDA #$A5        PC:F6FC A:9B X:FF Y:0F P:27 SP:FB CYC:291 SL:228\nF6FD 8D STA $0647       PC:F6FE A:A5 X:FF Y:0F P:A5 SP:FB CYC:297 SL:228\nF700 A0 LDY #$FF        PC:F701 A:A5 X:FF Y:0F P:A5 SP:FB CYC:309 SL:228\nF702 20 JSR $FAE9       PC:F703 A:A5 X:FF Y:FF P:A5 SP:FB CYC:315 SL:228\nFAE9 24 BIT $01         PC:FAEA A:A5 X:FF Y:FF P:A5 SP:F9 CYC:333 SL:228\nFAEB 18 CLC             PC:FAEC A:A5 X:FF Y:FF P:E5 SP:F9 CYC:1 SL:229\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:FF Y:FF P:E4 SP:F9 CYC:7 SL:229\nFAEE 60 RTS             PC:FAEF A:B2 X:FF Y:FF P:E4 SP:F9 CYC:13 SL:229\nF705 7B RRA $0548,y     PC:F706 A:B2 X:FF Y:FF P:E4 SP:FB CYC:31 SL:229\nF708 EA NOP             PC:F709 A:05 X:FF Y:FF P:25 SP:FB CYC:52 SL:229\nF709 EA NOP             PC:F70A A:05 X:FF Y:FF P:25 SP:FB CYC:58 SL:229\nF70A 08 PHP             PC:F70B A:05 X:FF Y:FF P:25 SP:FB CYC:64 SL:229\nF70B 48 PHA             PC:F70C A:05 X:FF Y:FF P:25 SP:FA CYC:73 SL:229\nF70C A0 LDY #$10        PC:F70D A:05 X:FF Y:FF P:25 SP:F9 CYC:82 SL:229\nF70E 68 PLA             PC:F70F A:05 X:FF Y:10 P:25 SP:F9 CYC:88 SL:229\nF70F 28 PLP             PC:F710 A:05 X:FF Y:10 P:25 SP:FA CYC:100 SL:229\nF710 20 JSR $FAEF       PC:F711 A:05 X:FF Y:10 P:25 SP:FB CYC:112 SL:229\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:FF Y:10 P:25 SP:F9 CYC:130 SL:229\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:FF Y:10 P:25 SP:F9 CYC:136 SL:229\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:FF Y:10 P:25 SP:F9 CYC:142 SL:229\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:FF Y:10 P:25 SP:F9 CYC:148 SL:229\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:FF Y:10 P:27 SP:F9 CYC:154 SL:229\nFAF9 60 RTS             PC:FAFA A:05 X:FF Y:10 P:27 SP:F9 CYC:160 SL:229\nF713 AD LDA $0647       PC:F714 A:05 X:FF Y:10 P:27 SP:FB CYC:178 SL:229\nF716 C9 CMP #$52        PC:F717 A:52 X:FF Y:10 P:25 SP:FB CYC:190 SL:229\nF718 F0 BEQ $F71C       PC:F719 A:52 X:FF Y:10 P:27 SP:FB CYC:196 SL:229\nF71C A0 LDY #$FF        PC:F71D A:52 X:FF Y:10 P:27 SP:FB CYC:205 SL:229\nF71E A9 LDA #$29        PC:F71F A:52 X:FF Y:FF P:A5 SP:FB CYC:211 SL:229\nF720 8D STA $0647       PC:F721 A:29 X:FF Y:FF P:25 SP:FB CYC:217 SL:229\nF723 20 JSR $FAFA       PC:F724 A:29 X:FF Y:FF P:25 SP:FB CYC:229 SL:229\nFAFA B8 CLV             PC:FAFB A:29 X:FF Y:FF P:25 SP:F9 CYC:247 SL:229\nFAFB 18 CLC             PC:FAFC A:29 X:FF Y:FF P:25 SP:F9 CYC:253 SL:229\nFAFC A9 LDA #$42        PC:FAFD A:29 X:FF Y:FF P:24 SP:F9 CYC:259 SL:229\nFAFE 60 RTS             PC:FAFF A:42 X:FF Y:FF P:24 SP:F9 CYC:265 SL:229\nF726 7B RRA $0548,y     PC:F727 A:42 X:FF Y:FF P:24 SP:FB CYC:283 SL:229\nF729 EA NOP             PC:F72A A:57 X:FF Y:FF P:24 SP:FB CYC:304 SL:229\nF72A EA NOP             PC:F72B A:57 X:FF Y:FF P:24 SP:FB CYC:310 SL:229\nF72B 08 PHP             PC:F72C A:57 X:FF Y:FF P:24 SP:FB CYC:316 SL:229\nF72C 48 PHA             PC:F72D A:57 X:FF Y:FF P:24 SP:FA CYC:325 SL:229\nF72D A0 LDY #$11        PC:F72E A:57 X:FF Y:FF P:24 SP:F9 CYC:334 SL:229\nF72F 68 PLA             PC:F730 A:57 X:FF Y:11 P:24 SP:F9 CYC:340 SL:229\nF730 28 PLP             PC:F731 A:57 X:FF Y:11 P:24 SP:FA CYC:11 SL:230\nF731 20 JSR $FAFF       PC:F732 A:57 X:FF Y:11 P:24 SP:FB CYC:23 SL:230\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:FF Y:11 P:24 SP:F9 CYC:41 SL:230\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:FF Y:11 P:24 SP:F9 CYC:47 SL:230\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:FF Y:11 P:24 SP:F9 CYC:53 SL:230\nFB05 C9 CMP #$57        PC:FB06 A:57 X:FF Y:11 P:24 SP:F9 CYC:59 SL:230\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:FF Y:11 P:27 SP:F9 CYC:65 SL:230\nFB09 60 RTS             PC:FB0A A:57 X:FF Y:11 P:27 SP:F9 CYC:71 SL:230\nF734 AD LDA $0647       PC:F735 A:57 X:FF Y:11 P:27 SP:FB CYC:89 SL:230\nF737 C9 CMP #$14        PC:F738 A:14 X:FF Y:11 P:25 SP:FB CYC:101 SL:230\nF739 F0 BEQ $F73D       PC:F73A A:14 X:FF Y:11 P:27 SP:FB CYC:107 SL:230\nF73D A0 LDY #$FF        PC:F73E A:14 X:FF Y:11 P:27 SP:FB CYC:116 SL:230\nF73F A9 LDA #$37        PC:F740 A:14 X:FF Y:FF P:A5 SP:FB CYC:122 SL:230\nF741 8D STA $0647       PC:F742 A:37 X:FF Y:FF P:25 SP:FB CYC:128 SL:230\nF744 20 JSR $FB0A       PC:F745 A:37 X:FF Y:FF P:25 SP:FB CYC:140 SL:230\nFB0A 24 BIT $01         PC:FB0B A:37 X:FF Y:FF P:25 SP:F9 CYC:158 SL:230\nFB0C 38 SEC             PC:FB0D A:37 X:FF Y:FF P:E5 SP:F9 CYC:167 SL:230\nFB0D A9 LDA #$75        PC:FB0E A:37 X:FF Y:FF P:E5 SP:F9 CYC:173 SL:230\nFB0F 60 RTS             PC:FB10 A:75 X:FF Y:FF P:65 SP:F9 CYC:179 SL:230\nF747 7B RRA $0548,y     PC:F748 A:75 X:FF Y:FF P:65 SP:FB CYC:197 SL:230\nF74A EA NOP             PC:F74B A:11 X:FF Y:FF P:25 SP:FB CYC:218 SL:230\nF74B EA NOP             PC:F74C A:11 X:FF Y:FF P:25 SP:FB CYC:224 SL:230\nF74C 08 PHP             PC:F74D A:11 X:FF Y:FF P:25 SP:FB CYC:230 SL:230\nF74D 48 PHA             PC:F74E A:11 X:FF Y:FF P:25 SP:FA CYC:239 SL:230\nF74E A0 LDY #$12        PC:F74F A:11 X:FF Y:FF P:25 SP:F9 CYC:248 SL:230\nF750 68 PLA             PC:F751 A:11 X:FF Y:12 P:25 SP:F9 CYC:254 SL:230\nF751 28 PLP             PC:F752 A:11 X:FF Y:12 P:25 SP:FA CYC:266 SL:230\nF752 20 JSR $FB10       PC:F753 A:11 X:FF Y:12 P:25 SP:FB CYC:278 SL:230\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:FF Y:12 P:25 SP:F9 CYC:296 SL:230\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:FF Y:12 P:25 SP:F9 CYC:302 SL:230\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:FF Y:12 P:25 SP:F9 CYC:308 SL:230\nFB16 C9 CMP #$11        PC:FB17 A:11 X:FF Y:12 P:25 SP:F9 CYC:314 SL:230\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:FF Y:12 P:27 SP:F9 CYC:320 SL:230\nFB1A 60 RTS             PC:FB1B A:11 X:FF Y:12 P:27 SP:F9 CYC:326 SL:230\nF755 AD LDA $0647       PC:F756 A:11 X:FF Y:12 P:27 SP:FB CYC:3 SL:231\nF758 C9 CMP #$9B        PC:F759 A:9B X:FF Y:12 P:A5 SP:FB CYC:15 SL:231\nF75A F0 BEQ $F75E       PC:F75B A:9B X:FF Y:12 P:27 SP:FB CYC:21 SL:231\nF75E A0 LDY #$13        PC:F75F A:9B X:FF Y:12 P:27 SP:FB CYC:30 SL:231\nF760 A2 LDX #$FF        PC:F761 A:9B X:FF Y:13 P:25 SP:FB CYC:36 SL:231\nF762 A9 LDA #$A5        PC:F763 A:9B X:FF Y:13 P:A5 SP:FB CYC:42 SL:231\nF764 8D STA $0647       PC:F765 A:A5 X:FF Y:13 P:A5 SP:FB CYC:48 SL:231\nF767 20 JSR $FAE9       PC:F768 A:A5 X:FF Y:13 P:A5 SP:FB CYC:60 SL:231\nFAE9 24 BIT $01         PC:FAEA A:A5 X:FF Y:13 P:A5 SP:F9 CYC:78 SL:231\nFAEB 18 CLC             PC:FAEC A:A5 X:FF Y:13 P:E5 SP:F9 CYC:87 SL:231\nFAEC A9 LDA #$B2        PC:FAED A:A5 X:FF Y:13 P:E4 SP:F9 CYC:93 SL:231\nFAEE 60 RTS             PC:FAEF A:B2 X:FF Y:13 P:E4 SP:F9 CYC:99 SL:231\nF76A 7F RRA $0548,x     PC:F76B A:B2 X:FF Y:13 P:E4 SP:FB CYC:117 SL:231\nF76D EA NOP             PC:F76E A:05 X:FF Y:13 P:25 SP:FB CYC:138 SL:231\nF76E EA NOP             PC:F76F A:05 X:FF Y:13 P:25 SP:FB CYC:144 SL:231\nF76F EA NOP             PC:F770 A:05 X:FF Y:13 P:25 SP:FB CYC:150 SL:231\nF770 EA NOP             PC:F771 A:05 X:FF Y:13 P:25 SP:FB CYC:156 SL:231\nF771 20 JSR $FAEF       PC:F772 A:05 X:FF Y:13 P:25 SP:FB CYC:162 SL:231\nFAEF 70 BVS $FB1B       PC:FAF0 A:05 X:FF Y:13 P:25 SP:F9 CYC:180 SL:231\nFAF1 90 BCC $FB1B       PC:FAF2 A:05 X:FF Y:13 P:25 SP:F9 CYC:186 SL:231\nFAF3 30 BMI $FB1B       PC:FAF4 A:05 X:FF Y:13 P:25 SP:F9 CYC:192 SL:231\nFAF5 C9 CMP #$05        PC:FAF6 A:05 X:FF Y:13 P:25 SP:F9 CYC:198 SL:231\nFAF7 D0 BNE $FB1B       PC:FAF8 A:05 X:FF Y:13 P:27 SP:F9 CYC:204 SL:231\nFAF9 60 RTS             PC:FAFA A:05 X:FF Y:13 P:27 SP:F9 CYC:210 SL:231\nF774 AD LDA $0647       PC:F775 A:05 X:FF Y:13 P:27 SP:FB CYC:228 SL:231\nF777 C9 CMP #$52        PC:F778 A:52 X:FF Y:13 P:25 SP:FB CYC:240 SL:231\nF779 F0 BEQ $F77D       PC:F77A A:52 X:FF Y:13 P:27 SP:FB CYC:246 SL:231\nF77D C8 INY             PC:F77E A:52 X:FF Y:13 P:27 SP:FB CYC:255 SL:231\nF77E A9 LDA #$29        PC:F77F A:52 X:FF Y:14 P:25 SP:FB CYC:261 SL:231\nF780 8D STA $0647       PC:F781 A:29 X:FF Y:14 P:25 SP:FB CYC:267 SL:231\nF783 20 JSR $FAFA       PC:F784 A:29 X:FF Y:14 P:25 SP:FB CYC:279 SL:231\nFAFA B8 CLV             PC:FAFB A:29 X:FF Y:14 P:25 SP:F9 CYC:297 SL:231\nFAFB 18 CLC             PC:FAFC A:29 X:FF Y:14 P:25 SP:F9 CYC:303 SL:231\nFAFC A9 LDA #$42        PC:FAFD A:29 X:FF Y:14 P:24 SP:F9 CYC:309 SL:231\nFAFE 60 RTS             PC:FAFF A:42 X:FF Y:14 P:24 SP:F9 CYC:315 SL:231\nF786 7F RRA $0548,x     PC:F787 A:42 X:FF Y:14 P:24 SP:FB CYC:333 SL:231\nF789 EA NOP             PC:F78A A:57 X:FF Y:14 P:24 SP:FB CYC:13 SL:232\nF78A EA NOP             PC:F78B A:57 X:FF Y:14 P:24 SP:FB CYC:19 SL:232\nF78B EA NOP             PC:F78C A:57 X:FF Y:14 P:24 SP:FB CYC:25 SL:232\nF78C EA NOP             PC:F78D A:57 X:FF Y:14 P:24 SP:FB CYC:31 SL:232\nF78D 20 JSR $FAFF       PC:F78E A:57 X:FF Y:14 P:24 SP:FB CYC:37 SL:232\nFAFF 70 BVS $FB1B       PC:FB00 A:57 X:FF Y:14 P:24 SP:F9 CYC:55 SL:232\nFB01 30 BMI $FB1B       PC:FB02 A:57 X:FF Y:14 P:24 SP:F9 CYC:61 SL:232\nFB03 B0 BCS $FB1B       PC:FB04 A:57 X:FF Y:14 P:24 SP:F9 CYC:67 SL:232\nFB05 C9 CMP #$57        PC:FB06 A:57 X:FF Y:14 P:24 SP:F9 CYC:73 SL:232\nFB07 D0 BNE $FB1B       PC:FB08 A:57 X:FF Y:14 P:27 SP:F9 CYC:79 SL:232\nFB09 60 RTS             PC:FB0A A:57 X:FF Y:14 P:27 SP:F9 CYC:85 SL:232\nF790 AD LDA $0647       PC:F791 A:57 X:FF Y:14 P:27 SP:FB CYC:103 SL:232\nF793 C9 CMP #$14        PC:F794 A:14 X:FF Y:14 P:25 SP:FB CYC:115 SL:232\nF795 F0 BEQ $F799       PC:F796 A:14 X:FF Y:14 P:27 SP:FB CYC:121 SL:232\nF799 C8 INY             PC:F79A A:14 X:FF Y:14 P:27 SP:FB CYC:130 SL:232\nF79A A9 LDA #$37        PC:F79B A:14 X:FF Y:15 P:25 SP:FB CYC:136 SL:232\nF79C 8D STA $0647       PC:F79D A:37 X:FF Y:15 P:25 SP:FB CYC:142 SL:232\nF79F 20 JSR $FB0A       PC:F7A0 A:37 X:FF Y:15 P:25 SP:FB CYC:154 SL:232\nFB0A 24 BIT $01         PC:FB0B A:37 X:FF Y:15 P:25 SP:F9 CYC:172 SL:232\nFB0C 38 SEC             PC:FB0D A:37 X:FF Y:15 P:E5 SP:F9 CYC:181 SL:232\nFB0D A9 LDA #$75        PC:FB0E A:37 X:FF Y:15 P:E5 SP:F9 CYC:187 SL:232\nFB0F 60 RTS             PC:FB10 A:75 X:FF Y:15 P:65 SP:F9 CYC:193 SL:232\nF7A2 7F RRA $0548,x     PC:F7A3 A:75 X:FF Y:15 P:65 SP:FB CYC:211 SL:232\nF7A5 EA NOP             PC:F7A6 A:11 X:FF Y:15 P:25 SP:FB CYC:232 SL:232\nF7A6 EA NOP             PC:F7A7 A:11 X:FF Y:15 P:25 SP:FB CYC:238 SL:232\nF7A7 EA NOP             PC:F7A8 A:11 X:FF Y:15 P:25 SP:FB CYC:244 SL:232\nF7A8 EA NOP             PC:F7A9 A:11 X:FF Y:15 P:25 SP:FB CYC:250 SL:232\nF7A9 20 JSR $FB10       PC:F7AA A:11 X:FF Y:15 P:25 SP:FB CYC:256 SL:232\nFB10 70 BVS $FB1B       PC:FB11 A:11 X:FF Y:15 P:25 SP:F9 CYC:274 SL:232\nFB12 30 BMI $FB1B       PC:FB13 A:11 X:FF Y:15 P:25 SP:F9 CYC:280 SL:232\nFB14 90 BCC $FB1B       PC:FB15 A:11 X:FF Y:15 P:25 SP:F9 CYC:286 SL:232\nFB16 C9 CMP #$11        PC:FB17 A:11 X:FF Y:15 P:25 SP:F9 CYC:292 SL:232\nFB18 D0 BNE $FB1B       PC:FB19 A:11 X:FF Y:15 P:27 SP:F9 CYC:298 SL:232\nFB1A 60 RTS             PC:FB1B A:11 X:FF Y:15 P:27 SP:F9 CYC:304 SL:232\nF7AC AD LDA $0647       PC:F7AD A:11 X:FF Y:15 P:27 SP:FB CYC:322 SL:232\nF7AF C9 CMP #$9B        PC:F7B0 A:9B X:FF Y:15 P:A5 SP:FB CYC:334 SL:232\nF7B1 F0 BEQ $F7B5       PC:F7B2 A:9B X:FF Y:15 P:27 SP:FB CYC:340 SL:232\nF7B5 60 RTS             PC:F7B6 A:9B X:FF Y:15 P:27 SP:FB CYC:8 SL:233\nC655 A5 LDA $00         PC:C656 A:9B X:FF Y:15 P:27 SP:FD CYC:26 SL:233\nC657 05 ORA $10         PC:C658 A:00 X:FF Y:15 P:27 SP:FD CYC:35 SL:233\nC659 05 ORA $11         PC:C65A A:00 X:FF Y:15 P:27 SP:FD CYC:44 SL:233\nC65B F0 BEQ $C66B       PC:C65C A:00 X:FF Y:15 P:27 SP:FD CYC:53 SL:233\nC66B 20 JSR $C689       PC:C66C A:00 X:FF Y:15 P:27 SP:FD CYC:62 SL:233\nC689 A9 LDA #$02        PC:C68A A:00 X:FF Y:15 P:27 SP:FB CYC:80 SL:233\nC68B 8D STA $4015       PC:C68C A:02 X:FF Y:15 P:25 SP:FB CYC:86 SL:233\nC68E A9 LDA #$3F        PC:C68F A:02 X:FF Y:15 P:25 SP:FB CYC:98 SL:233\nC690 8D STA $4004       PC:C691 A:3F X:FF Y:15 P:25 SP:FB CYC:104 SL:233\nC693 A9 LDA #$9A        PC:C694 A:3F X:FF Y:15 P:25 SP:FB CYC:116 SL:233\nC695 8D STA $4005       PC:C696 A:9A X:FF Y:15 P:A5 SP:FB CYC:122 SL:233\nC698 A9 LDA #$FF        PC:C699 A:9A X:FF Y:15 P:A5 SP:FB CYC:134 SL:233\nC69A 8D STA $4006       PC:C69B A:FF X:FF Y:15 P:A5 SP:FB CYC:140 SL:233\nC69D A9 LDA #$00        PC:C69E A:FF X:FF Y:15 P:A5 SP:FB CYC:152 SL:233\nC69F 8D STA $4007       PC:C6A0 A:00 X:FF Y:15 P:27 SP:FB CYC:158 SL:233\nC6A2 60 RTS             PC:C6A3 A:00 X:FF Y:15 P:27 SP:FB CYC:170 SL:233\nC66E 60 RTS             PC:C66F A:00 X:FF Y:15 P:27 SP:FD CYC:188 SL:233\n00 00 BRK             PC:01 A:00 X:FF Y:15 P:27 SP:FF CYC:206 SL:233\n**BREAK**C5F4 40 RTI             PC:C5F5 A:00 X:FF Y:15 P:27 SP:FC CYC:227 SL:233\n02 FF ISC $FFFF,x     PC:03 A:00 X:FF Y:15 P:27 SP:FF CYC:245 SL:233\n05 99 STA $FFFF,y     PC:06 A:00 X:FF Y:15 P:27 SP:FF CYC:266 SL:233\n08 F7 ISC $EF,x       PC:09 A:00 X:FF Y:15 P:27 SP:FF CYC:281 SL:233\n0A DF DCP $FFFF,x     PC:0B A:00 X:FF Y:15 P:27 SP:FF CYC:299 SL:233\n0D FF ISC $BFFF,x     PC:0E A:00 X:FF Y:15 P:24 SP:FF CYC:320 SL:233\n10 00 BRK             PC:11 A:3E X:FF Y:15 P:24 SP:FF CYC:0 SL:234\n**BREAK**C5F4 40 RTI             PC:C5F5 A:3E X:FF Y:15 P:24 SP:FC CYC:21 SL:234\n12 FF ISC $00FF,x     PC:13 A:3E X:FF Y:15 P:24 SP:FF CYC:39 SL:234\n15 FF ISC $FFFF,x     PC:16 A:2A X:FF Y:15 P:25 SP:FF CYC:60 SL:234\n18 FF ISC $FFFF,x     PC:19 A:2A X:FF Y:15 P:25 SP:FF CYC:81 SL:234\n1B FF ISC $FFFF,x     PC:1C A:29 X:FF Y:15 P:25 SP:FF CYC:102 SL:234\n1E FF ISC $FFFF,x     PC:1F A:27 X:FF Y:15 P:25 SP:FF CYC:123 SL:234\n21 FF ISC $FFFF,x     PC:22 A:24 X:FF Y:15 P:25 SP:FF CYC:144 SL:234\n24 FF ISC $FFFF,x     PC:25 A:20 X:FF Y:15 P:25 SP:FF CYC:165 SL:234\n27 FF ISC $FFFF,x     PC:28 A:1B X:FF Y:15 P:25 SP:FF CYC:186 SL:234\n2A FF ISC $FFFF,x     PC:2B A:15 X:FF Y:15 P:25 SP:FF CYC:207 SL:234\n2D FF ISC $FFFF,x     PC:2E A:0E X:FF Y:15 P:25 SP:FF CYC:228 SL:234\n30 FF ISC $FFFF,x     PC:31 A:06 X:FF Y:15 P:25 SP:FF CYC:249 SL:234\n33 44 NOP $04         PC:34 A:FD X:FF Y:15 P:A4 SP:FF CYC:270 SL:234\n35 FF ISC $FFFF,x     PC:36 A:FD X:FF Y:15 P:A4 SP:FF CYC:279 SL:234\n38 FF ISC $FFFF,x     PC:39 A:F2 X:FF Y:15 P:A5 SP:FF CYC:300 SL:234\n3B FF ISC $FFFF,x     PC:3C A:E7 X:FF Y:15 P:A5 SP:FF CYC:321 SL:234\n3E FF ISC $FFFF,x     PC:3F A:DB X:FF Y:15 P:A5 SP:FF CYC:1 SL:235\n41 FF ISC $FFFF,x     PC:42 A:CE X:FF Y:15 P:A5 SP:FF CYC:22 SL:235\n44 04 NOP $48         PC:45 A:C0 X:FF Y:15 P:A5 SP:FF CYC:43 SL:235\n46 05 ORA $9B         PC:47 A:C0 X:FF Y:15 P:A5 SP:FF CYC:52 SL:235\n48 06 ASL $00         PC:49 A:FF X:FF Y:15 P:A5 SP:FF CYC:61 SL:235\n4A FF ISC $FFFF,x     PC:4B A:FF X:FF Y:15 P:26 SP:FF CYC:76 SL:235\n4D FF ISC $00FF,x     PC:4E A:EF X:FF Y:15 P:A5 SP:FF CYC:97 SL:235\n50 FF ISC $FFFF,x     PC:51 A:DB X:FF Y:15 P:A5 SP:FF CYC:118 SL:235\n53 FF ISC $00FF,x     PC:54 A:CB X:FF Y:15 P:A5 SP:FF CYC:139 SL:235\n56 66 ROR $FF         PC:57 A:B6 X:FF Y:15 P:A5 SP:FF CYC:160 SL:235\n58 FF ISC $FFFF,x     PC:59 A:B6 X:FF Y:15 P:A4 SP:FF CYC:175 SL:235\n5B FF ISC $FFFF,x     PC:5C A:A4 X:FF Y:15 P:A5 SP:FF CYC:196 SL:235\n5E FF ISC $89FF,x     PC:5F A:92 X:FF Y:15 P:A5 SP:FF CYC:217 SL:235\n61 04 NOP $FF         PC:62 A:C2 X:FF Y:15 P:A4 SP:FF CYC:238 SL:235\n63 FF ISC $FFFF,x     PC:64 A:C2 X:FF Y:15 P:A4 SP:FF CYC:247 SL:235\n66 FF ISC $3287,x     PC:67 A:AE X:FF Y:15 P:A5 SP:FF CYC:268 SL:235\n69 FF ISC $FFFF,x     PC:6A A:AD X:FF Y:15 P:A5 SP:FF CYC:289 SL:235\n6C FF ISC $FFFF,x     PC:6D A:99 X:FF Y:15 P:A5 SP:FF CYC:310 SL:235\n6F FF ISC $FFFF,x     PC:70 A:84 X:FF Y:15 P:A5 SP:FF CYC:331 SL:235\n72 FF ISC $FFFF,x     PC:73 A:6E X:FF Y:15 P:65 SP:FF CYC:11 SL:236\n75 FF ISC $FFFF,x     PC:76 A:57 X:FF Y:15 P:25 SP:FF CYC:32 SL:236\n78 33 RLA ($FF), y    PC:79 A:3F X:FF Y:15 P:25 SP:FF CYC:53 SL:236\n7A FF ISC $FFFF,x     PC:7B A:3F X:FF Y:15 P:25 SP:FF CYC:77 SL:236\n7D FF ISC $69FF,x     PC:7E A:26 X:FF Y:15 P:25 SP:FF CYC:98 SL:236\n80 00 BRK             PC:81 A:25 X:FF Y:15 P:25 SP:FF CYC:119 SL:236\n**BREAK**C5F4 40 RTI             PC:C5F5 A:25 X:FF Y:15 P:25 SP:FC CYC:140 SL:236\n82 00 BRK             PC:83 A:25 X:FF Y:15 P:25 SP:FF CYC:158 SL:236\n**BREAK**C5F4 40 RTI             PC:C5F5 A:25 X:FF Y:15 P:25 SP:FC CYC:179 SL:236\n84 03 SLO $(FFFF,x)   PC:85 A:25 X:FF Y:15 P:25 SP:FF CYC:197 SL:236\n86 FF ISC $FFFF,x     PC:87 A:7D X:FF Y:15 P:24 SP:FF CYC:221 SL:236\n89 BB LAS $FF03,y     PC:8A A:62 X:FF Y:15 P:25 SP:FF CYC:242 SL:236\n8C FF ISC $FFFF,x     PC:8D A:06 X:06 Y:15 P:25 SP:06 CYC:254 SL:236\n8F FF ISC $FFFF,x     PC:90 A:6C X:06 Y:15 P:24 SP:06 CYC:275 SL:236\n92 FF ISC $FFFF,x     PC:93 A:D0 X:06 Y:15 P:E4 SP:06 CYC:296 SL:236\n95 FF ISC $FFFF,x     PC:96 A:33 X:06 Y:15 P:25 SP:06 CYC:317 SL:236\n98 FF ISC $FFFF,x     PC:99 A:96 X:06 Y:15 P:E4 SP:06 CYC:338 SL:236\n9B FF ISC $FFFF,x     PC:9C A:F7 X:06 Y:15 P:A4 SP:06 CYC:18 SL:237\n9E FF ISC $FFFF,x     PC:9F A:57 X:06 Y:15 P:25 SP:06 CYC:39 SL:237\nA1 FF ISC $FFFF,x     PC:A2 A:B7 X:06 Y:15 P:E4 SP:06 CYC:60 SL:237\nA4 FF ISC $FFFF,x     PC:A5 A:15 X:06 Y:15 P:25 SP:06 CYC:81 SL:237\nA7 FF ISC $FFFF,x     PC:A8 A:73 X:06 Y:15 P:24 SP:06 CYC:102 SL:237\nAA FF ISC $FFFF,x     PC:AB A:CF X:06 Y:15 P:E4 SP:06 CYC:123 SL:237\nAD FF ISC $FFFF,x     PC:AE A:2A X:06 Y:15 P:25 SP:06 CYC:144 SL:237\nB0 FF ISC $FFFF,x     PC:B1 A:85 X:06 Y:15 P:E4 SP:06 CYC:165 SL:237\nB3 FF ISC $FFFF,x     PC:B4 A:DE X:06 Y:15 P:A4 SP:06 CYC:186 SL:237\nB6 FF ISC $FFFF,x     PC:B7 A:36 X:06 Y:15 P:25 SP:06 CYC:207 SL:237\nB9 FF ISC $FFFF,x     PC:BA A:8E X:06 Y:15 P:E4 SP:06 CYC:228 SL:237\nBC FF ISC $FFFF,x     PC:BD A:E4 X:06 Y:15 P:A4 SP:06 CYC:249 SL:237\nBF FF ISC $FFFF,x     PC:C0 A:39 X:06 Y:15 P:25 SP:06 CYC:270 SL:237\nC2 FF ISC $FFFF,x     PC:C3 A:8E X:06 Y:15 P:E4 SP:06 CYC:291 SL:237\nC5 FF ISC $FFFF,x     PC:C6 A:E1 X:06 Y:15 P:A4 SP:06 CYC:312 SL:237\nC8 FF ISC $FFFF,x     PC:C9 A:33 X:06 Y:15 P:25 SP:06 CYC:333 SL:237\nCB FF ISC $FFFF,x     PC:CC A:85 X:06 Y:15 P:E4 SP:06 CYC:13 SL:238\nCE FF ISC $FFFF,x     PC:CF A:D5 X:06 Y:15 P:A4 SP:06 CYC:34 SL:238\nD1 FF ISC $FFFF,x     PC:D2 A:24 X:06 Y:15 P:25 SP:06 CYC:55 SL:238\nD4 FF ISC $FFFF,x     PC:D5 A:73 X:06 Y:15 P:24 SP:06 CYC:76 SL:238\nD7 FF ISC $FFFF,x     PC:D8 A:C0 X:06 Y:15 P:E4 SP:06 CYC:97 SL:238\nDA FF ISC $FFFF,x     PC:DB A:0C X:06 Y:15 P:25 SP:06 CYC:118 SL:238\nDD FF ISC $FFFF,x     PC:DE A:58 X:06 Y:15 P:24 SP:06 CYC:139 SL:238\nE0 FF ISC $FFFF,x     PC:E1 A:A2 X:06 Y:15 P:E4 SP:06 CYC:160 SL:238\nE3 FF ISC $FFFF,x     PC:E4 A:EB X:06 Y:15 P:A4 SP:06 CYC:181 SL:238\nE6 FF ISC $FFFF,x     PC:E7 A:33 X:06 Y:15 P:25 SP:06 CYC:202 SL:238\nE9 FF ISC $FFFF,x     PC:EA A:7B X:06 Y:15 P:24 SP:06 CYC:223 SL:238\nEC FF ISC $00FF,x     PC:ED A:C1 X:06 Y:15 P:E4 SP:06 CYC:244 SL:238\nEF FF ISC $FFFF,x     PC:F0 A:C0 X:06 Y:15 P:A5 SP:06 CYC:265 SL:238\nF2 FF ISC $FFFF,x     PC:F3 A:06 X:06 Y:15 P:25 SP:06 CYC:286 SL:238\nF5 FF ISC $FFFF,x     PC:F6 A:4B X:06 Y:15 P:24 SP:06 CYC:307 SL:238\nF8 FF ISC $FFFF,x     PC:F9 A:8E X:06 Y:15 P:E4 SP:06 CYC:328 SL:238\nFB FF ISC $FFFF,x     PC:FC A:D0 X:06 Y:15 P:A4 SP:06 CYC:8 SL:239\nFE 1A NOP             PC:FF A:11 X:06 Y:15 P:25 SP:06 CYC:29 SL:239\nFF A3 LAX $(55A9,x)   PC:0100 A:11 X:06 Y:15 P:25 SP:06 CYC:35 SL:239\n0101 55 EOR $60,x       PC:0102 A:C5 X:C5 Y:15 P:A5 SP:06 CYC:53 SL:239\n0103 FF ISC $00FF,x     PC:0104 A:3A X:C5 Y:15 P:25 SP:06 CYC:65 SL:239\n0106 FF ISC $FFFF,x     PC:0107 A:3A X:C5 Y:15 P:25 SP:06 CYC:86 SL:239\n0109 FF ISC $FFFF,x     PC:010A A:3A X:C5 Y:15 P:25 SP:06 CYC:107 SL:239\n010C FF ISC $FFFF,x     PC:010D A:39 X:C5 Y:15 P:25 SP:06 CYC:128 SL:239\n010F FF ISC $FFFF,x     PC:0110 A:37 X:C5 Y:15 P:25 SP:06 CYC:149 SL:239\n0112 FF ISC $FFFF,x     PC:0113 A:34 X:C5 Y:15 P:25 SP:06 CYC:170 SL:239\n0115 FF ISC $FFFF,x     PC:0116 A:30 X:C5 Y:15 P:25 SP:06 CYC:191 SL:239\n0118 FF ISC $FFFF,x     PC:0119 A:2B X:C5 Y:15 P:25 SP:06 CYC:212 SL:239\n011B FF ISC $FFFF,x     PC:011C A:25 X:C5 Y:15 P:25 SP:06 CYC:233 SL:239\n011E FF ISC $FFFF,x     PC:011F A:1E X:C5 Y:15 P:25 SP:06 CYC:254 SL:239\n0121 FF ISC $FFFF,x     PC:0122 A:16 X:C5 Y:15 P:25 SP:06 CYC:275 SL:239\n0124 FF ISC $FFFF,x     PC:0125 A:0D X:C5 Y:15 P:25 SP:06 CYC:296 SL:239\n0127 FF ISC $FFFF,x     PC:0128 A:03 X:C5 Y:15 P:25 SP:06 CYC:317 SL:239\n012A FF ISC $FFFF,x     PC:012B A:F8 X:C5 Y:15 P:A4 SP:06 CYC:338 SL:239\n012D FF ISC $FFFF,x     PC:012E A:EB X:C5 Y:15 P:A5 SP:06 CYC:18 SL:240\n0130 FF ISC $FFFF,x     PC:0131 A:DE X:C5 Y:15 P:A5 SP:06 CYC:39 SL:240\n0133 FF ISC $FFFF,x     PC:0134 A:D0 X:C5 Y:15 P:A5 SP:06 CYC:60 SL:240\n0136 FF ISC $FFFF,x     PC:0137 A:C1 X:C5 Y:15 P:A5 SP:06 CYC:81 SL:240\n0139 FF ISC $FFFF,x     PC:013A A:B1 X:C5 Y:15 P:A5 SP:06 CYC:102 SL:240\n013C FF ISC $FFFF,x     PC:013D A:A0 X:C5 Y:15 P:A5 SP:06 CYC:123 SL:240\n013F FF ISC $FFFF,x     PC:0140 A:8E X:C5 Y:15 P:A5 SP:06 CYC:144 SL:240\n0142 FF ISC $FFFF,x     PC:0143 A:7B X:C5 Y:15 P:65 SP:06 CYC:165 SL:240\n0145 FF ISC $FFFF,x     PC:0146 A:67 X:C5 Y:15 P:25 SP:06 CYC:186 SL:240\n0148 FF ISC $FFFF,x     PC:0149 A:52 X:C5 Y:15 P:25 SP:06 CYC:207 SL:240\n014B FF ISC $FFFF,x     PC:014C A:3C X:C5 Y:15 P:25 SP:06 CYC:228 SL:240\n014E FF ISC $FFFF,x     PC:014F A:25 X:C5 Y:15 P:25 SP:06 CYC:249 SL:240\n0151 FF ISC $FFFF,x     PC:0152 A:0D X:C5 Y:15 P:25 SP:06 CYC:270 SL:240\n0154 FF ISC $FFFF,x     PC:0155 A:F4 X:C5 Y:15 P:A4 SP:06 CYC:291 SL:240\n0157 FF ISC $FFFF,x     PC:0158 A:D9 X:C5 Y:15 P:A5 SP:06 CYC:312 SL:240\n015A FF ISC $FFFF,x     PC:015B A:BE X:C5 Y:15 P:A5 SP:06 CYC:333 SL:240\n015D FF ISC $FFFF,x     PC:015E A:A2 X:C5 Y:15 P:A5 SP:06 CYC:13 SL:241\n0160 FF ISC $FFFF,x     PC:0161 A:85 X:C5 Y:15 P:A5 SP:06 CYC:34 SL:241\n0163 FF ISC $FFFF,x     PC:0164 A:67 X:C5 Y:15 P:65 SP:06 CYC:55 SL:241\n0166 FF ISC $FFFF,x     PC:0167 A:48 X:C5 Y:15 P:25 SP:06 CYC:76 SL:241\n0169 FF ISC $FFFF,x     PC:016A A:28 X:C5 Y:15 P:25 SP:06 CYC:97 SL:241\n016C FF ISC $FFFF,x     PC:016D A:07 X:C5 Y:15 P:25 SP:06 CYC:118 SL:241\n016F FF ISC $FFFF,x     PC:0170 A:E5 X:C5 Y:15 P:A4 SP:06 CYC:139 SL:241\n0172 FF ISC $FFFF,x     PC:0173 A:C1 X:C5 Y:15 P:A5 SP:06 CYC:160 SL:241\n0175 FF ISC $FFFF,x     PC:0176 A:9D X:C5 Y:15 P:A5 SP:06 CYC:181 SL:241\n0178 FF ISC $FFFF,x     PC:0179 A:78 X:C5 Y:15 P:65 SP:06 CYC:202 SL:241\n017B FF ISC $FFFF,x     PC:017C A:52 X:C5 Y:15 P:25 SP:06 CYC:223 SL:241\n017E 87 SAX $CE         PC:017F A:2B X:C5 Y:15 P:25 SP:06 CYC:244 SL:241\n0180 CE DEC $FFFF       PC:0181 A:2B X:C5 Y:15 P:25 SP:06 CYC:253 SL:241\n0183 FF ISC $FFFF,x     PC:0184 A:2B X:C5 Y:15 P:A5 SP:06 CYC:271 SL:241\n0186 FF ISC $FFFF,x     PC:0187 A:03 X:C5 Y:15 P:25 SP:06 CYC:292 SL:241\n0189 FF ISC $FFFF,x     PC:018A A:DA X:C5 Y:15 P:A4 SP:06 CYC:313 SL:241\n018C FF ISC $FFFF,x     PC:018D A:AF X:C5 Y:15 P:A5 SP:06 CYC:334 SL:241\n018F FF ISC $FFFF,x     PC:0190 A:84 X:C5 Y:15 P:A5 SP:06 CYC:14 SL:242\n0192 FF ISC $FFFF,x     PC:0193 A:58 X:C5 Y:15 P:65 SP:06 CYC:35 SL:242\n0195 FF ISC $FFFF,x     PC:0196 A:2B X:C5 Y:15 P:25 SP:06 CYC:56 SL:242\n0198 FF ISC $FFFF,x     PC:0199 A:FD X:C5 Y:15 P:A4 SP:06 CYC:77 SL:242\n019B FF ISC $FFFF,x     PC:019C A:CD X:C5 Y:15 P:A5 SP:06 CYC:98 SL:242\n019E FF ISC $FFFF,x     PC:019F A:9D X:C5 Y:15 P:A5 SP:06 CYC:119 SL:242\n01A1 FF ISC $FFFF,x     PC:01A2 A:6C X:C5 Y:15 P:65 SP:06 CYC:140 SL:242\n01A4 FF ISC $FFFF,x     PC:01A5 A:3A X:C5 Y:15 P:25 SP:06 CYC:161 SL:242\n01A7 FF ISC $FFFF,x     PC:01A8 A:07 X:C5 Y:15 P:25 SP:06 CYC:182 SL:242\n01AA FF ISC $FFFF,x     PC:01AB A:D3 X:C5 Y:15 P:A4 SP:06 CYC:203 SL:242\n01AD FF ISC $FFFF,x     PC:01AE A:9D X:C5 Y:15 P:A5 SP:06 CYC:224 SL:242\n01B0 FF ISC $FFFF,x     PC:01B1 A:67 X:C5 Y:15 P:65 SP:06 CYC:245 SL:242\n01B3 FF ISC $FFFF,x     PC:01B4 A:30 X:C5 Y:15 P:25 SP:06 CYC:266 SL:242\n01B6 FF ISC $FFFF,x     PC:01B7 A:F8 X:C5 Y:15 P:A4 SP:06 CYC:287 SL:242\n01B9 FF ISC $FFFF,x     PC:01BA A:BE X:C5 Y:15 P:A5 SP:06 CYC:308 SL:242\n01BC FF ISC $FFFF,x     PC:01BD A:84 X:C5 Y:15 P:A5 SP:06 CYC:329 SL:242\n01BF FF ISC $FFFF,x     PC:01C0 A:49 X:C5 Y:15 P:65 SP:06 CYC:9 SL:243\n01C2 FF ISC $00FF,x     PC:01C3 A:0D X:C5 Y:15 P:25 SP:06 CYC:30 SL:243\n01C5 FF ISC $FFFF,x     PC:01C6 A:0C X:C5 Y:15 P:25 SP:06 CYC:51 SL:243\n01C8 FF ISC $FFFF,x     PC:01C9 A:CF X:C5 Y:15 P:A4 SP:06 CYC:72 SL:243\n01CB FF ISC $FFFF,x     PC:01CC A:90 X:C5 Y:15 P:A5 SP:06 CYC:93 SL:243\n01CE FF ISC $FFFF,x     PC:01CF A:51 X:C5 Y:15 P:65 SP:06 CYC:114 SL:243\n01D1 FF ISC $FFFF,x     PC:01D2 A:11 X:C5 Y:15 P:25 SP:06 CYC:135 SL:243\n01D4 FF ISC $FFFF,x     PC:01D5 A:D0 X:C5 Y:15 P:A4 SP:06 CYC:156 SL:243\n01D7 FF ISC $FFFF,x     PC:01D8 A:8D X:C5 Y:15 P:A5 SP:06 CYC:177 SL:243\n01DA FF ISC $FFFF,x     PC:01DB A:4A X:C5 Y:15 P:65 SP:06 CYC:198 SL:243\n01DD FF ISC $FFFF,x     PC:01DE A:06 X:C5 Y:15 P:25 SP:06 CYC:219 SL:243\n01E0 FF ISC $FFFF,x     PC:01E1 A:C1 X:C5 Y:15 P:A4 SP:06 CYC:240 SL:243\n01E3 FF ISC $FFFF,x     PC:01E4 A:7A X:C5 Y:15 P:65 SP:06 CYC:261 SL:243\n01E6 FF ISC $FFFF,x     PC:01E7 A:33 X:C5 Y:15 P:25 SP:06 CYC:282 SL:243\n01E9 FF ISC $FFFF,x     PC:01EA A:EB X:C5 Y:15 P:A4 SP:06 CYC:303 SL:243\n01EC FF ISC $FFFF,x     PC:01ED A:A1 X:C5 Y:15 P:A5 SP:06 CYC:324 SL:243\n01EF FF ISC $3455,x     PC:01F0 A:57 X:C5 Y:15 P:65 SP:06 CYC:4 SL:244\n01F2 55 EOR $34,x       PC:01F3 A:55 X:C5 Y:15 P:25 SP:06 CYC:25 SL:244\n01F4 55 EOR $34,x       PC:01F5 A:AA X:C5 Y:15 P:A5 SP:06 CYC:37 SL:244\n01F6 55 EOR $34,x       PC:01F7 A:55 X:C5 Y:15 P:25 SP:06 CYC:49 SL:244\n01F8 55 EOR $34,x       PC:01F9 A:AA X:C5 Y:15 P:A5 SP:06 CYC:61 SL:244\n01FA AB LAX #$F7        PC:01FB A:55 X:C5 Y:15 P:25 SP:06 CYC:73 SL:244\n01FC 6D ADC $8435       PC:01FD A:F7 X:F7 Y:15 P:A5 SP:06 CYC:79 SL:244\n01FF 00 BRK             PC:0200 A:39 X:F7 Y:15 P:25 SP:06 CYC:91 SL:244\n**BREAK**C5F4 40 RTI             PC:C5F5 A:39 X:F7 Y:15 P:25 SP:03 CYC:112 SL:244\n0201 DB DCP $FFFF,y     PC:0202 A:39 X:F7 Y:15 P:25 SP:06 CYC:130 SL:244\n0204 FF ISC $FFFF,x     PC:0205 A:39 X:F7 Y:15 P:24 SP:06 CYC:151 SL:244\n0207 FF ISC $FFFF,x     PC:0208 A:38 X:F7 Y:15 P:25 SP:06 CYC:172 SL:244\n020A FF ISC $FFFF,x     PC:020B A:37 X:F7 Y:15 P:25 SP:06 CYC:193 SL:244\n020D FF ISC $FFFF,x     PC:020E A:35 X:F7 Y:15 P:25 SP:06 CYC:214 SL:244\n0210 FF ISC $FFFF,x     PC:0211 A:32 X:F7 Y:15 P:25 SP:06 CYC:235 SL:244\n0213 FF ISC $FFFF,x     PC:0214 A:2E X:F7 Y:15 P:25 SP:06 CYC:256 SL:244\n0216 FF ISC $FFFF,x     PC:0217 A:29 X:F7 Y:15 P:25 SP:06 CYC:277 SL:244\n0219 FF ISC $FFFF,x     PC:021A A:23 X:F7 Y:15 P:25 SP:06 CYC:298 SL:244\n021C FF ISC $FFFF,x     PC:021D A:1C X:F7 Y:15 P:25 SP:06 CYC:319 SL:244\n021F FF ISC $FFFF,x     PC:0220 A:14 X:F7 Y:15 P:25 SP:06 CYC:340 SL:244\n0222 FF ISC $FFFF,x     PC:0223 A:0B X:F7 Y:15 P:25 SP:06 CYC:20 SL:245\n0225 FF ISC $FFFF,x     PC:0226 A:01 X:F7 Y:15 P:25 SP:06 CYC:41 SL:245\n0228 FF ISC $FFFF,x     PC:0229 A:F6 X:F7 Y:15 P:A4 SP:06 CYC:62 SL:245\n022B FF ISC $FFFF,x     PC:022C A:E9 X:F7 Y:15 P:A5 SP:06 CYC:83 SL:245\n022E FF ISC $FFFF,x     PC:022F A:DC X:F7 Y:15 P:A5 SP:06 CYC:104 SL:245\n0231 FF ISC $FFFF,x     PC:0232 A:CE X:F7 Y:15 P:A5 SP:06 CYC:125 SL:245\n0234 FF ISC $FFFF,x     PC:0235 A:BF X:F7 Y:15 P:A5 SP:06 CYC:146 SL:245\n0237 FF ISC $FFFF,x     PC:0238 A:AF X:F7 Y:15 P:A5 SP:06 CYC:167 SL:245\n023A FF ISC $FFFF,x     PC:023B A:9E X:F7 Y:15 P:A5 SP:06 CYC:188 SL:245\n023D FF ISC $FFFF,x     PC:023E A:8C X:F7 Y:15 P:A5 SP:06 CYC:209 SL:245\n0240 FF ISC $FFFF,x     PC:0241 A:79 X:F7 Y:15 P:65 SP:06 CYC:230 SL:245\n0243 FF ISC $12FF,x     PC:0244 A:65 X:F7 Y:15 P:25 SP:06 CYC:251 SL:245\n0246 FF ISC $FFFF,x     PC:0247 A:65 X:F7 Y:15 P:25 SP:06 CYC:272 SL:245\n0249 FF ISC $FFFF,x     PC:024A A:50 X:F7 Y:15 P:25 SP:06 CYC:293 SL:245\n024C FF ISC $FFFF,x     PC:024D A:3A X:F7 Y:15 P:25 SP:06 CYC:314 SL:245\n024F FF ISC $FFFF,x     PC:0250 A:23 X:F7 Y:15 P:25 SP:06 CYC:335 SL:245\n0252 FF ISC $FFFF,x     PC:0253 A:0B X:F7 Y:15 P:25 SP:06 CYC:15 SL:246\n0255 FF ISC $FFFF,x     PC:0256 A:F2 X:F7 Y:15 P:A4 SP:06 CYC:36 SL:246\n0258 FF ISC $FFFF,x     PC:0259 A:D7 X:F7 Y:15 P:A5 SP:06 CYC:57 SL:246\n025B FF ISC $FFFF,x     PC:025C A:BC X:F7 Y:15 P:A5 SP:06 CYC:78 SL:246\n025E FF ISC $FFFF,x     PC:025F A:A0 X:F7 Y:15 P:A5 SP:06 CYC:99 SL:246\n0261 FF ISC $FFFF,x     PC:0262 A:83 X:F7 Y:15 P:A5 SP:06 CYC:120 SL:246\n0264 FF ISC $FFFF,x     PC:0265 A:65 X:F7 Y:15 P:65 SP:06 CYC:141 SL:246\n0267 FF ISC $FFFF,x     PC:0268 A:46 X:F7 Y:15 P:25 SP:06 CYC:162 SL:246\n026A FF ISC $FFFF,x     PC:026B A:26 X:F7 Y:15 P:25 SP:06 CYC:183 SL:246\n026D FF ISC $FFFF,x     PC:026E A:05 X:F7 Y:15 P:25 SP:06 CYC:204 SL:246\n0270 FF ISC $FFFF,x     PC:0271 A:E3 X:F7 Y:15 P:A4 SP:06 CYC:225 SL:246\n0273 FF ISC $FFFF,x     PC:0274 A:BF X:F7 Y:15 P:A5 SP:06 CYC:246 SL:246\n0276 FF ISC $FFFF,x     PC:0277 A:9B X:F7 Y:15 P:A5 SP:06 CYC:267 SL:246\n0279 FF ISC $FFFF,x     PC:027A A:76 X:F7 Y:15 P:65 SP:06 CYC:288 SL:246\n027C FF ISC $FFFF,x     PC:027D A:50 X:F7 Y:15 P:25 SP:06 CYC:309 SL:246\n027F FF ISC $FFFF,x     PC:0280 A:29 X:F7 Y:15 P:25 SP:06 CYC:330 SL:246\n0282 FF ISC $FFFF,x     PC:0283 A:01 X:F7 Y:15 P:25 SP:06 CYC:10 SL:247\n0285 FF ISC $FFFF,x     PC:0286 A:D8 X:F7 Y:15 P:A4 SP:06 CYC:31 SL:247\n0288 FF ISC $FFFF,x     PC:0289 A:AD X:F7 Y:15 P:A5 SP:06 CYC:52 SL:247\n028B FF ISC $FFFF,x     PC:028C A:82 X:F7 Y:15 P:A5 SP:06 CYC:73 SL:247\n028E FF ISC $FFFF,x     PC:028F A:56 X:F7 Y:15 P:65 SP:06 CYC:94 SL:247\n0291 FF ISC $FFFF,x     PC:0292 A:29 X:F7 Y:15 P:25 SP:06 CYC:115 SL:247\n0294 FF ISC $FFFF,x     PC:0295 A:FB X:F7 Y:15 P:A4 SP:06 CYC:136 SL:247\n0297 FF ISC $FFFF,x     PC:0298 A:CB X:F7 Y:15 P:A5 SP:06 CYC:157 SL:247\n029A FF ISC $FFFF,x     PC:029B A:9B X:F7 Y:15 P:A5 SP:06 CYC:178 SL:247\n029D FF ISC $FFFF,x     PC:029E A:6A X:F7 Y:15 P:65 SP:06 CYC:199 SL:247\n02A0 FF ISC $FFFF,x     PC:02A1 A:38 X:F7 Y:15 P:25 SP:06 CYC:220 SL:247\n02A3 FF ISC $FFFF,x     PC:02A4 A:05 X:F7 Y:15 P:25 SP:06 CYC:241 SL:247\n02A6 FF ISC $FFFF,x     PC:02A7 A:D1 X:F7 Y:15 P:A4 SP:06 CYC:262 SL:247\n02A9 FF ISC $FFFF,x     PC:02AA A:9B X:F7 Y:15 P:A5 SP:06 CYC:283 SL:247\n02AC FF ISC $FFFF,x     PC:02AD A:65 X:F7 Y:15 P:65 SP:06 CYC:304 SL:247\n02AF FF ISC $FFFF,x     PC:02B0 A:2E X:F7 Y:15 P:25 SP:06 CYC:325 SL:247\n02B2 FF ISC $FFFF,x     PC:02B3 A:F6 X:F7 Y:15 P:A4 SP:06 CYC:5 SL:248\n02B5 FF ISC $FFFF,x     PC:02B6 A:BC X:F7 Y:15 P:A5 SP:06 CYC:26 SL:248\n02B8 FF ISC $FFFF,x     PC:02B9 A:82 X:F7 Y:15 P:A5 SP:06 CYC:47 SL:248\n02BB FF ISC $FFFF,x     PC:02BC A:47 X:F7 Y:15 P:65 SP:06 CYC:68 SL:248\n02BE FF ISC $FFFF,x     PC:02BF A:0B X:F7 Y:15 P:25 SP:06 CYC:89 SL:248\n02C1 FF ISC $FFFF,x     PC:02C2 A:CE X:F7 Y:15 P:A4 SP:06 CYC:110 SL:248\n02C4 FF ISC $FFFF,x     PC:02C5 A:8F X:F7 Y:15 P:A5 SP:06 CYC:131 SL:248\n02C7 FF ISC $FFFF,x     PC:02C8 A:50 X:F7 Y:15 P:65 SP:06 CYC:152 SL:248\n02CA FF ISC $FFFF,x     PC:02CB A:10 X:F7 Y:15 P:25 SP:06 CYC:173 SL:248\n02CD FF ISC $FFFF,x     PC:02CE A:CF X:F7 Y:15 P:A4 SP:06 CYC:194 SL:248\n02D0 FF ISC $FFFF,x     PC:02D1 A:8C X:F7 Y:15 P:A5 SP:06 CYC:215 SL:248\n02D3 FF ISC $FFFF,x     PC:02D4 A:49 X:F7 Y:15 P:65 SP:06 CYC:236 SL:248\n02D6 FF ISC $FFFF,x     PC:02D7 A:05 X:F7 Y:15 P:25 SP:06 CYC:257 SL:248\n02D9 FF ISC $FFFF,x     PC:02DA A:C0 X:F7 Y:15 P:A4 SP:06 CYC:278 SL:248\n02DC FF ISC $FFFF,x     PC:02DD A:79 X:F7 Y:15 P:65 SP:06 CYC:299 SL:248\n02DF FF ISC $FFFF,x     PC:02E0 A:32 X:F7 Y:15 P:25 SP:06 CYC:320 SL:248\n02E2 FF ISC $FFFF,x     PC:02E3 A:EA X:F7 Y:15 P:A4 SP:06 CYC:0 SL:249\n02E5 FF ISC $FFFF,x     PC:02E6 A:A0 X:F7 Y:15 P:A5 SP:06 CYC:21 SL:249\n02E8 FF ISC $FFFF,x     PC:02E9 A:56 X:F7 Y:15 P:65 SP:06 CYC:42 SL:249\n02EB FF ISC $FFFF,x     PC:02EC A:0B X:F7 Y:15 P:25 SP:06 CYC:63 SL:249\n02EE FF ISC $FFFF,x     PC:02EF A:BF X:F7 Y:15 P:A4 SP:06 CYC:84 SL:249\n02F1 FF ISC $FFFF,x     PC:02F2 A:71 X:F7 Y:15 P:65 SP:06 CYC:105 SL:249\n02F4 FF ISC $FFFF,x     PC:02F5 A:23 X:F7 Y:15 P:25 SP:06 CYC:126 SL:249\n02F7 FF ISC $FFFF,x     PC:02F8 A:D4 X:F7 Y:15 P:A4 SP:06 CYC:147 SL:249\n02FA FF ISC $FFFF,x     PC:02FB A:83 X:F7 Y:15 P:A5 SP:06 CYC:168 SL:249\n02FD FF ISC $00FF,x     PC:02FE A:32 X:F7 Y:15 P:65 SP:06 CYC:189 SL:249\n0300 89 NOP #$AA        PC:0301 A:DC X:F7 Y:15 P:A4 SP:06 CYC:210 SL:249\n0302 60 RTS             PC:0303 A:DC X:F7 Y:15 P:A4 SP:06 CYC:216 SL:249\n00 00 BRK             PC:01 A:DC X:F7 Y:15 P:A4 SP:08 CYC:234 SL:249\n**BREAK**C5F4 40 RTI             PC:C5F5 A:DC X:F7 Y:15 P:A4 SP:05 CYC:255 SL:249\n02 FF ISC $FFFF,x     PC:03 A:DC X:F7 Y:15 P:A4 SP:08 CYC:273 SL:249\n05 BE LDX $FFFF,y     PC:06 A:89 X:F7 Y:15 P:A5 SP:08 CYC:294 SL:249\n08 F7 ISC $EF,x       PC:09 A:89 X:FF Y:15 P:A5 SP:08 CYC:309 SL:249\n0A DF DCP $FFFF,x     PC:0B A:88 X:FF Y:15 P:A5 SP:08 CYC:327 SL:249\n0D FF ISC $BFFF,x     PC:0E A:88 X:FF Y:15 P:25 SP:08 CYC:7 SL:250\n10 00 BRK             PC:11 A:C7 X:FF Y:15 P:A4 SP:08 CYC:28 SL:250\n**BREAK**C5F4 40 RTI             PC:C5F5 A:C7 X:FF Y:15 P:A4 SP:05 CYC:49 SL:250\n12 FF ISC $FFFF,x     PC:13 A:C7 X:FF Y:15 P:A4 SP:08 CYC:67 SL:250\n15 FF ISC $FFFF,x     PC:16 A:AC X:FF Y:15 P:A5 SP:08 CYC:88 SL:250\n18 FF ISC $FFFF,x     PC:19 A:91 X:FF Y:15 P:A5 SP:08 CYC:109 SL:250\n1B FF ISC $FFFF,x     PC:1C A:75 X:FF Y:15 P:65 SP:08 CYC:130 SL:250\n1E FF ISC $FFFF,x     PC:1F A:58 X:FF Y:15 P:25 SP:08 CYC:151 SL:250\n21 FF ISC $FFFF,x     PC:22 A:3A X:FF Y:15 P:25 SP:08 CYC:172 SL:250\n24 FF ISC $FFFF,x     PC:25 A:1B X:FF Y:15 P:25 SP:08 CYC:193 SL:250\n27 FF ISC $FFFF,x     PC:28 A:FB X:FF Y:15 P:A4 SP:08 CYC:214 SL:250\n2A FF ISC $FFFF,x     PC:2B A:D9 X:FF Y:15 P:A5 SP:08 CYC:235 SL:250\n2D FF ISC $FFFF,x     PC:2E A:B7 X:FF Y:15 P:A5 SP:08 CYC:256 SL:250\n30 FF ISC $FFFF,x     PC:31 A:94 X:FF Y:15 P:A5 SP:08 CYC:277 SL:250\n33 44 NOP $04         PC:34 A:70 X:FF Y:15 P:65 SP:08 CYC:298 SL:250\n35 FF ISC $FFFF,x     PC:36 A:70 X:FF Y:15 P:65 SP:08 CYC:307 SL:250\n38 FF ISC $FFFF,x     PC:39 A:4B X:FF Y:15 P:25 SP:08 CYC:328 SL:250\n3B FF ISC $FFFF,x     PC:3C A:25 X:FF Y:15 P:25 SP:08 CYC:8 SL:251\n3E FF ISC $FFFF,x     PC:3F A:FE X:FF Y:15 P:A4 SP:08 CYC:29 SL:251\n41 FF ISC $FFFF,x     PC:42 A:D5 X:FF Y:15 P:A5 SP:08 CYC:50 SL:251\n44 04 NOP $48         PC:45 A:AC X:FF Y:15 P:A5 SP:08 CYC:71 SL:251\n46 05 ORA $9B         PC:47 A:AC X:FF Y:15 P:A5 SP:08 CYC:80 SL:251\n48 06 ASL $00         PC:49 A:FF X:FF Y:15 P:A5 SP:08 CYC:89 SL:251\n4A FF ISC $FFFF,x     PC:4B A:FF X:FF Y:15 P:26 SP:08 CYC:104 SL:251\n4D FF ISC $00FF,x     PC:4E A:D4 X:FF Y:15 P:A5 SP:08 CYC:125 SL:251\n50 FF ISC $FFFF,x     PC:51 A:4F X:FF Y:15 P:25 SP:08 CYC:146 SL:251\n53 FF ISC $00FF,x     PC:54 A:24 X:FF Y:15 P:25 SP:08 CYC:167 SL:251\n56 66 ROR $FF         PC:57 A:9E X:FF Y:15 P:E4 SP:08 CYC:188 SL:251\n58 FF ISC $FFFF,x     PC:59 A:9E X:FF Y:15 P:65 SP:08 CYC:203 SL:251\n5B FF ISC $FFFF,x     PC:5C A:72 X:FF Y:15 P:65 SP:08 CYC:224 SL:251\n5E FF ISC $89FF,x     PC:5F A:45 X:FF Y:15 P:25 SP:08 CYC:245 SL:251\n61 04 NOP $FF         PC:62 A:75 X:FF Y:15 P:24 SP:08 CYC:266 SL:251\n63 FF ISC $FFFF,x     PC:64 A:75 X:FF Y:15 P:24 SP:08 CYC:275 SL:251\n66 FF ISC $3287,x     PC:67 A:46 X:FF Y:15 P:25 SP:08 CYC:296 SL:251\n69 FF ISC $FFFF,x     PC:6A A:43 X:FF Y:15 P:25 SP:08 CYC:317 SL:251\n6C FF ISC $FFFF,x     PC:6D A:14 X:FF Y:15 P:25 SP:08 CYC:338 SL:251\n6F FF ISC $FFFF,x     PC:70 A:E4 X:FF Y:15 P:A4 SP:08 CYC:18 SL:252\n72 FF ISC $FFFF,x     PC:73 A:B2 X:FF Y:15 P:A5 SP:08 CYC:39 SL:252\n75 FF ISC $FFFF,x     PC:76 A:80 X:FF Y:15 P:A5 SP:08 CYC:60 SL:252\n78 33 RLA ($FF), y    PC:79 A:4D X:FF Y:15 P:65 SP:08 CYC:81 SL:252\n7A FF ISC $FFFF,x     PC:7B A:4D X:FF Y:15 P:65 SP:08 CYC:105 SL:252\n7D FF ISC $69FF,x     PC:7E A:19 X:FF Y:15 P:25 SP:08 CYC:126 SL:252\n80 00 BRK             PC:81 A:17 X:FF Y:15 P:25 SP:08 CYC:147 SL:252\n**BREAK**C5F4 40 RTI             PC:C5F5 A:17 X:FF Y:15 P:25 SP:05 CYC:168 SL:252\n82 00 BRK             PC:83 A:17 X:FF Y:15 P:25 SP:08 CYC:186 SL:252\n**BREAK**C5F4 40 RTI             PC:C5F5 A:17 X:FF Y:15 P:25 SP:05 CYC:207 SL:252\n84 03 SLO $(FFFF,x)   PC:85 A:17 X:FF Y:15 P:25 SP:08 CYC:225 SL:252\n86 FF ISC $FFFF,x     PC:87 A:57 X:FF Y:15 P:24 SP:08 CYC:249 SL:252\n89 BB LAS $FF03,y     PC:8A A:21 X:FF Y:15 P:25 SP:08 CYC:270 SL:252\n8C FF ISC $FFFF,x     PC:8D A:00 X:00 Y:15 P:27 SP:00 CYC:282 SL:252\n8F FF ISC $FFFF,x     PC:90 A:3B X:00 Y:15 P:24 SP:00 CYC:303 SL:252\n92 FF ISC $FFFF,x     PC:93 A:75 X:00 Y:15 P:24 SP:00 CYC:324 SL:252\n95 FF ISC $FFFF,x     PC:96 A:AF X:00 Y:15 P:E4 SP:00 CYC:4 SL:253\n98 FF ISC $FFFF,x     PC:99 A:E9 X:00 Y:15 P:A4 SP:00 CYC:25 SL:253\n9B FF ISC $FFFF,x     PC:9C A:23 X:00 Y:15 P:25 SP:00 CYC:46 SL:253\n9E FF ISC $FFFF,x     PC:9F A:5E X:00 Y:15 P:24 SP:00 CYC:67 SL:253\nA1 FF ISC $FFFF,x     PC:A2 A:98 X:00 Y:15 P:E4 SP:00 CYC:88 SL:253\nA4 FF ISC $FFFF,x     PC:A5 A:D2 X:00 Y:15 P:A4 SP:00 CYC:109 SL:253\nA7 FF ISC $FFFF,x     PC:A8 A:0C X:00 Y:15 P:25 SP:00 CYC:130 SL:253\nAA FF ISC $FFFF,x     PC:AB A:47 X:00 Y:15 P:24 SP:00 CYC:151 SL:253\nAD FF ISC $FFFF,x     PC:AE A:81 X:00 Y:15 P:E4 SP:00 CYC:172 SL:253\nB0 FF ISC $FFFF,x     PC:B1 A:BB X:00 Y:15 P:A4 SP:00 CYC:193 SL:253\nB3 FF ISC $FFFF,x     PC:B4 A:F5 X:00 Y:15 P:A4 SP:00 CYC:214 SL:253\nB6 FF ISC $FFFF,x     PC:B7 A:2F X:00 Y:15 P:25 SP:00 CYC:235 SL:253\nB9 FF ISC $FFFF,x     PC:BA A:6A X:00 Y:15 P:24 SP:00 CYC:256 SL:253\nBC FF ISC $FFFF,x     PC:BD A:A4 X:00 Y:15 P:E4 SP:00 CYC:277 SL:253\nBF FF ISC $FFFF,x     PC:C0 A:DE X:00 Y:15 P:A4 SP:00 CYC:298 SL:253\nC2 FF ISC $4AFF,x     PC:C3 A:18 X:00 Y:15 P:25 SP:00 CYC:319 SL:253\nC5 FF ISC $FFFF,x     PC:C6 A:CE X:00 Y:15 P:A4 SP:00 CYC:340 SL:253\nC8 FF ISC $FFFF,x     PC:C9 A:08 X:00 Y:15 P:25 SP:00 CYC:20 SL:254\nCB FF ISC $FFFF,x     PC:CC A:43 X:00 Y:15 P:24 SP:00 CYC:41 SL:254\nCE 01 ORA $(FFFF,x)   PC:CF A:7D X:00 Y:15 P:24 SP:00 CYC:62 SL:254\nD0 FF ISC $FFFF,x     PC:D1 A:FF X:00 Y:15 P:A4 SP:00 CYC:80 SL:254\nD3 FF ISC $FFFF,x     PC:D4 A:39 X:00 Y:15 P:25 SP:00 CYC:101 SL:254\nD6 FF ISC $FFFF,x     PC:D7 A:74 X:00 Y:15 P:24 SP:00 CYC:122 SL:254\nD9 FF ISC $FFFF,x     PC:DA A:AE X:00 Y:15 P:E4 SP:00 CYC:143 SL:254\nDC FF ISC $FFFF,x     PC:DD A:E8 X:00 Y:15 P:A4 SP:00 CYC:164 SL:254\nDF FF ISC $FFFF,x     PC:E0 A:22 X:00 Y:15 P:25 SP:00 CYC:185 SL:254\nE2 FF ISC $FFFF,x     PC:E3 A:5D X:00 Y:15 P:24 SP:00 CYC:206 SL:254\nE5 FF ISC $FFFF,x     PC:E6 A:97 X:00 Y:15 P:E4 SP:00 CYC:227 SL:254\nE8 FF ISC $FFFF,x     PC:E9 A:D1 X:00 Y:15 P:A4 SP:00 CYC:248 SL:254\nEB FF ISC $FFFF,x     PC:EC A:0B X:00 Y:15 P:25 SP:00 CYC:269 SL:254\nEE 01 ORA $(FFFF,x)   PC:EF A:46 X:00 Y:15 P:24 SP:00 CYC:290 SL:254\nF0 FF ISC $FFFF,x     PC:F1 A:FF X:00 Y:15 P:A4 SP:00 CYC:308 SL:254\nF3 FF ISC $FFFF,x     PC:F4 A:39 X:00 Y:15 P:25 SP:00 CYC:329 SL:254\nF6 52 KIL             PC:F7 A:74 X:00 Y:15 P:24 SP:00 CYC:9 SL:255\nF7 FF ISC $FFFF,x     PC:F8 A:74 X:00 Y:15 P:24 SP:00 CYC:12 SL:255\nFA FF ISC $FFFF,x     PC:FB A:AE X:00 Y:15 P:E4 SP:00 CYC:30 SL:255\nFD FF ISC $5135,x     PC:FE A:E8 X:00 Y:15 P:A4 SP:00 CYC:51 SL:255\n0100 A9 LDA #$55        PC:0101 A:96 X:00 Y:15 P:A5 SP:00 CYC:72 SL:255\n0102 60 RTS             PC:0103 A:55 X:00 Y:15 P:25 SP:00 CYC:78 SL:255\n6056 00 BRK             PC:6057 A:55 X:00 Y:15 P:25 SP:02 CYC:96 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:117 SL:255\n6058 00 BRK             PC:6059 A:55 X:00 Y:15 P:25 SP:02 CYC:135 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:156 SL:255\n605A 00 BRK             PC:605B A:55 X:00 Y:15 P:25 SP:02 CYC:174 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:195 SL:255\n605C 00 BRK             PC:605D A:55 X:00 Y:15 P:25 SP:02 CYC:213 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:234 SL:255\n605E 00 BRK             PC:605F A:55 X:00 Y:15 P:25 SP:02 CYC:252 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:273 SL:255\n6060 00 BRK             PC:6061 A:55 X:00 Y:15 P:25 SP:02 CYC:291 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:312 SL:255\n6062 00 BRK             PC:6063 A:55 X:00 Y:15 P:25 SP:02 CYC:330 SL:255\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:10 SL:256\n6064 00 BRK             PC:6065 A:55 X:00 Y:15 P:25 SP:02 CYC:28 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:49 SL:256\n6066 00 BRK             PC:6067 A:55 X:00 Y:15 P:25 SP:02 CYC:67 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:88 SL:256\n6068 00 BRK             PC:6069 A:55 X:00 Y:15 P:25 SP:02 CYC:106 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:127 SL:256\n606A 00 BRK             PC:606B A:55 X:00 Y:15 P:25 SP:02 CYC:145 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:166 SL:256\n606C 00 BRK             PC:606D A:55 X:00 Y:15 P:25 SP:02 CYC:184 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:205 SL:256\n606E 00 BRK             PC:606F A:55 X:00 Y:15 P:25 SP:02 CYC:223 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:244 SL:256\n6070 00 BRK             PC:6071 A:55 X:00 Y:15 P:25 SP:02 CYC:262 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:283 SL:256\n6072 00 BRK             PC:6073 A:55 X:00 Y:15 P:25 SP:02 CYC:301 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:322 SL:256\n6074 00 BRK             PC:6075 A:55 X:00 Y:15 P:25 SP:02 CYC:340 SL:256\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:20 SL:257\n6076 00 BRK             PC:6077 A:55 X:00 Y:15 P:25 SP:02 CYC:38 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:59 SL:257\n6078 00 BRK             PC:6079 A:55 X:00 Y:15 P:25 SP:02 CYC:77 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:98 SL:257\n607A 00 BRK             PC:607B A:55 X:00 Y:15 P:25 SP:02 CYC:116 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:137 SL:257\n607C 00 BRK             PC:607D A:55 X:00 Y:15 P:25 SP:02 CYC:155 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:176 SL:257\n607E 00 BRK             PC:607F A:55 X:00 Y:15 P:25 SP:02 CYC:194 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:215 SL:257\n6080 00 BRK             PC:6081 A:55 X:00 Y:15 P:25 SP:02 CYC:233 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:254 SL:257\n6082 00 BRK             PC:6083 A:55 X:00 Y:15 P:25 SP:02 CYC:272 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:293 SL:257\n6084 00 BRK             PC:6085 A:55 X:00 Y:15 P:25 SP:02 CYC:311 SL:257\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:332 SL:257\n6086 00 BRK             PC:6087 A:55 X:00 Y:15 P:25 SP:02 CYC:9 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:30 SL:258\n6088 00 BRK             PC:6089 A:55 X:00 Y:15 P:25 SP:02 CYC:48 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:69 SL:258\n608A 00 BRK             PC:608B A:55 X:00 Y:15 P:25 SP:02 CYC:87 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:108 SL:258\n608C 00 BRK             PC:608D A:55 X:00 Y:15 P:25 SP:02 CYC:126 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:147 SL:258\n608E 00 BRK             PC:608F A:55 X:00 Y:15 P:25 SP:02 CYC:165 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:186 SL:258\n6090 00 BRK             PC:6091 A:55 X:00 Y:15 P:25 SP:02 CYC:204 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:225 SL:258\n6092 00 BRK             PC:6093 A:55 X:00 Y:15 P:25 SP:02 CYC:243 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:264 SL:258\n6094 00 BRK             PC:6095 A:55 X:00 Y:15 P:25 SP:02 CYC:282 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:303 SL:258\n6096 00 BRK             PC:6097 A:55 X:00 Y:15 P:25 SP:02 CYC:321 SL:258\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:1 SL:259\n6098 00 BRK             PC:6099 A:55 X:00 Y:15 P:25 SP:02 CYC:19 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:40 SL:259\n609A 00 BRK             PC:609B A:55 X:00 Y:15 P:25 SP:02 CYC:58 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:79 SL:259\n609C 00 BRK             PC:609D A:55 X:00 Y:15 P:25 SP:02 CYC:97 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:118 SL:259\n609E 00 BRK             PC:609F A:55 X:00 Y:15 P:25 SP:02 CYC:136 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:157 SL:259\n60A0 00 BRK             PC:60A1 A:55 X:00 Y:15 P:25 SP:02 CYC:175 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:196 SL:259\n60A2 00 BRK             PC:60A3 A:55 X:00 Y:15 P:25 SP:02 CYC:214 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:235 SL:259\n60A4 00 BRK             PC:60A5 A:55 X:00 Y:15 P:25 SP:02 CYC:253 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:274 SL:259\n60A6 00 BRK             PC:60A7 A:55 X:00 Y:15 P:25 SP:02 CYC:292 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:313 SL:259\n60A8 00 BRK             PC:60A9 A:55 X:00 Y:15 P:25 SP:02 CYC:331 SL:259\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:11 SL:260\n60AA 00 BRK             PC:60AB A:55 X:00 Y:15 P:25 SP:02 CYC:29 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:50 SL:260\n60AC 00 BRK             PC:60AD A:55 X:00 Y:15 P:25 SP:02 CYC:68 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:89 SL:260\n60AE 00 BRK             PC:60AF A:55 X:00 Y:15 P:25 SP:02 CYC:107 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:128 SL:260\n60B0 00 BRK             PC:60B1 A:55 X:00 Y:15 P:25 SP:02 CYC:146 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:167 SL:260\n60B2 00 BRK             PC:60B3 A:55 X:00 Y:15 P:25 SP:02 CYC:185 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:206 SL:260\n60B4 00 BRK             PC:60B5 A:55 X:00 Y:15 P:25 SP:02 CYC:224 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:245 SL:260\n60B6 00 BRK             PC:60B7 A:55 X:00 Y:15 P:25 SP:02 CYC:263 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:284 SL:260\n60B8 00 BRK             PC:60B9 A:55 X:00 Y:15 P:25 SP:02 CYC:302 SL:260\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y:15 P:25 SP:FF CYC:323 SL:260\n60BA 00 BRK             PC:60BB A:55 X:00 Y:15 P:25 SP:02 CYC:0 SL:261\n**BREAK**C5F4 40 RTI             PC:C5F5 A:55 X:00 Y"
  },
  {
    "path": "src/test/resources/nestest/nestest.log",
    "content": "C000  4C F5 C5  JMP $C5F5                       A:00 X:00 Y:00 P:24 SP:FD CYC:  0 SL:241\nC5F5  A2 00     LDX #$00                        A:00 X:00 Y:00 P:24 SP:FD CYC:  9 SL:241\nC5F7  86 00     STX $00 = 00                    A:00 X:00 Y:00 P:26 SP:FD CYC: 15 SL:241\nC5F9  86 10     STX $10 = 00                    A:00 X:00 Y:00 P:26 SP:FD CYC: 24 SL:241\nC5FB  86 11     STX $11 = 00                    A:00 X:00 Y:00 P:26 SP:FD CYC: 33 SL:241\nC5FD  20 2D C7  JSR $C72D                       A:00 X:00 Y:00 P:26 SP:FD CYC: 42 SL:241\nC72D  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC: 60 SL:241\nC72E  38        SEC                             A:00 X:00 Y:00 P:26 SP:FB CYC: 66 SL:241\nC72F  B0 04     BCS $C735                       A:00 X:00 Y:00 P:27 SP:FB CYC: 72 SL:241\nC735  EA        NOP                             A:00 X:00 Y:00 P:27 SP:FB CYC: 81 SL:241\nC736  18        CLC                             A:00 X:00 Y:00 P:27 SP:FB CYC: 87 SL:241\nC737  B0 03     BCS $C73C                       A:00 X:00 Y:00 P:26 SP:FB CYC: 93 SL:241\nC739  4C 40 C7  JMP $C740                       A:00 X:00 Y:00 P:26 SP:FB CYC: 99 SL:241\nC740  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC:108 SL:241\nC741  38        SEC                             A:00 X:00 Y:00 P:26 SP:FB CYC:114 SL:241\nC742  90 03     BCC $C747                       A:00 X:00 Y:00 P:27 SP:FB CYC:120 SL:241\nC744  4C 4B C7  JMP $C74B                       A:00 X:00 Y:00 P:27 SP:FB CYC:126 SL:241\nC74B  EA        NOP                             A:00 X:00 Y:00 P:27 SP:FB CYC:135 SL:241\nC74C  18        CLC                             A:00 X:00 Y:00 P:27 SP:FB CYC:141 SL:241\nC74D  90 04     BCC $C753                       A:00 X:00 Y:00 P:26 SP:FB CYC:147 SL:241\nC753  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC:156 SL:241\nC754  A9 00     LDA #$00                        A:00 X:00 Y:00 P:26 SP:FB CYC:162 SL:241\nC756  F0 04     BEQ $C75C                       A:00 X:00 Y:00 P:26 SP:FB CYC:168 SL:241\nC75C  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC:177 SL:241\nC75D  A9 40     LDA #$40                        A:00 X:00 Y:00 P:26 SP:FB CYC:183 SL:241\nC75F  F0 03     BEQ $C764                       A:40 X:00 Y:00 P:24 SP:FB CYC:189 SL:241\nC761  4C 68 C7  JMP $C768                       A:40 X:00 Y:00 P:24 SP:FB CYC:195 SL:241\nC768  EA        NOP                             A:40 X:00 Y:00 P:24 SP:FB CYC:204 SL:241\nC769  A9 40     LDA #$40                        A:40 X:00 Y:00 P:24 SP:FB CYC:210 SL:241\nC76B  D0 04     BNE $C771                       A:40 X:00 Y:00 P:24 SP:FB CYC:216 SL:241\nC771  EA        NOP                             A:40 X:00 Y:00 P:24 SP:FB CYC:225 SL:241\nC772  A9 00     LDA #$00                        A:40 X:00 Y:00 P:24 SP:FB CYC:231 SL:241\nC774  D0 03     BNE $C779                       A:00 X:00 Y:00 P:26 SP:FB CYC:237 SL:241\nC776  4C 7D C7  JMP $C77D                       A:00 X:00 Y:00 P:26 SP:FB CYC:243 SL:241\nC77D  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC:252 SL:241\nC77E  A9 FF     LDA #$FF                        A:00 X:00 Y:00 P:26 SP:FB CYC:258 SL:241\nC780  85 01     STA $01 = 00                    A:FF X:00 Y:00 P:A4 SP:FB CYC:264 SL:241\nC782  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:A4 SP:FB CYC:273 SL:241\nC784  70 04     BVS $C78A                       A:FF X:00 Y:00 P:E4 SP:FB CYC:282 SL:241\nC78A  EA        NOP                             A:FF X:00 Y:00 P:E4 SP:FB CYC:291 SL:241\nC78B  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:E4 SP:FB CYC:297 SL:241\nC78D  50 03     BVC $C792                       A:FF X:00 Y:00 P:E4 SP:FB CYC:306 SL:241\nC78F  4C 96 C7  JMP $C796                       A:FF X:00 Y:00 P:E4 SP:FB CYC:312 SL:241\nC796  EA        NOP                             A:FF X:00 Y:00 P:E4 SP:FB CYC:321 SL:241\nC797  A9 00     LDA #$00                        A:FF X:00 Y:00 P:E4 SP:FB CYC:327 SL:241\nC799  85 01     STA $01 = FF                    A:00 X:00 Y:00 P:66 SP:FB CYC:333 SL:241\nC79B  24 01     BIT $01 = 00                    A:00 X:00 Y:00 P:66 SP:FB CYC:  1 SL:242\nC79D  50 04     BVC $C7A3                       A:00 X:00 Y:00 P:26 SP:FB CYC: 10 SL:242\nC7A3  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC: 19 SL:242\nC7A4  24 01     BIT $01 = 00                    A:00 X:00 Y:00 P:26 SP:FB CYC: 25 SL:242\nC7A6  70 03     BVS $C7AB                       A:00 X:00 Y:00 P:26 SP:FB CYC: 34 SL:242\nC7A8  4C AF C7  JMP $C7AF                       A:00 X:00 Y:00 P:26 SP:FB CYC: 40 SL:242\nC7AF  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC: 49 SL:242\nC7B0  A9 00     LDA #$00                        A:00 X:00 Y:00 P:26 SP:FB CYC: 55 SL:242\nC7B2  10 04     BPL $C7B8                       A:00 X:00 Y:00 P:26 SP:FB CYC: 61 SL:242\nC7B8  EA        NOP                             A:00 X:00 Y:00 P:26 SP:FB CYC: 70 SL:242\nC7B9  A9 80     LDA #$80                        A:00 X:00 Y:00 P:26 SP:FB CYC: 76 SL:242\nC7BB  10 03     BPL $C7C0                       A:80 X:00 Y:00 P:A4 SP:FB CYC: 82 SL:242\nC7BD  4C D9 C7  JMP $C7D9                       A:80 X:00 Y:00 P:A4 SP:FB CYC: 88 SL:242\nC7D9  EA        NOP                             A:80 X:00 Y:00 P:A4 SP:FB CYC: 97 SL:242\nC7DA  60        RTS                             A:80 X:00 Y:00 P:A4 SP:FB CYC:103 SL:242\nC600  20 DB C7  JSR $C7DB                       A:80 X:00 Y:00 P:A4 SP:FD CYC:121 SL:242\nC7DB  EA        NOP                             A:80 X:00 Y:00 P:A4 SP:FB CYC:139 SL:242\nC7DC  A9 FF     LDA #$FF                        A:80 X:00 Y:00 P:A4 SP:FB CYC:145 SL:242\nC7DE  85 01     STA $01 = 00                    A:FF X:00 Y:00 P:A4 SP:FB CYC:151 SL:242\nC7E0  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:A4 SP:FB CYC:160 SL:242\nC7E2  A9 00     LDA #$00                        A:FF X:00 Y:00 P:E4 SP:FB CYC:169 SL:242\nC7E4  38        SEC                             A:00 X:00 Y:00 P:66 SP:FB CYC:175 SL:242\nC7E5  78        SEI                             A:00 X:00 Y:00 P:67 SP:FB CYC:181 SL:242\nC7E6  F8        SED                             A:00 X:00 Y:00 P:67 SP:FB CYC:187 SL:242\nC7E7  08        PHP                             A:00 X:00 Y:00 P:6F SP:FB CYC:193 SL:242\nC7E8  68        PLA                             A:00 X:00 Y:00 P:6F SP:FA CYC:202 SL:242\nC7E9  29 EF     AND #$EF                        A:7F X:00 Y:00 P:6D SP:FB CYC:214 SL:242\nC7EB  C9 6F     CMP #$6F                        A:6F X:00 Y:00 P:6D SP:FB CYC:220 SL:242\nC7ED  F0 04     BEQ $C7F3                       A:6F X:00 Y:00 P:6F SP:FB CYC:226 SL:242\nC7F3  EA        NOP                             A:6F X:00 Y:00 P:6F SP:FB CYC:235 SL:242\nC7F4  A9 40     LDA #$40                        A:6F X:00 Y:00 P:6F SP:FB CYC:241 SL:242\nC7F6  85 01     STA $01 = FF                    A:40 X:00 Y:00 P:6D SP:FB CYC:247 SL:242\nC7F8  24 01     BIT $01 = 40                    A:40 X:00 Y:00 P:6D SP:FB CYC:256 SL:242\nC7FA  D8        CLD                             A:40 X:00 Y:00 P:6D SP:FB CYC:265 SL:242\nC7FB  A9 10     LDA #$10                        A:40 X:00 Y:00 P:65 SP:FB CYC:271 SL:242\nC7FD  18        CLC                             A:10 X:00 Y:00 P:65 SP:FB CYC:277 SL:242\nC7FE  08        PHP                             A:10 X:00 Y:00 P:64 SP:FB CYC:283 SL:242\nC7FF  68        PLA                             A:10 X:00 Y:00 P:64 SP:FA CYC:292 SL:242\nC800  29 EF     AND #$EF                        A:74 X:00 Y:00 P:64 SP:FB CYC:304 SL:242\nC802  C9 64     CMP #$64                        A:64 X:00 Y:00 P:64 SP:FB CYC:310 SL:242\nC804  F0 04     BEQ $C80A                       A:64 X:00 Y:00 P:67 SP:FB CYC:316 SL:242\nC80A  EA        NOP                             A:64 X:00 Y:00 P:67 SP:FB CYC:325 SL:242\nC80B  A9 80     LDA #$80                        A:64 X:00 Y:00 P:67 SP:FB CYC:331 SL:242\nC80D  85 01     STA $01 = 40                    A:80 X:00 Y:00 P:E5 SP:FB CYC:337 SL:242\nC80F  24 01     BIT $01 = 80                    A:80 X:00 Y:00 P:E5 SP:FB CYC:  5 SL:243\nC811  F8        SED                             A:80 X:00 Y:00 P:A5 SP:FB CYC: 14 SL:243\nC812  A9 00     LDA #$00                        A:80 X:00 Y:00 P:AD SP:FB CYC: 20 SL:243\nC814  38        SEC                             A:00 X:00 Y:00 P:2F SP:FB CYC: 26 SL:243\nC815  08        PHP                             A:00 X:00 Y:00 P:2F SP:FB CYC: 32 SL:243\nC816  68        PLA                             A:00 X:00 Y:00 P:2F SP:FA CYC: 41 SL:243\nC817  29 EF     AND #$EF                        A:3F X:00 Y:00 P:2D SP:FB CYC: 53 SL:243\nC819  C9 2F     CMP #$2F                        A:2F X:00 Y:00 P:2D SP:FB CYC: 59 SL:243\nC81B  F0 04     BEQ $C821                       A:2F X:00 Y:00 P:2F SP:FB CYC: 65 SL:243\nC821  EA        NOP                             A:2F X:00 Y:00 P:2F SP:FB CYC: 74 SL:243\nC822  A9 FF     LDA #$FF                        A:2F X:00 Y:00 P:2F SP:FB CYC: 80 SL:243\nC824  48        PHA                             A:FF X:00 Y:00 P:AD SP:FB CYC: 86 SL:243\nC825  28        PLP                             A:FF X:00 Y:00 P:AD SP:FA CYC: 95 SL:243\nC826  D0 09     BNE $C831                       A:FF X:00 Y:00 P:EF SP:FB CYC:107 SL:243\nC828  10 07     BPL $C831                       A:FF X:00 Y:00 P:EF SP:FB CYC:113 SL:243\nC82A  50 05     BVC $C831                       A:FF X:00 Y:00 P:EF SP:FB CYC:119 SL:243\nC82C  90 03     BCC $C831                       A:FF X:00 Y:00 P:EF SP:FB CYC:125 SL:243\nC82E  4C 35 C8  JMP $C835                       A:FF X:00 Y:00 P:EF SP:FB CYC:131 SL:243\nC835  EA        NOP                             A:FF X:00 Y:00 P:EF SP:FB CYC:140 SL:243\nC836  A9 04     LDA #$04                        A:FF X:00 Y:00 P:EF SP:FB CYC:146 SL:243\nC838  48        PHA                             A:04 X:00 Y:00 P:6D SP:FB CYC:152 SL:243\nC839  28        PLP                             A:04 X:00 Y:00 P:6D SP:FA CYC:161 SL:243\nC83A  F0 09     BEQ $C845                       A:04 X:00 Y:00 P:24 SP:FB CYC:173 SL:243\nC83C  30 07     BMI $C845                       A:04 X:00 Y:00 P:24 SP:FB CYC:179 SL:243\nC83E  70 05     BVS $C845                       A:04 X:00 Y:00 P:24 SP:FB CYC:185 SL:243\nC840  B0 03     BCS $C845                       A:04 X:00 Y:00 P:24 SP:FB CYC:191 SL:243\nC842  4C 49 C8  JMP $C849                       A:04 X:00 Y:00 P:24 SP:FB CYC:197 SL:243\nC849  EA        NOP                             A:04 X:00 Y:00 P:24 SP:FB CYC:206 SL:243\nC84A  F8        SED                             A:04 X:00 Y:00 P:24 SP:FB CYC:212 SL:243\nC84B  A9 FF     LDA #$FF                        A:04 X:00 Y:00 P:2C SP:FB CYC:218 SL:243\nC84D  85 01     STA $01 = 80                    A:FF X:00 Y:00 P:AC SP:FB CYC:224 SL:243\nC84F  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:AC SP:FB CYC:233 SL:243\nC851  18        CLC                             A:FF X:00 Y:00 P:EC SP:FB CYC:242 SL:243\nC852  A9 00     LDA #$00                        A:FF X:00 Y:00 P:EC SP:FB CYC:248 SL:243\nC854  48        PHA                             A:00 X:00 Y:00 P:6E SP:FB CYC:254 SL:243\nC855  A9 FF     LDA #$FF                        A:00 X:00 Y:00 P:6E SP:FA CYC:263 SL:243\nC857  68        PLA                             A:FF X:00 Y:00 P:EC SP:FA CYC:269 SL:243\nC858  D0 09     BNE $C863                       A:00 X:00 Y:00 P:6E SP:FB CYC:281 SL:243\nC85A  30 07     BMI $C863                       A:00 X:00 Y:00 P:6E SP:FB CYC:287 SL:243\nC85C  50 05     BVC $C863                       A:00 X:00 Y:00 P:6E SP:FB CYC:293 SL:243\nC85E  B0 03     BCS $C863                       A:00 X:00 Y:00 P:6E SP:FB CYC:299 SL:243\nC860  4C 67 C8  JMP $C867                       A:00 X:00 Y:00 P:6E SP:FB CYC:305 SL:243\nC867  EA        NOP                             A:00 X:00 Y:00 P:6E SP:FB CYC:314 SL:243\nC868  A9 00     LDA #$00                        A:00 X:00 Y:00 P:6E SP:FB CYC:320 SL:243\nC86A  85 01     STA $01 = FF                    A:00 X:00 Y:00 P:6E SP:FB CYC:326 SL:243\nC86C  24 01     BIT $01 = 00                    A:00 X:00 Y:00 P:6E SP:FB CYC:335 SL:243\nC86E  38        SEC                             A:00 X:00 Y:00 P:2E SP:FB CYC:  3 SL:244\nC86F  A9 FF     LDA #$FF                        A:00 X:00 Y:00 P:2F SP:FB CYC:  9 SL:244\nC871  48        PHA                             A:FF X:00 Y:00 P:AD SP:FB CYC: 15 SL:244\nC872  A9 00     LDA #$00                        A:FF X:00 Y:00 P:AD SP:FA CYC: 24 SL:244\nC874  68        PLA                             A:00 X:00 Y:00 P:2F SP:FA CYC: 30 SL:244\nC875  F0 09     BEQ $C880                       A:FF X:00 Y:00 P:AD SP:FB CYC: 42 SL:244\nC877  10 07     BPL $C880                       A:FF X:00 Y:00 P:AD SP:FB CYC: 48 SL:244\nC879  70 05     BVS $C880                       A:FF X:00 Y:00 P:AD SP:FB CYC: 54 SL:244\nC87B  90 03     BCC $C880                       A:FF X:00 Y:00 P:AD SP:FB CYC: 60 SL:244\nC87D  4C 84 C8  JMP $C884                       A:FF X:00 Y:00 P:AD SP:FB CYC: 66 SL:244\nC884  60        RTS                             A:FF X:00 Y:00 P:AD SP:FB CYC: 75 SL:244\nC603  20 85 C8  JSR $C885                       A:FF X:00 Y:00 P:AD SP:FD CYC: 93 SL:244\nC885  EA        NOP                             A:FF X:00 Y:00 P:AD SP:FB CYC:111 SL:244\nC886  18        CLC                             A:FF X:00 Y:00 P:AD SP:FB CYC:117 SL:244\nC887  A9 FF     LDA #$FF                        A:FF X:00 Y:00 P:AC SP:FB CYC:123 SL:244\nC889  85 01     STA $01 = 00                    A:FF X:00 Y:00 P:AC SP:FB CYC:129 SL:244\nC88B  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:AC SP:FB CYC:138 SL:244\nC88D  A9 55     LDA #$55                        A:FF X:00 Y:00 P:EC SP:FB CYC:147 SL:244\nC88F  09 AA     ORA #$AA                        A:55 X:00 Y:00 P:6C SP:FB CYC:153 SL:244\nC891  B0 0B     BCS $C89E                       A:FF X:00 Y:00 P:EC SP:FB CYC:159 SL:244\nC893  10 09     BPL $C89E                       A:FF X:00 Y:00 P:EC SP:FB CYC:165 SL:244\nC895  C9 FF     CMP #$FF                        A:FF X:00 Y:00 P:EC SP:FB CYC:171 SL:244\nC897  D0 05     BNE $C89E                       A:FF X:00 Y:00 P:6F SP:FB CYC:177 SL:244\nC899  50 03     BVC $C89E                       A:FF X:00 Y:00 P:6F SP:FB CYC:183 SL:244\nC89B  4C A2 C8  JMP $C8A2                       A:FF X:00 Y:00 P:6F SP:FB CYC:189 SL:244\nC8A2  EA        NOP                             A:FF X:00 Y:00 P:6F SP:FB CYC:198 SL:244\nC8A3  38        SEC                             A:FF X:00 Y:00 P:6F SP:FB CYC:204 SL:244\nC8A4  B8        CLV                             A:FF X:00 Y:00 P:6F SP:FB CYC:210 SL:244\nC8A5  A9 00     LDA #$00                        A:FF X:00 Y:00 P:2F SP:FB CYC:216 SL:244\nC8A7  09 00     ORA #$00                        A:00 X:00 Y:00 P:2F SP:FB CYC:222 SL:244\nC8A9  D0 09     BNE $C8B4                       A:00 X:00 Y:00 P:2F SP:FB CYC:228 SL:244\nC8AB  70 07     BVS $C8B4                       A:00 X:00 Y:00 P:2F SP:FB CYC:234 SL:244\nC8AD  90 05     BCC $C8B4                       A:00 X:00 Y:00 P:2F SP:FB CYC:240 SL:244\nC8AF  30 03     BMI $C8B4                       A:00 X:00 Y:00 P:2F SP:FB CYC:246 SL:244\nC8B1  4C B8 C8  JMP $C8B8                       A:00 X:00 Y:00 P:2F SP:FB CYC:252 SL:244\nC8B8  EA        NOP                             A:00 X:00 Y:00 P:2F SP:FB CYC:261 SL:244\nC8B9  18        CLC                             A:00 X:00 Y:00 P:2F SP:FB CYC:267 SL:244\nC8BA  24 01     BIT $01 = FF                    A:00 X:00 Y:00 P:2E SP:FB CYC:273 SL:244\nC8BC  A9 55     LDA #$55                        A:00 X:00 Y:00 P:EE SP:FB CYC:282 SL:244\nC8BE  29 AA     AND #$AA                        A:55 X:00 Y:00 P:6C SP:FB CYC:288 SL:244\nC8C0  D0 09     BNE $C8CB                       A:00 X:00 Y:00 P:6E SP:FB CYC:294 SL:244\nC8C2  50 07     BVC $C8CB                       A:00 X:00 Y:00 P:6E SP:FB CYC:300 SL:244\nC8C4  B0 05     BCS $C8CB                       A:00 X:00 Y:00 P:6E SP:FB CYC:306 SL:244\nC8C6  30 03     BMI $C8CB                       A:00 X:00 Y:00 P:6E SP:FB CYC:312 SL:244\nC8C8  4C CF C8  JMP $C8CF                       A:00 X:00 Y:00 P:6E SP:FB CYC:318 SL:244\nC8CF  EA        NOP                             A:00 X:00 Y:00 P:6E SP:FB CYC:327 SL:244\nC8D0  38        SEC                             A:00 X:00 Y:00 P:6E SP:FB CYC:333 SL:244\nC8D1  B8        CLV                             A:00 X:00 Y:00 P:6F SP:FB CYC:339 SL:244\nC8D2  A9 F8     LDA #$F8                        A:00 X:00 Y:00 P:2F SP:FB CYC:  4 SL:245\nC8D4  29 EF     AND #$EF                        A:F8 X:00 Y:00 P:AD SP:FB CYC: 10 SL:245\nC8D6  90 0B     BCC $C8E3                       A:E8 X:00 Y:00 P:AD SP:FB CYC: 16 SL:245\nC8D8  10 09     BPL $C8E3                       A:E8 X:00 Y:00 P:AD SP:FB CYC: 22 SL:245\nC8DA  C9 E8     CMP #$E8                        A:E8 X:00 Y:00 P:AD SP:FB CYC: 28 SL:245\nC8DC  D0 05     BNE $C8E3                       A:E8 X:00 Y:00 P:2F SP:FB CYC: 34 SL:245\nC8DE  70 03     BVS $C8E3                       A:E8 X:00 Y:00 P:2F SP:FB CYC: 40 SL:245\nC8E0  4C E7 C8  JMP $C8E7                       A:E8 X:00 Y:00 P:2F SP:FB CYC: 46 SL:245\nC8E7  EA        NOP                             A:E8 X:00 Y:00 P:2F SP:FB CYC: 55 SL:245\nC8E8  18        CLC                             A:E8 X:00 Y:00 P:2F SP:FB CYC: 61 SL:245\nC8E9  24 01     BIT $01 = FF                    A:E8 X:00 Y:00 P:2E SP:FB CYC: 67 SL:245\nC8EB  A9 5F     LDA #$5F                        A:E8 X:00 Y:00 P:EC SP:FB CYC: 76 SL:245\nC8ED  49 AA     EOR #$AA                        A:5F X:00 Y:00 P:6C SP:FB CYC: 82 SL:245\nC8EF  B0 0B     BCS $C8FC                       A:F5 X:00 Y:00 P:EC SP:FB CYC: 88 SL:245\nC8F1  10 09     BPL $C8FC                       A:F5 X:00 Y:00 P:EC SP:FB CYC: 94 SL:245\nC8F3  C9 F5     CMP #$F5                        A:F5 X:00 Y:00 P:EC SP:FB CYC:100 SL:245\nC8F5  D0 05     BNE $C8FC                       A:F5 X:00 Y:00 P:6F SP:FB CYC:106 SL:245\nC8F7  50 03     BVC $C8FC                       A:F5 X:00 Y:00 P:6F SP:FB CYC:112 SL:245\nC8F9  4C 00 C9  JMP $C900                       A:F5 X:00 Y:00 P:6F SP:FB CYC:118 SL:245\nC900  EA        NOP                             A:F5 X:00 Y:00 P:6F SP:FB CYC:127 SL:245\nC901  38        SEC                             A:F5 X:00 Y:00 P:6F SP:FB CYC:133 SL:245\nC902  B8        CLV                             A:F5 X:00 Y:00 P:6F SP:FB CYC:139 SL:245\nC903  A9 70     LDA #$70                        A:F5 X:00 Y:00 P:2F SP:FB CYC:145 SL:245\nC905  49 70     EOR #$70                        A:70 X:00 Y:00 P:2D SP:FB CYC:151 SL:245\nC907  D0 09     BNE $C912                       A:00 X:00 Y:00 P:2F SP:FB CYC:157 SL:245\nC909  70 07     BVS $C912                       A:00 X:00 Y:00 P:2F SP:FB CYC:163 SL:245\nC90B  90 05     BCC $C912                       A:00 X:00 Y:00 P:2F SP:FB CYC:169 SL:245\nC90D  30 03     BMI $C912                       A:00 X:00 Y:00 P:2F SP:FB CYC:175 SL:245\nC90F  4C 16 C9  JMP $C916                       A:00 X:00 Y:00 P:2F SP:FB CYC:181 SL:245\nC916  EA        NOP                             A:00 X:00 Y:00 P:2F SP:FB CYC:190 SL:245\nC917  18        CLC                             A:00 X:00 Y:00 P:2F SP:FB CYC:196 SL:245\nC918  24 01     BIT $01 = FF                    A:00 X:00 Y:00 P:2E SP:FB CYC:202 SL:245\nC91A  A9 00     LDA #$00                        A:00 X:00 Y:00 P:EE SP:FB CYC:211 SL:245\nC91C  69 69     ADC #$69                        A:00 X:00 Y:00 P:6E SP:FB CYC:217 SL:245\nC91E  30 0B     BMI $C92B                       A:69 X:00 Y:00 P:2C SP:FB CYC:223 SL:245\nC920  B0 09     BCS $C92B                       A:69 X:00 Y:00 P:2C SP:FB CYC:229 SL:245\nC922  C9 69     CMP #$69                        A:69 X:00 Y:00 P:2C SP:FB CYC:235 SL:245\nC924  D0 05     BNE $C92B                       A:69 X:00 Y:00 P:2F SP:FB CYC:241 SL:245\nC926  70 03     BVS $C92B                       A:69 X:00 Y:00 P:2F SP:FB CYC:247 SL:245\nC928  4C 2F C9  JMP $C92F                       A:69 X:00 Y:00 P:2F SP:FB CYC:253 SL:245\nC92F  EA        NOP                             A:69 X:00 Y:00 P:2F SP:FB CYC:262 SL:245\nC930  38        SEC                             A:69 X:00 Y:00 P:2F SP:FB CYC:268 SL:245\nC931  F8        SED                             A:69 X:00 Y:00 P:2F SP:FB CYC:274 SL:245\nC932  24 01     BIT $01 = FF                    A:69 X:00 Y:00 P:2F SP:FB CYC:280 SL:245\nC934  A9 01     LDA #$01                        A:69 X:00 Y:00 P:ED SP:FB CYC:289 SL:245\nC936  69 69     ADC #$69                        A:01 X:00 Y:00 P:6D SP:FB CYC:295 SL:245\nC938  30 0B     BMI $C945                       A:6B X:00 Y:00 P:2C SP:FB CYC:301 SL:245\nC93A  B0 09     BCS $C945                       A:6B X:00 Y:00 P:2C SP:FB CYC:307 SL:245\nC93C  C9 6B     CMP #$6B                        A:6B X:00 Y:00 P:2C SP:FB CYC:313 SL:245\nC93E  D0 05     BNE $C945                       A:6B X:00 Y:00 P:2F SP:FB CYC:319 SL:245\nC940  70 03     BVS $C945                       A:6B X:00 Y:00 P:2F SP:FB CYC:325 SL:245\nC942  4C 49 C9  JMP $C949                       A:6B X:00 Y:00 P:2F SP:FB CYC:331 SL:245\nC949  EA        NOP                             A:6B X:00 Y:00 P:2F SP:FB CYC:340 SL:245\nC94A  D8        CLD                             A:6B X:00 Y:00 P:2F SP:FB CYC:  5 SL:246\nC94B  38        SEC                             A:6B X:00 Y:00 P:27 SP:FB CYC: 11 SL:246\nC94C  B8        CLV                             A:6B X:00 Y:00 P:27 SP:FB CYC: 17 SL:246\nC94D  A9 7F     LDA #$7F                        A:6B X:00 Y:00 P:27 SP:FB CYC: 23 SL:246\nC94F  69 7F     ADC #$7F                        A:7F X:00 Y:00 P:25 SP:FB CYC: 29 SL:246\nC951  10 0B     BPL $C95E                       A:FF X:00 Y:00 P:E4 SP:FB CYC: 35 SL:246\nC953  B0 09     BCS $C95E                       A:FF X:00 Y:00 P:E4 SP:FB CYC: 41 SL:246\nC955  C9 FF     CMP #$FF                        A:FF X:00 Y:00 P:E4 SP:FB CYC: 47 SL:246\nC957  D0 05     BNE $C95E                       A:FF X:00 Y:00 P:67 SP:FB CYC: 53 SL:246\nC959  50 03     BVC $C95E                       A:FF X:00 Y:00 P:67 SP:FB CYC: 59 SL:246\nC95B  4C 62 C9  JMP $C962                       A:FF X:00 Y:00 P:67 SP:FB CYC: 65 SL:246\nC962  EA        NOP                             A:FF X:00 Y:00 P:67 SP:FB CYC: 74 SL:246\nC963  18        CLC                             A:FF X:00 Y:00 P:67 SP:FB CYC: 80 SL:246\nC964  24 01     BIT $01 = FF                    A:FF X:00 Y:00 P:66 SP:FB CYC: 86 SL:246\nC966  A9 7F     LDA #$7F                        A:FF X:00 Y:00 P:E4 SP:FB CYC: 95 SL:246\nC968  69 80     ADC #$80                        A:7F X:00 Y:00 P:64 SP:FB CYC:101 SL:246\nC96A  10 0B     BPL $C977                       A:FF X:00 Y:00 P:A4 SP:FB CYC:107 SL:246\nC96C  B0 09     BCS $C977                       A:FF X:00 Y:00 P:A4 SP:FB CYC:113 SL:246\nC96E  C9 FF     CMP #$FF                        A:FF X:00 Y:00 P:A4 SP:FB CYC:119 SL:246\nC970  D0 05     BNE $C977                       A:FF X:00 Y:00 P:27 SP:FB CYC:125 SL:246\nC972  70 03     BVS $C977                       A:FF X:00 Y:00 P:27 SP:FB CYC:131 SL:246\nC974  4C 7B C9  JMP $C97B                       A:FF X:00 Y:00 P:27 SP:FB CYC:137 SL:246\nC97B  EA        NOP                             A:FF X:00 Y:00 P:27 SP:FB CYC:146 SL:246\nC97C  38        SEC                             A:FF X:00 Y:00 P:27 SP:FB CYC:152 SL:246\nC97D  B8        CLV                             A:FF X:00 Y:00 P:27 SP:FB CYC:158 SL:246\nC97E  A9 7F     LDA #$7F                        A:FF X:00 Y:00 P:27 SP:FB CYC:164 SL:246\nC980  69 80     ADC #$80                        A:7F X:00 Y:00 P:25 SP:FB CYC:170 SL:246\nC982  D0 09     BNE $C98D                       A:00 X:00 Y:00 P:27 SP:FB CYC:176 SL:246\nC984  30 07     BMI $C98D                       A:00 X:00 Y:00 P:27 SP:FB CYC:182 SL:246\nC986  70 05     BVS $C98D                       A:00 X:00 Y:00 P:27 SP:FB CYC:188 SL:246\nC988  90 03     BCC $C98D                       A:00 X:00 Y:00 P:27 SP:FB CYC:194 SL:246\nC98A  4C 91 C9  JMP $C991                       A:00 X:00 Y:00 P:27 SP:FB CYC:200 SL:246\nC991  EA        NOP                             A:00 X:00 Y:00 P:27 SP:FB CYC:209 SL:246\nC992  38        SEC                             A:00 X:00 Y:00 P:27 SP:FB CYC:215 SL:246\nC993  B8        CLV                             A:00 X:00 Y:00 P:27 SP:FB CYC:221 SL:246\nC994  A9 9F     LDA #$9F                        A:00 X:00 Y:00 P:27 SP:FB CYC:227 SL:246\nC996  F0 09     BEQ $C9A1                       A:9F X:00 Y:00 P:A5 SP:FB CYC:233 SL:246\nC998  10 07     BPL $C9A1                       A:9F X:00 Y:00 P:A5 SP:FB CYC:239 SL:246\nC99A  70 05     BVS $C9A1                       A:9F X:00 Y:00 P:A5 SP:FB CYC:245 SL:246\nC99C  90 03     BCC $C9A1                       A:9F X:00 Y:00 P:A5 SP:FB CYC:251 SL:246\nC99E  4C A5 C9  JMP $C9A5                       A:9F X:00 Y:00 P:A5 SP:FB CYC:257 SL:246\nC9A5  EA        NOP                             A:9F X:00 Y:00 P:A5 SP:FB CYC:266 SL:246\nC9A6  18        CLC                             A:9F X:00 Y:00 P:A5 SP:FB CYC:272 SL:246\nC9A7  24 01     BIT $01 = FF                    A:9F X:00 Y:00 P:A4 SP:FB CYC:278 SL:246\nC9A9  A9 00     LDA #$00                        A:9F X:00 Y:00 P:E4 SP:FB CYC:287 SL:246\nC9AB  D0 09     BNE $C9B6                       A:00 X:00 Y:00 P:66 SP:FB CYC:293 SL:246\nC9AD  30 07     BMI $C9B6                       A:00 X:00 Y:00 P:66 SP:FB CYC:299 SL:246\nC9AF  50 05     BVC $C9B6                       A:00 X:00 Y:00 P:66 SP:FB CYC:305 SL:246\nC9B1  B0 03     BCS $C9B6                       A:00 X:00 Y:00 P:66 SP:FB CYC:311 SL:246\nC9B3  4C BA C9  JMP $C9BA                       A:00 X:00 Y:00 P:66 SP:FB CYC:317 SL:246\nC9BA  EA        NOP                             A:00 X:00 Y:00 P:66 SP:FB CYC:326 SL:246\nC9BB  24 01     BIT $01 = FF                    A:00 X:00 Y:00 P:66 SP:FB CYC:332 SL:246\nC9BD  A9 40     LDA #$40                        A:00 X:00 Y:00 P:E6 SP:FB CYC:  0 SL:247\nC9BF  C9 40     CMP #$40                        A:40 X:00 Y:00 P:64 SP:FB CYC:  6 SL:247\nC9C1  30 09     BMI $C9CC                       A:40 X:00 Y:00 P:67 SP:FB CYC: 12 SL:247\nC9C3  90 07     BCC $C9CC                       A:40 X:00 Y:00 P:67 SP:FB CYC: 18 SL:247\nC9C5  D0 05     BNE $C9CC                       A:40 X:00 Y:00 P:67 SP:FB CYC: 24 SL:247\nC9C7  50 03     BVC $C9CC                       A:40 X:00 Y:00 P:67 SP:FB CYC: 30 SL:247\nC9C9  4C D0 C9  JMP $C9D0                       A:40 X:00 Y:00 P:67 SP:FB CYC: 36 SL:247\nC9D0  EA        NOP                             A:40 X:00 Y:00 P:67 SP:FB CYC: 45 SL:247\nC9D1  B8        CLV                             A:40 X:00 Y:00 P:67 SP:FB CYC: 51 SL:247\nC9D2  C9 3F     CMP #$3F                        A:40 X:00 Y:00 P:27 SP:FB CYC: 57 SL:247\nC9D4  F0 09     BEQ $C9DF                       A:40 X:00 Y:00 P:25 SP:FB CYC: 63 SL:247\nC9D6  30 07     BMI $C9DF                       A:40 X:00 Y:00 P:25 SP:FB CYC: 69 SL:247\nC9D8  90 05     BCC $C9DF                       A:40 X:00 Y:00 P:25 SP:FB CYC: 75 SL:247\nC9DA  70 03     BVS $C9DF                       A:40 X:00 Y:00 P:25 SP:FB CYC: 81 SL:247\nC9DC  4C E3 C9  JMP $C9E3                       A:40 X:00 Y:00 P:25 SP:FB CYC: 87 SL:247\nC9E3  EA        NOP                             A:40 X:00 Y:00 P:25 SP:FB CYC: 96 SL:247\nC9E4  C9 41     CMP #$41                        A:40 X:00 Y:00 P:25 SP:FB CYC:102 SL:247\nC9E6  F0 07     BEQ $C9EF                       A:40 X:00 Y:00 P:A4 SP:FB CYC:108 SL:247\nC9E8  10 05     BPL $C9EF                       A:40 X:00 Y:00 P:A4 SP:FB CYC:114 SL:247\nC9EA  10 03     BPL $C9EF                       A:40 X:00 Y:00 P:A4 SP:FB CYC:120 SL:247\nC9EC  4C F3 C9  JMP $C9F3                       A:40 X:00 Y:00 P:A4 SP:FB CYC:126 SL:247\nC9F3  EA        NOP                             A:40 X:00 Y:00 P:A4 SP:FB CYC:135 SL:247\nC9F4  A9 80     LDA #$80                        A:40 X:00 Y:00 P:A4 SP:FB CYC:141 SL:247\nC9F6  C9 00     CMP #$00                        A:80 X:00 Y:00 P:A4 SP:FB CYC:147 SL:247\nC9F8  F0 07     BEQ $CA01                       A:80 X:00 Y:00 P:A5 SP:FB CYC:153 SL:247\nC9FA  10 05     BPL $CA01                       A:80 X:00 Y:00 P:A5 SP:FB CYC:159 SL:247\nC9FC  90 03     BCC $CA01                       A:80 X:00 Y:00 P:A5 SP:FB CYC:165 SL:247\nC9FE  4C 05 CA  JMP $CA05                       A:80 X:00 Y:00 P:A5 SP:FB CYC:171 SL:247\nCA05  EA        NOP                             A:80 X:00 Y:00 P:A5 SP:FB CYC:180 SL:247\nCA06  C9 80     CMP #$80                        A:80 X:00 Y:00 P:A5 SP:FB CYC:186 SL:247\nCA08  D0 07     BNE $CA11                       A:80 X:00 Y:00 P:27 SP:FB CYC:192 SL:247\nCA0A  30 05     BMI $CA11                       A:80 X:00 Y:00 P:27 SP:FB CYC:198 SL:247\nCA0C  90 03     BCC $CA11                       A:80 X:00 Y:00 P:27 SP:FB CYC:204 SL:247\nCA0E  4C 15 CA  JMP $CA15                       A:80 X:00 Y:00 P:27 SP:FB CYC:210 SL:247\nCA15  EA        NOP                             A:80 X:00 Y:00 P:27 SP:FB CYC:219 SL:247\nCA16  C9 81     CMP #$81                        A:80 X:00 Y:00 P:27 SP:FB CYC:225 SL:247\nCA18  B0 07     BCS $CA21                       A:80 X:00 Y:00 P:A4 SP:FB CYC:231 SL:247\nCA1A  F0 05     BEQ $CA21                       A:80 X:00 Y:00 P:A4 SP:FB CYC:237 SL:247\nCA1C  10 03     BPL $CA21                       A:80 X:00 Y:00 P:A4 SP:FB CYC:243 SL:247\nCA1E  4C 25 CA  JMP $CA25                       A:80 X:00 Y:00 P:A4 SP:FB CYC:249 SL:247\nCA25  EA        NOP                             A:80 X:00 Y:00 P:A4 SP:FB CYC:258 SL:247\nCA26  C9 7F     CMP #$7F                        A:80 X:00 Y:00 P:A4 SP:FB CYC:264 SL:247\nCA28  90 07     BCC $CA31                       A:80 X:00 Y:00 P:25 SP:FB CYC:270 SL:247\nCA2A  F0 05     BEQ $CA31                       A:80 X:00 Y:00 P:25 SP:FB CYC:276 SL:247\nCA2C  30 03     BMI $CA31                       A:80 X:00 Y:00 P:25 SP:FB CYC:282 SL:247\nCA2E  4C 35 CA  JMP $CA35                       A:80 X:00 Y:00 P:25 SP:FB CYC:288 SL:247\nCA35  EA        NOP                             A:80 X:00 Y:00 P:25 SP:FB CYC:297 SL:247\nCA36  24 01     BIT $01 = FF                    A:80 X:00 Y:00 P:25 SP:FB CYC:303 SL:247\nCA38  A0 40     LDY #$40                        A:80 X:00 Y:00 P:E5 SP:FB CYC:312 SL:247\nCA3A  C0 40     CPY #$40                        A:80 X:00 Y:40 P:65 SP:FB CYC:318 SL:247\nCA3C  D0 09     BNE $CA47                       A:80 X:00 Y:40 P:67 SP:FB CYC:324 SL:247\nCA3E  30 07     BMI $CA47                       A:80 X:00 Y:40 P:67 SP:FB CYC:330 SL:247\nCA40  90 05     BCC $CA47                       A:80 X:00 Y:40 P:67 SP:FB CYC:336 SL:247\nCA42  50 03     BVC $CA47                       A:80 X:00 Y:40 P:67 SP:FB CYC:  1 SL:248\nCA44  4C 4B CA  JMP $CA4B                       A:80 X:00 Y:40 P:67 SP:FB CYC:  7 SL:248\nCA4B  EA        NOP                             A:80 X:00 Y:40 P:67 SP:FB CYC: 16 SL:248\nCA4C  B8        CLV                             A:80 X:00 Y:40 P:67 SP:FB CYC: 22 SL:248\nCA4D  C0 3F     CPY #$3F                        A:80 X:00 Y:40 P:27 SP:FB CYC: 28 SL:248\nCA4F  F0 09     BEQ $CA5A                       A:80 X:00 Y:40 P:25 SP:FB CYC: 34 SL:248\nCA51  30 07     BMI $CA5A                       A:80 X:00 Y:40 P:25 SP:FB CYC: 40 SL:248\nCA53  90 05     BCC $CA5A                       A:80 X:00 Y:40 P:25 SP:FB CYC: 46 SL:248\nCA55  70 03     BVS $CA5A                       A:80 X:00 Y:40 P:25 SP:FB CYC: 52 SL:248\nCA57  4C 5E CA  JMP $CA5E                       A:80 X:00 Y:40 P:25 SP:FB CYC: 58 SL:248\nCA5E  EA        NOP                             A:80 X:00 Y:40 P:25 SP:FB CYC: 67 SL:248\nCA5F  C0 41     CPY #$41                        A:80 X:00 Y:40 P:25 SP:FB CYC: 73 SL:248\nCA61  F0 07     BEQ $CA6A                       A:80 X:00 Y:40 P:A4 SP:FB CYC: 79 SL:248\nCA63  10 05     BPL $CA6A                       A:80 X:00 Y:40 P:A4 SP:FB CYC: 85 SL:248\nCA65  10 03     BPL $CA6A                       A:80 X:00 Y:40 P:A4 SP:FB CYC: 91 SL:248\nCA67  4C 6E CA  JMP $CA6E                       A:80 X:00 Y:40 P:A4 SP:FB CYC: 97 SL:248\nCA6E  EA        NOP                             A:80 X:00 Y:40 P:A4 SP:FB CYC:106 SL:248\nCA6F  A0 80     LDY #$80                        A:80 X:00 Y:40 P:A4 SP:FB CYC:112 SL:248\nCA71  C0 00     CPY #$00                        A:80 X:00 Y:80 P:A4 SP:FB CYC:118 SL:248\nCA73  F0 07     BEQ $CA7C                       A:80 X:00 Y:80 P:A5 SP:FB CYC:124 SL:248\nCA75  10 05     BPL $CA7C                       A:80 X:00 Y:80 P:A5 SP:FB CYC:130 SL:248\nCA77  90 03     BCC $CA7C                       A:80 X:00 Y:80 P:A5 SP:FB CYC:136 SL:248\nCA79  4C 80 CA  JMP $CA80                       A:80 X:00 Y:80 P:A5 SP:FB CYC:142 SL:248\nCA80  EA        NOP                             A:80 X:00 Y:80 P:A5 SP:FB CYC:151 SL:248\nCA81  C0 80     CPY #$80                        A:80 X:00 Y:80 P:A5 SP:FB CYC:157 SL:248\nCA83  D0 07     BNE $CA8C                       A:80 X:00 Y:80 P:27 SP:FB CYC:163 SL:248\nCA85  30 05     BMI $CA8C                       A:80 X:00 Y:80 P:27 SP:FB CYC:169 SL:248\nCA87  90 03     BCC $CA8C                       A:80 X:00 Y:80 P:27 SP:FB CYC:175 SL:248\nCA89  4C 90 CA  JMP $CA90                       A:80 X:00 Y:80 P:27 SP:FB CYC:181 SL:248\nCA90  EA        NOP                             A:80 X:00 Y:80 P:27 SP:FB CYC:190 SL:248\nCA91  C0 81     CPY #$81                        A:80 X:00 Y:80 P:27 SP:FB CYC:196 SL:248\nCA93  B0 07     BCS $CA9C                       A:80 X:00 Y:80 P:A4 SP:FB CYC:202 SL:248\nCA95  F0 05     BEQ $CA9C                       A:80 X:00 Y:80 P:A4 SP:FB CYC:208 SL:248\nCA97  10 03     BPL $CA9C                       A:80 X:00 Y:80 P:A4 SP:FB CYC:214 SL:248\nCA99  4C A0 CA  JMP $CAA0                       A:80 X:00 Y:80 P:A4 SP:FB CYC:220 SL:248\nCAA0  EA        NOP                             A:80 X:00 Y:80 P:A4 SP:FB CYC:229 SL:248\nCAA1  C0 7F     CPY #$7F                        A:80 X:00 Y:80 P:A4 SP:FB CYC:235 SL:248\nCAA3  90 07     BCC $CAAC                       A:80 X:00 Y:80 P:25 SP:FB CYC:241 SL:248\nCAA5  F0 05     BEQ $CAAC                       A:80 X:00 Y:80 P:25 SP:FB CYC:247 SL:248\nCAA7  30 03     BMI $CAAC                       A:80 X:00 Y:80 P:25 SP:FB CYC:253 SL:248\nCAA9  4C B0 CA  JMP $CAB0                       A:80 X:00 Y:80 P:25 SP:FB CYC:259 SL:248\nCAB0  EA        NOP                             A:80 X:00 Y:80 P:25 SP:FB CYC:268 SL:248\nCAB1  24 01     BIT $01 = FF                    A:80 X:00 Y:80 P:25 SP:FB CYC:274 SL:248\nCAB3  A2 40     LDX #$40                        A:80 X:00 Y:80 P:E5 SP:FB CYC:283 SL:248\nCAB5  E0 40     CPX #$40                        A:80 X:40 Y:80 P:65 SP:FB CYC:289 SL:248\nCAB7  D0 09     BNE $CAC2                       A:80 X:40 Y:80 P:67 SP:FB CYC:295 SL:248\nCAB9  30 07     BMI $CAC2                       A:80 X:40 Y:80 P:67 SP:FB CYC:301 SL:248\nCABB  90 05     BCC $CAC2                       A:80 X:40 Y:80 P:67 SP:FB CYC:307 SL:248\nCABD  50 03     BVC $CAC2                       A:80 X:40 Y:80 P:67 SP:FB CYC:313 SL:248\nCABF  4C C6 CA  JMP $CAC6                       A:80 X:40 Y:80 P:67 SP:FB CYC:319 SL:248\nCAC6  EA        NOP                             A:80 X:40 Y:80 P:67 SP:FB CYC:328 SL:248\nCAC7  B8        CLV                             A:80 X:40 Y:80 P:67 SP:FB CYC:334 SL:248\nCAC8  E0 3F     CPX #$3F                        A:80 X:40 Y:80 P:27 SP:FB CYC:340 SL:248\nCACA  F0 09     BEQ $CAD5                       A:80 X:40 Y:80 P:25 SP:FB CYC:  5 SL:249\nCACC  30 07     BMI $CAD5                       A:80 X:40 Y:80 P:25 SP:FB CYC: 11 SL:249\nCACE  90 05     BCC $CAD5                       A:80 X:40 Y:80 P:25 SP:FB CYC: 17 SL:249\nCAD0  70 03     BVS $CAD5                       A:80 X:40 Y:80 P:25 SP:FB CYC: 23 SL:249\nCAD2  4C D9 CA  JMP $CAD9                       A:80 X:40 Y:80 P:25 SP:FB CYC: 29 SL:249\nCAD9  EA        NOP                             A:80 X:40 Y:80 P:25 SP:FB CYC: 38 SL:249\nCADA  E0 41     CPX #$41                        A:80 X:40 Y:80 P:25 SP:FB CYC: 44 SL:249\nCADC  F0 07     BEQ $CAE5                       A:80 X:40 Y:80 P:A4 SP:FB CYC: 50 SL:249\nCADE  10 05     BPL $CAE5                       A:80 X:40 Y:80 P:A4 SP:FB CYC: 56 SL:249\nCAE0  10 03     BPL $CAE5                       A:80 X:40 Y:80 P:A4 SP:FB CYC: 62 SL:249\nCAE2  4C E9 CA  JMP $CAE9                       A:80 X:40 Y:80 P:A4 SP:FB CYC: 68 SL:249\nCAE9  EA        NOP                             A:80 X:40 Y:80 P:A4 SP:FB CYC: 77 SL:249\nCAEA  A2 80     LDX #$80                        A:80 X:40 Y:80 P:A4 SP:FB CYC: 83 SL:249\nCAEC  E0 00     CPX #$00                        A:80 X:80 Y:80 P:A4 SP:FB CYC: 89 SL:249\nCAEE  F0 07     BEQ $CAF7                       A:80 X:80 Y:80 P:A5 SP:FB CYC: 95 SL:249\nCAF0  10 05     BPL $CAF7                       A:80 X:80 Y:80 P:A5 SP:FB CYC:101 SL:249\nCAF2  90 03     BCC $CAF7                       A:80 X:80 Y:80 P:A5 SP:FB CYC:107 SL:249\nCAF4  4C FB CA  JMP $CAFB                       A:80 X:80 Y:80 P:A5 SP:FB CYC:113 SL:249\nCAFB  EA        NOP                             A:80 X:80 Y:80 P:A5 SP:FB CYC:122 SL:249\nCAFC  E0 80     CPX #$80                        A:80 X:80 Y:80 P:A5 SP:FB CYC:128 SL:249\nCAFE  D0 07     BNE $CB07                       A:80 X:80 Y:80 P:27 SP:FB CYC:134 SL:249\nCB00  30 05     BMI $CB07                       A:80 X:80 Y:80 P:27 SP:FB CYC:140 SL:249\nCB02  90 03     BCC $CB07                       A:80 X:80 Y:80 P:27 SP:FB CYC:146 SL:249\nCB04  4C 0B CB  JMP $CB0B                       A:80 X:80 Y:80 P:27 SP:FB CYC:152 SL:249\nCB0B  EA        NOP                             A:80 X:80 Y:80 P:27 SP:FB CYC:161 SL:249\nCB0C  E0 81     CPX #$81                        A:80 X:80 Y:80 P:27 SP:FB CYC:167 SL:249\nCB0E  B0 07     BCS $CB17                       A:80 X:80 Y:80 P:A4 SP:FB CYC:173 SL:249\nCB10  F0 05     BEQ $CB17                       A:80 X:80 Y:80 P:A4 SP:FB CYC:179 SL:249\nCB12  10 03     BPL $CB17                       A:80 X:80 Y:80 P:A4 SP:FB CYC:185 SL:249\nCB14  4C 1B CB  JMP $CB1B                       A:80 X:80 Y:80 P:A4 SP:FB CYC:191 SL:249\nCB1B  EA        NOP                             A:80 X:80 Y:80 P:A4 SP:FB CYC:200 SL:249\nCB1C  E0 7F     CPX #$7F                        A:80 X:80 Y:80 P:A4 SP:FB CYC:206 SL:249\nCB1E  90 07     BCC $CB27                       A:80 X:80 Y:80 P:25 SP:FB CYC:212 SL:249\nCB20  F0 05     BEQ $CB27                       A:80 X:80 Y:80 P:25 SP:FB CYC:218 SL:249\nCB22  30 03     BMI $CB27                       A:80 X:80 Y:80 P:25 SP:FB CYC:224 SL:249\nCB24  4C 2B CB  JMP $CB2B                       A:80 X:80 Y:80 P:25 SP:FB CYC:230 SL:249\nCB2B  EA        NOP                             A:80 X:80 Y:80 P:25 SP:FB CYC:239 SL:249\nCB2C  38        SEC                             A:80 X:80 Y:80 P:25 SP:FB CYC:245 SL:249\nCB2D  B8        CLV                             A:80 X:80 Y:80 P:25 SP:FB CYC:251 SL:249\nCB2E  A2 9F     LDX #$9F                        A:80 X:80 Y:80 P:25 SP:FB CYC:257 SL:249\nCB30  F0 09     BEQ $CB3B                       A:80 X:9F Y:80 P:A5 SP:FB CYC:263 SL:249\nCB32  10 07     BPL $CB3B                       A:80 X:9F Y:80 P:A5 SP:FB CYC:269 SL:249\nCB34  70 05     BVS $CB3B                       A:80 X:9F Y:80 P:A5 SP:FB CYC:275 SL:249\nCB36  90 03     BCC $CB3B                       A:80 X:9F Y:80 P:A5 SP:FB CYC:281 SL:249\nCB38  4C 3F CB  JMP $CB3F                       A:80 X:9F Y:80 P:A5 SP:FB CYC:287 SL:249\nCB3F  EA        NOP                             A:80 X:9F Y:80 P:A5 SP:FB CYC:296 SL:249\nCB40  18        CLC                             A:80 X:9F Y:80 P:A5 SP:FB CYC:302 SL:249\nCB41  24 01     BIT $01 = FF                    A:80 X:9F Y:80 P:A4 SP:FB CYC:308 SL:249\nCB43  A2 00     LDX #$00                        A:80 X:9F Y:80 P:E4 SP:FB CYC:317 SL:249\nCB45  D0 09     BNE $CB50                       A:80 X:00 Y:80 P:66 SP:FB CYC:323 SL:249\nCB47  30 07     BMI $CB50                       A:80 X:00 Y:80 P:66 SP:FB CYC:329 SL:249\nCB49  50 05     BVC $CB50                       A:80 X:00 Y:80 P:66 SP:FB CYC:335 SL:249\nCB4B  B0 03     BCS $CB50                       A:80 X:00 Y:80 P:66 SP:FB CYC:  0 SL:250\nCB4D  4C 54 CB  JMP $CB54                       A:80 X:00 Y:80 P:66 SP:FB CYC:  6 SL:250\nCB54  EA        NOP                             A:80 X:00 Y:80 P:66 SP:FB CYC: 15 SL:250\nCB55  38        SEC                             A:80 X:00 Y:80 P:66 SP:FB CYC: 21 SL:250\nCB56  B8        CLV                             A:80 X:00 Y:80 P:67 SP:FB CYC: 27 SL:250\nCB57  A0 9F     LDY #$9F                        A:80 X:00 Y:80 P:27 SP:FB CYC: 33 SL:250\nCB59  F0 09     BEQ $CB64                       A:80 X:00 Y:9F P:A5 SP:FB CYC: 39 SL:250\nCB5B  10 07     BPL $CB64                       A:80 X:00 Y:9F P:A5 SP:FB CYC: 45 SL:250\nCB5D  70 05     BVS $CB64                       A:80 X:00 Y:9F P:A5 SP:FB CYC: 51 SL:250\nCB5F  90 03     BCC $CB64                       A:80 X:00 Y:9F P:A5 SP:FB CYC: 57 SL:250\nCB61  4C 68 CB  JMP $CB68                       A:80 X:00 Y:9F P:A5 SP:FB CYC: 63 SL:250\nCB68  EA        NOP                             A:80 X:00 Y:9F P:A5 SP:FB CYC: 72 SL:250\nCB69  18        CLC                             A:80 X:00 Y:9F P:A5 SP:FB CYC: 78 SL:250\nCB6A  24 01     BIT $01 = FF                    A:80 X:00 Y:9F P:A4 SP:FB CYC: 84 SL:250\nCB6C  A0 00     LDY #$00                        A:80 X:00 Y:9F P:E4 SP:FB CYC: 93 SL:250\nCB6E  D0 09     BNE $CB79                       A:80 X:00 Y:00 P:66 SP:FB CYC: 99 SL:250\nCB70  30 07     BMI $CB79                       A:80 X:00 Y:00 P:66 SP:FB CYC:105 SL:250\nCB72  50 05     BVC $CB79                       A:80 X:00 Y:00 P:66 SP:FB CYC:111 SL:250\nCB74  B0 03     BCS $CB79                       A:80 X:00 Y:00 P:66 SP:FB CYC:117 SL:250\nCB76  4C 7D CB  JMP $CB7D                       A:80 X:00 Y:00 P:66 SP:FB CYC:123 SL:250\nCB7D  EA        NOP                             A:80 X:00 Y:00 P:66 SP:FB CYC:132 SL:250\nCB7E  A9 55     LDA #$55                        A:80 X:00 Y:00 P:66 SP:FB CYC:138 SL:250\nCB80  A2 AA     LDX #$AA                        A:55 X:00 Y:00 P:64 SP:FB CYC:144 SL:250\nCB82  A0 33     LDY #$33                        A:55 X:AA Y:00 P:E4 SP:FB CYC:150 SL:250\nCB84  C9 55     CMP #$55                        A:55 X:AA Y:33 P:64 SP:FB CYC:156 SL:250\nCB86  D0 23     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:162 SL:250\nCB88  E0 AA     CPX #$AA                        A:55 X:AA Y:33 P:67 SP:FB CYC:168 SL:250\nCB8A  D0 1F     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:174 SL:250\nCB8C  C0 33     CPY #$33                        A:55 X:AA Y:33 P:67 SP:FB CYC:180 SL:250\nCB8E  D0 1B     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:186 SL:250\nCB90  C9 55     CMP #$55                        A:55 X:AA Y:33 P:67 SP:FB CYC:192 SL:250\nCB92  D0 17     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:198 SL:250\nCB94  E0 AA     CPX #$AA                        A:55 X:AA Y:33 P:67 SP:FB CYC:204 SL:250\nCB96  D0 13     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:210 SL:250\nCB98  C0 33     CPY #$33                        A:55 X:AA Y:33 P:67 SP:FB CYC:216 SL:250\nCB9A  D0 0F     BNE $CBAB                       A:55 X:AA Y:33 P:67 SP:FB CYC:222 SL:250\nCB9C  C9 56     CMP #$56                        A:55 X:AA Y:33 P:67 SP:FB CYC:228 SL:250\nCB9E  F0 0B     BEQ $CBAB                       A:55 X:AA Y:33 P:E4 SP:FB CYC:234 SL:250\nCBA0  E0 AB     CPX #$AB                        A:55 X:AA Y:33 P:E4 SP:FB CYC:240 SL:250\nCBA2  F0 07     BEQ $CBAB                       A:55 X:AA Y:33 P:E4 SP:FB CYC:246 SL:250\nCBA4  C0 34     CPY #$34                        A:55 X:AA Y:33 P:E4 SP:FB CYC:252 SL:250\nCBA6  F0 03     BEQ $CBAB                       A:55 X:AA Y:33 P:E4 SP:FB CYC:258 SL:250\nCBA8  4C AF CB  JMP $CBAF                       A:55 X:AA Y:33 P:E4 SP:FB CYC:264 SL:250\nCBAF  A0 71     LDY #$71                        A:55 X:AA Y:33 P:E4 SP:FB CYC:273 SL:250\nCBB1  20 31 F9  JSR $F931                       A:55 X:AA Y:71 P:64 SP:FB CYC:279 SL:250\nF931  24 01     BIT $01 = FF                    A:55 X:AA Y:71 P:64 SP:F9 CYC:297 SL:250\nF933  A9 40     LDA #$40                        A:55 X:AA Y:71 P:E4 SP:F9 CYC:306 SL:250\nF935  38        SEC                             A:40 X:AA Y:71 P:64 SP:F9 CYC:312 SL:250\nF936  60        RTS                             A:40 X:AA Y:71 P:65 SP:F9 CYC:318 SL:250\nCBB4  E9 40     SBC #$40                        A:40 X:AA Y:71 P:65 SP:FB CYC:336 SL:250\nCBB6  20 37 F9  JSR $F937                       A:00 X:AA Y:71 P:27 SP:FB CYC:  1 SL:251\nF937  30 0B     BMI $F944                       A:00 X:AA Y:71 P:27 SP:F9 CYC: 19 SL:251\nF939  90 09     BCC $F944                       A:00 X:AA Y:71 P:27 SP:F9 CYC: 25 SL:251\nF93B  D0 07     BNE $F944                       A:00 X:AA Y:71 P:27 SP:F9 CYC: 31 SL:251\nF93D  70 05     BVS $F944                       A:00 X:AA Y:71 P:27 SP:F9 CYC: 37 SL:251\nF93F  C9 00     CMP #$00                        A:00 X:AA Y:71 P:27 SP:F9 CYC: 43 SL:251\nF941  D0 01     BNE $F944                       A:00 X:AA Y:71 P:27 SP:F9 CYC: 49 SL:251\nF943  60        RTS                             A:00 X:AA Y:71 P:27 SP:F9 CYC: 55 SL:251\nCBB9  C8        INY                             A:00 X:AA Y:71 P:27 SP:FB CYC: 73 SL:251\nCBBA  20 47 F9  JSR $F947                       A:00 X:AA Y:72 P:25 SP:FB CYC: 79 SL:251\nF947  B8        CLV                             A:00 X:AA Y:72 P:25 SP:F9 CYC: 97 SL:251\nF948  38        SEC                             A:00 X:AA Y:72 P:25 SP:F9 CYC:103 SL:251\nF949  A9 40     LDA #$40                        A:00 X:AA Y:72 P:25 SP:F9 CYC:109 SL:251\nF94B  60        RTS                             A:40 X:AA Y:72 P:25 SP:F9 CYC:115 SL:251\nCBBD  E9 3F     SBC #$3F                        A:40 X:AA Y:72 P:25 SP:FB CYC:133 SL:251\nCBBF  20 4C F9  JSR $F94C                       A:01 X:AA Y:72 P:25 SP:FB CYC:139 SL:251\nF94C  F0 0B     BEQ $F959                       A:01 X:AA Y:72 P:25 SP:F9 CYC:157 SL:251\nF94E  30 09     BMI $F959                       A:01 X:AA Y:72 P:25 SP:F9 CYC:163 SL:251\nF950  90 07     BCC $F959                       A:01 X:AA Y:72 P:25 SP:F9 CYC:169 SL:251\nF952  70 05     BVS $F959                       A:01 X:AA Y:72 P:25 SP:F9 CYC:175 SL:251\nF954  C9 01     CMP #$01                        A:01 X:AA Y:72 P:25 SP:F9 CYC:181 SL:251\nF956  D0 01     BNE $F959                       A:01 X:AA Y:72 P:27 SP:F9 CYC:187 SL:251\nF958  60        RTS                             A:01 X:AA Y:72 P:27 SP:F9 CYC:193 SL:251\nCBC2  C8        INY                             A:01 X:AA Y:72 P:27 SP:FB CYC:211 SL:251\nCBC3  20 5C F9  JSR $F95C                       A:01 X:AA Y:73 P:25 SP:FB CYC:217 SL:251\nF95C  A9 40     LDA #$40                        A:01 X:AA Y:73 P:25 SP:F9 CYC:235 SL:251\nF95E  38        SEC                             A:40 X:AA Y:73 P:25 SP:F9 CYC:241 SL:251\nF95F  24 01     BIT $01 = FF                    A:40 X:AA Y:73 P:25 SP:F9 CYC:247 SL:251\nF961  60        RTS                             A:40 X:AA Y:73 P:E5 SP:F9 CYC:256 SL:251\nCBC6  E9 41     SBC #$41                        A:40 X:AA Y:73 P:E5 SP:FB CYC:274 SL:251\nCBC8  20 62 F9  JSR $F962                       A:FF X:AA Y:73 P:A4 SP:FB CYC:280 SL:251\nF962  B0 0B     BCS $F96F                       A:FF X:AA Y:73 P:A4 SP:F9 CYC:298 SL:251\nF964  F0 09     BEQ $F96F                       A:FF X:AA Y:73 P:A4 SP:F9 CYC:304 SL:251\nF966  10 07     BPL $F96F                       A:FF X:AA Y:73 P:A4 SP:F9 CYC:310 SL:251\nF968  70 05     BVS $F96F                       A:FF X:AA Y:73 P:A4 SP:F9 CYC:316 SL:251\nF96A  C9 FF     CMP #$FF                        A:FF X:AA Y:73 P:A4 SP:F9 CYC:322 SL:251\nF96C  D0 01     BNE $F96F                       A:FF X:AA Y:73 P:27 SP:F9 CYC:328 SL:251\nF96E  60        RTS                             A:FF X:AA Y:73 P:27 SP:F9 CYC:334 SL:251\nCBCB  C8        INY                             A:FF X:AA Y:73 P:27 SP:FB CYC: 11 SL:252\nCBCC  20 72 F9  JSR $F972                       A:FF X:AA Y:74 P:25 SP:FB CYC: 17 SL:252\nF972  18        CLC                             A:FF X:AA Y:74 P:25 SP:F9 CYC: 35 SL:252\nF973  A9 80     LDA #$80                        A:FF X:AA Y:74 P:24 SP:F9 CYC: 41 SL:252\nF975  60        RTS                             A:80 X:AA Y:74 P:A4 SP:F9 CYC: 47 SL:252\nCBCF  E9 00     SBC #$00                        A:80 X:AA Y:74 P:A4 SP:FB CYC: 65 SL:252\nCBD1  20 76 F9  JSR $F976                       A:7F X:AA Y:74 P:65 SP:FB CYC: 71 SL:252\nF976  90 05     BCC $F97D                       A:7F X:AA Y:74 P:65 SP:F9 CYC: 89 SL:252\nF978  C9 7F     CMP #$7F                        A:7F X:AA Y:74 P:65 SP:F9 CYC: 95 SL:252\nF97A  D0 01     BNE $F97D                       A:7F X:AA Y:74 P:67 SP:F9 CYC:101 SL:252\nF97C  60        RTS                             A:7F X:AA Y:74 P:67 SP:F9 CYC:107 SL:252\nCBD4  C8        INY                             A:7F X:AA Y:74 P:67 SP:FB CYC:125 SL:252\nCBD5  20 80 F9  JSR $F980                       A:7F X:AA Y:75 P:65 SP:FB CYC:131 SL:252\nF980  38        SEC                             A:7F X:AA Y:75 P:65 SP:F9 CYC:149 SL:252\nF981  A9 81     LDA #$81                        A:7F X:AA Y:75 P:65 SP:F9 CYC:155 SL:252\nF983  60        RTS                             A:81 X:AA Y:75 P:E5 SP:F9 CYC:161 SL:252\nCBD8  E9 7F     SBC #$7F                        A:81 X:AA Y:75 P:E5 SP:FB CYC:179 SL:252\nCBDA  20 84 F9  JSR $F984                       A:02 X:AA Y:75 P:65 SP:FB CYC:185 SL:252\nF984  50 07     BVC $F98D                       A:02 X:AA Y:75 P:65 SP:F9 CYC:203 SL:252\nF986  90 05     BCC $F98D                       A:02 X:AA Y:75 P:65 SP:F9 CYC:209 SL:252\nF988  C9 02     CMP #$02                        A:02 X:AA Y:75 P:65 SP:F9 CYC:215 SL:252\nF98A  D0 01     BNE $F98D                       A:02 X:AA Y:75 P:67 SP:F9 CYC:221 SL:252\nF98C  60        RTS                             A:02 X:AA Y:75 P:67 SP:F9 CYC:227 SL:252\nCBDD  60        RTS                             A:02 X:AA Y:75 P:67 SP:FB CYC:245 SL:252\nC606  20 DE CB  JSR $CBDE                       A:02 X:AA Y:75 P:67 SP:FD CYC:263 SL:252\nCBDE  EA        NOP                             A:02 X:AA Y:75 P:67 SP:FB CYC:281 SL:252\nCBDF  A9 FF     LDA #$FF                        A:02 X:AA Y:75 P:67 SP:FB CYC:287 SL:252\nCBE1  85 01     STA $01 = FF                    A:FF X:AA Y:75 P:E5 SP:FB CYC:293 SL:252\nCBE3  A9 44     LDA #$44                        A:FF X:AA Y:75 P:E5 SP:FB CYC:302 SL:252\nCBE5  A2 55     LDX #$55                        A:44 X:AA Y:75 P:65 SP:FB CYC:308 SL:252\nCBE7  A0 66     LDY #$66                        A:44 X:55 Y:75 P:65 SP:FB CYC:314 SL:252\nCBE9  E8        INX                             A:44 X:55 Y:66 P:65 SP:FB CYC:320 SL:252\nCBEA  88        DEY                             A:44 X:56 Y:66 P:65 SP:FB CYC:326 SL:252\nCBEB  E0 56     CPX #$56                        A:44 X:56 Y:65 P:65 SP:FB CYC:332 SL:252\nCBED  D0 21     BNE $CC10                       A:44 X:56 Y:65 P:67 SP:FB CYC:338 SL:252\nCBEF  C0 65     CPY #$65                        A:44 X:56 Y:65 P:67 SP:FB CYC:  3 SL:253\nCBF1  D0 1D     BNE $CC10                       A:44 X:56 Y:65 P:67 SP:FB CYC:  9 SL:253\nCBF3  E8        INX                             A:44 X:56 Y:65 P:67 SP:FB CYC: 15 SL:253\nCBF4  E8        INX                             A:44 X:57 Y:65 P:65 SP:FB CYC: 21 SL:253\nCBF5  88        DEY                             A:44 X:58 Y:65 P:65 SP:FB CYC: 27 SL:253\nCBF6  88        DEY                             A:44 X:58 Y:64 P:65 SP:FB CYC: 33 SL:253\nCBF7  E0 58     CPX #$58                        A:44 X:58 Y:63 P:65 SP:FB CYC: 39 SL:253\nCBF9  D0 15     BNE $CC10                       A:44 X:58 Y:63 P:67 SP:FB CYC: 45 SL:253\nCBFB  C0 63     CPY #$63                        A:44 X:58 Y:63 P:67 SP:FB CYC: 51 SL:253\nCBFD  D0 11     BNE $CC10                       A:44 X:58 Y:63 P:67 SP:FB CYC: 57 SL:253\nCBFF  CA        DEX                             A:44 X:58 Y:63 P:67 SP:FB CYC: 63 SL:253\nCC00  C8        INY                             A:44 X:57 Y:63 P:65 SP:FB CYC: 69 SL:253\nCC01  E0 57     CPX #$57                        A:44 X:57 Y:64 P:65 SP:FB CYC: 75 SL:253\nCC03  D0 0B     BNE $CC10                       A:44 X:57 Y:64 P:67 SP:FB CYC: 81 SL:253\nCC05  C0 64     CPY #$64                        A:44 X:57 Y:64 P:67 SP:FB CYC: 87 SL:253\nCC07  D0 07     BNE $CC10                       A:44 X:57 Y:64 P:67 SP:FB CYC: 93 SL:253\nCC09  C9 44     CMP #$44                        A:44 X:57 Y:64 P:67 SP:FB CYC: 99 SL:253\nCC0B  D0 03     BNE $CC10                       A:44 X:57 Y:64 P:67 SP:FB CYC:105 SL:253\nCC0D  4C 14 CC  JMP $CC14                       A:44 X:57 Y:64 P:67 SP:FB CYC:111 SL:253\nCC14  EA        NOP                             A:44 X:57 Y:64 P:67 SP:FB CYC:120 SL:253\nCC15  38        SEC                             A:44 X:57 Y:64 P:67 SP:FB CYC:126 SL:253\nCC16  A2 69     LDX #$69                        A:44 X:57 Y:64 P:67 SP:FB CYC:132 SL:253\nCC18  A9 96     LDA #$96                        A:44 X:69 Y:64 P:65 SP:FB CYC:138 SL:253\nCC1A  24 01     BIT $01 = FF                    A:96 X:69 Y:64 P:E5 SP:FB CYC:144 SL:253\nCC1C  A0 FF     LDY #$FF                        A:96 X:69 Y:64 P:E5 SP:FB CYC:153 SL:253\nCC1E  C8        INY                             A:96 X:69 Y:FF P:E5 SP:FB CYC:159 SL:253\nCC1F  D0 3D     BNE $CC5E                       A:96 X:69 Y:00 P:67 SP:FB CYC:165 SL:253\nCC21  30 3B     BMI $CC5E                       A:96 X:69 Y:00 P:67 SP:FB CYC:171 SL:253\nCC23  90 39     BCC $CC5E                       A:96 X:69 Y:00 P:67 SP:FB CYC:177 SL:253\nCC25  50 37     BVC $CC5E                       A:96 X:69 Y:00 P:67 SP:FB CYC:183 SL:253\nCC27  C0 00     CPY #$00                        A:96 X:69 Y:00 P:67 SP:FB CYC:189 SL:253\nCC29  D0 33     BNE $CC5E                       A:96 X:69 Y:00 P:67 SP:FB CYC:195 SL:253\nCC2B  C8        INY                             A:96 X:69 Y:00 P:67 SP:FB CYC:201 SL:253\nCC2C  F0 30     BEQ $CC5E                       A:96 X:69 Y:01 P:65 SP:FB CYC:207 SL:253\nCC2E  30 2E     BMI $CC5E                       A:96 X:69 Y:01 P:65 SP:FB CYC:213 SL:253\nCC30  90 2C     BCC $CC5E                       A:96 X:69 Y:01 P:65 SP:FB CYC:219 SL:253\nCC32  50 2A     BVC $CC5E                       A:96 X:69 Y:01 P:65 SP:FB CYC:225 SL:253\nCC34  18        CLC                             A:96 X:69 Y:01 P:65 SP:FB CYC:231 SL:253\nCC35  B8        CLV                             A:96 X:69 Y:01 P:64 SP:FB CYC:237 SL:253\nCC36  A0 00     LDY #$00                        A:96 X:69 Y:01 P:24 SP:FB CYC:243 SL:253\nCC38  88        DEY                             A:96 X:69 Y:00 P:26 SP:FB CYC:249 SL:253\nCC39  F0 23     BEQ $CC5E                       A:96 X:69 Y:FF P:A4 SP:FB CYC:255 SL:253\nCC3B  10 21     BPL $CC5E                       A:96 X:69 Y:FF P:A4 SP:FB CYC:261 SL:253\nCC3D  B0 1F     BCS $CC5E                       A:96 X:69 Y:FF P:A4 SP:FB CYC:267 SL:253\nCC3F  70 1D     BVS $CC5E                       A:96 X:69 Y:FF P:A4 SP:FB CYC:273 SL:253\nCC41  C0 FF     CPY #$FF                        A:96 X:69 Y:FF P:A4 SP:FB CYC:279 SL:253\nCC43  D0 19     BNE $CC5E                       A:96 X:69 Y:FF P:27 SP:FB CYC:285 SL:253\nCC45  18        CLC                             A:96 X:69 Y:FF P:27 SP:FB CYC:291 SL:253\nCC46  88        DEY                             A:96 X:69 Y:FF P:26 SP:FB CYC:297 SL:253\nCC47  F0 15     BEQ $CC5E                       A:96 X:69 Y:FE P:A4 SP:FB CYC:303 SL:253\nCC49  10 13     BPL $CC5E                       A:96 X:69 Y:FE P:A4 SP:FB CYC:309 SL:253\nCC4B  B0 11     BCS $CC5E                       A:96 X:69 Y:FE P:A4 SP:FB CYC:315 SL:253\nCC4D  70 0F     BVS $CC5E                       A:96 X:69 Y:FE P:A4 SP:FB CYC:321 SL:253\nCC4F  C0 FE     CPY #$FE                        A:96 X:69 Y:FE P:A4 SP:FB CYC:327 SL:253\nCC51  D0 0B     BNE $CC5E                       A:96 X:69 Y:FE P:27 SP:FB CYC:333 SL:253\nCC53  C9 96     CMP #$96                        A:96 X:69 Y:FE P:27 SP:FB CYC:339 SL:253\nCC55  D0 07     BNE $CC5E                       A:96 X:69 Y:FE P:27 SP:FB CYC:  4 SL:254\nCC57  E0 69     CPX #$69                        A:96 X:69 Y:FE P:27 SP:FB CYC: 10 SL:254\nCC59  D0 03     BNE $CC5E                       A:96 X:69 Y:FE P:27 SP:FB CYC: 16 SL:254\nCC5B  4C 62 CC  JMP $CC62                       A:96 X:69 Y:FE P:27 SP:FB CYC: 22 SL:254\nCC62  EA        NOP                             A:96 X:69 Y:FE P:27 SP:FB CYC: 31 SL:254\nCC63  38        SEC                             A:96 X:69 Y:FE P:27 SP:FB CYC: 37 SL:254\nCC64  A0 69     LDY #$69                        A:96 X:69 Y:FE P:27 SP:FB CYC: 43 SL:254\nCC66  A9 96     LDA #$96                        A:96 X:69 Y:69 P:25 SP:FB CYC: 49 SL:254\nCC68  24 01     BIT $01 = FF                    A:96 X:69 Y:69 P:A5 SP:FB CYC: 55 SL:254\nCC6A  A2 FF     LDX #$FF                        A:96 X:69 Y:69 P:E5 SP:FB CYC: 64 SL:254\nCC6C  E8        INX                             A:96 X:FF Y:69 P:E5 SP:FB CYC: 70 SL:254\nCC6D  D0 3D     BNE $CCAC                       A:96 X:00 Y:69 P:67 SP:FB CYC: 76 SL:254\nCC6F  30 3B     BMI $CCAC                       A:96 X:00 Y:69 P:67 SP:FB CYC: 82 SL:254\nCC71  90 39     BCC $CCAC                       A:96 X:00 Y:69 P:67 SP:FB CYC: 88 SL:254\nCC73  50 37     BVC $CCAC                       A:96 X:00 Y:69 P:67 SP:FB CYC: 94 SL:254\nCC75  E0 00     CPX #$00                        A:96 X:00 Y:69 P:67 SP:FB CYC:100 SL:254\nCC77  D0 33     BNE $CCAC                       A:96 X:00 Y:69 P:67 SP:FB CYC:106 SL:254\nCC79  E8        INX                             A:96 X:00 Y:69 P:67 SP:FB CYC:112 SL:254\nCC7A  F0 30     BEQ $CCAC                       A:96 X:01 Y:69 P:65 SP:FB CYC:118 SL:254\nCC7C  30 2E     BMI $CCAC                       A:96 X:01 Y:69 P:65 SP:FB CYC:124 SL:254\nCC7E  90 2C     BCC $CCAC                       A:96 X:01 Y:69 P:65 SP:FB CYC:130 SL:254\nCC80  50 2A     BVC $CCAC                       A:96 X:01 Y:69 P:65 SP:FB CYC:136 SL:254\nCC82  18        CLC                             A:96 X:01 Y:69 P:65 SP:FB CYC:142 SL:254\nCC83  B8        CLV                             A:96 X:01 Y:69 P:64 SP:FB CYC:148 SL:254\nCC84  A2 00     LDX #$00                        A:96 X:01 Y:69 P:24 SP:FB CYC:154 SL:254\nCC86  CA        DEX                             A:96 X:00 Y:69 P:26 SP:FB CYC:160 SL:254\nCC87  F0 23     BEQ $CCAC                       A:96 X:FF Y:69 P:A4 SP:FB CYC:166 SL:254\nCC89  10 21     BPL $CCAC                       A:96 X:FF Y:69 P:A4 SP:FB CYC:172 SL:254\nCC8B  B0 1F     BCS $CCAC                       A:96 X:FF Y:69 P:A4 SP:FB CYC:178 SL:254\nCC8D  70 1D     BVS $CCAC                       A:96 X:FF Y:69 P:A4 SP:FB CYC:184 SL:254\nCC8F  E0 FF     CPX #$FF                        A:96 X:FF Y:69 P:A4 SP:FB CYC:190 SL:254\nCC91  D0 19     BNE $CCAC                       A:96 X:FF Y:69 P:27 SP:FB CYC:196 SL:254\nCC93  18        CLC                             A:96 X:FF Y:69 P:27 SP:FB CYC:202 SL:254\nCC94  CA        DEX                             A:96 X:FF Y:69 P:26 SP:FB CYC:208 SL:254\nCC95  F0 15     BEQ $CCAC                       A:96 X:FE Y:69 P:A4 SP:FB CYC:214 SL:254\nCC97  10 13     BPL $CCAC                       A:96 X:FE Y:69 P:A4 SP:FB CYC:220 SL:254\nCC99  B0 11     BCS $CCAC                       A:96 X:FE Y:69 P:A4 SP:FB CYC:226 SL:254\nCC9B  70 0F     BVS $CCAC                       A:96 X:FE Y:69 P:A4 SP:FB CYC:232 SL:254\nCC9D  E0 FE     CPX #$FE                        A:96 X:FE Y:69 P:A4 SP:FB CYC:238 SL:254\nCC9F  D0 0B     BNE $CCAC                       A:96 X:FE Y:69 P:27 SP:FB CYC:244 SL:254\nCCA1  C9 96     CMP #$96                        A:96 X:FE Y:69 P:27 SP:FB CYC:250 SL:254\nCCA3  D0 07     BNE $CCAC                       A:96 X:FE Y:69 P:27 SP:FB CYC:256 SL:254\nCCA5  C0 69     CPY #$69                        A:96 X:FE Y:69 P:27 SP:FB CYC:262 SL:254\nCCA7  D0 03     BNE $CCAC                       A:96 X:FE Y:69 P:27 SP:FB CYC:268 SL:254\nCCA9  4C B0 CC  JMP $CCB0                       A:96 X:FE Y:69 P:27 SP:FB CYC:274 SL:254\nCCB0  EA        NOP                             A:96 X:FE Y:69 P:27 SP:FB CYC:283 SL:254\nCCB1  A9 85     LDA #$85                        A:96 X:FE Y:69 P:27 SP:FB CYC:289 SL:254\nCCB3  A2 34     LDX #$34                        A:85 X:FE Y:69 P:A5 SP:FB CYC:295 SL:254\nCCB5  A0 99     LDY #$99                        A:85 X:34 Y:69 P:25 SP:FB CYC:301 SL:254\nCCB7  18        CLC                             A:85 X:34 Y:99 P:A5 SP:FB CYC:307 SL:254\nCCB8  24 01     BIT $01 = FF                    A:85 X:34 Y:99 P:A4 SP:FB CYC:313 SL:254\nCCBA  A8        TAY                             A:85 X:34 Y:99 P:E4 SP:FB CYC:322 SL:254\nCCBB  F0 2E     BEQ $CCEB                       A:85 X:34 Y:85 P:E4 SP:FB CYC:328 SL:254\nCCBD  B0 2C     BCS $CCEB                       A:85 X:34 Y:85 P:E4 SP:FB CYC:334 SL:254\nCCBF  50 2A     BVC $CCEB                       A:85 X:34 Y:85 P:E4 SP:FB CYC:340 SL:254\nCCC1  10 28     BPL $CCEB                       A:85 X:34 Y:85 P:E4 SP:FB CYC:  5 SL:255\nCCC3  C9 85     CMP #$85                        A:85 X:34 Y:85 P:E4 SP:FB CYC: 11 SL:255\nCCC5  D0 24     BNE $CCEB                       A:85 X:34 Y:85 P:67 SP:FB CYC: 17 SL:255\nCCC7  E0 34     CPX #$34                        A:85 X:34 Y:85 P:67 SP:FB CYC: 23 SL:255\nCCC9  D0 20     BNE $CCEB                       A:85 X:34 Y:85 P:67 SP:FB CYC: 29 SL:255\nCCCB  C0 85     CPY #$85                        A:85 X:34 Y:85 P:67 SP:FB CYC: 35 SL:255\nCCCD  D0 1C     BNE $CCEB                       A:85 X:34 Y:85 P:67 SP:FB CYC: 41 SL:255\nCCCF  A9 00     LDA #$00                        A:85 X:34 Y:85 P:67 SP:FB CYC: 47 SL:255\nCCD1  38        SEC                             A:00 X:34 Y:85 P:67 SP:FB CYC: 53 SL:255\nCCD2  B8        CLV                             A:00 X:34 Y:85 P:67 SP:FB CYC: 59 SL:255\nCCD3  A8        TAY                             A:00 X:34 Y:85 P:27 SP:FB CYC: 65 SL:255\nCCD4  D0 15     BNE $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC: 71 SL:255\nCCD6  90 13     BCC $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC: 77 SL:255\nCCD8  70 11     BVS $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC: 83 SL:255\nCCDA  30 0F     BMI $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC: 89 SL:255\nCCDC  C9 00     CMP #$00                        A:00 X:34 Y:00 P:27 SP:FB CYC: 95 SL:255\nCCDE  D0 0B     BNE $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC:101 SL:255\nCCE0  E0 34     CPX #$34                        A:00 X:34 Y:00 P:27 SP:FB CYC:107 SL:255\nCCE2  D0 07     BNE $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC:113 SL:255\nCCE4  C0 00     CPY #$00                        A:00 X:34 Y:00 P:27 SP:FB CYC:119 SL:255\nCCE6  D0 03     BNE $CCEB                       A:00 X:34 Y:00 P:27 SP:FB CYC:125 SL:255\nCCE8  4C EF CC  JMP $CCEF                       A:00 X:34 Y:00 P:27 SP:FB CYC:131 SL:255\nCCEF  EA        NOP                             A:00 X:34 Y:00 P:27 SP:FB CYC:140 SL:255\nCCF0  A9 85     LDA #$85                        A:00 X:34 Y:00 P:27 SP:FB CYC:146 SL:255\nCCF2  A2 34     LDX #$34                        A:85 X:34 Y:00 P:A5 SP:FB CYC:152 SL:255\nCCF4  A0 99     LDY #$99                        A:85 X:34 Y:00 P:25 SP:FB CYC:158 SL:255\nCCF6  18        CLC                             A:85 X:34 Y:99 P:A5 SP:FB CYC:164 SL:255\nCCF7  24 01     BIT $01 = FF                    A:85 X:34 Y:99 P:A4 SP:FB CYC:170 SL:255\nCCF9  AA        TAX                             A:85 X:34 Y:99 P:E4 SP:FB CYC:179 SL:255\nCCFA  F0 2E     BEQ $CD2A                       A:85 X:85 Y:99 P:E4 SP:FB CYC:185 SL:255\nCCFC  B0 2C     BCS $CD2A                       A:85 X:85 Y:99 P:E4 SP:FB CYC:191 SL:255\nCCFE  50 2A     BVC $CD2A                       A:85 X:85 Y:99 P:E4 SP:FB CYC:197 SL:255\nCD00  10 28     BPL $CD2A                       A:85 X:85 Y:99 P:E4 SP:FB CYC:203 SL:255\nCD02  C9 85     CMP #$85                        A:85 X:85 Y:99 P:E4 SP:FB CYC:209 SL:255\nCD04  D0 24     BNE $CD2A                       A:85 X:85 Y:99 P:67 SP:FB CYC:215 SL:255\nCD06  E0 85     CPX #$85                        A:85 X:85 Y:99 P:67 SP:FB CYC:221 SL:255\nCD08  D0 20     BNE $CD2A                       A:85 X:85 Y:99 P:67 SP:FB CYC:227 SL:255\nCD0A  C0 99     CPY #$99                        A:85 X:85 Y:99 P:67 SP:FB CYC:233 SL:255\nCD0C  D0 1C     BNE $CD2A                       A:85 X:85 Y:99 P:67 SP:FB CYC:239 SL:255\nCD0E  A9 00     LDA #$00                        A:85 X:85 Y:99 P:67 SP:FB CYC:245 SL:255\nCD10  38        SEC                             A:00 X:85 Y:99 P:67 SP:FB CYC:251 SL:255\nCD11  B8        CLV                             A:00 X:85 Y:99 P:67 SP:FB CYC:257 SL:255\nCD12  AA        TAX                             A:00 X:85 Y:99 P:27 SP:FB CYC:263 SL:255\nCD13  D0 15     BNE $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:269 SL:255\nCD15  90 13     BCC $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:275 SL:255\nCD17  70 11     BVS $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:281 SL:255\nCD19  30 0F     BMI $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:287 SL:255\nCD1B  C9 00     CMP #$00                        A:00 X:00 Y:99 P:27 SP:FB CYC:293 SL:255\nCD1D  D0 0B     BNE $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:299 SL:255\nCD1F  E0 00     CPX #$00                        A:00 X:00 Y:99 P:27 SP:FB CYC:305 SL:255\nCD21  D0 07     BNE $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:311 SL:255\nCD23  C0 99     CPY #$99                        A:00 X:00 Y:99 P:27 SP:FB CYC:317 SL:255\nCD25  D0 03     BNE $CD2A                       A:00 X:00 Y:99 P:27 SP:FB CYC:323 SL:255\nCD27  4C 2E CD  JMP $CD2E                       A:00 X:00 Y:99 P:27 SP:FB CYC:329 SL:255\nCD2E  EA        NOP                             A:00 X:00 Y:99 P:27 SP:FB CYC:338 SL:255\nCD2F  A9 85     LDA #$85                        A:00 X:00 Y:99 P:27 SP:FB CYC:  3 SL:256\nCD31  A2 34     LDX #$34                        A:85 X:00 Y:99 P:A5 SP:FB CYC:  9 SL:256\nCD33  A0 99     LDY #$99                        A:85 X:34 Y:99 P:25 SP:FB CYC: 15 SL:256\nCD35  18        CLC                             A:85 X:34 Y:99 P:A5 SP:FB CYC: 21 SL:256\nCD36  24 01     BIT $01 = FF                    A:85 X:34 Y:99 P:A4 SP:FB CYC: 27 SL:256\nCD38  98        TYA                             A:85 X:34 Y:99 P:E4 SP:FB CYC: 36 SL:256\nCD39  F0 2E     BEQ $CD69                       A:99 X:34 Y:99 P:E4 SP:FB CYC: 42 SL:256\nCD3B  B0 2C     BCS $CD69                       A:99 X:34 Y:99 P:E4 SP:FB CYC: 48 SL:256\nCD3D  50 2A     BVC $CD69                       A:99 X:34 Y:99 P:E4 SP:FB CYC: 54 SL:256\nCD3F  10 28     BPL $CD69                       A:99 X:34 Y:99 P:E4 SP:FB CYC: 60 SL:256\nCD41  C9 99     CMP #$99                        A:99 X:34 Y:99 P:E4 SP:FB CYC: 66 SL:256\nCD43  D0 24     BNE $CD69                       A:99 X:34 Y:99 P:67 SP:FB CYC: 72 SL:256\nCD45  E0 34     CPX #$34                        A:99 X:34 Y:99 P:67 SP:FB CYC: 78 SL:256\nCD47  D0 20     BNE $CD69                       A:99 X:34 Y:99 P:67 SP:FB CYC: 84 SL:256\nCD49  C0 99     CPY #$99                        A:99 X:34 Y:99 P:67 SP:FB CYC: 90 SL:256\nCD4B  D0 1C     BNE $CD69                       A:99 X:34 Y:99 P:67 SP:FB CYC: 96 SL:256\nCD4D  A0 00     LDY #$00                        A:99 X:34 Y:99 P:67 SP:FB CYC:102 SL:256\nCD4F  38        SEC                             A:99 X:34 Y:00 P:67 SP:FB CYC:108 SL:256\nCD50  B8        CLV                             A:99 X:34 Y:00 P:67 SP:FB CYC:114 SL:256\nCD51  98        TYA                             A:99 X:34 Y:00 P:27 SP:FB CYC:120 SL:256\nCD52  D0 15     BNE $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:126 SL:256\nCD54  90 13     BCC $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:132 SL:256\nCD56  70 11     BVS $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:138 SL:256\nCD58  30 0F     BMI $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:144 SL:256\nCD5A  C9 00     CMP #$00                        A:00 X:34 Y:00 P:27 SP:FB CYC:150 SL:256\nCD5C  D0 0B     BNE $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:156 SL:256\nCD5E  E0 34     CPX #$34                        A:00 X:34 Y:00 P:27 SP:FB CYC:162 SL:256\nCD60  D0 07     BNE $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:168 SL:256\nCD62  C0 00     CPY #$00                        A:00 X:34 Y:00 P:27 SP:FB CYC:174 SL:256\nCD64  D0 03     BNE $CD69                       A:00 X:34 Y:00 P:27 SP:FB CYC:180 SL:256\nCD66  4C 6D CD  JMP $CD6D                       A:00 X:34 Y:00 P:27 SP:FB CYC:186 SL:256\nCD6D  EA        NOP                             A:00 X:34 Y:00 P:27 SP:FB CYC:195 SL:256\nCD6E  A9 85     LDA #$85                        A:00 X:34 Y:00 P:27 SP:FB CYC:201 SL:256\nCD70  A2 34     LDX #$34                        A:85 X:34 Y:00 P:A5 SP:FB CYC:207 SL:256\nCD72  A0 99     LDY #$99                        A:85 X:34 Y:00 P:25 SP:FB CYC:213 SL:256\nCD74  18        CLC                             A:85 X:34 Y:99 P:A5 SP:FB CYC:219 SL:256\nCD75  24 01     BIT $01 = FF                    A:85 X:34 Y:99 P:A4 SP:FB CYC:225 SL:256\nCD77  8A        TXA                             A:85 X:34 Y:99 P:E4 SP:FB CYC:234 SL:256\nCD78  F0 2E     BEQ $CDA8                       A:34 X:34 Y:99 P:64 SP:FB CYC:240 SL:256\nCD7A  B0 2C     BCS $CDA8                       A:34 X:34 Y:99 P:64 SP:FB CYC:246 SL:256\nCD7C  50 2A     BVC $CDA8                       A:34 X:34 Y:99 P:64 SP:FB CYC:252 SL:256\nCD7E  30 28     BMI $CDA8                       A:34 X:34 Y:99 P:64 SP:FB CYC:258 SL:256\nCD80  C9 34     CMP #$34                        A:34 X:34 Y:99 P:64 SP:FB CYC:264 SL:256\nCD82  D0 24     BNE $CDA8                       A:34 X:34 Y:99 P:67 SP:FB CYC:270 SL:256\nCD84  E0 34     CPX #$34                        A:34 X:34 Y:99 P:67 SP:FB CYC:276 SL:256\nCD86  D0 20     BNE $CDA8                       A:34 X:34 Y:99 P:67 SP:FB CYC:282 SL:256\nCD88  C0 99     CPY #$99                        A:34 X:34 Y:99 P:67 SP:FB CYC:288 SL:256\nCD8A  D0 1C     BNE $CDA8                       A:34 X:34 Y:99 P:67 SP:FB CYC:294 SL:256\nCD8C  A2 00     LDX #$00                        A:34 X:34 Y:99 P:67 SP:FB CYC:300 SL:256\nCD8E  38        SEC                             A:34 X:00 Y:99 P:67 SP:FB CYC:306 SL:256\nCD8F  B8        CLV                             A:34 X:00 Y:99 P:67 SP:FB CYC:312 SL:256\nCD90  8A        TXA                             A:34 X:00 Y:99 P:27 SP:FB CYC:318 SL:256\nCD91  D0 15     BNE $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC:324 SL:256\nCD93  90 13     BCC $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC:330 SL:256\nCD95  70 11     BVS $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC:336 SL:256\nCD97  30 0F     BMI $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC:  1 SL:257\nCD99  C9 00     CMP #$00                        A:00 X:00 Y:99 P:27 SP:FB CYC:  7 SL:257\nCD9B  D0 0B     BNE $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC: 13 SL:257\nCD9D  E0 00     CPX #$00                        A:00 X:00 Y:99 P:27 SP:FB CYC: 19 SL:257\nCD9F  D0 07     BNE $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC: 25 SL:257\nCDA1  C0 99     CPY #$99                        A:00 X:00 Y:99 P:27 SP:FB CYC: 31 SL:257\nCDA3  D0 03     BNE $CDA8                       A:00 X:00 Y:99 P:27 SP:FB CYC: 37 SL:257\nCDA5  4C AC CD  JMP $CDAC                       A:00 X:00 Y:99 P:27 SP:FB CYC: 43 SL:257\nCDAC  EA        NOP                             A:00 X:00 Y:99 P:27 SP:FB CYC: 52 SL:257\nCDAD  BA        TSX                             A:00 X:00 Y:99 P:27 SP:FB CYC: 58 SL:257\nCDAE  8E FF 07  STX $07FF = 00                  A:00 X:FB Y:99 P:A5 SP:FB CYC: 64 SL:257\nCDB1  A0 33     LDY #$33                        A:00 X:FB Y:99 P:A5 SP:FB CYC: 76 SL:257\nCDB3  A2 69     LDX #$69                        A:00 X:FB Y:33 P:25 SP:FB CYC: 82 SL:257\nCDB5  A9 84     LDA #$84                        A:00 X:69 Y:33 P:25 SP:FB CYC: 88 SL:257\nCDB7  18        CLC                             A:84 X:69 Y:33 P:A5 SP:FB CYC: 94 SL:257\nCDB8  24 01     BIT $01 = FF                    A:84 X:69 Y:33 P:A4 SP:FB CYC:100 SL:257\nCDBA  9A        TXS                             A:84 X:69 Y:33 P:E4 SP:FB CYC:109 SL:257\nCDBB  F0 32     BEQ $CDEF                       A:84 X:69 Y:33 P:E4 SP:69 CYC:115 SL:257\nCDBD  10 30     BPL $CDEF                       A:84 X:69 Y:33 P:E4 SP:69 CYC:121 SL:257\nCDBF  B0 2E     BCS $CDEF                       A:84 X:69 Y:33 P:E4 SP:69 CYC:127 SL:257\nCDC1  50 2C     BVC $CDEF                       A:84 X:69 Y:33 P:E4 SP:69 CYC:133 SL:257\nCDC3  C9 84     CMP #$84                        A:84 X:69 Y:33 P:E4 SP:69 CYC:139 SL:257\nCDC5  D0 28     BNE $CDEF                       A:84 X:69 Y:33 P:67 SP:69 CYC:145 SL:257\nCDC7  E0 69     CPX #$69                        A:84 X:69 Y:33 P:67 SP:69 CYC:151 SL:257\nCDC9  D0 24     BNE $CDEF                       A:84 X:69 Y:33 P:67 SP:69 CYC:157 SL:257\nCDCB  C0 33     CPY #$33                        A:84 X:69 Y:33 P:67 SP:69 CYC:163 SL:257\nCDCD  D0 20     BNE $CDEF                       A:84 X:69 Y:33 P:67 SP:69 CYC:169 SL:257\nCDCF  A0 01     LDY #$01                        A:84 X:69 Y:33 P:67 SP:69 CYC:175 SL:257\nCDD1  A9 04     LDA #$04                        A:84 X:69 Y:01 P:65 SP:69 CYC:181 SL:257\nCDD3  38        SEC                             A:04 X:69 Y:01 P:65 SP:69 CYC:187 SL:257\nCDD4  B8        CLV                             A:04 X:69 Y:01 P:65 SP:69 CYC:193 SL:257\nCDD5  A2 00     LDX #$00                        A:04 X:69 Y:01 P:25 SP:69 CYC:199 SL:257\nCDD7  BA        TSX                             A:04 X:00 Y:01 P:27 SP:69 CYC:205 SL:257\nCDD8  F0 15     BEQ $CDEF                       A:04 X:69 Y:01 P:25 SP:69 CYC:211 SL:257\nCDDA  30 13     BMI $CDEF                       A:04 X:69 Y:01 P:25 SP:69 CYC:217 SL:257\nCDDC  90 11     BCC $CDEF                       A:04 X:69 Y:01 P:25 SP:69 CYC:223 SL:257\nCDDE  70 0F     BVS $CDEF                       A:04 X:69 Y:01 P:25 SP:69 CYC:229 SL:257\nCDE0  E0 69     CPX #$69                        A:04 X:69 Y:01 P:25 SP:69 CYC:235 SL:257\nCDE2  D0 0B     BNE $CDEF                       A:04 X:69 Y:01 P:27 SP:69 CYC:241 SL:257\nCDE4  C9 04     CMP #$04                        A:04 X:69 Y:01 P:27 SP:69 CYC:247 SL:257\nCDE6  D0 07     BNE $CDEF                       A:04 X:69 Y:01 P:27 SP:69 CYC:253 SL:257\nCDE8  C0 01     CPY #$01                        A:04 X:69 Y:01 P:27 SP:69 CYC:259 SL:257\nCDEA  D0 03     BNE $CDEF                       A:04 X:69 Y:01 P:27 SP:69 CYC:265 SL:257\nCDEC  4C F3 CD  JMP $CDF3                       A:04 X:69 Y:01 P:27 SP:69 CYC:271 SL:257\nCDF3  AE FF 07  LDX $07FF = FB                  A:04 X:69 Y:01 P:27 SP:69 CYC:280 SL:257\nCDF6  9A        TXS                             A:04 X:FB Y:01 P:A5 SP:69 CYC:292 SL:257\nCDF7  60        RTS                             A:04 X:FB Y:01 P:A5 SP:FB CYC:298 SL:257\nC609  20 F8 CD  JSR $CDF8                       A:04 X:FB Y:01 P:A5 SP:FD CYC:316 SL:257\nCDF8  A9 FF     LDA #$FF                        A:04 X:FB Y:01 P:A5 SP:FB CYC:334 SL:257\nCDFA  85 01     STA $01 = FF                    A:FF X:FB Y:01 P:A5 SP:FB CYC:340 SL:257\nCDFC  BA        TSX                             A:FF X:FB Y:01 P:A5 SP:FB CYC:  8 SL:258\nCDFD  8E FF 07  STX $07FF = FB                  A:FF X:FB Y:01 P:A5 SP:FB CYC: 14 SL:258\nCE00  EA        NOP                             A:FF X:FB Y:01 P:A5 SP:FB CYC: 26 SL:258\nCE01  A2 80     LDX #$80                        A:FF X:FB Y:01 P:A5 SP:FB CYC: 32 SL:258\nCE03  9A        TXS                             A:FF X:80 Y:01 P:A5 SP:FB CYC: 38 SL:258\nCE04  A9 33     LDA #$33                        A:FF X:80 Y:01 P:A5 SP:80 CYC: 44 SL:258\nCE06  48        PHA                             A:33 X:80 Y:01 P:25 SP:80 CYC: 50 SL:258\nCE07  A9 69     LDA #$69                        A:33 X:80 Y:01 P:25 SP:7F CYC: 59 SL:258\nCE09  48        PHA                             A:69 X:80 Y:01 P:25 SP:7F CYC: 65 SL:258\nCE0A  BA        TSX                             A:69 X:80 Y:01 P:25 SP:7E CYC: 74 SL:258\nCE0B  E0 7E     CPX #$7E                        A:69 X:7E Y:01 P:25 SP:7E CYC: 80 SL:258\nCE0D  D0 20     BNE $CE2F                       A:69 X:7E Y:01 P:27 SP:7E CYC: 86 SL:258\nCE0F  68        PLA                             A:69 X:7E Y:01 P:27 SP:7E CYC: 92 SL:258\nCE10  C9 69     CMP #$69                        A:69 X:7E Y:01 P:25 SP:7F CYC:104 SL:258\nCE12  D0 1B     BNE $CE2F                       A:69 X:7E Y:01 P:27 SP:7F CYC:110 SL:258\nCE14  68        PLA                             A:69 X:7E Y:01 P:27 SP:7F CYC:116 SL:258\nCE15  C9 33     CMP #$33                        A:33 X:7E Y:01 P:25 SP:80 CYC:128 SL:258\nCE17  D0 16     BNE $CE2F                       A:33 X:7E Y:01 P:27 SP:80 CYC:134 SL:258\nCE19  BA        TSX                             A:33 X:7E Y:01 P:27 SP:80 CYC:140 SL:258\nCE1A  E0 80     CPX #$80                        A:33 X:80 Y:01 P:A5 SP:80 CYC:146 SL:258\nCE1C  D0 11     BNE $CE2F                       A:33 X:80 Y:01 P:27 SP:80 CYC:152 SL:258\nCE1E  AD 80 01  LDA $0180 = 33                  A:33 X:80 Y:01 P:27 SP:80 CYC:158 SL:258\nCE21  C9 33     CMP #$33                        A:33 X:80 Y:01 P:25 SP:80 CYC:170 SL:258\nCE23  D0 0A     BNE $CE2F                       A:33 X:80 Y:01 P:27 SP:80 CYC:176 SL:258\nCE25  AD 7F 01  LDA $017F = 69                  A:33 X:80 Y:01 P:27 SP:80 CYC:182 SL:258\nCE28  C9 69     CMP #$69                        A:69 X:80 Y:01 P:25 SP:80 CYC:194 SL:258\nCE2A  D0 03     BNE $CE2F                       A:69 X:80 Y:01 P:27 SP:80 CYC:200 SL:258\nCE2C  4C 33 CE  JMP $CE33                       A:69 X:80 Y:01 P:27 SP:80 CYC:206 SL:258\nCE33  EA        NOP                             A:69 X:80 Y:01 P:27 SP:80 CYC:215 SL:258\nCE34  A2 80     LDX #$80                        A:69 X:80 Y:01 P:27 SP:80 CYC:221 SL:258\nCE36  9A        TXS                             A:69 X:80 Y:01 P:A5 SP:80 CYC:227 SL:258\nCE37  20 3D CE  JSR $CE3D                       A:69 X:80 Y:01 P:A5 SP:80 CYC:233 SL:258\nCE3D  BA        TSX                             A:69 X:80 Y:01 P:A5 SP:7E CYC:251 SL:258\nCE3E  E0 7E     CPX #$7E                        A:69 X:7E Y:01 P:25 SP:7E CYC:257 SL:258\nCE40  D0 19     BNE $CE5B                       A:69 X:7E Y:01 P:27 SP:7E CYC:263 SL:258\nCE42  68        PLA                             A:69 X:7E Y:01 P:27 SP:7E CYC:269 SL:258\nCE43  68        PLA                             A:39 X:7E Y:01 P:25 SP:7F CYC:281 SL:258\nCE44  BA        TSX                             A:CE X:7E Y:01 P:A5 SP:80 CYC:293 SL:258\nCE45  E0 80     CPX #$80                        A:CE X:80 Y:01 P:A5 SP:80 CYC:299 SL:258\nCE47  D0 12     BNE $CE5B                       A:CE X:80 Y:01 P:27 SP:80 CYC:305 SL:258\nCE49  A9 00     LDA #$00                        A:CE X:80 Y:01 P:27 SP:80 CYC:311 SL:258\nCE4B  20 4E CE  JSR $CE4E                       A:00 X:80 Y:01 P:27 SP:80 CYC:317 SL:258\nCE4E  68        PLA                             A:00 X:80 Y:01 P:27 SP:7E CYC:335 SL:258\nCE4F  C9 4D     CMP #$4D                        A:4D X:80 Y:01 P:25 SP:7F CYC:  6 SL:259\nCE51  D0 08     BNE $CE5B                       A:4D X:80 Y:01 P:27 SP:7F CYC: 12 SL:259\nCE53  68        PLA                             A:4D X:80 Y:01 P:27 SP:7F CYC: 18 SL:259\nCE54  C9 CE     CMP #$CE                        A:CE X:80 Y:01 P:A5 SP:80 CYC: 30 SL:259\nCE56  D0 03     BNE $CE5B                       A:CE X:80 Y:01 P:27 SP:80 CYC: 36 SL:259\nCE58  4C 5F CE  JMP $CE5F                       A:CE X:80 Y:01 P:27 SP:80 CYC: 42 SL:259\nCE5F  EA        NOP                             A:CE X:80 Y:01 P:27 SP:80 CYC: 51 SL:259\nCE60  A9 CE     LDA #$CE                        A:CE X:80 Y:01 P:27 SP:80 CYC: 57 SL:259\nCE62  48        PHA                             A:CE X:80 Y:01 P:A5 SP:80 CYC: 63 SL:259\nCE63  A9 66     LDA #$66                        A:CE X:80 Y:01 P:A5 SP:7F CYC: 72 SL:259\nCE65  48        PHA                             A:66 X:80 Y:01 P:25 SP:7F CYC: 78 SL:259\nCE66  60        RTS                             A:66 X:80 Y:01 P:25 SP:7E CYC: 87 SL:259\nCE67  A2 77     LDX #$77                        A:66 X:80 Y:01 P:25 SP:80 CYC:105 SL:259\nCE69  A0 69     LDY #$69                        A:66 X:77 Y:01 P:25 SP:80 CYC:111 SL:259\nCE6B  18        CLC                             A:66 X:77 Y:69 P:25 SP:80 CYC:117 SL:259\nCE6C  24 01     BIT $01 = FF                    A:66 X:77 Y:69 P:24 SP:80 CYC:123 SL:259\nCE6E  A9 83     LDA #$83                        A:66 X:77 Y:69 P:E4 SP:80 CYC:132 SL:259\nCE70  20 66 CE  JSR $CE66                       A:83 X:77 Y:69 P:E4 SP:80 CYC:138 SL:259\nCE66  60        RTS                             A:83 X:77 Y:69 P:E4 SP:7E CYC:156 SL:259\nCE73  F0 24     BEQ $CE99                       A:83 X:77 Y:69 P:E4 SP:80 CYC:174 SL:259\nCE75  10 22     BPL $CE99                       A:83 X:77 Y:69 P:E4 SP:80 CYC:180 SL:259\nCE77  B0 20     BCS $CE99                       A:83 X:77 Y:69 P:E4 SP:80 CYC:186 SL:259\nCE79  50 1E     BVC $CE99                       A:83 X:77 Y:69 P:E4 SP:80 CYC:192 SL:259\nCE7B  C9 83     CMP #$83                        A:83 X:77 Y:69 P:E4 SP:80 CYC:198 SL:259\nCE7D  D0 1A     BNE $CE99                       A:83 X:77 Y:69 P:67 SP:80 CYC:204 SL:259\nCE7F  C0 69     CPY #$69                        A:83 X:77 Y:69 P:67 SP:80 CYC:210 SL:259\nCE81  D0 16     BNE $CE99                       A:83 X:77 Y:69 P:67 SP:80 CYC:216 SL:259\nCE83  E0 77     CPX #$77                        A:83 X:77 Y:69 P:67 SP:80 CYC:222 SL:259\nCE85  D0 12     BNE $CE99                       A:83 X:77 Y:69 P:67 SP:80 CYC:228 SL:259\nCE87  38        SEC                             A:83 X:77 Y:69 P:67 SP:80 CYC:234 SL:259\nCE88  B8        CLV                             A:83 X:77 Y:69 P:67 SP:80 CYC:240 SL:259\nCE89  A9 00     LDA #$00                        A:83 X:77 Y:69 P:27 SP:80 CYC:246 SL:259\nCE8B  20 66 CE  JSR $CE66                       A:00 X:77 Y:69 P:27 SP:80 CYC:252 SL:259\nCE66  60        RTS                             A:00 X:77 Y:69 P:27 SP:7E CYC:270 SL:259\nCE8E  D0 09     BNE $CE99                       A:00 X:77 Y:69 P:27 SP:80 CYC:288 SL:259\nCE90  30 07     BMI $CE99                       A:00 X:77 Y:69 P:27 SP:80 CYC:294 SL:259\nCE92  90 05     BCC $CE99                       A:00 X:77 Y:69 P:27 SP:80 CYC:300 SL:259\nCE94  70 03     BVS $CE99                       A:00 X:77 Y:69 P:27 SP:80 CYC:306 SL:259\nCE96  4C 9D CE  JMP $CE9D                       A:00 X:77 Y:69 P:27 SP:80 CYC:312 SL:259\nCE9D  EA        NOP                             A:00 X:77 Y:69 P:27 SP:80 CYC:321 SL:259\nCE9E  A9 CE     LDA #$CE                        A:00 X:77 Y:69 P:27 SP:80 CYC:327 SL:259\nCEA0  48        PHA                             A:CE X:77 Y:69 P:A5 SP:80 CYC:333 SL:259\nCEA1  A9 AE     LDA #$AE                        A:CE X:77 Y:69 P:A5 SP:7F CYC:  1 SL:260\nCEA3  48        PHA                             A:AE X:77 Y:69 P:A5 SP:7F CYC:  7 SL:260\nCEA4  A9 65     LDA #$65                        A:AE X:77 Y:69 P:A5 SP:7E CYC: 16 SL:260\nCEA6  48        PHA                             A:65 X:77 Y:69 P:25 SP:7E CYC: 22 SL:260\nCEA7  A9 55     LDA #$55                        A:65 X:77 Y:69 P:25 SP:7D CYC: 31 SL:260\nCEA9  A0 88     LDY #$88                        A:55 X:77 Y:69 P:25 SP:7D CYC: 37 SL:260\nCEAB  A2 99     LDX #$99                        A:55 X:77 Y:88 P:A5 SP:7D CYC: 43 SL:260\nCEAD  40        RTI                             A:55 X:99 Y:88 P:A5 SP:7D CYC: 49 SL:260\nCEAE  30 35     BMI $CEE5                       A:55 X:99 Y:88 P:65 SP:80 CYC: 67 SL:260\nCEB0  50 33     BVC $CEE5                       A:55 X:99 Y:88 P:65 SP:80 CYC: 73 SL:260\nCEB2  F0 31     BEQ $CEE5                       A:55 X:99 Y:88 P:65 SP:80 CYC: 79 SL:260\nCEB4  90 2F     BCC $CEE5                       A:55 X:99 Y:88 P:65 SP:80 CYC: 85 SL:260\nCEB6  C9 55     CMP #$55                        A:55 X:99 Y:88 P:65 SP:80 CYC: 91 SL:260\nCEB8  D0 2B     BNE $CEE5                       A:55 X:99 Y:88 P:67 SP:80 CYC: 97 SL:260\nCEBA  C0 88     CPY #$88                        A:55 X:99 Y:88 P:67 SP:80 CYC:103 SL:260\nCEBC  D0 27     BNE $CEE5                       A:55 X:99 Y:88 P:67 SP:80 CYC:109 SL:260\nCEBE  E0 99     CPX #$99                        A:55 X:99 Y:88 P:67 SP:80 CYC:115 SL:260\nCEC0  D0 23     BNE $CEE5                       A:55 X:99 Y:88 P:67 SP:80 CYC:121 SL:260\nCEC2  A9 CE     LDA #$CE                        A:55 X:99 Y:88 P:67 SP:80 CYC:127 SL:260\nCEC4  48        PHA                             A:CE X:99 Y:88 P:E5 SP:80 CYC:133 SL:260\nCEC5  A9 CE     LDA #$CE                        A:CE X:99 Y:88 P:E5 SP:7F CYC:142 SL:260\nCEC7  48        PHA                             A:CE X:99 Y:88 P:E5 SP:7F CYC:148 SL:260\nCEC8  A9 87     LDA #$87                        A:CE X:99 Y:88 P:E5 SP:7E CYC:157 SL:260\nCECA  48        PHA                             A:87 X:99 Y:88 P:E5 SP:7E CYC:163 SL:260\nCECB  A9 55     LDA #$55                        A:87 X:99 Y:88 P:E5 SP:7D CYC:172 SL:260\nCECD  40        RTI                             A:55 X:99 Y:88 P:65 SP:7D CYC:178 SL:260\nCECE  10 15     BPL $CEE5                       A:55 X:99 Y:88 P:A7 SP:80 CYC:196 SL:260\nCED0  70 13     BVS $CEE5                       A:55 X:99 Y:88 P:A7 SP:80 CYC:202 SL:260\nCED2  D0 11     BNE $CEE5                       A:55 X:99 Y:88 P:A7 SP:80 CYC:208 SL:260\nCED4  90 0F     BCC $CEE5                       A:55 X:99 Y:88 P:A7 SP:80 CYC:214 SL:260\nCED6  C9 55     CMP #$55                        A:55 X:99 Y:88 P:A7 SP:80 CYC:220 SL:260\nCED8  D0 0B     BNE $CEE5                       A:55 X:99 Y:88 P:27 SP:80 CYC:226 SL:260\nCEDA  C0 88     CPY #$88                        A:55 X:99 Y:88 P:27 SP:80 CYC:232 SL:260\nCEDC  D0 07     BNE $CEE5                       A:55 X:99 Y:88 P:27 SP:80 CYC:238 SL:260\nCEDE  E0 99     CPX #$99                        A:55 X:99 Y:88 P:27 SP:80 CYC:244 SL:260\nCEE0  D0 03     BNE $CEE5                       A:55 X:99 Y:88 P:27 SP:80 CYC:250 SL:260\nCEE2  4C E9 CE  JMP $CEE9                       A:55 X:99 Y:88 P:27 SP:80 CYC:256 SL:260\nCEE9  AE FF 07  LDX $07FF = FB                  A:55 X:99 Y:88 P:27 SP:80 CYC:265 SL:260\nCEEC  9A        TXS                             A:55 X:FB Y:88 P:A5 SP:80 CYC:277 SL:260\nCEED  60        RTS                             A:55 X:FB Y:88 P:A5 SP:FB CYC:283 SL:260\nC60C  20 EE CE  JSR $CEEE                       A:55 X:FB Y:88 P:A5 SP:FD CYC:301 SL:260\nCEEE  A2 55     LDX #$55                        A:55 X:FB Y:88 P:A5 SP:FB CYC:319 SL:260\nCEF0  A0 69     LDY #$69                        A:55 X:55 Y:88 P:25 SP:FB CYC:325 SL:260\nCEF2  A9 FF     LDA #$FF                        A:55 X:55 Y:69 P:25 SP:FB CYC:331 SL:260\nCEF4  85 01     STA $01 = FF                    A:FF X:55 Y:69 P:A5 SP:FB CYC:337 SL:260\nCEF6  EA        NOP                             A:FF X:55 Y:69 P:A5 SP:FB CYC:  5 SL:-1\nCEF7  24 01     BIT $01 = FF                    A:FF X:55 Y:69 P:A5 SP:FB CYC: 11 SL:-1\nCEF9  38        SEC                             A:FF X:55 Y:69 P:E5 SP:FB CYC: 20 SL:-1\nCEFA  A9 01     LDA #$01                        A:FF X:55 Y:69 P:E5 SP:FB CYC: 26 SL:-1\nCEFC  4A        LSR A                           A:01 X:55 Y:69 P:65 SP:FB CYC: 32 SL:-1\nCEFD  90 1D     BCC $CF1C                       A:00 X:55 Y:69 P:67 SP:FB CYC: 38 SL:-1\nCEFF  D0 1B     BNE $CF1C                       A:00 X:55 Y:69 P:67 SP:FB CYC: 44 SL:-1\nCF01  30 19     BMI $CF1C                       A:00 X:55 Y:69 P:67 SP:FB CYC: 50 SL:-1\nCF03  50 17     BVC $CF1C                       A:00 X:55 Y:69 P:67 SP:FB CYC: 56 SL:-1\nCF05  C9 00     CMP #$00                        A:00 X:55 Y:69 P:67 SP:FB CYC: 62 SL:-1\nCF07  D0 13     BNE $CF1C                       A:00 X:55 Y:69 P:67 SP:FB CYC: 68 SL:-1\nCF09  B8        CLV                             A:00 X:55 Y:69 P:67 SP:FB CYC: 74 SL:-1\nCF0A  A9 AA     LDA #$AA                        A:00 X:55 Y:69 P:27 SP:FB CYC: 80 SL:-1\nCF0C  4A        LSR A                           A:AA X:55 Y:69 P:A5 SP:FB CYC: 86 SL:-1\nCF0D  B0 0D     BCS $CF1C                       A:55 X:55 Y:69 P:24 SP:FB CYC: 92 SL:-1\nCF0F  F0 0B     BEQ $CF1C                       A:55 X:55 Y:69 P:24 SP:FB CYC: 98 SL:-1\nCF11  30 09     BMI $CF1C                       A:55 X:55 Y:69 P:24 SP:FB CYC:104 SL:-1\nCF13  70 07     BVS $CF1C                       A:55 X:55 Y:69 P:24 SP:FB CYC:110 SL:-1\nCF15  C9 55     CMP #$55                        A:55 X:55 Y:69 P:24 SP:FB CYC:116 SL:-1\nCF17  D0 03     BNE $CF1C                       A:55 X:55 Y:69 P:27 SP:FB CYC:122 SL:-1\nCF19  4C 20 CF  JMP $CF20                       A:55 X:55 Y:69 P:27 SP:FB CYC:128 SL:-1\nCF20  EA        NOP                             A:55 X:55 Y:69 P:27 SP:FB CYC:137 SL:-1\nCF21  24 01     BIT $01 = FF                    A:55 X:55 Y:69 P:27 SP:FB CYC:143 SL:-1\nCF23  38        SEC                             A:55 X:55 Y:69 P:E5 SP:FB CYC:152 SL:-1\nCF24  A9 80     LDA #$80                        A:55 X:55 Y:69 P:E5 SP:FB CYC:158 SL:-1\nCF26  0A        ASL A                           A:80 X:55 Y:69 P:E5 SP:FB CYC:164 SL:-1\nCF27  90 1E     BCC $CF47                       A:00 X:55 Y:69 P:67 SP:FB CYC:170 SL:-1\nCF29  D0 1C     BNE $CF47                       A:00 X:55 Y:69 P:67 SP:FB CYC:176 SL:-1\nCF2B  30 1A     BMI $CF47                       A:00 X:55 Y:69 P:67 SP:FB CYC:182 SL:-1\nCF2D  50 18     BVC $CF47                       A:00 X:55 Y:69 P:67 SP:FB CYC:188 SL:-1\nCF2F  C9 00     CMP #$00                        A:00 X:55 Y:69 P:67 SP:FB CYC:194 SL:-1\nCF31  D0 14     BNE $CF47                       A:00 X:55 Y:69 P:67 SP:FB CYC:200 SL:-1\nCF33  B8        CLV                             A:00 X:55 Y:69 P:67 SP:FB CYC:206 SL:-1\nCF34  38        SEC                             A:00 X:55 Y:69 P:27 SP:FB CYC:212 SL:-1\nCF35  A9 55     LDA #$55                        A:00 X:55 Y:69 P:27 SP:FB CYC:218 SL:-1\nCF37  0A        ASL A                           A:55 X:55 Y:69 P:25 SP:FB CYC:224 SL:-1\nCF38  B0 0D     BCS $CF47                       A:AA X:55 Y:69 P:A4 SP:FB CYC:230 SL:-1\nCF3A  F0 0B     BEQ $CF47                       A:AA X:55 Y:69 P:A4 SP:FB CYC:236 SL:-1\nCF3C  10 09     BPL $CF47                       A:AA X:55 Y:69 P:A4 SP:FB CYC:242 SL:-1\nCF3E  70 07     BVS $CF47                       A:AA X:55 Y:69 P:A4 SP:FB CYC:248 SL:-1\nCF40  C9 AA     CMP #$AA                        A:AA X:55 Y:69 P:A4 SP:FB CYC:254 SL:-1\nCF42  D0 03     BNE $CF47                       A:AA X:55 Y:69 P:27 SP:FB CYC:260 SL:-1\nCF44  4C 4B CF  JMP $CF4B                       A:AA X:55 Y:69 P:27 SP:FB CYC:266 SL:-1\nCF4B  EA        NOP                             A:AA X:55 Y:69 P:27 SP:FB CYC:275 SL:-1\nCF4C  24 01     BIT $01 = FF                    A:AA X:55 Y:69 P:27 SP:FB CYC:281 SL:-1\nCF4E  38        SEC                             A:AA X:55 Y:69 P:E5 SP:FB CYC:290 SL:-1\nCF4F  A9 01     LDA #$01                        A:AA X:55 Y:69 P:E5 SP:FB CYC:296 SL:-1\nCF51  6A        ROR A                           A:01 X:55 Y:69 P:65 SP:FB CYC:302 SL:-1\nCF52  90 1E     BCC $CF72                       A:80 X:55 Y:69 P:E5 SP:FB CYC:308 SL:-1\nCF54  F0 1C     BEQ $CF72                       A:80 X:55 Y:69 P:E5 SP:FB CYC:314 SL:-1\nCF56  10 1A     BPL $CF72                       A:80 X:55 Y:69 P:E5 SP:FB CYC:320 SL:-1\nCF58  50 18     BVC $CF72                       A:80 X:55 Y:69 P:E5 SP:FB CYC:326 SL:-1\nCF5A  C9 80     CMP #$80                        A:80 X:55 Y:69 P:E5 SP:FB CYC:332 SL:-1\nCF5C  D0 14     BNE $CF72                       A:80 X:55 Y:69 P:67 SP:FB CYC:338 SL:-1\nCF5E  B8        CLV                             A:80 X:55 Y:69 P:67 SP:FB CYC:  3 SL:0\nCF5F  18        CLC                             A:80 X:55 Y:69 P:27 SP:FB CYC:  9 SL:0\nCF60  A9 55     LDA #$55                        A:80 X:55 Y:69 P:26 SP:FB CYC: 15 SL:0\nCF62  6A        ROR A                           A:55 X:55 Y:69 P:24 SP:FB CYC: 21 SL:0\nCF63  90 0D     BCC $CF72                       A:2A X:55 Y:69 P:25 SP:FB CYC: 27 SL:0\nCF65  F0 0B     BEQ $CF72                       A:2A X:55 Y:69 P:25 SP:FB CYC: 33 SL:0\nCF67  30 09     BMI $CF72                       A:2A X:55 Y:69 P:25 SP:FB CYC: 39 SL:0\nCF69  70 07     BVS $CF72                       A:2A X:55 Y:69 P:25 SP:FB CYC: 45 SL:0\nCF6B  C9 2A     CMP #$2A                        A:2A X:55 Y:69 P:25 SP:FB CYC: 51 SL:0\nCF6D  D0 03     BNE $CF72                       A:2A X:55 Y:69 P:27 SP:FB CYC: 57 SL:0\nCF6F  4C 76 CF  JMP $CF76                       A:2A X:55 Y:69 P:27 SP:FB CYC: 63 SL:0\nCF76  EA        NOP                             A:2A X:55 Y:69 P:27 SP:FB CYC: 72 SL:0\nCF77  24 01     BIT $01 = FF                    A:2A X:55 Y:69 P:27 SP:FB CYC: 78 SL:0\nCF79  38        SEC                             A:2A X:55 Y:69 P:E5 SP:FB CYC: 87 SL:0\nCF7A  A9 80     LDA #$80                        A:2A X:55 Y:69 P:E5 SP:FB CYC: 93 SL:0\nCF7C  2A        ROL A                           A:80 X:55 Y:69 P:E5 SP:FB CYC: 99 SL:0\nCF7D  90 1E     BCC $CF9D                       A:01 X:55 Y:69 P:65 SP:FB CYC:105 SL:0\nCF7F  F0 1C     BEQ $CF9D                       A:01 X:55 Y:69 P:65 SP:FB CYC:111 SL:0\nCF81  30 1A     BMI $CF9D                       A:01 X:55 Y:69 P:65 SP:FB CYC:117 SL:0\nCF83  50 18     BVC $CF9D                       A:01 X:55 Y:69 P:65 SP:FB CYC:123 SL:0\nCF85  C9 01     CMP #$01                        A:01 X:55 Y:69 P:65 SP:FB CYC:129 SL:0\nCF87  D0 14     BNE $CF9D                       A:01 X:55 Y:69 P:67 SP:FB CYC:135 SL:0\nCF89  B8        CLV                             A:01 X:55 Y:69 P:67 SP:FB CYC:141 SL:0\nCF8A  18        CLC                             A:01 X:55 Y:69 P:27 SP:FB CYC:147 SL:0\nCF8B  A9 55     LDA #$55                        A:01 X:55 Y:69 P:26 SP:FB CYC:153 SL:0\nCF8D  2A        ROL A                           A:55 X:55 Y:69 P:24 SP:FB CYC:159 SL:0\nCF8E  B0 0D     BCS $CF9D                       A:AA X:55 Y:69 P:A4 SP:FB CYC:165 SL:0\nCF90  F0 0B     BEQ $CF9D                       A:AA X:55 Y:69 P:A4 SP:FB CYC:171 SL:0\nCF92  10 09     BPL $CF9D                       A:AA X:55 Y:69 P:A4 SP:FB CYC:177 SL:0\nCF94  70 07     BVS $CF9D                       A:AA X:55 Y:69 P:A4 SP:FB CYC:183 SL:0\nCF96  C9 AA     CMP #$AA                        A:AA X:55 Y:69 P:A4 SP:FB CYC:189 SL:0\nCF98  D0 03     BNE $CF9D                       A:AA X:55 Y:69 P:27 SP:FB CYC:195 SL:0\nCF9A  4C A1 CF  JMP $CFA1                       A:AA X:55 Y:69 P:27 SP:FB CYC:201 SL:0\nCFA1  60        RTS                             A:AA X:55 Y:69 P:27 SP:FB CYC:210 SL:0\nC60F  20 A2 CF  JSR $CFA2                       A:AA X:55 Y:69 P:27 SP:FD CYC:228 SL:0\nCFA2  A5 00     LDA $00 = 00                    A:AA X:55 Y:69 P:27 SP:FB CYC:246 SL:0\nCFA4  8D FF 07  STA $07FF = FB                  A:00 X:55 Y:69 P:27 SP:FB CYC:255 SL:0\nCFA7  A9 00     LDA #$00                        A:00 X:55 Y:69 P:27 SP:FB CYC:267 SL:0\nCFA9  85 80     STA $80 = 00                    A:00 X:55 Y:69 P:27 SP:FB CYC:273 SL:0\nCFAB  A9 02     LDA #$02                        A:00 X:55 Y:69 P:27 SP:FB CYC:282 SL:0\nCFAD  85 81     STA $81 = 00                    A:02 X:55 Y:69 P:25 SP:FB CYC:288 SL:0\nCFAF  A9 FF     LDA #$FF                        A:02 X:55 Y:69 P:25 SP:FB CYC:297 SL:0\nCFB1  85 01     STA $01 = FF                    A:FF X:55 Y:69 P:A5 SP:FB CYC:303 SL:0\nCFB3  A9 00     LDA #$00                        A:FF X:55 Y:69 P:A5 SP:FB CYC:312 SL:0\nCFB5  85 82     STA $82 = 00                    A:00 X:55 Y:69 P:27 SP:FB CYC:318 SL:0\nCFB7  A9 03     LDA #$03                        A:00 X:55 Y:69 P:27 SP:FB CYC:327 SL:0\nCFB9  85 83     STA $83 = 00                    A:03 X:55 Y:69 P:25 SP:FB CYC:333 SL:0\nCFBB  85 84     STA $84 = 00                    A:03 X:55 Y:69 P:25 SP:FB CYC:  1 SL:1\nCFBD  A9 00     LDA #$00                        A:03 X:55 Y:69 P:25 SP:FB CYC: 10 SL:1\nCFBF  85 FF     STA $FF = 00                    A:00 X:55 Y:69 P:27 SP:FB CYC: 16 SL:1\nCFC1  A9 04     LDA #$04                        A:00 X:55 Y:69 P:27 SP:FB CYC: 25 SL:1\nCFC3  85 00     STA $00 = 00                    A:04 X:55 Y:69 P:25 SP:FB CYC: 31 SL:1\nCFC5  A9 5A     LDA #$5A                        A:04 X:55 Y:69 P:25 SP:FB CYC: 40 SL:1\nCFC7  8D 00 02  STA $0200 = 00                  A:5A X:55 Y:69 P:25 SP:FB CYC: 46 SL:1\nCFCA  A9 5B     LDA #$5B                        A:5A X:55 Y:69 P:25 SP:FB CYC: 58 SL:1\nCFCC  8D 00 03  STA $0300 = 00                  A:5B X:55 Y:69 P:25 SP:FB CYC: 64 SL:1\nCFCF  A9 5C     LDA #$5C                        A:5B X:55 Y:69 P:25 SP:FB CYC: 76 SL:1\nCFD1  8D 03 03  STA $0303 = 00                  A:5C X:55 Y:69 P:25 SP:FB CYC: 82 SL:1\nCFD4  A9 5D     LDA #$5D                        A:5C X:55 Y:69 P:25 SP:FB CYC: 94 SL:1\nCFD6  8D 00 04  STA $0400 = 00                  A:5D X:55 Y:69 P:25 SP:FB CYC:100 SL:1\nCFD9  A2 00     LDX #$00                        A:5D X:55 Y:69 P:25 SP:FB CYC:112 SL:1\nCFDB  A1 80     LDA ($80,X) @ 80 = 0200 = 5A    A:5D X:00 Y:69 P:27 SP:FB CYC:118 SL:1\nCFDD  C9 5A     CMP #$5A                        A:5A X:00 Y:69 P:25 SP:FB CYC:136 SL:1\nCFDF  D0 1F     BNE $D000                       A:5A X:00 Y:69 P:27 SP:FB CYC:142 SL:1\nCFE1  E8        INX                             A:5A X:00 Y:69 P:27 SP:FB CYC:148 SL:1\nCFE2  E8        INX                             A:5A X:01 Y:69 P:25 SP:FB CYC:154 SL:1\nCFE3  A1 80     LDA ($80,X) @ 82 = 0300 = 5B    A:5A X:02 Y:69 P:25 SP:FB CYC:160 SL:1\nCFE5  C9 5B     CMP #$5B                        A:5B X:02 Y:69 P:25 SP:FB CYC:178 SL:1\nCFE7  D0 17     BNE $D000                       A:5B X:02 Y:69 P:27 SP:FB CYC:184 SL:1\nCFE9  E8        INX                             A:5B X:02 Y:69 P:27 SP:FB CYC:190 SL:1\nCFEA  A1 80     LDA ($80,X) @ 83 = 0303 = 5C    A:5B X:03 Y:69 P:25 SP:FB CYC:196 SL:1\nCFEC  C9 5C     CMP #$5C                        A:5C X:03 Y:69 P:25 SP:FB CYC:214 SL:1\nCFEE  D0 10     BNE $D000                       A:5C X:03 Y:69 P:27 SP:FB CYC:220 SL:1\nCFF0  A2 00     LDX #$00                        A:5C X:03 Y:69 P:27 SP:FB CYC:226 SL:1\nCFF2  A1 FF     LDA ($FF,X) @ FF = 0400 = 5D    A:5C X:00 Y:69 P:27 SP:FB CYC:232 SL:1\nCFF4  C9 5D     CMP #$5D                        A:5D X:00 Y:69 P:25 SP:FB CYC:250 SL:1\nCFF6  D0 08     BNE $D000                       A:5D X:00 Y:69 P:27 SP:FB CYC:256 SL:1\nCFF8  A2 81     LDX #$81                        A:5D X:00 Y:69 P:27 SP:FB CYC:262 SL:1\nCFFA  A1 FF     LDA ($FF,X) @ 80 = 0200 = 5A    A:5D X:81 Y:69 P:A5 SP:FB CYC:268 SL:1\nCFFC  C9 5A     CMP #$5A                        A:5A X:81 Y:69 P:25 SP:FB CYC:286 SL:1\nCFFE  F0 05     BEQ $D005                       A:5A X:81 Y:69 P:27 SP:FB CYC:292 SL:1\nD005  A9 AA     LDA #$AA                        A:5A X:81 Y:69 P:27 SP:FB CYC:301 SL:1\nD007  A2 00     LDX #$00                        A:AA X:81 Y:69 P:A5 SP:FB CYC:307 SL:1\nD009  81 80     STA ($80,X) @ 80 = 0200 = 5A    A:AA X:00 Y:69 P:27 SP:FB CYC:313 SL:1\nD00B  E8        INX                             A:AA X:00 Y:69 P:27 SP:FB CYC:331 SL:1\nD00C  E8        INX                             A:AA X:01 Y:69 P:25 SP:FB CYC:337 SL:1\nD00D  A9 AB     LDA #$AB                        A:AA X:02 Y:69 P:25 SP:FB CYC:  2 SL:2\nD00F  81 80     STA ($80,X) @ 82 = 0300 = 5B    A:AB X:02 Y:69 P:A5 SP:FB CYC:  8 SL:2\nD011  E8        INX                             A:AB X:02 Y:69 P:A5 SP:FB CYC: 26 SL:2\nD012  A9 AC     LDA #$AC                        A:AB X:03 Y:69 P:25 SP:FB CYC: 32 SL:2\nD014  81 80     STA ($80,X) @ 83 = 0303 = 5C    A:AC X:03 Y:69 P:A5 SP:FB CYC: 38 SL:2\nD016  A2 00     LDX #$00                        A:AC X:03 Y:69 P:A5 SP:FB CYC: 56 SL:2\nD018  A9 AD     LDA #$AD                        A:AC X:00 Y:69 P:27 SP:FB CYC: 62 SL:2\nD01A  81 FF     STA ($FF,X) @ FF = 0400 = 5D    A:AD X:00 Y:69 P:A5 SP:FB CYC: 68 SL:2\nD01C  AD 00 02  LDA $0200 = AA                  A:AD X:00 Y:69 P:A5 SP:FB CYC: 86 SL:2\nD01F  C9 AA     CMP #$AA                        A:AA X:00 Y:69 P:A5 SP:FB CYC: 98 SL:2\nD021  D0 15     BNE $D038                       A:AA X:00 Y:69 P:27 SP:FB CYC:104 SL:2\nD023  AD 00 03  LDA $0300 = AB                  A:AA X:00 Y:69 P:27 SP:FB CYC:110 SL:2\nD026  C9 AB     CMP #$AB                        A:AB X:00 Y:69 P:A5 SP:FB CYC:122 SL:2\nD028  D0 0E     BNE $D038                       A:AB X:00 Y:69 P:27 SP:FB CYC:128 SL:2\nD02A  AD 03 03  LDA $0303 = AC                  A:AB X:00 Y:69 P:27 SP:FB CYC:134 SL:2\nD02D  C9 AC     CMP #$AC                        A:AC X:00 Y:69 P:A5 SP:FB CYC:146 SL:2\nD02F  D0 07     BNE $D038                       A:AC X:00 Y:69 P:27 SP:FB CYC:152 SL:2\nD031  AD 00 04  LDA $0400 = AD                  A:AC X:00 Y:69 P:27 SP:FB CYC:158 SL:2\nD034  C9 AD     CMP #$AD                        A:AD X:00 Y:69 P:A5 SP:FB CYC:170 SL:2\nD036  F0 05     BEQ $D03D                       A:AD X:00 Y:69 P:27 SP:FB CYC:176 SL:2\nD03D  AD FF 07  LDA $07FF = 00                  A:AD X:00 Y:69 P:27 SP:FB CYC:185 SL:2\nD040  85 00     STA $00 = 04                    A:00 X:00 Y:69 P:27 SP:FB CYC:197 SL:2\nD042  A9 00     LDA #$00                        A:00 X:00 Y:69 P:27 SP:FB CYC:206 SL:2\nD044  8D 00 03  STA $0300 = AB                  A:00 X:00 Y:69 P:27 SP:FB CYC:212 SL:2\nD047  A9 AA     LDA #$AA                        A:00 X:00 Y:69 P:27 SP:FB CYC:224 SL:2\nD049  8D 00 02  STA $0200 = AA                  A:AA X:00 Y:69 P:A5 SP:FB CYC:230 SL:2\nD04C  A2 00     LDX #$00                        A:AA X:00 Y:69 P:A5 SP:FB CYC:242 SL:2\nD04E  A0 5A     LDY #$5A                        A:AA X:00 Y:69 P:27 SP:FB CYC:248 SL:2\nD050  20 B6 F7  JSR $F7B6                       A:AA X:00 Y:5A P:25 SP:FB CYC:254 SL:2\nF7B6  18        CLC                             A:AA X:00 Y:5A P:25 SP:F9 CYC:272 SL:2\nF7B7  A9 FF     LDA #$FF                        A:AA X:00 Y:5A P:24 SP:F9 CYC:278 SL:2\nF7B9  85 01     STA $01 = FF                    A:FF X:00 Y:5A P:A4 SP:F9 CYC:284 SL:2\nF7BB  24 01     BIT $01 = FF                    A:FF X:00 Y:5A P:A4 SP:F9 CYC:293 SL:2\nF7BD  A9 55     LDA #$55                        A:FF X:00 Y:5A P:E4 SP:F9 CYC:302 SL:2\nF7BF  60        RTS                             A:55 X:00 Y:5A P:64 SP:F9 CYC:308 SL:2\nD053  01 80     ORA ($80,X) @ 80 = 0200 = AA    A:55 X:00 Y:5A P:64 SP:FB CYC:326 SL:2\nD055  20 C0 F7  JSR $F7C0                       A:FF X:00 Y:5A P:E4 SP:FB CYC:  3 SL:3\nF7C0  B0 09     BCS $F7CB                       A:FF X:00 Y:5A P:E4 SP:F9 CYC: 21 SL:3\nF7C2  10 07     BPL $F7CB                       A:FF X:00 Y:5A P:E4 SP:F9 CYC: 27 SL:3\nF7C4  C9 FF     CMP #$FF                        A:FF X:00 Y:5A P:E4 SP:F9 CYC: 33 SL:3\nF7C6  D0 03     BNE $F7CB                       A:FF X:00 Y:5A P:67 SP:F9 CYC: 39 SL:3\nF7C8  50 01     BVC $F7CB                       A:FF X:00 Y:5A P:67 SP:F9 CYC: 45 SL:3\nF7CA  60        RTS                             A:FF X:00 Y:5A P:67 SP:F9 CYC: 51 SL:3\nD058  C8        INY                             A:FF X:00 Y:5A P:67 SP:FB CYC: 69 SL:3\nD059  20 CE F7  JSR $F7CE                       A:FF X:00 Y:5B P:65 SP:FB CYC: 75 SL:3\nF7CE  38        SEC                             A:FF X:00 Y:5B P:65 SP:F9 CYC: 93 SL:3\nF7CF  B8        CLV                             A:FF X:00 Y:5B P:65 SP:F9 CYC: 99 SL:3\nF7D0  A9 00     LDA #$00                        A:FF X:00 Y:5B P:25 SP:F9 CYC:105 SL:3\nF7D2  60        RTS                             A:00 X:00 Y:5B P:27 SP:F9 CYC:111 SL:3\nD05C  01 82     ORA ($82,X) @ 82 = 0300 = 00    A:00 X:00 Y:5B P:27 SP:FB CYC:129 SL:3\nD05E  20 D3 F7  JSR $F7D3                       A:00 X:00 Y:5B P:27 SP:FB CYC:147 SL:3\nF7D3  D0 07     BNE $F7DC                       A:00 X:00 Y:5B P:27 SP:F9 CYC:165 SL:3\nF7D5  70 05     BVS $F7DC                       A:00 X:00 Y:5B P:27 SP:F9 CYC:171 SL:3\nF7D7  90 03     BCC $F7DC                       A:00 X:00 Y:5B P:27 SP:F9 CYC:177 SL:3\nF7D9  30 01     BMI $F7DC                       A:00 X:00 Y:5B P:27 SP:F9 CYC:183 SL:3\nF7DB  60        RTS                             A:00 X:00 Y:5B P:27 SP:F9 CYC:189 SL:3\nD061  C8        INY                             A:00 X:00 Y:5B P:27 SP:FB CYC:207 SL:3\nD062  20 DF F7  JSR $F7DF                       A:00 X:00 Y:5C P:25 SP:FB CYC:213 SL:3\nF7DF  18        CLC                             A:00 X:00 Y:5C P:25 SP:F9 CYC:231 SL:3\nF7E0  24 01     BIT $01 = FF                    A:00 X:00 Y:5C P:24 SP:F9 CYC:237 SL:3\nF7E2  A9 55     LDA #$55                        A:00 X:00 Y:5C P:E6 SP:F9 CYC:246 SL:3\nF7E4  60        RTS                             A:55 X:00 Y:5C P:64 SP:F9 CYC:252 SL:3\nD065  21 80     AND ($80,X) @ 80 = 0200 = AA    A:55 X:00 Y:5C P:64 SP:FB CYC:270 SL:3\nD067  20 E5 F7  JSR $F7E5                       A:00 X:00 Y:5C P:66 SP:FB CYC:288 SL:3\nF7E5  D0 07     BNE $F7EE                       A:00 X:00 Y:5C P:66 SP:F9 CYC:306 SL:3\nF7E7  50 05     BVC $F7EE                       A:00 X:00 Y:5C P:66 SP:F9 CYC:312 SL:3\nF7E9  B0 03     BCS $F7EE                       A:00 X:00 Y:5C P:66 SP:F9 CYC:318 SL:3\nF7EB  30 01     BMI $F7EE                       A:00 X:00 Y:5C P:66 SP:F9 CYC:324 SL:3\nF7ED  60        RTS                             A:00 X:00 Y:5C P:66 SP:F9 CYC:330 SL:3\nD06A  C8        INY                             A:00 X:00 Y:5C P:66 SP:FB CYC:  7 SL:4\nD06B  A9 EF     LDA #$EF                        A:00 X:00 Y:5D P:64 SP:FB CYC: 13 SL:4\nD06D  8D 00 03  STA $0300 = 00                  A:EF X:00 Y:5D P:E4 SP:FB CYC: 19 SL:4\nD070  20 F1 F7  JSR $F7F1                       A:EF X:00 Y:5D P:E4 SP:FB CYC: 31 SL:4\nF7F1  38        SEC                             A:EF X:00 Y:5D P:E4 SP:F9 CYC: 49 SL:4\nF7F2  B8        CLV                             A:EF X:00 Y:5D P:E5 SP:F9 CYC: 55 SL:4\nF7F3  A9 F8     LDA #$F8                        A:EF X:00 Y:5D P:A5 SP:F9 CYC: 61 SL:4\nF7F5  60        RTS                             A:F8 X:00 Y:5D P:A5 SP:F9 CYC: 67 SL:4\nD073  21 82     AND ($82,X) @ 82 = 0300 = EF    A:F8 X:00 Y:5D P:A5 SP:FB CYC: 85 SL:4\nD075  20 F6 F7  JSR $F7F6                       A:E8 X:00 Y:5D P:A5 SP:FB CYC:103 SL:4\nF7F6  90 09     BCC $F801                       A:E8 X:00 Y:5D P:A5 SP:F9 CYC:121 SL:4\nF7F8  10 07     BPL $F801                       A:E8 X:00 Y:5D P:A5 SP:F9 CYC:127 SL:4\nF7FA  C9 E8     CMP #$E8                        A:E8 X:00 Y:5D P:A5 SP:F9 CYC:133 SL:4\nF7FC  D0 03     BNE $F801                       A:E8 X:00 Y:5D P:27 SP:F9 CYC:139 SL:4\nF7FE  70 01     BVS $F801                       A:E8 X:00 Y:5D P:27 SP:F9 CYC:145 SL:4\nF800  60        RTS                             A:E8 X:00 Y:5D P:27 SP:F9 CYC:151 SL:4\nD078  C8        INY                             A:E8 X:00 Y:5D P:27 SP:FB CYC:169 SL:4\nD079  20 04 F8  JSR $F804                       A:E8 X:00 Y:5E P:25 SP:FB CYC:175 SL:4\nF804  18        CLC                             A:E8 X:00 Y:5E P:25 SP:F9 CYC:193 SL:4\nF805  24 01     BIT $01 = FF                    A:E8 X:00 Y:5E P:24 SP:F9 CYC:199 SL:4\nF807  A9 5F     LDA #$5F                        A:E8 X:00 Y:5E P:E4 SP:F9 CYC:208 SL:4\nF809  60        RTS                             A:5F X:00 Y:5E P:64 SP:F9 CYC:214 SL:4\nD07C  41 80     EOR ($80,X) @ 80 = 0200 = AA    A:5F X:00 Y:5E P:64 SP:FB CYC:232 SL:4\nD07E  20 0A F8  JSR $F80A                       A:F5 X:00 Y:5E P:E4 SP:FB CYC:250 SL:4\nF80A  B0 09     BCS $F815                       A:F5 X:00 Y:5E P:E4 SP:F9 CYC:268 SL:4\nF80C  10 07     BPL $F815                       A:F5 X:00 Y:5E P:E4 SP:F9 CYC:274 SL:4\nF80E  C9 F5     CMP #$F5                        A:F5 X:00 Y:5E P:E4 SP:F9 CYC:280 SL:4\nF810  D0 03     BNE $F815                       A:F5 X:00 Y:5E P:67 SP:F9 CYC:286 SL:4\nF812  50 01     BVC $F815                       A:F5 X:00 Y:5E P:67 SP:F9 CYC:292 SL:4\nF814  60        RTS                             A:F5 X:00 Y:5E P:67 SP:F9 CYC:298 SL:4\nD081  C8        INY                             A:F5 X:00 Y:5E P:67 SP:FB CYC:316 SL:4\nD082  A9 70     LDA #$70                        A:F5 X:00 Y:5F P:65 SP:FB CYC:322 SL:4\nD084  8D 00 03  STA $0300 = EF                  A:70 X:00 Y:5F P:65 SP:FB CYC:328 SL:4\nD087  20 18 F8  JSR $F818                       A:70 X:00 Y:5F P:65 SP:FB CYC:340 SL:4\nF818  38        SEC                             A:70 X:00 Y:5F P:65 SP:F9 CYC: 17 SL:5\nF819  B8        CLV                             A:70 X:00 Y:5F P:65 SP:F9 CYC: 23 SL:5\nF81A  A9 70     LDA #$70                        A:70 X:00 Y:5F P:25 SP:F9 CYC: 29 SL:5\nF81C  60        RTS                             A:70 X:00 Y:5F P:25 SP:F9 CYC: 35 SL:5\nD08A  41 82     EOR ($82,X) @ 82 = 0300 = 70    A:70 X:00 Y:5F P:25 SP:FB CYC: 53 SL:5\nD08C  20 1D F8  JSR $F81D                       A:00 X:00 Y:5F P:27 SP:FB CYC: 71 SL:5\nF81D  D0 07     BNE $F826                       A:00 X:00 Y:5F P:27 SP:F9 CYC: 89 SL:5\nF81F  70 05     BVS $F826                       A:00 X:00 Y:5F P:27 SP:F9 CYC: 95 SL:5\nF821  90 03     BCC $F826                       A:00 X:00 Y:5F P:27 SP:F9 CYC:101 SL:5\nF823  30 01     BMI $F826                       A:00 X:00 Y:5F P:27 SP:F9 CYC:107 SL:5\nF825  60        RTS                             A:00 X:00 Y:5F P:27 SP:F9 CYC:113 SL:5\nD08F  C8        INY                             A:00 X:00 Y:5F P:27 SP:FB CYC:131 SL:5\nD090  A9 69     LDA #$69                        A:00 X:00 Y:60 P:25 SP:FB CYC:137 SL:5\nD092  8D 00 02  STA $0200 = AA                  A:69 X:00 Y:60 P:25 SP:FB CYC:143 SL:5\nD095  20 29 F8  JSR $F829                       A:69 X:00 Y:60 P:25 SP:FB CYC:155 SL:5\nF829  18        CLC                             A:69 X:00 Y:60 P:25 SP:F9 CYC:173 SL:5\nF82A  24 01     BIT $01 = FF                    A:69 X:00 Y:60 P:24 SP:F9 CYC:179 SL:5\nF82C  A9 00     LDA #$00                        A:69 X:00 Y:60 P:E4 SP:F9 CYC:188 SL:5\nF82E  60        RTS                             A:00 X:00 Y:60 P:66 SP:F9 CYC:194 SL:5\nD098  61 80     ADC ($80,X) @ 80 = 0200 = 69    A:00 X:00 Y:60 P:66 SP:FB CYC:212 SL:5\nD09A  20 2F F8  JSR $F82F                       A:69 X:00 Y:60 P:24 SP:FB CYC:230 SL:5\nF82F  30 09     BMI $F83A                       A:69 X:00 Y:60 P:24 SP:F9 CYC:248 SL:5\nF831  B0 07     BCS $F83A                       A:69 X:00 Y:60 P:24 SP:F9 CYC:254 SL:5\nF833  C9 69     CMP #$69                        A:69 X:00 Y:60 P:24 SP:F9 CYC:260 SL:5\nF835  D0 03     BNE $F83A                       A:69 X:00 Y:60 P:27 SP:F9 CYC:266 SL:5\nF837  70 01     BVS $F83A                       A:69 X:00 Y:60 P:27 SP:F9 CYC:272 SL:5\nF839  60        RTS                             A:69 X:00 Y:60 P:27 SP:F9 CYC:278 SL:5\nD09D  C8        INY                             A:69 X:00 Y:60 P:27 SP:FB CYC:296 SL:5\nD09E  20 3D F8  JSR $F83D                       A:69 X:00 Y:61 P:25 SP:FB CYC:302 SL:5\nF83D  38        SEC                             A:69 X:00 Y:61 P:25 SP:F9 CYC:320 SL:5\nF83E  24 01     BIT $01 = FF                    A:69 X:00 Y:61 P:25 SP:F9 CYC:326 SL:5\nF840  A9 00     LDA #$00                        A:69 X:00 Y:61 P:E5 SP:F9 CYC:335 SL:5\nF842  60        RTS                             A:00 X:00 Y:61 P:67 SP:F9 CYC:  0 SL:6\nD0A1  61 80     ADC ($80,X) @ 80 = 0200 = 69    A:00 X:00 Y:61 P:67 SP:FB CYC: 18 SL:6\nD0A3  20 43 F8  JSR $F843                       A:6A X:00 Y:61 P:24 SP:FB CYC: 36 SL:6\nF843  30 09     BMI $F84E                       A:6A X:00 Y:61 P:24 SP:F9 CYC: 54 SL:6\nF845  B0 07     BCS $F84E                       A:6A X:00 Y:61 P:24 SP:F9 CYC: 60 SL:6\nF847  C9 6A     CMP #$6A                        A:6A X:00 Y:61 P:24 SP:F9 CYC: 66 SL:6\nF849  D0 03     BNE $F84E                       A:6A X:00 Y:61 P:27 SP:F9 CYC: 72 SL:6\nF84B  70 01     BVS $F84E                       A:6A X:00 Y:61 P:27 SP:F9 CYC: 78 SL:6\nF84D  60        RTS                             A:6A X:00 Y:61 P:27 SP:F9 CYC: 84 SL:6\nD0A6  C8        INY                             A:6A X:00 Y:61 P:27 SP:FB CYC:102 SL:6\nD0A7  A9 7F     LDA #$7F                        A:6A X:00 Y:62 P:25 SP:FB CYC:108 SL:6\nD0A9  8D 00 02  STA $0200 = 69                  A:7F X:00 Y:62 P:25 SP:FB CYC:114 SL:6\nD0AC  20 51 F8  JSR $F851                       A:7F X:00 Y:62 P:25 SP:FB CYC:126 SL:6\nF851  38        SEC                             A:7F X:00 Y:62 P:25 SP:F9 CYC:144 SL:6\nF852  B8        CLV                             A:7F X:00 Y:62 P:25 SP:F9 CYC:150 SL:6\nF853  A9 7F     LDA #$7F                        A:7F X:00 Y:62 P:25 SP:F9 CYC:156 SL:6\nF855  60        RTS                             A:7F X:00 Y:62 P:25 SP:F9 CYC:162 SL:6\nD0AF  61 80     ADC ($80,X) @ 80 = 0200 = 7F    A:7F X:00 Y:62 P:25 SP:FB CYC:180 SL:6\nD0B1  20 56 F8  JSR $F856                       A:FF X:00 Y:62 P:E4 SP:FB CYC:198 SL:6\nF856  10 09     BPL $F861                       A:FF X:00 Y:62 P:E4 SP:F9 CYC:216 SL:6\nF858  B0 07     BCS $F861                       A:FF X:00 Y:62 P:E4 SP:F9 CYC:222 SL:6\nF85A  C9 FF     CMP #$FF                        A:FF X:00 Y:62 P:E4 SP:F9 CYC:228 SL:6\nF85C  D0 03     BNE $F861                       A:FF X:00 Y:62 P:67 SP:F9 CYC:234 SL:6\nF85E  50 01     BVC $F861                       A:FF X:00 Y:62 P:67 SP:F9 CYC:240 SL:6\nF860  60        RTS                             A:FF X:00 Y:62 P:67 SP:F9 CYC:246 SL:6\nD0B4  C8        INY                             A:FF X:00 Y:62 P:67 SP:FB CYC:264 SL:6\nD0B5  A9 80     LDA #$80                        A:FF X:00 Y:63 P:65 SP:FB CYC:270 SL:6\nD0B7  8D 00 02  STA $0200 = 7F                  A:80 X:00 Y:63 P:E5 SP:FB CYC:276 SL:6\nD0BA  20 64 F8  JSR $F864                       A:80 X:00 Y:63 P:E5 SP:FB CYC:288 SL:6\nF864  18        CLC                             A:80 X:00 Y:63 P:E5 SP:F9 CYC:306 SL:6\nF865  24 01     BIT $01 = FF                    A:80 X:00 Y:63 P:E4 SP:F9 CYC:312 SL:6\nF867  A9 7F     LDA #$7F                        A:80 X:00 Y:63 P:E4 SP:F9 CYC:321 SL:6\nF869  60        RTS                             A:7F X:00 Y:63 P:64 SP:F9 CYC:327 SL:6\nD0BD  61 80     ADC ($80,X) @ 80 = 0200 = 80    A:7F X:00 Y:63 P:64 SP:FB CYC:  4 SL:7\nD0BF  20 6A F8  JSR $F86A                       A:FF X:00 Y:63 P:A4 SP:FB CYC: 22 SL:7\nF86A  10 09     BPL $F875                       A:FF X:00 Y:63 P:A4 SP:F9 CYC: 40 SL:7\nF86C  B0 07     BCS $F875                       A:FF X:00 Y:63 P:A4 SP:F9 CYC: 46 SL:7\nF86E  C9 FF     CMP #$FF                        A:FF X:00 Y:63 P:A4 SP:F9 CYC: 52 SL:7\nF870  D0 03     BNE $F875                       A:FF X:00 Y:63 P:27 SP:F9 CYC: 58 SL:7\nF872  70 01     BVS $F875                       A:FF X:00 Y:63 P:27 SP:F9 CYC: 64 SL:7\nF874  60        RTS                             A:FF X:00 Y:63 P:27 SP:F9 CYC: 70 SL:7\nD0C2  C8        INY                             A:FF X:00 Y:63 P:27 SP:FB CYC: 88 SL:7\nD0C3  20 78 F8  JSR $F878                       A:FF X:00 Y:64 P:25 SP:FB CYC: 94 SL:7\nF878  38        SEC                             A:FF X:00 Y:64 P:25 SP:F9 CYC:112 SL:7\nF879  B8        CLV                             A:FF X:00 Y:64 P:25 SP:F9 CYC:118 SL:7\nF87A  A9 7F     LDA #$7F                        A:FF X:00 Y:64 P:25 SP:F9 CYC:124 SL:7\nF87C  60        RTS                             A:7F X:00 Y:64 P:25 SP:F9 CYC:130 SL:7\nD0C6  61 80     ADC ($80,X) @ 80 = 0200 = 80    A:7F X:00 Y:64 P:25 SP:FB CYC:148 SL:7\nD0C8  20 7D F8  JSR $F87D                       A:00 X:00 Y:64 P:27 SP:FB CYC:166 SL:7\nF87D  D0 07     BNE $F886                       A:00 X:00 Y:64 P:27 SP:F9 CYC:184 SL:7\nF87F  30 05     BMI $F886                       A:00 X:00 Y:64 P:27 SP:F9 CYC:190 SL:7\nF881  70 03     BVS $F886                       A:00 X:00 Y:64 P:27 SP:F9 CYC:196 SL:7\nF883  90 01     BCC $F886                       A:00 X:00 Y:64 P:27 SP:F9 CYC:202 SL:7\nF885  60        RTS                             A:00 X:00 Y:64 P:27 SP:F9 CYC:208 SL:7\nD0CB  C8        INY                             A:00 X:00 Y:64 P:27 SP:FB CYC:226 SL:7\nD0CC  A9 40     LDA #$40                        A:00 X:00 Y:65 P:25 SP:FB CYC:232 SL:7\nD0CE  8D 00 02  STA $0200 = 80                  A:40 X:00 Y:65 P:25 SP:FB CYC:238 SL:7\nD0D1  20 89 F8  JSR $F889                       A:40 X:00 Y:65 P:25 SP:FB CYC:250 SL:7\nF889  24 01     BIT $01 = FF                    A:40 X:00 Y:65 P:25 SP:F9 CYC:268 SL:7\nF88B  A9 40     LDA #$40                        A:40 X:00 Y:65 P:E5 SP:F9 CYC:277 SL:7\nF88D  60        RTS                             A:40 X:00 Y:65 P:65 SP:F9 CYC:283 SL:7\nD0D4  C1 80     CMP ($80,X) @ 80 = 0200 = 40    A:40 X:00 Y:65 P:65 SP:FB CYC:301 SL:7\nD0D6  20 8E F8  JSR $F88E                       A:40 X:00 Y:65 P:67 SP:FB CYC:319 SL:7\nF88E  30 07     BMI $F897                       A:40 X:00 Y:65 P:67 SP:F9 CYC:337 SL:7\nF890  90 05     BCC $F897                       A:40 X:00 Y:65 P:67 SP:F9 CYC:  2 SL:8\nF892  D0 03     BNE $F897                       A:40 X:00 Y:65 P:67 SP:F9 CYC:  8 SL:8\nF894  50 01     BVC $F897                       A:40 X:00 Y:65 P:67 SP:F9 CYC: 14 SL:8\nF896  60        RTS                             A:40 X:00 Y:65 P:67 SP:F9 CYC: 20 SL:8\nD0D9  C8        INY                             A:40 X:00 Y:65 P:67 SP:FB CYC: 38 SL:8\nD0DA  48        PHA                             A:40 X:00 Y:66 P:65 SP:FB CYC: 44 SL:8\nD0DB  A9 3F     LDA #$3F                        A:40 X:00 Y:66 P:65 SP:FA CYC: 53 SL:8\nD0DD  8D 00 02  STA $0200 = 40                  A:3F X:00 Y:66 P:65 SP:FA CYC: 59 SL:8\nD0E0  68        PLA                             A:3F X:00 Y:66 P:65 SP:FA CYC: 71 SL:8\nD0E1  20 9A F8  JSR $F89A                       A:40 X:00 Y:66 P:65 SP:FB CYC: 83 SL:8\nF89A  B8        CLV                             A:40 X:00 Y:66 P:65 SP:F9 CYC:101 SL:8\nF89B  60        RTS                             A:40 X:00 Y:66 P:25 SP:F9 CYC:107 SL:8\nD0E4  C1 80     CMP ($80,X) @ 80 = 0200 = 3F    A:40 X:00 Y:66 P:25 SP:FB CYC:125 SL:8\nD0E6  20 9C F8  JSR $F89C                       A:40 X:00 Y:66 P:25 SP:FB CYC:143 SL:8\nF89C  F0 07     BEQ $F8A5                       A:40 X:00 Y:66 P:25 SP:F9 CYC:161 SL:8\nF89E  30 05     BMI $F8A5                       A:40 X:00 Y:66 P:25 SP:F9 CYC:167 SL:8\nF8A0  90 03     BCC $F8A5                       A:40 X:00 Y:66 P:25 SP:F9 CYC:173 SL:8\nF8A2  70 01     BVS $F8A5                       A:40 X:00 Y:66 P:25 SP:F9 CYC:179 SL:8\nF8A4  60        RTS                             A:40 X:00 Y:66 P:25 SP:F9 CYC:185 SL:8\nD0E9  C8        INY                             A:40 X:00 Y:66 P:25 SP:FB CYC:203 SL:8\nD0EA  48        PHA                             A:40 X:00 Y:67 P:25 SP:FB CYC:209 SL:8\nD0EB  A9 41     LDA #$41                        A:40 X:00 Y:67 P:25 SP:FA CYC:218 SL:8\nD0ED  8D 00 02  STA $0200 = 3F                  A:41 X:00 Y:67 P:25 SP:FA CYC:224 SL:8\nD0F0  68        PLA                             A:41 X:00 Y:67 P:25 SP:FA CYC:236 SL:8\nD0F1  C1 80     CMP ($80,X) @ 80 = 0200 = 41    A:40 X:00 Y:67 P:25 SP:FB CYC:248 SL:8\nD0F3  20 A8 F8  JSR $F8A8                       A:40 X:00 Y:67 P:A4 SP:FB CYC:266 SL:8\nF8A8  F0 05     BEQ $F8AF                       A:40 X:00 Y:67 P:A4 SP:F9 CYC:284 SL:8\nF8AA  10 03     BPL $F8AF                       A:40 X:00 Y:67 P:A4 SP:F9 CYC:290 SL:8\nF8AC  10 01     BPL $F8AF                       A:40 X:00 Y:67 P:A4 SP:F9 CYC:296 SL:8\nF8AE  60        RTS                             A:40 X:00 Y:67 P:A4 SP:F9 CYC:302 SL:8\nD0F6  C8        INY                             A:40 X:00 Y:67 P:A4 SP:FB CYC:320 SL:8\nD0F7  48        PHA                             A:40 X:00 Y:68 P:24 SP:FB CYC:326 SL:8\nD0F8  A9 00     LDA #$00                        A:40 X:00 Y:68 P:24 SP:FA CYC:335 SL:8\nD0FA  8D 00 02  STA $0200 = 41                  A:00 X:00 Y:68 P:26 SP:FA CYC:  0 SL:9\nD0FD  68        PLA                             A:00 X:00 Y:68 P:26 SP:FA CYC: 12 SL:9\nD0FE  20 B2 F8  JSR $F8B2                       A:40 X:00 Y:68 P:24 SP:FB CYC: 24 SL:9\nF8B2  A9 80     LDA #$80                        A:40 X:00 Y:68 P:24 SP:F9 CYC: 42 SL:9\nF8B4  60        RTS                             A:80 X:00 Y:68 P:A4 SP:F9 CYC: 48 SL:9\nD101  C1 80     CMP ($80,X) @ 80 = 0200 = 00    A:80 X:00 Y:68 P:A4 SP:FB CYC: 66 SL:9\nD103  20 B5 F8  JSR $F8B5                       A:80 X:00 Y:68 P:A5 SP:FB CYC: 84 SL:9\nF8B5  F0 05     BEQ $F8BC                       A:80 X:00 Y:68 P:A5 SP:F9 CYC:102 SL:9\nF8B7  10 03     BPL $F8BC                       A:80 X:00 Y:68 P:A5 SP:F9 CYC:108 SL:9\nF8B9  90 01     BCC $F8BC                       A:80 X:00 Y:68 P:A5 SP:F9 CYC:114 SL:9\nF8BB  60        RTS                             A:80 X:00 Y:68 P:A5 SP:F9 CYC:120 SL:9\nD106  C8        INY                             A:80 X:00 Y:68 P:A5 SP:FB CYC:138 SL:9\nD107  48        PHA                             A:80 X:00 Y:69 P:25 SP:FB CYC:144 SL:9\nD108  A9 80     LDA #$80                        A:80 X:00 Y:69 P:25 SP:FA CYC:153 SL:9\nD10A  8D 00 02  STA $0200 = 00                  A:80 X:00 Y:69 P:A5 SP:FA CYC:159 SL:9\nD10D  68        PLA                             A:80 X:00 Y:69 P:A5 SP:FA CYC:171 SL:9\nD10E  C1 80     CMP ($80,X) @ 80 = 0200 = 80    A:80 X:00 Y:69 P:A5 SP:FB CYC:183 SL:9\nD110  20 BF F8  JSR $F8BF                       A:80 X:00 Y:69 P:27 SP:FB CYC:201 SL:9\nF8BF  D0 05     BNE $F8C6                       A:80 X:00 Y:69 P:27 SP:F9 CYC:219 SL:9\nF8C1  30 03     BMI $F8C6                       A:80 X:00 Y:69 P:27 SP:F9 CYC:225 SL:9\nF8C3  90 01     BCC $F8C6                       A:80 X:00 Y:69 P:27 SP:F9 CYC:231 SL:9\nF8C5  60        RTS                             A:80 X:00 Y:69 P:27 SP:F9 CYC:237 SL:9\nD113  C8        INY                             A:80 X:00 Y:69 P:27 SP:FB CYC:255 SL:9\nD114  48        PHA                             A:80 X:00 Y:6A P:25 SP:FB CYC:261 SL:9\nD115  A9 81     LDA #$81                        A:80 X:00 Y:6A P:25 SP:FA CYC:270 SL:9\nD117  8D 00 02  STA $0200 = 80                  A:81 X:00 Y:6A P:A5 SP:FA CYC:276 SL:9\nD11A  68        PLA                             A:81 X:00 Y:6A P:A5 SP:FA CYC:288 SL:9\nD11B  C1 80     CMP ($80,X) @ 80 = 0200 = 81    A:80 X:00 Y:6A P:A5 SP:FB CYC:300 SL:9\nD11D  20 C9 F8  JSR $F8C9                       A:80 X:00 Y:6A P:A4 SP:FB CYC:318 SL:9\nF8C9  B0 05     BCS $F8D0                       A:80 X:00 Y:6A P:A4 SP:F9 CYC:336 SL:9\nF8CB  F0 03     BEQ $F8D0                       A:80 X:00 Y:6A P:A4 SP:F9 CYC:  1 SL:10\nF8CD  10 01     BPL $F8D0                       A:80 X:00 Y:6A P:A4 SP:F9 CYC:  7 SL:10\nF8CF  60        RTS                             A:80 X:00 Y:6A P:A4 SP:F9 CYC: 13 SL:10\nD120  C8        INY                             A:80 X:00 Y:6A P:A4 SP:FB CYC: 31 SL:10\nD121  48        PHA                             A:80 X:00 Y:6B P:24 SP:FB CYC: 37 SL:10\nD122  A9 7F     LDA #$7F                        A:80 X:00 Y:6B P:24 SP:FA CYC: 46 SL:10\nD124  8D 00 02  STA $0200 = 81                  A:7F X:00 Y:6B P:24 SP:FA CYC: 52 SL:10\nD127  68        PLA                             A:7F X:00 Y:6B P:24 SP:FA CYC: 64 SL:10\nD128  C1 80     CMP ($80,X) @ 80 = 0200 = 7F    A:80 X:00 Y:6B P:A4 SP:FB CYC: 76 SL:10\nD12A  20 D3 F8  JSR $F8D3                       A:80 X:00 Y:6B P:25 SP:FB CYC: 94 SL:10\nF8D3  90 05     BCC $F8DA                       A:80 X:00 Y:6B P:25 SP:F9 CYC:112 SL:10\nF8D5  F0 03     BEQ $F8DA                       A:80 X:00 Y:6B P:25 SP:F9 CYC:118 SL:10\nF8D7  30 01     BMI $F8DA                       A:80 X:00 Y:6B P:25 SP:F9 CYC:124 SL:10\nF8D9  60        RTS                             A:80 X:00 Y:6B P:25 SP:F9 CYC:130 SL:10\nD12D  C8        INY                             A:80 X:00 Y:6B P:25 SP:FB CYC:148 SL:10\nD12E  A9 40     LDA #$40                        A:80 X:00 Y:6C P:25 SP:FB CYC:154 SL:10\nD130  8D 00 02  STA $0200 = 7F                  A:40 X:00 Y:6C P:25 SP:FB CYC:160 SL:10\nD133  20 31 F9  JSR $F931                       A:40 X:00 Y:6C P:25 SP:FB CYC:172 SL:10\nF931  24 01     BIT $01 = FF                    A:40 X:00 Y:6C P:25 SP:F9 CYC:190 SL:10\nF933  A9 40     LDA #$40                        A:40 X:00 Y:6C P:E5 SP:F9 CYC:199 SL:10\nF935  38        SEC                             A:40 X:00 Y:6C P:65 SP:F9 CYC:205 SL:10\nF936  60        RTS                             A:40 X:00 Y:6C P:65 SP:F9 CYC:211 SL:10\nD136  E1 80     SBC ($80,X) @ 80 = 0200 = 40    A:40 X:00 Y:6C P:65 SP:FB CYC:229 SL:10\nD138  20 37 F9  JSR $F937                       A:00 X:00 Y:6C P:27 SP:FB CYC:247 SL:10\nF937  30 0B     BMI $F944                       A:00 X:00 Y:6C P:27 SP:F9 CYC:265 SL:10\nF939  90 09     BCC $F944                       A:00 X:00 Y:6C P:27 SP:F9 CYC:271 SL:10\nF93B  D0 07     BNE $F944                       A:00 X:00 Y:6C P:27 SP:F9 CYC:277 SL:10\nF93D  70 05     BVS $F944                       A:00 X:00 Y:6C P:27 SP:F9 CYC:283 SL:10\nF93F  C9 00     CMP #$00                        A:00 X:00 Y:6C P:27 SP:F9 CYC:289 SL:10\nF941  D0 01     BNE $F944                       A:00 X:00 Y:6C P:27 SP:F9 CYC:295 SL:10\nF943  60        RTS                             A:00 X:00 Y:6C P:27 SP:F9 CYC:301 SL:10\nD13B  C8        INY                             A:00 X:00 Y:6C P:27 SP:FB CYC:319 SL:10\nD13C  A9 3F     LDA #$3F                        A:00 X:00 Y:6D P:25 SP:FB CYC:325 SL:10\nD13E  8D 00 02  STA $0200 = 40                  A:3F X:00 Y:6D P:25 SP:FB CYC:331 SL:10\nD141  20 47 F9  JSR $F947                       A:3F X:00 Y:6D P:25 SP:FB CYC:  2 SL:11\nF947  B8        CLV                             A:3F X:00 Y:6D P:25 SP:F9 CYC: 20 SL:11\nF948  38        SEC                             A:3F X:00 Y:6D P:25 SP:F9 CYC: 26 SL:11\nF949  A9 40     LDA #$40                        A:3F X:00 Y:6D P:25 SP:F9 CYC: 32 SL:11\nF94B  60        RTS                             A:40 X:00 Y:6D P:25 SP:F9 CYC: 38 SL:11\nD144  E1 80     SBC ($80,X) @ 80 = 0200 = 3F    A:40 X:00 Y:6D P:25 SP:FB CYC: 56 SL:11\nD146  20 4C F9  JSR $F94C                       A:01 X:00 Y:6D P:25 SP:FB CYC: 74 SL:11\nF94C  F0 0B     BEQ $F959                       A:01 X:00 Y:6D P:25 SP:F9 CYC: 92 SL:11\nF94E  30 09     BMI $F959                       A:01 X:00 Y:6D P:25 SP:F9 CYC: 98 SL:11\nF950  90 07     BCC $F959                       A:01 X:00 Y:6D P:25 SP:F9 CYC:104 SL:11\nF952  70 05     BVS $F959                       A:01 X:00 Y:6D P:25 SP:F9 CYC:110 SL:11\nF954  C9 01     CMP #$01                        A:01 X:00 Y:6D P:25 SP:F9 CYC:116 SL:11\nF956  D0 01     BNE $F959                       A:01 X:00 Y:6D P:27 SP:F9 CYC:122 SL:11\nF958  60        RTS                             A:01 X:00 Y:6D P:27 SP:F9 CYC:128 SL:11\nD149  C8        INY                             A:01 X:00 Y:6D P:27 SP:FB CYC:146 SL:11\nD14A  A9 41     LDA #$41                        A:01 X:00 Y:6E P:25 SP:FB CYC:152 SL:11\nD14C  8D 00 02  STA $0200 = 3F                  A:41 X:00 Y:6E P:25 SP:FB CYC:158 SL:11\nD14F  20 5C F9  JSR $F95C                       A:41 X:00 Y:6E P:25 SP:FB CYC:170 SL:11\nF95C  A9 40     LDA #$40                        A:41 X:00 Y:6E P:25 SP:F9 CYC:188 SL:11\nF95E  38        SEC                             A:40 X:00 Y:6E P:25 SP:F9 CYC:194 SL:11\nF95F  24 01     BIT $01 = FF                    A:40 X:00 Y:6E P:25 SP:F9 CYC:200 SL:11\nF961  60        RTS                             A:40 X:00 Y:6E P:E5 SP:F9 CYC:209 SL:11\nD152  E1 80     SBC ($80,X) @ 80 = 0200 = 41    A:40 X:00 Y:6E P:E5 SP:FB CYC:227 SL:11\nD154  20 62 F9  JSR $F962                       A:FF X:00 Y:6E P:A4 SP:FB CYC:245 SL:11\nF962  B0 0B     BCS $F96F                       A:FF X:00 Y:6E P:A4 SP:F9 CYC:263 SL:11\nF964  F0 09     BEQ $F96F                       A:FF X:00 Y:6E P:A4 SP:F9 CYC:269 SL:11\nF966  10 07     BPL $F96F                       A:FF X:00 Y:6E P:A4 SP:F9 CYC:275 SL:11\nF968  70 05     BVS $F96F                       A:FF X:00 Y:6E P:A4 SP:F9 CYC:281 SL:11\nF96A  C9 FF     CMP #$FF                        A:FF X:00 Y:6E P:A4 SP:F9 CYC:287 SL:11\nF96C  D0 01     BNE $F96F                       A:FF X:00 Y:6E P:27 SP:F9 CYC:293 SL:11\nF96E  60        RTS                             A:FF X:00 Y:6E P:27 SP:F9 CYC:299 SL:11\nD157  C8        INY                             A:FF X:00 Y:6E P:27 SP:FB CYC:317 SL:11\nD158  A9 00     LDA #$00                        A:FF X:00 Y:6F P:25 SP:FB CYC:323 SL:11\nD15A  8D 00 02  STA $0200 = 41                  A:00 X:00 Y:6F P:27 SP:FB CYC:329 SL:11\nD15D  20 72 F9  JSR $F972                       A:00 X:00 Y:6F P:27 SP:FB CYC:  0 SL:12\nF972  18        CLC                             A:00 X:00 Y:6F P:27 SP:F9 CYC: 18 SL:12\nF973  A9 80     LDA #$80                        A:00 X:00 Y:6F P:26 SP:F9 CYC: 24 SL:12\nF975  60        RTS                             A:80 X:00 Y:6F P:A4 SP:F9 CYC: 30 SL:12\nD160  E1 80     SBC ($80,X) @ 80 = 0200 = 00    A:80 X:00 Y:6F P:A4 SP:FB CYC: 48 SL:12\nD162  20 76 F9  JSR $F976                       A:7F X:00 Y:6F P:65 SP:FB CYC: 66 SL:12\nF976  90 05     BCC $F97D                       A:7F X:00 Y:6F P:65 SP:F9 CYC: 84 SL:12\nF978  C9 7F     CMP #$7F                        A:7F X:00 Y:6F P:65 SP:F9 CYC: 90 SL:12\nF97A  D0 01     BNE $F97D                       A:7F X:00 Y:6F P:67 SP:F9 CYC: 96 SL:12\nF97C  60        RTS                             A:7F X:00 Y:6F P:67 SP:F9 CYC:102 SL:12\nD165  C8        INY                             A:7F X:00 Y:6F P:67 SP:FB CYC:120 SL:12\nD166  A9 7F     LDA #$7F                        A:7F X:00 Y:70 P:65 SP:FB CYC:126 SL:12\nD168  8D 00 02  STA $0200 = 00                  A:7F X:00 Y:70 P:65 SP:FB CYC:132 SL:12\nD16B  20 80 F9  JSR $F980                       A:7F X:00 Y:70 P:65 SP:FB CYC:144 SL:12\nF980  38        SEC                             A:7F X:00 Y:70 P:65 SP:F9 CYC:162 SL:12\nF981  A9 81     LDA #$81                        A:7F X:00 Y:70 P:65 SP:F9 CYC:168 SL:12\nF983  60        RTS                             A:81 X:00 Y:70 P:E5 SP:F9 CYC:174 SL:12\nD16E  E1 80     SBC ($80,X) @ 80 = 0200 = 7F    A:81 X:00 Y:70 P:E5 SP:FB CYC:192 SL:12\nD170  20 84 F9  JSR $F984                       A:02 X:00 Y:70 P:65 SP:FB CYC:210 SL:12\nF984  50 07     BVC $F98D                       A:02 X:00 Y:70 P:65 SP:F9 CYC:228 SL:12\nF986  90 05     BCC $F98D                       A:02 X:00 Y:70 P:65 SP:F9 CYC:234 SL:12\nF988  C9 02     CMP #$02                        A:02 X:00 Y:70 P:65 SP:F9 CYC:240 SL:12\nF98A  D0 01     BNE $F98D                       A:02 X:00 Y:70 P:67 SP:F9 CYC:246 SL:12\nF98C  60        RTS                             A:02 X:00 Y:70 P:67 SP:F9 CYC:252 SL:12\nD173  60        RTS                             A:02 X:00 Y:70 P:67 SP:FB CYC:270 SL:12\nC612  20 74 D1  JSR $D174                       A:02 X:00 Y:70 P:67 SP:FD CYC:288 SL:12\nD174  A9 55     LDA #$55                        A:02 X:00 Y:70 P:67 SP:FB CYC:306 SL:12\nD176  85 78     STA $78 = 00                    A:55 X:00 Y:70 P:65 SP:FB CYC:312 SL:12\nD178  A9 FF     LDA #$FF                        A:55 X:00 Y:70 P:65 SP:FB CYC:321 SL:12\nD17A  85 01     STA $01 = FF                    A:FF X:00 Y:70 P:E5 SP:FB CYC:327 SL:12\nD17C  24 01     BIT $01 = FF                    A:FF X:00 Y:70 P:E5 SP:FB CYC:336 SL:12\nD17E  A0 11     LDY #$11                        A:FF X:00 Y:70 P:E5 SP:FB CYC:  4 SL:13\nD180  A2 23     LDX #$23                        A:FF X:00 Y:11 P:65 SP:FB CYC: 10 SL:13\nD182  A9 00     LDA #$00                        A:FF X:23 Y:11 P:65 SP:FB CYC: 16 SL:13\nD184  A5 78     LDA $78 = 55                    A:00 X:23 Y:11 P:67 SP:FB CYC: 22 SL:13\nD186  F0 10     BEQ $D198                       A:55 X:23 Y:11 P:65 SP:FB CYC: 31 SL:13\nD188  30 0E     BMI $D198                       A:55 X:23 Y:11 P:65 SP:FB CYC: 37 SL:13\nD18A  C9 55     CMP #$55                        A:55 X:23 Y:11 P:65 SP:FB CYC: 43 SL:13\nD18C  D0 0A     BNE $D198                       A:55 X:23 Y:11 P:67 SP:FB CYC: 49 SL:13\nD18E  C0 11     CPY #$11                        A:55 X:23 Y:11 P:67 SP:FB CYC: 55 SL:13\nD190  D0 06     BNE $D198                       A:55 X:23 Y:11 P:67 SP:FB CYC: 61 SL:13\nD192  E0 23     CPX #$23                        A:55 X:23 Y:11 P:67 SP:FB CYC: 67 SL:13\nD194  50 02     BVC $D198                       A:55 X:23 Y:11 P:67 SP:FB CYC: 73 SL:13\nD196  F0 04     BEQ $D19C                       A:55 X:23 Y:11 P:67 SP:FB CYC: 79 SL:13\nD19C  A9 46     LDA #$46                        A:55 X:23 Y:11 P:67 SP:FB CYC: 88 SL:13\nD19E  24 01     BIT $01 = FF                    A:46 X:23 Y:11 P:65 SP:FB CYC: 94 SL:13\nD1A0  85 78     STA $78 = 55                    A:46 X:23 Y:11 P:E5 SP:FB CYC:103 SL:13\nD1A2  F0 0A     BEQ $D1AE                       A:46 X:23 Y:11 P:E5 SP:FB CYC:112 SL:13\nD1A4  10 08     BPL $D1AE                       A:46 X:23 Y:11 P:E5 SP:FB CYC:118 SL:13\nD1A6  50 06     BVC $D1AE                       A:46 X:23 Y:11 P:E5 SP:FB CYC:124 SL:13\nD1A8  A5 78     LDA $78 = 46                    A:46 X:23 Y:11 P:E5 SP:FB CYC:130 SL:13\nD1AA  C9 46     CMP #$46                        A:46 X:23 Y:11 P:65 SP:FB CYC:139 SL:13\nD1AC  F0 04     BEQ $D1B2                       A:46 X:23 Y:11 P:67 SP:FB CYC:145 SL:13\nD1B2  A9 55     LDA #$55                        A:46 X:23 Y:11 P:67 SP:FB CYC:154 SL:13\nD1B4  85 78     STA $78 = 46                    A:55 X:23 Y:11 P:65 SP:FB CYC:160 SL:13\nD1B6  24 01     BIT $01 = FF                    A:55 X:23 Y:11 P:65 SP:FB CYC:169 SL:13\nD1B8  A9 11     LDA #$11                        A:55 X:23 Y:11 P:E5 SP:FB CYC:178 SL:13\nD1BA  A2 23     LDX #$23                        A:11 X:23 Y:11 P:65 SP:FB CYC:184 SL:13\nD1BC  A0 00     LDY #$00                        A:11 X:23 Y:11 P:65 SP:FB CYC:190 SL:13\nD1BE  A4 78     LDY $78 = 55                    A:11 X:23 Y:00 P:67 SP:FB CYC:196 SL:13\nD1C0  F0 10     BEQ $D1D2                       A:11 X:23 Y:55 P:65 SP:FB CYC:205 SL:13\nD1C2  30 0E     BMI $D1D2                       A:11 X:23 Y:55 P:65 SP:FB CYC:211 SL:13\nD1C4  C0 55     CPY #$55                        A:11 X:23 Y:55 P:65 SP:FB CYC:217 SL:13\nD1C6  D0 0A     BNE $D1D2                       A:11 X:23 Y:55 P:67 SP:FB CYC:223 SL:13\nD1C8  C9 11     CMP #$11                        A:11 X:23 Y:55 P:67 SP:FB CYC:229 SL:13\nD1CA  D0 06     BNE $D1D2                       A:11 X:23 Y:55 P:67 SP:FB CYC:235 SL:13\nD1CC  E0 23     CPX #$23                        A:11 X:23 Y:55 P:67 SP:FB CYC:241 SL:13\nD1CE  50 02     BVC $D1D2                       A:11 X:23 Y:55 P:67 SP:FB CYC:247 SL:13\nD1D0  F0 04     BEQ $D1D6                       A:11 X:23 Y:55 P:67 SP:FB CYC:253 SL:13\nD1D6  A0 46     LDY #$46                        A:11 X:23 Y:55 P:67 SP:FB CYC:262 SL:13\nD1D8  24 01     BIT $01 = FF                    A:11 X:23 Y:46 P:65 SP:FB CYC:268 SL:13\nD1DA  84 78     STY $78 = 55                    A:11 X:23 Y:46 P:E5 SP:FB CYC:277 SL:13\nD1DC  F0 0A     BEQ $D1E8                       A:11 X:23 Y:46 P:E5 SP:FB CYC:286 SL:13\nD1DE  10 08     BPL $D1E8                       A:11 X:23 Y:46 P:E5 SP:FB CYC:292 SL:13\nD1E0  50 06     BVC $D1E8                       A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:13\nD1E2  A4 78     LDY $78 = 46                    A:11 X:23 Y:46 P:E5 SP:FB CYC:304 SL:13\nD1E4  C0 46     CPY #$46                        A:11 X:23 Y:46 P:65 SP:FB CYC:313 SL:13\nD1E6  F0 04     BEQ $D1EC                       A:11 X:23 Y:46 P:67 SP:FB CYC:319 SL:13\nD1EC  24 01     BIT $01 = FF                    A:11 X:23 Y:46 P:67 SP:FB CYC:328 SL:13\nD1EE  A9 55     LDA #$55                        A:11 X:23 Y:46 P:E5 SP:FB CYC:337 SL:13\nD1F0  85 78     STA $78 = 46                    A:55 X:23 Y:46 P:65 SP:FB CYC:  2 SL:14\nD1F2  A0 11     LDY #$11                        A:55 X:23 Y:46 P:65 SP:FB CYC: 11 SL:14\nD1F4  A9 23     LDA #$23                        A:55 X:23 Y:11 P:65 SP:FB CYC: 17 SL:14\nD1F6  A2 00     LDX #$00                        A:23 X:23 Y:11 P:65 SP:FB CYC: 23 SL:14\nD1F8  A6 78     LDX $78 = 55                    A:23 X:00 Y:11 P:67 SP:FB CYC: 29 SL:14\nD1FA  F0 10     BEQ $D20C                       A:23 X:55 Y:11 P:65 SP:FB CYC: 38 SL:14\nD1FC  30 0E     BMI $D20C                       A:23 X:55 Y:11 P:65 SP:FB CYC: 44 SL:14\nD1FE  E0 55     CPX #$55                        A:23 X:55 Y:11 P:65 SP:FB CYC: 50 SL:14\nD200  D0 0A     BNE $D20C                       A:23 X:55 Y:11 P:67 SP:FB CYC: 56 SL:14\nD202  C0 11     CPY #$11                        A:23 X:55 Y:11 P:67 SP:FB CYC: 62 SL:14\nD204  D0 06     BNE $D20C                       A:23 X:55 Y:11 P:67 SP:FB CYC: 68 SL:14\nD206  C9 23     CMP #$23                        A:23 X:55 Y:11 P:67 SP:FB CYC: 74 SL:14\nD208  50 02     BVC $D20C                       A:23 X:55 Y:11 P:67 SP:FB CYC: 80 SL:14\nD20A  F0 04     BEQ $D210                       A:23 X:55 Y:11 P:67 SP:FB CYC: 86 SL:14\nD210  A2 46     LDX #$46                        A:23 X:55 Y:11 P:67 SP:FB CYC: 95 SL:14\nD212  24 01     BIT $01 = FF                    A:23 X:46 Y:11 P:65 SP:FB CYC:101 SL:14\nD214  86 78     STX $78 = 55                    A:23 X:46 Y:11 P:E5 SP:FB CYC:110 SL:14\nD216  F0 0A     BEQ $D222                       A:23 X:46 Y:11 P:E5 SP:FB CYC:119 SL:14\nD218  10 08     BPL $D222                       A:23 X:46 Y:11 P:E5 SP:FB CYC:125 SL:14\nD21A  50 06     BVC $D222                       A:23 X:46 Y:11 P:E5 SP:FB CYC:131 SL:14\nD21C  A6 78     LDX $78 = 46                    A:23 X:46 Y:11 P:E5 SP:FB CYC:137 SL:14\nD21E  E0 46     CPX #$46                        A:23 X:46 Y:11 P:65 SP:FB CYC:146 SL:14\nD220  F0 04     BEQ $D226                       A:23 X:46 Y:11 P:67 SP:FB CYC:152 SL:14\nD226  A9 C0     LDA #$C0                        A:23 X:46 Y:11 P:67 SP:FB CYC:161 SL:14\nD228  85 78     STA $78 = 46                    A:C0 X:46 Y:11 P:E5 SP:FB CYC:167 SL:14\nD22A  A2 33     LDX #$33                        A:C0 X:46 Y:11 P:E5 SP:FB CYC:176 SL:14\nD22C  A0 88     LDY #$88                        A:C0 X:33 Y:11 P:65 SP:FB CYC:182 SL:14\nD22E  A9 05     LDA #$05                        A:C0 X:33 Y:88 P:E5 SP:FB CYC:188 SL:14\nD230  24 78     BIT $78 = C0                    A:05 X:33 Y:88 P:65 SP:FB CYC:194 SL:14\nD232  10 10     BPL $D244                       A:05 X:33 Y:88 P:E7 SP:FB CYC:203 SL:14\nD234  50 0E     BVC $D244                       A:05 X:33 Y:88 P:E7 SP:FB CYC:209 SL:14\nD236  D0 0C     BNE $D244                       A:05 X:33 Y:88 P:E7 SP:FB CYC:215 SL:14\nD238  C9 05     CMP #$05                        A:05 X:33 Y:88 P:E7 SP:FB CYC:221 SL:14\nD23A  D0 08     BNE $D244                       A:05 X:33 Y:88 P:67 SP:FB CYC:227 SL:14\nD23C  E0 33     CPX #$33                        A:05 X:33 Y:88 P:67 SP:FB CYC:233 SL:14\nD23E  D0 04     BNE $D244                       A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:14\nD240  C0 88     CPY #$88                        A:05 X:33 Y:88 P:67 SP:FB CYC:245 SL:14\nD242  F0 04     BEQ $D248                       A:05 X:33 Y:88 P:67 SP:FB CYC:251 SL:14\nD248  A9 03     LDA #$03                        A:05 X:33 Y:88 P:67 SP:FB CYC:260 SL:14\nD24A  85 78     STA $78 = C0                    A:03 X:33 Y:88 P:65 SP:FB CYC:266 SL:14\nD24C  A9 01     LDA #$01                        A:03 X:33 Y:88 P:65 SP:FB CYC:275 SL:14\nD24E  24 78     BIT $78 = 03                    A:01 X:33 Y:88 P:65 SP:FB CYC:281 SL:14\nD250  30 08     BMI $D25A                       A:01 X:33 Y:88 P:25 SP:FB CYC:290 SL:14\nD252  70 06     BVS $D25A                       A:01 X:33 Y:88 P:25 SP:FB CYC:296 SL:14\nD254  F0 04     BEQ $D25A                       A:01 X:33 Y:88 P:25 SP:FB CYC:302 SL:14\nD256  C9 01     CMP #$01                        A:01 X:33 Y:88 P:25 SP:FB CYC:308 SL:14\nD258  F0 04     BEQ $D25E                       A:01 X:33 Y:88 P:27 SP:FB CYC:314 SL:14\nD25E  A0 7E     LDY #$7E                        A:01 X:33 Y:88 P:27 SP:FB CYC:323 SL:14\nD260  A9 AA     LDA #$AA                        A:01 X:33 Y:7E P:25 SP:FB CYC:329 SL:14\nD262  85 78     STA $78 = 03                    A:AA X:33 Y:7E P:A5 SP:FB CYC:335 SL:14\nD264  20 B6 F7  JSR $F7B6                       A:AA X:33 Y:7E P:A5 SP:FB CYC:  3 SL:15\nF7B6  18        CLC                             A:AA X:33 Y:7E P:A5 SP:F9 CYC: 21 SL:15\nF7B7  A9 FF     LDA #$FF                        A:AA X:33 Y:7E P:A4 SP:F9 CYC: 27 SL:15\nF7B9  85 01     STA $01 = FF                    A:FF X:33 Y:7E P:A4 SP:F9 CYC: 33 SL:15\nF7BB  24 01     BIT $01 = FF                    A:FF X:33 Y:7E P:A4 SP:F9 CYC: 42 SL:15\nF7BD  A9 55     LDA #$55                        A:FF X:33 Y:7E P:E4 SP:F9 CYC: 51 SL:15\nF7BF  60        RTS                             A:55 X:33 Y:7E P:64 SP:F9 CYC: 57 SL:15\nD267  05 78     ORA $78 = AA                    A:55 X:33 Y:7E P:64 SP:FB CYC: 75 SL:15\nD269  20 C0 F7  JSR $F7C0                       A:FF X:33 Y:7E P:E4 SP:FB CYC: 84 SL:15\nF7C0  B0 09     BCS $F7CB                       A:FF X:33 Y:7E P:E4 SP:F9 CYC:102 SL:15\nF7C2  10 07     BPL $F7CB                       A:FF X:33 Y:7E P:E4 SP:F9 CYC:108 SL:15\nF7C4  C9 FF     CMP #$FF                        A:FF X:33 Y:7E P:E4 SP:F9 CYC:114 SL:15\nF7C6  D0 03     BNE $F7CB                       A:FF X:33 Y:7E P:67 SP:F9 CYC:120 SL:15\nF7C8  50 01     BVC $F7CB                       A:FF X:33 Y:7E P:67 SP:F9 CYC:126 SL:15\nF7CA  60        RTS                             A:FF X:33 Y:7E P:67 SP:F9 CYC:132 SL:15\nD26C  C8        INY                             A:FF X:33 Y:7E P:67 SP:FB CYC:150 SL:15\nD26D  A9 00     LDA #$00                        A:FF X:33 Y:7F P:65 SP:FB CYC:156 SL:15\nD26F  85 78     STA $78 = AA                    A:00 X:33 Y:7F P:67 SP:FB CYC:162 SL:15\nD271  20 CE F7  JSR $F7CE                       A:00 X:33 Y:7F P:67 SP:FB CYC:171 SL:15\nF7CE  38        SEC                             A:00 X:33 Y:7F P:67 SP:F9 CYC:189 SL:15\nF7CF  B8        CLV                             A:00 X:33 Y:7F P:67 SP:F9 CYC:195 SL:15\nF7D0  A9 00     LDA #$00                        A:00 X:33 Y:7F P:27 SP:F9 CYC:201 SL:15\nF7D2  60        RTS                             A:00 X:33 Y:7F P:27 SP:F9 CYC:207 SL:15\nD274  05 78     ORA $78 = 00                    A:00 X:33 Y:7F P:27 SP:FB CYC:225 SL:15\nD276  20 D3 F7  JSR $F7D3                       A:00 X:33 Y:7F P:27 SP:FB CYC:234 SL:15\nF7D3  D0 07     BNE $F7DC                       A:00 X:33 Y:7F P:27 SP:F9 CYC:252 SL:15\nF7D5  70 05     BVS $F7DC                       A:00 X:33 Y:7F P:27 SP:F9 CYC:258 SL:15\nF7D7  90 03     BCC $F7DC                       A:00 X:33 Y:7F P:27 SP:F9 CYC:264 SL:15\nF7D9  30 01     BMI $F7DC                       A:00 X:33 Y:7F P:27 SP:F9 CYC:270 SL:15\nF7DB  60        RTS                             A:00 X:33 Y:7F P:27 SP:F9 CYC:276 SL:15\nD279  C8        INY                             A:00 X:33 Y:7F P:27 SP:FB CYC:294 SL:15\nD27A  A9 AA     LDA #$AA                        A:00 X:33 Y:80 P:A5 SP:FB CYC:300 SL:15\nD27C  85 78     STA $78 = 00                    A:AA X:33 Y:80 P:A5 SP:FB CYC:306 SL:15\nD27E  20 DF F7  JSR $F7DF                       A:AA X:33 Y:80 P:A5 SP:FB CYC:315 SL:15\nF7DF  18        CLC                             A:AA X:33 Y:80 P:A5 SP:F9 CYC:333 SL:15\nF7E0  24 01     BIT $01 = FF                    A:AA X:33 Y:80 P:A4 SP:F9 CYC:339 SL:15\nF7E2  A9 55     LDA #$55                        A:AA X:33 Y:80 P:E4 SP:F9 CYC:  7 SL:16\nF7E4  60        RTS                             A:55 X:33 Y:80 P:64 SP:F9 CYC: 13 SL:16\nD281  25 78     AND $78 = AA                    A:55 X:33 Y:80 P:64 SP:FB CYC: 31 SL:16\nD283  20 E5 F7  JSR $F7E5                       A:00 X:33 Y:80 P:66 SP:FB CYC: 40 SL:16\nF7E5  D0 07     BNE $F7EE                       A:00 X:33 Y:80 P:66 SP:F9 CYC: 58 SL:16\nF7E7  50 05     BVC $F7EE                       A:00 X:33 Y:80 P:66 SP:F9 CYC: 64 SL:16\nF7E9  B0 03     BCS $F7EE                       A:00 X:33 Y:80 P:66 SP:F9 CYC: 70 SL:16\nF7EB  30 01     BMI $F7EE                       A:00 X:33 Y:80 P:66 SP:F9 CYC: 76 SL:16\nF7ED  60        RTS                             A:00 X:33 Y:80 P:66 SP:F9 CYC: 82 SL:16\nD286  C8        INY                             A:00 X:33 Y:80 P:66 SP:FB CYC:100 SL:16\nD287  A9 EF     LDA #$EF                        A:00 X:33 Y:81 P:E4 SP:FB CYC:106 SL:16\nD289  85 78     STA $78 = AA                    A:EF X:33 Y:81 P:E4 SP:FB CYC:112 SL:16\nD28B  20 F1 F7  JSR $F7F1                       A:EF X:33 Y:81 P:E4 SP:FB CYC:121 SL:16\nF7F1  38        SEC                             A:EF X:33 Y:81 P:E4 SP:F9 CYC:139 SL:16\nF7F2  B8        CLV                             A:EF X:33 Y:81 P:E5 SP:F9 CYC:145 SL:16\nF7F3  A9 F8     LDA #$F8                        A:EF X:33 Y:81 P:A5 SP:F9 CYC:151 SL:16\nF7F5  60        RTS                             A:F8 X:33 Y:81 P:A5 SP:F9 CYC:157 SL:16\nD28E  25 78     AND $78 = EF                    A:F8 X:33 Y:81 P:A5 SP:FB CYC:175 SL:16\nD290  20 F6 F7  JSR $F7F6                       A:E8 X:33 Y:81 P:A5 SP:FB CYC:184 SL:16\nF7F6  90 09     BCC $F801                       A:E8 X:33 Y:81 P:A5 SP:F9 CYC:202 SL:16\nF7F8  10 07     BPL $F801                       A:E8 X:33 Y:81 P:A5 SP:F9 CYC:208 SL:16\nF7FA  C9 E8     CMP #$E8                        A:E8 X:33 Y:81 P:A5 SP:F9 CYC:214 SL:16\nF7FC  D0 03     BNE $F801                       A:E8 X:33 Y:81 P:27 SP:F9 CYC:220 SL:16\nF7FE  70 01     BVS $F801                       A:E8 X:33 Y:81 P:27 SP:F9 CYC:226 SL:16\nF800  60        RTS                             A:E8 X:33 Y:81 P:27 SP:F9 CYC:232 SL:16\nD293  C8        INY                             A:E8 X:33 Y:81 P:27 SP:FB CYC:250 SL:16\nD294  A9 AA     LDA #$AA                        A:E8 X:33 Y:82 P:A5 SP:FB CYC:256 SL:16\nD296  85 78     STA $78 = EF                    A:AA X:33 Y:82 P:A5 SP:FB CYC:262 SL:16\nD298  20 04 F8  JSR $F804                       A:AA X:33 Y:82 P:A5 SP:FB CYC:271 SL:16\nF804  18        CLC                             A:AA X:33 Y:82 P:A5 SP:F9 CYC:289 SL:16\nF805  24 01     BIT $01 = FF                    A:AA X:33 Y:82 P:A4 SP:F9 CYC:295 SL:16\nF807  A9 5F     LDA #$5F                        A:AA X:33 Y:82 P:E4 SP:F9 CYC:304 SL:16\nF809  60        RTS                             A:5F X:33 Y:82 P:64 SP:F9 CYC:310 SL:16\nD29B  45 78     EOR $78 = AA                    A:5F X:33 Y:82 P:64 SP:FB CYC:328 SL:16\nD29D  20 0A F8  JSR $F80A                       A:F5 X:33 Y:82 P:E4 SP:FB CYC:337 SL:16\nF80A  B0 09     BCS $F815                       A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 14 SL:17\nF80C  10 07     BPL $F815                       A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 20 SL:17\nF80E  C9 F5     CMP #$F5                        A:F5 X:33 Y:82 P:E4 SP:F9 CYC: 26 SL:17\nF810  D0 03     BNE $F815                       A:F5 X:33 Y:82 P:67 SP:F9 CYC: 32 SL:17\nF812  50 01     BVC $F815                       A:F5 X:33 Y:82 P:67 SP:F9 CYC: 38 SL:17\nF814  60        RTS                             A:F5 X:33 Y:82 P:67 SP:F9 CYC: 44 SL:17\nD2A0  C8        INY                             A:F5 X:33 Y:82 P:67 SP:FB CYC: 62 SL:17\nD2A1  A9 70     LDA #$70                        A:F5 X:33 Y:83 P:E5 SP:FB CYC: 68 SL:17\nD2A3  85 78     STA $78 = AA                    A:70 X:33 Y:83 P:65 SP:FB CYC: 74 SL:17\nD2A5  20 18 F8  JSR $F818                       A:70 X:33 Y:83 P:65 SP:FB CYC: 83 SL:17\nF818  38        SEC                             A:70 X:33 Y:83 P:65 SP:F9 CYC:101 SL:17\nF819  B8        CLV                             A:70 X:33 Y:83 P:65 SP:F9 CYC:107 SL:17\nF81A  A9 70     LDA #$70                        A:70 X:33 Y:83 P:25 SP:F9 CYC:113 SL:17\nF81C  60        RTS                             A:70 X:33 Y:83 P:25 SP:F9 CYC:119 SL:17\nD2A8  45 78     EOR $78 = 70                    A:70 X:33 Y:83 P:25 SP:FB CYC:137 SL:17\nD2AA  20 1D F8  JSR $F81D                       A:00 X:33 Y:83 P:27 SP:FB CYC:146 SL:17\nF81D  D0 07     BNE $F826                       A:00 X:33 Y:83 P:27 SP:F9 CYC:164 SL:17\nF81F  70 05     BVS $F826                       A:00 X:33 Y:83 P:27 SP:F9 CYC:170 SL:17\nF821  90 03     BCC $F826                       A:00 X:33 Y:83 P:27 SP:F9 CYC:176 SL:17\nF823  30 01     BMI $F826                       A:00 X:33 Y:83 P:27 SP:F9 CYC:182 SL:17\nF825  60        RTS                             A:00 X:33 Y:83 P:27 SP:F9 CYC:188 SL:17\nD2AD  C8        INY                             A:00 X:33 Y:83 P:27 SP:FB CYC:206 SL:17\nD2AE  A9 69     LDA #$69                        A:00 X:33 Y:84 P:A5 SP:FB CYC:212 SL:17\nD2B0  85 78     STA $78 = 70                    A:69 X:33 Y:84 P:25 SP:FB CYC:218 SL:17\nD2B2  20 29 F8  JSR $F829                       A:69 X:33 Y:84 P:25 SP:FB CYC:227 SL:17\nF829  18        CLC                             A:69 X:33 Y:84 P:25 SP:F9 CYC:245 SL:17\nF82A  24 01     BIT $01 = FF                    A:69 X:33 Y:84 P:24 SP:F9 CYC:251 SL:17\nF82C  A9 00     LDA #$00                        A:69 X:33 Y:84 P:E4 SP:F9 CYC:260 SL:17\nF82E  60        RTS                             A:00 X:33 Y:84 P:66 SP:F9 CYC:266 SL:17\nD2B5  65 78     ADC $78 = 69                    A:00 X:33 Y:84 P:66 SP:FB CYC:284 SL:17\nD2B7  20 2F F8  JSR $F82F                       A:69 X:33 Y:84 P:24 SP:FB CYC:293 SL:17\nF82F  30 09     BMI $F83A                       A:69 X:33 Y:84 P:24 SP:F9 CYC:311 SL:17\nF831  B0 07     BCS $F83A                       A:69 X:33 Y:84 P:24 SP:F9 CYC:317 SL:17\nF833  C9 69     CMP #$69                        A:69 X:33 Y:84 P:24 SP:F9 CYC:323 SL:17\nF835  D0 03     BNE $F83A                       A:69 X:33 Y:84 P:27 SP:F9 CYC:329 SL:17\nF837  70 01     BVS $F83A                       A:69 X:33 Y:84 P:27 SP:F9 CYC:335 SL:17\nF839  60        RTS                             A:69 X:33 Y:84 P:27 SP:F9 CYC:  0 SL:18\nD2BA  C8        INY                             A:69 X:33 Y:84 P:27 SP:FB CYC: 18 SL:18\nD2BB  20 3D F8  JSR $F83D                       A:69 X:33 Y:85 P:A5 SP:FB CYC: 24 SL:18\nF83D  38        SEC                             A:69 X:33 Y:85 P:A5 SP:F9 CYC: 42 SL:18\nF83E  24 01     BIT $01 = FF                    A:69 X:33 Y:85 P:A5 SP:F9 CYC: 48 SL:18\nF840  A9 00     LDA #$00                        A:69 X:33 Y:85 P:E5 SP:F9 CYC: 57 SL:18\nF842  60        RTS                             A:00 X:33 Y:85 P:67 SP:F9 CYC: 63 SL:18\nD2BE  65 78     ADC $78 = 69                    A:00 X:33 Y:85 P:67 SP:FB CYC: 81 SL:18\nD2C0  20 43 F8  JSR $F843                       A:6A X:33 Y:85 P:24 SP:FB CYC: 90 SL:18\nF843  30 09     BMI $F84E                       A:6A X:33 Y:85 P:24 SP:F9 CYC:108 SL:18\nF845  B0 07     BCS $F84E                       A:6A X:33 Y:85 P:24 SP:F9 CYC:114 SL:18\nF847  C9 6A     CMP #$6A                        A:6A X:33 Y:85 P:24 SP:F9 CYC:120 SL:18\nF849  D0 03     BNE $F84E                       A:6A X:33 Y:85 P:27 SP:F9 CYC:126 SL:18\nF84B  70 01     BVS $F84E                       A:6A X:33 Y:85 P:27 SP:F9 CYC:132 SL:18\nF84D  60        RTS                             A:6A X:33 Y:85 P:27 SP:F9 CYC:138 SL:18\nD2C3  C8        INY                             A:6A X:33 Y:85 P:27 SP:FB CYC:156 SL:18\nD2C4  A9 7F     LDA #$7F                        A:6A X:33 Y:86 P:A5 SP:FB CYC:162 SL:18\nD2C6  85 78     STA $78 = 69                    A:7F X:33 Y:86 P:25 SP:FB CYC:168 SL:18\nD2C8  20 51 F8  JSR $F851                       A:7F X:33 Y:86 P:25 SP:FB CYC:177 SL:18\nF851  38        SEC                             A:7F X:33 Y:86 P:25 SP:F9 CYC:195 SL:18\nF852  B8        CLV                             A:7F X:33 Y:86 P:25 SP:F9 CYC:201 SL:18\nF853  A9 7F     LDA #$7F                        A:7F X:33 Y:86 P:25 SP:F9 CYC:207 SL:18\nF855  60        RTS                             A:7F X:33 Y:86 P:25 SP:F9 CYC:213 SL:18\nD2CB  65 78     ADC $78 = 7F                    A:7F X:33 Y:86 P:25 SP:FB CYC:231 SL:18\nD2CD  20 56 F8  JSR $F856                       A:FF X:33 Y:86 P:E4 SP:FB CYC:240 SL:18\nF856  10 09     BPL $F861                       A:FF X:33 Y:86 P:E4 SP:F9 CYC:258 SL:18\nF858  B0 07     BCS $F861                       A:FF X:33 Y:86 P:E4 SP:F9 CYC:264 SL:18\nF85A  C9 FF     CMP #$FF                        A:FF X:33 Y:86 P:E4 SP:F9 CYC:270 SL:18\nF85C  D0 03     BNE $F861                       A:FF X:33 Y:86 P:67 SP:F9 CYC:276 SL:18\nF85E  50 01     BVC $F861                       A:FF X:33 Y:86 P:67 SP:F9 CYC:282 SL:18\nF860  60        RTS                             A:FF X:33 Y:86 P:67 SP:F9 CYC:288 SL:18\nD2D0  C8        INY                             A:FF X:33 Y:86 P:67 SP:FB CYC:306 SL:18\nD2D1  A9 80     LDA #$80                        A:FF X:33 Y:87 P:E5 SP:FB CYC:312 SL:18\nD2D3  85 78     STA $78 = 7F                    A:80 X:33 Y:87 P:E5 SP:FB CYC:318 SL:18\nD2D5  20 64 F8  JSR $F864                       A:80 X:33 Y:87 P:E5 SP:FB CYC:327 SL:18\nF864  18        CLC                             A:80 X:33 Y:87 P:E5 SP:F9 CYC:  4 SL:19\nF865  24 01     BIT $01 = FF                    A:80 X:33 Y:87 P:E4 SP:F9 CYC: 10 SL:19\nF867  A9 7F     LDA #$7F                        A:80 X:33 Y:87 P:E4 SP:F9 CYC: 19 SL:19\nF869  60        RTS                             A:7F X:33 Y:87 P:64 SP:F9 CYC: 25 SL:19\nD2D8  65 78     ADC $78 = 80                    A:7F X:33 Y:87 P:64 SP:FB CYC: 43 SL:19\nD2DA  20 6A F8  JSR $F86A                       A:FF X:33 Y:87 P:A4 SP:FB CYC: 52 SL:19\nF86A  10 09     BPL $F875                       A:FF X:33 Y:87 P:A4 SP:F9 CYC: 70 SL:19\nF86C  B0 07     BCS $F875                       A:FF X:33 Y:87 P:A4 SP:F9 CYC: 76 SL:19\nF86E  C9 FF     CMP #$FF                        A:FF X:33 Y:87 P:A4 SP:F9 CYC: 82 SL:19\nF870  D0 03     BNE $F875                       A:FF X:33 Y:87 P:27 SP:F9 CYC: 88 SL:19\nF872  70 01     BVS $F875                       A:FF X:33 Y:87 P:27 SP:F9 CYC: 94 SL:19\nF874  60        RTS                             A:FF X:33 Y:87 P:27 SP:F9 CYC:100 SL:19\nD2DD  C8        INY                             A:FF X:33 Y:87 P:27 SP:FB CYC:118 SL:19\nD2DE  20 78 F8  JSR $F878                       A:FF X:33 Y:88 P:A5 SP:FB CYC:124 SL:19\nF878  38        SEC                             A:FF X:33 Y:88 P:A5 SP:F9 CYC:142 SL:19\nF879  B8        CLV                             A:FF X:33 Y:88 P:A5 SP:F9 CYC:148 SL:19\nF87A  A9 7F     LDA #$7F                        A:FF X:33 Y:88 P:A5 SP:F9 CYC:154 SL:19\nF87C  60        RTS                             A:7F X:33 Y:88 P:25 SP:F9 CYC:160 SL:19\nD2E1  65 78     ADC $78 = 80                    A:7F X:33 Y:88 P:25 SP:FB CYC:178 SL:19\nD2E3  20 7D F8  JSR $F87D                       A:00 X:33 Y:88 P:27 SP:FB CYC:187 SL:19\nF87D  D0 07     BNE $F886                       A:00 X:33 Y:88 P:27 SP:F9 CYC:205 SL:19\nF87F  30 05     BMI $F886                       A:00 X:33 Y:88 P:27 SP:F9 CYC:211 SL:19\nF881  70 03     BVS $F886                       A:00 X:33 Y:88 P:27 SP:F9 CYC:217 SL:19\nF883  90 01     BCC $F886                       A:00 X:33 Y:88 P:27 SP:F9 CYC:223 SL:19\nF885  60        RTS                             A:00 X:33 Y:88 P:27 SP:F9 CYC:229 SL:19\nD2E6  C8        INY                             A:00 X:33 Y:88 P:27 SP:FB CYC:247 SL:19\nD2E7  A9 40     LDA #$40                        A:00 X:33 Y:89 P:A5 SP:FB CYC:253 SL:19\nD2E9  85 78     STA $78 = 80                    A:40 X:33 Y:89 P:25 SP:FB CYC:259 SL:19\nD2EB  20 89 F8  JSR $F889                       A:40 X:33 Y:89 P:25 SP:FB CYC:268 SL:19\nF889  24 01     BIT $01 = FF                    A:40 X:33 Y:89 P:25 SP:F9 CYC:286 SL:19\nF88B  A9 40     LDA #$40                        A:40 X:33 Y:89 P:E5 SP:F9 CYC:295 SL:19\nF88D  60        RTS                             A:40 X:33 Y:89 P:65 SP:F9 CYC:301 SL:19\nD2EE  C5 78     CMP $78 = 40                    A:40 X:33 Y:89 P:65 SP:FB CYC:319 SL:19\nD2F0  20 8E F8  JSR $F88E                       A:40 X:33 Y:89 P:67 SP:FB CYC:328 SL:19\nF88E  30 07     BMI $F897                       A:40 X:33 Y:89 P:67 SP:F9 CYC:  5 SL:20\nF890  90 05     BCC $F897                       A:40 X:33 Y:89 P:67 SP:F9 CYC: 11 SL:20\nF892  D0 03     BNE $F897                       A:40 X:33 Y:89 P:67 SP:F9 CYC: 17 SL:20\nF894  50 01     BVC $F897                       A:40 X:33 Y:89 P:67 SP:F9 CYC: 23 SL:20\nF896  60        RTS                             A:40 X:33 Y:89 P:67 SP:F9 CYC: 29 SL:20\nD2F3  C8        INY                             A:40 X:33 Y:89 P:67 SP:FB CYC: 47 SL:20\nD2F4  48        PHA                             A:40 X:33 Y:8A P:E5 SP:FB CYC: 53 SL:20\nD2F5  A9 3F     LDA #$3F                        A:40 X:33 Y:8A P:E5 SP:FA CYC: 62 SL:20\nD2F7  85 78     STA $78 = 40                    A:3F X:33 Y:8A P:65 SP:FA CYC: 68 SL:20\nD2F9  68        PLA                             A:3F X:33 Y:8A P:65 SP:FA CYC: 77 SL:20\nD2FA  20 9A F8  JSR $F89A                       A:40 X:33 Y:8A P:65 SP:FB CYC: 89 SL:20\nF89A  B8        CLV                             A:40 X:33 Y:8A P:65 SP:F9 CYC:107 SL:20\nF89B  60        RTS                             A:40 X:33 Y:8A P:25 SP:F9 CYC:113 SL:20\nD2FD  C5 78     CMP $78 = 3F                    A:40 X:33 Y:8A P:25 SP:FB CYC:131 SL:20\nD2FF  20 9C F8  JSR $F89C                       A:40 X:33 Y:8A P:25 SP:FB CYC:140 SL:20\nF89C  F0 07     BEQ $F8A5                       A:40 X:33 Y:8A P:25 SP:F9 CYC:158 SL:20\nF89E  30 05     BMI $F8A5                       A:40 X:33 Y:8A P:25 SP:F9 CYC:164 SL:20\nF8A0  90 03     BCC $F8A5                       A:40 X:33 Y:8A P:25 SP:F9 CYC:170 SL:20\nF8A2  70 01     BVS $F8A5                       A:40 X:33 Y:8A P:25 SP:F9 CYC:176 SL:20\nF8A4  60        RTS                             A:40 X:33 Y:8A P:25 SP:F9 CYC:182 SL:20\nD302  C8        INY                             A:40 X:33 Y:8A P:25 SP:FB CYC:200 SL:20\nD303  48        PHA                             A:40 X:33 Y:8B P:A5 SP:FB CYC:206 SL:20\nD304  A9 41     LDA #$41                        A:40 X:33 Y:8B P:A5 SP:FA CYC:215 SL:20\nD306  85 78     STA $78 = 3F                    A:41 X:33 Y:8B P:25 SP:FA CYC:221 SL:20\nD308  68        PLA                             A:41 X:33 Y:8B P:25 SP:FA CYC:230 SL:20\nD309  C5 78     CMP $78 = 41                    A:40 X:33 Y:8B P:25 SP:FB CYC:242 SL:20\nD30B  20 A8 F8  JSR $F8A8                       A:40 X:33 Y:8B P:A4 SP:FB CYC:251 SL:20\nF8A8  F0 05     BEQ $F8AF                       A:40 X:33 Y:8B P:A4 SP:F9 CYC:269 SL:20\nF8AA  10 03     BPL $F8AF                       A:40 X:33 Y:8B P:A4 SP:F9 CYC:275 SL:20\nF8AC  10 01     BPL $F8AF                       A:40 X:33 Y:8B P:A4 SP:F9 CYC:281 SL:20\nF8AE  60        RTS                             A:40 X:33 Y:8B P:A4 SP:F9 CYC:287 SL:20\nD30E  C8        INY                             A:40 X:33 Y:8B P:A4 SP:FB CYC:305 SL:20\nD30F  48        PHA                             A:40 X:33 Y:8C P:A4 SP:FB CYC:311 SL:20\nD310  A9 00     LDA #$00                        A:40 X:33 Y:8C P:A4 SP:FA CYC:320 SL:20\nD312  85 78     STA $78 = 41                    A:00 X:33 Y:8C P:26 SP:FA CYC:326 SL:20\nD314  68        PLA                             A:00 X:33 Y:8C P:26 SP:FA CYC:335 SL:20\nD315  20 B2 F8  JSR $F8B2                       A:40 X:33 Y:8C P:24 SP:FB CYC:  6 SL:21\nF8B2  A9 80     LDA #$80                        A:40 X:33 Y:8C P:24 SP:F9 CYC: 24 SL:21\nF8B4  60        RTS                             A:80 X:33 Y:8C P:A4 SP:F9 CYC: 30 SL:21\nD318  C5 78     CMP $78 = 00                    A:80 X:33 Y:8C P:A4 SP:FB CYC: 48 SL:21\nD31A  20 B5 F8  JSR $F8B5                       A:80 X:33 Y:8C P:A5 SP:FB CYC: 57 SL:21\nF8B5  F0 05     BEQ $F8BC                       A:80 X:33 Y:8C P:A5 SP:F9 CYC: 75 SL:21\nF8B7  10 03     BPL $F8BC                       A:80 X:33 Y:8C P:A5 SP:F9 CYC: 81 SL:21\nF8B9  90 01     BCC $F8BC                       A:80 X:33 Y:8C P:A5 SP:F9 CYC: 87 SL:21\nF8BB  60        RTS                             A:80 X:33 Y:8C P:A5 SP:F9 CYC: 93 SL:21\nD31D  C8        INY                             A:80 X:33 Y:8C P:A5 SP:FB CYC:111 SL:21\nD31E  48        PHA                             A:80 X:33 Y:8D P:A5 SP:FB CYC:117 SL:21\nD31F  A9 80     LDA #$80                        A:80 X:33 Y:8D P:A5 SP:FA CYC:126 SL:21\nD321  85 78     STA $78 = 00                    A:80 X:33 Y:8D P:A5 SP:FA CYC:132 SL:21\nD323  68        PLA                             A:80 X:33 Y:8D P:A5 SP:FA CYC:141 SL:21\nD324  C5 78     CMP $78 = 80                    A:80 X:33 Y:8D P:A5 SP:FB CYC:153 SL:21\nD326  20 BF F8  JSR $F8BF                       A:80 X:33 Y:8D P:27 SP:FB CYC:162 SL:21\nF8BF  D0 05     BNE $F8C6                       A:80 X:33 Y:8D P:27 SP:F9 CYC:180 SL:21\nF8C1  30 03     BMI $F8C6                       A:80 X:33 Y:8D P:27 SP:F9 CYC:186 SL:21\nF8C3  90 01     BCC $F8C6                       A:80 X:33 Y:8D P:27 SP:F9 CYC:192 SL:21\nF8C5  60        RTS                             A:80 X:33 Y:8D P:27 SP:F9 CYC:198 SL:21\nD329  C8        INY                             A:80 X:33 Y:8D P:27 SP:FB CYC:216 SL:21\nD32A  48        PHA                             A:80 X:33 Y:8E P:A5 SP:FB CYC:222 SL:21\nD32B  A9 81     LDA #$81                        A:80 X:33 Y:8E P:A5 SP:FA CYC:231 SL:21\nD32D  85 78     STA $78 = 80                    A:81 X:33 Y:8E P:A5 SP:FA CYC:237 SL:21\nD32F  68        PLA                             A:81 X:33 Y:8E P:A5 SP:FA CYC:246 SL:21\nD330  C5 78     CMP $78 = 81                    A:80 X:33 Y:8E P:A5 SP:FB CYC:258 SL:21\nD332  20 C9 F8  JSR $F8C9                       A:80 X:33 Y:8E P:A4 SP:FB CYC:267 SL:21\nF8C9  B0 05     BCS $F8D0                       A:80 X:33 Y:8E P:A4 SP:F9 CYC:285 SL:21\nF8CB  F0 03     BEQ $F8D0                       A:80 X:33 Y:8E P:A4 SP:F9 CYC:291 SL:21\nF8CD  10 01     BPL $F8D0                       A:80 X:33 Y:8E P:A4 SP:F9 CYC:297 SL:21\nF8CF  60        RTS                             A:80 X:33 Y:8E P:A4 SP:F9 CYC:303 SL:21\nD335  C8        INY                             A:80 X:33 Y:8E P:A4 SP:FB CYC:321 SL:21\nD336  48        PHA                             A:80 X:33 Y:8F P:A4 SP:FB CYC:327 SL:21\nD337  A9 7F     LDA #$7F                        A:80 X:33 Y:8F P:A4 SP:FA CYC:336 SL:21\nD339  85 78     STA $78 = 81                    A:7F X:33 Y:8F P:24 SP:FA CYC:  1 SL:22\nD33B  68        PLA                             A:7F X:33 Y:8F P:24 SP:FA CYC: 10 SL:22\nD33C  C5 78     CMP $78 = 7F                    A:80 X:33 Y:8F P:A4 SP:FB CYC: 22 SL:22\nD33E  20 D3 F8  JSR $F8D3                       A:80 X:33 Y:8F P:25 SP:FB CYC: 31 SL:22\nF8D3  90 05     BCC $F8DA                       A:80 X:33 Y:8F P:25 SP:F9 CYC: 49 SL:22\nF8D5  F0 03     BEQ $F8DA                       A:80 X:33 Y:8F P:25 SP:F9 CYC: 55 SL:22\nF8D7  30 01     BMI $F8DA                       A:80 X:33 Y:8F P:25 SP:F9 CYC: 61 SL:22\nF8D9  60        RTS                             A:80 X:33 Y:8F P:25 SP:F9 CYC: 67 SL:22\nD341  C8        INY                             A:80 X:33 Y:8F P:25 SP:FB CYC: 85 SL:22\nD342  A9 40     LDA #$40                        A:80 X:33 Y:90 P:A5 SP:FB CYC: 91 SL:22\nD344  85 78     STA $78 = 7F                    A:40 X:33 Y:90 P:25 SP:FB CYC: 97 SL:22\nD346  20 31 F9  JSR $F931                       A:40 X:33 Y:90 P:25 SP:FB CYC:106 SL:22\nF931  24 01     BIT $01 = FF                    A:40 X:33 Y:90 P:25 SP:F9 CYC:124 SL:22\nF933  A9 40     LDA #$40                        A:40 X:33 Y:90 P:E5 SP:F9 CYC:133 SL:22\nF935  38        SEC                             A:40 X:33 Y:90 P:65 SP:F9 CYC:139 SL:22\nF936  60        RTS                             A:40 X:33 Y:90 P:65 SP:F9 CYC:145 SL:22\nD349  E5 78     SBC $78 = 40                    A:40 X:33 Y:90 P:65 SP:FB CYC:163 SL:22\nD34B  20 37 F9  JSR $F937                       A:00 X:33 Y:90 P:27 SP:FB CYC:172 SL:22\nF937  30 0B     BMI $F944                       A:00 X:33 Y:90 P:27 SP:F9 CYC:190 SL:22\nF939  90 09     BCC $F944                       A:00 X:33 Y:90 P:27 SP:F9 CYC:196 SL:22\nF93B  D0 07     BNE $F944                       A:00 X:33 Y:90 P:27 SP:F9 CYC:202 SL:22\nF93D  70 05     BVS $F944                       A:00 X:33 Y:90 P:27 SP:F9 CYC:208 SL:22\nF93F  C9 00     CMP #$00                        A:00 X:33 Y:90 P:27 SP:F9 CYC:214 SL:22\nF941  D0 01     BNE $F944                       A:00 X:33 Y:90 P:27 SP:F9 CYC:220 SL:22\nF943  60        RTS                             A:00 X:33 Y:90 P:27 SP:F9 CYC:226 SL:22\nD34E  C8        INY                             A:00 X:33 Y:90 P:27 SP:FB CYC:244 SL:22\nD34F  A9 3F     LDA #$3F                        A:00 X:33 Y:91 P:A5 SP:FB CYC:250 SL:22\nD351  85 78     STA $78 = 40                    A:3F X:33 Y:91 P:25 SP:FB CYC:256 SL:22\nD353  20 47 F9  JSR $F947                       A:3F X:33 Y:91 P:25 SP:FB CYC:265 SL:22\nF947  B8        CLV                             A:3F X:33 Y:91 P:25 SP:F9 CYC:283 SL:22\nF948  38        SEC                             A:3F X:33 Y:91 P:25 SP:F9 CYC:289 SL:22\nF949  A9 40     LDA #$40                        A:3F X:33 Y:91 P:25 SP:F9 CYC:295 SL:22\nF94B  60        RTS                             A:40 X:33 Y:91 P:25 SP:F9 CYC:301 SL:22\nD356  E5 78     SBC $78 = 3F                    A:40 X:33 Y:91 P:25 SP:FB CYC:319 SL:22\nD358  20 4C F9  JSR $F94C                       A:01 X:33 Y:91 P:25 SP:FB CYC:328 SL:22\nF94C  F0 0B     BEQ $F959                       A:01 X:33 Y:91 P:25 SP:F9 CYC:  5 SL:23\nF94E  30 09     BMI $F959                       A:01 X:33 Y:91 P:25 SP:F9 CYC: 11 SL:23\nF950  90 07     BCC $F959                       A:01 X:33 Y:91 P:25 SP:F9 CYC: 17 SL:23\nF952  70 05     BVS $F959                       A:01 X:33 Y:91 P:25 SP:F9 CYC: 23 SL:23\nF954  C9 01     CMP #$01                        A:01 X:33 Y:91 P:25 SP:F9 CYC: 29 SL:23\nF956  D0 01     BNE $F959                       A:01 X:33 Y:91 P:27 SP:F9 CYC: 35 SL:23\nF958  60        RTS                             A:01 X:33 Y:91 P:27 SP:F9 CYC: 41 SL:23\nD35B  C8        INY                             A:01 X:33 Y:91 P:27 SP:FB CYC: 59 SL:23\nD35C  A9 41     LDA #$41                        A:01 X:33 Y:92 P:A5 SP:FB CYC: 65 SL:23\nD35E  85 78     STA $78 = 3F                    A:41 X:33 Y:92 P:25 SP:FB CYC: 71 SL:23\nD360  20 5C F9  JSR $F95C                       A:41 X:33 Y:92 P:25 SP:FB CYC: 80 SL:23\nF95C  A9 40     LDA #$40                        A:41 X:33 Y:92 P:25 SP:F9 CYC: 98 SL:23\nF95E  38        SEC                             A:40 X:33 Y:92 P:25 SP:F9 CYC:104 SL:23\nF95F  24 01     BIT $01 = FF                    A:40 X:33 Y:92 P:25 SP:F9 CYC:110 SL:23\nF961  60        RTS                             A:40 X:33 Y:92 P:E5 SP:F9 CYC:119 SL:23\nD363  E5 78     SBC $78 = 41                    A:40 X:33 Y:92 P:E5 SP:FB CYC:137 SL:23\nD365  20 62 F9  JSR $F962                       A:FF X:33 Y:92 P:A4 SP:FB CYC:146 SL:23\nF962  B0 0B     BCS $F96F                       A:FF X:33 Y:92 P:A4 SP:F9 CYC:164 SL:23\nF964  F0 09     BEQ $F96F                       A:FF X:33 Y:92 P:A4 SP:F9 CYC:170 SL:23\nF966  10 07     BPL $F96F                       A:FF X:33 Y:92 P:A4 SP:F9 CYC:176 SL:23\nF968  70 05     BVS $F96F                       A:FF X:33 Y:92 P:A4 SP:F9 CYC:182 SL:23\nF96A  C9 FF     CMP #$FF                        A:FF X:33 Y:92 P:A4 SP:F9 CYC:188 SL:23\nF96C  D0 01     BNE $F96F                       A:FF X:33 Y:92 P:27 SP:F9 CYC:194 SL:23\nF96E  60        RTS                             A:FF X:33 Y:92 P:27 SP:F9 CYC:200 SL:23\nD368  C8        INY                             A:FF X:33 Y:92 P:27 SP:FB CYC:218 SL:23\nD369  A9 00     LDA #$00                        A:FF X:33 Y:93 P:A5 SP:FB CYC:224 SL:23\nD36B  85 78     STA $78 = 41                    A:00 X:33 Y:93 P:27 SP:FB CYC:230 SL:23\nD36D  20 72 F9  JSR $F972                       A:00 X:33 Y:93 P:27 SP:FB CYC:239 SL:23\nF972  18        CLC                             A:00 X:33 Y:93 P:27 SP:F9 CYC:257 SL:23\nF973  A9 80     LDA #$80                        A:00 X:33 Y:93 P:26 SP:F9 CYC:263 SL:23\nF975  60        RTS                             A:80 X:33 Y:93 P:A4 SP:F9 CYC:269 SL:23\nD370  E5 78     SBC $78 = 00                    A:80 X:33 Y:93 P:A4 SP:FB CYC:287 SL:23\nD372  20 76 F9  JSR $F976                       A:7F X:33 Y:93 P:65 SP:FB CYC:296 SL:23\nF976  90 05     BCC $F97D                       A:7F X:33 Y:93 P:65 SP:F9 CYC:314 SL:23\nF978  C9 7F     CMP #$7F                        A:7F X:33 Y:93 P:65 SP:F9 CYC:320 SL:23\nF97A  D0 01     BNE $F97D                       A:7F X:33 Y:93 P:67 SP:F9 CYC:326 SL:23\nF97C  60        RTS                             A:7F X:33 Y:93 P:67 SP:F9 CYC:332 SL:23\nD375  C8        INY                             A:7F X:33 Y:93 P:67 SP:FB CYC:  9 SL:24\nD376  A9 7F     LDA #$7F                        A:7F X:33 Y:94 P:E5 SP:FB CYC: 15 SL:24\nD378  85 78     STA $78 = 00                    A:7F X:33 Y:94 P:65 SP:FB CYC: 21 SL:24\nD37A  20 80 F9  JSR $F980                       A:7F X:33 Y:94 P:65 SP:FB CYC: 30 SL:24\nF980  38        SEC                             A:7F X:33 Y:94 P:65 SP:F9 CYC: 48 SL:24\nF981  A9 81     LDA #$81                        A:7F X:33 Y:94 P:65 SP:F9 CYC: 54 SL:24\nF983  60        RTS                             A:81 X:33 Y:94 P:E5 SP:F9 CYC: 60 SL:24\nD37D  E5 78     SBC $78 = 7F                    A:81 X:33 Y:94 P:E5 SP:FB CYC: 78 SL:24\nD37F  20 84 F9  JSR $F984                       A:02 X:33 Y:94 P:65 SP:FB CYC: 87 SL:24\nF984  50 07     BVC $F98D                       A:02 X:33 Y:94 P:65 SP:F9 CYC:105 SL:24\nF986  90 05     BCC $F98D                       A:02 X:33 Y:94 P:65 SP:F9 CYC:111 SL:24\nF988  C9 02     CMP #$02                        A:02 X:33 Y:94 P:65 SP:F9 CYC:117 SL:24\nF98A  D0 01     BNE $F98D                       A:02 X:33 Y:94 P:67 SP:F9 CYC:123 SL:24\nF98C  60        RTS                             A:02 X:33 Y:94 P:67 SP:F9 CYC:129 SL:24\nD382  C8        INY                             A:02 X:33 Y:94 P:67 SP:FB CYC:147 SL:24\nD383  A9 40     LDA #$40                        A:02 X:33 Y:95 P:E5 SP:FB CYC:153 SL:24\nD385  85 78     STA $78 = 7F                    A:40 X:33 Y:95 P:65 SP:FB CYC:159 SL:24\nD387  20 89 F8  JSR $F889                       A:40 X:33 Y:95 P:65 SP:FB CYC:168 SL:24\nF889  24 01     BIT $01 = FF                    A:40 X:33 Y:95 P:65 SP:F9 CYC:186 SL:24\nF88B  A9 40     LDA #$40                        A:40 X:33 Y:95 P:E5 SP:F9 CYC:195 SL:24\nF88D  60        RTS                             A:40 X:33 Y:95 P:65 SP:F9 CYC:201 SL:24\nD38A  AA        TAX                             A:40 X:33 Y:95 P:65 SP:FB CYC:219 SL:24\nD38B  E4 78     CPX $78 = 40                    A:40 X:40 Y:95 P:65 SP:FB CYC:225 SL:24\nD38D  20 8E F8  JSR $F88E                       A:40 X:40 Y:95 P:67 SP:FB CYC:234 SL:24\nF88E  30 07     BMI $F897                       A:40 X:40 Y:95 P:67 SP:F9 CYC:252 SL:24\nF890  90 05     BCC $F897                       A:40 X:40 Y:95 P:67 SP:F9 CYC:258 SL:24\nF892  D0 03     BNE $F897                       A:40 X:40 Y:95 P:67 SP:F9 CYC:264 SL:24\nF894  50 01     BVC $F897                       A:40 X:40 Y:95 P:67 SP:F9 CYC:270 SL:24\nF896  60        RTS                             A:40 X:40 Y:95 P:67 SP:F9 CYC:276 SL:24\nD390  C8        INY                             A:40 X:40 Y:95 P:67 SP:FB CYC:294 SL:24\nD391  A9 3F     LDA #$3F                        A:40 X:40 Y:96 P:E5 SP:FB CYC:300 SL:24\nD393  85 78     STA $78 = 40                    A:3F X:40 Y:96 P:65 SP:FB CYC:306 SL:24\nD395  20 9A F8  JSR $F89A                       A:3F X:40 Y:96 P:65 SP:FB CYC:315 SL:24\nF89A  B8        CLV                             A:3F X:40 Y:96 P:65 SP:F9 CYC:333 SL:24\nF89B  60        RTS                             A:3F X:40 Y:96 P:25 SP:F9 CYC:339 SL:24\nD398  E4 78     CPX $78 = 3F                    A:3F X:40 Y:96 P:25 SP:FB CYC: 16 SL:25\nD39A  20 9C F8  JSR $F89C                       A:3F X:40 Y:96 P:25 SP:FB CYC: 25 SL:25\nF89C  F0 07     BEQ $F8A5                       A:3F X:40 Y:96 P:25 SP:F9 CYC: 43 SL:25\nF89E  30 05     BMI $F8A5                       A:3F X:40 Y:96 P:25 SP:F9 CYC: 49 SL:25\nF8A0  90 03     BCC $F8A5                       A:3F X:40 Y:96 P:25 SP:F9 CYC: 55 SL:25\nF8A2  70 01     BVS $F8A5                       A:3F X:40 Y:96 P:25 SP:F9 CYC: 61 SL:25\nF8A4  60        RTS                             A:3F X:40 Y:96 P:25 SP:F9 CYC: 67 SL:25\nD39D  C8        INY                             A:3F X:40 Y:96 P:25 SP:FB CYC: 85 SL:25\nD39E  A9 41     LDA #$41                        A:3F X:40 Y:97 P:A5 SP:FB CYC: 91 SL:25\nD3A0  85 78     STA $78 = 3F                    A:41 X:40 Y:97 P:25 SP:FB CYC: 97 SL:25\nD3A2  E4 78     CPX $78 = 41                    A:41 X:40 Y:97 P:25 SP:FB CYC:106 SL:25\nD3A4  20 A8 F8  JSR $F8A8                       A:41 X:40 Y:97 P:A4 SP:FB CYC:115 SL:25\nF8A8  F0 05     BEQ $F8AF                       A:41 X:40 Y:97 P:A4 SP:F9 CYC:133 SL:25\nF8AA  10 03     BPL $F8AF                       A:41 X:40 Y:97 P:A4 SP:F9 CYC:139 SL:25\nF8AC  10 01     BPL $F8AF                       A:41 X:40 Y:97 P:A4 SP:F9 CYC:145 SL:25\nF8AE  60        RTS                             A:41 X:40 Y:97 P:A4 SP:F9 CYC:151 SL:25\nD3A7  C8        INY                             A:41 X:40 Y:97 P:A4 SP:FB CYC:169 SL:25\nD3A8  A9 00     LDA #$00                        A:41 X:40 Y:98 P:A4 SP:FB CYC:175 SL:25\nD3AA  85 78     STA $78 = 41                    A:00 X:40 Y:98 P:26 SP:FB CYC:181 SL:25\nD3AC  20 B2 F8  JSR $F8B2                       A:00 X:40 Y:98 P:26 SP:FB CYC:190 SL:25\nF8B2  A9 80     LDA #$80                        A:00 X:40 Y:98 P:26 SP:F9 CYC:208 SL:25\nF8B4  60        RTS                             A:80 X:40 Y:98 P:A4 SP:F9 CYC:214 SL:25\nD3AF  AA        TAX                             A:80 X:40 Y:98 P:A4 SP:FB CYC:232 SL:25\nD3B0  E4 78     CPX $78 = 00                    A:80 X:80 Y:98 P:A4 SP:FB CYC:238 SL:25\nD3B2  20 B5 F8  JSR $F8B5                       A:80 X:80 Y:98 P:A5 SP:FB CYC:247 SL:25\nF8B5  F0 05     BEQ $F8BC                       A:80 X:80 Y:98 P:A5 SP:F9 CYC:265 SL:25\nF8B7  10 03     BPL $F8BC                       A:80 X:80 Y:98 P:A5 SP:F9 CYC:271 SL:25\nF8B9  90 01     BCC $F8BC                       A:80 X:80 Y:98 P:A5 SP:F9 CYC:277 SL:25\nF8BB  60        RTS                             A:80 X:80 Y:98 P:A5 SP:F9 CYC:283 SL:25\nD3B5  C8        INY                             A:80 X:80 Y:98 P:A5 SP:FB CYC:301 SL:25\nD3B6  A9 80     LDA #$80                        A:80 X:80 Y:99 P:A5 SP:FB CYC:307 SL:25\nD3B8  85 78     STA $78 = 00                    A:80 X:80 Y:99 P:A5 SP:FB CYC:313 SL:25\nD3BA  E4 78     CPX $78 = 80                    A:80 X:80 Y:99 P:A5 SP:FB CYC:322 SL:25\nD3BC  20 BF F8  JSR $F8BF                       A:80 X:80 Y:99 P:27 SP:FB CYC:331 SL:25\nF8BF  D0 05     BNE $F8C6                       A:80 X:80 Y:99 P:27 SP:F9 CYC:  8 SL:26\nF8C1  30 03     BMI $F8C6                       A:80 X:80 Y:99 P:27 SP:F9 CYC: 14 SL:26\nF8C3  90 01     BCC $F8C6                       A:80 X:80 Y:99 P:27 SP:F9 CYC: 20 SL:26\nF8C5  60        RTS                             A:80 X:80 Y:99 P:27 SP:F9 CYC: 26 SL:26\nD3BF  C8        INY                             A:80 X:80 Y:99 P:27 SP:FB CYC: 44 SL:26\nD3C0  A9 81     LDA #$81                        A:80 X:80 Y:9A P:A5 SP:FB CYC: 50 SL:26\nD3C2  85 78     STA $78 = 80                    A:81 X:80 Y:9A P:A5 SP:FB CYC: 56 SL:26\nD3C4  E4 78     CPX $78 = 81                    A:81 X:80 Y:9A P:A5 SP:FB CYC: 65 SL:26\nD3C6  20 C9 F8  JSR $F8C9                       A:81 X:80 Y:9A P:A4 SP:FB CYC: 74 SL:26\nF8C9  B0 05     BCS $F8D0                       A:81 X:80 Y:9A P:A4 SP:F9 CYC: 92 SL:26\nF8CB  F0 03     BEQ $F8D0                       A:81 X:80 Y:9A P:A4 SP:F9 CYC: 98 SL:26\nF8CD  10 01     BPL $F8D0                       A:81 X:80 Y:9A P:A4 SP:F9 CYC:104 SL:26\nF8CF  60        RTS                             A:81 X:80 Y:9A P:A4 SP:F9 CYC:110 SL:26\nD3C9  C8        INY                             A:81 X:80 Y:9A P:A4 SP:FB CYC:128 SL:26\nD3CA  A9 7F     LDA #$7F                        A:81 X:80 Y:9B P:A4 SP:FB CYC:134 SL:26\nD3CC  85 78     STA $78 = 81                    A:7F X:80 Y:9B P:24 SP:FB CYC:140 SL:26\nD3CE  E4 78     CPX $78 = 7F                    A:7F X:80 Y:9B P:24 SP:FB CYC:149 SL:26\nD3D0  20 D3 F8  JSR $F8D3                       A:7F X:80 Y:9B P:25 SP:FB CYC:158 SL:26\nF8D3  90 05     BCC $F8DA                       A:7F X:80 Y:9B P:25 SP:F9 CYC:176 SL:26\nF8D5  F0 03     BEQ $F8DA                       A:7F X:80 Y:9B P:25 SP:F9 CYC:182 SL:26\nF8D7  30 01     BMI $F8DA                       A:7F X:80 Y:9B P:25 SP:F9 CYC:188 SL:26\nF8D9  60        RTS                             A:7F X:80 Y:9B P:25 SP:F9 CYC:194 SL:26\nD3D3  C8        INY                             A:7F X:80 Y:9B P:25 SP:FB CYC:212 SL:26\nD3D4  98        TYA                             A:7F X:80 Y:9C P:A5 SP:FB CYC:218 SL:26\nD3D5  AA        TAX                             A:9C X:80 Y:9C P:A5 SP:FB CYC:224 SL:26\nD3D6  A9 40     LDA #$40                        A:9C X:9C Y:9C P:A5 SP:FB CYC:230 SL:26\nD3D8  85 78     STA $78 = 7F                    A:40 X:9C Y:9C P:25 SP:FB CYC:236 SL:26\nD3DA  20 DD F8  JSR $F8DD                       A:40 X:9C Y:9C P:25 SP:FB CYC:245 SL:26\nF8DD  24 01     BIT $01 = FF                    A:40 X:9C Y:9C P:25 SP:F9 CYC:263 SL:26\nF8DF  A0 40     LDY #$40                        A:40 X:9C Y:9C P:E5 SP:F9 CYC:272 SL:26\nF8E1  60        RTS                             A:40 X:9C Y:40 P:65 SP:F9 CYC:278 SL:26\nD3DD  C4 78     CPY $78 = 40                    A:40 X:9C Y:40 P:65 SP:FB CYC:296 SL:26\nD3DF  20 E2 F8  JSR $F8E2                       A:40 X:9C Y:40 P:67 SP:FB CYC:305 SL:26\nF8E2  30 07     BMI $F8EB                       A:40 X:9C Y:40 P:67 SP:F9 CYC:323 SL:26\nF8E4  90 05     BCC $F8EB                       A:40 X:9C Y:40 P:67 SP:F9 CYC:329 SL:26\nF8E6  D0 03     BNE $F8EB                       A:40 X:9C Y:40 P:67 SP:F9 CYC:335 SL:26\nF8E8  50 01     BVC $F8EB                       A:40 X:9C Y:40 P:67 SP:F9 CYC:  0 SL:27\nF8EA  60        RTS                             A:40 X:9C Y:40 P:67 SP:F9 CYC:  6 SL:27\nD3E2  E8        INX                             A:40 X:9C Y:40 P:67 SP:FB CYC: 24 SL:27\nD3E3  A9 3F     LDA #$3F                        A:40 X:9D Y:40 P:E5 SP:FB CYC: 30 SL:27\nD3E5  85 78     STA $78 = 40                    A:3F X:9D Y:40 P:65 SP:FB CYC: 36 SL:27\nD3E7  20 EE F8  JSR $F8EE                       A:3F X:9D Y:40 P:65 SP:FB CYC: 45 SL:27\nF8EE  B8        CLV                             A:3F X:9D Y:40 P:65 SP:F9 CYC: 63 SL:27\nF8EF  60        RTS                             A:3F X:9D Y:40 P:25 SP:F9 CYC: 69 SL:27\nD3EA  C4 78     CPY $78 = 3F                    A:3F X:9D Y:40 P:25 SP:FB CYC: 87 SL:27\nD3EC  20 F0 F8  JSR $F8F0                       A:3F X:9D Y:40 P:25 SP:FB CYC: 96 SL:27\nF8F0  F0 07     BEQ $F8F9                       A:3F X:9D Y:40 P:25 SP:F9 CYC:114 SL:27\nF8F2  30 05     BMI $F8F9                       A:3F X:9D Y:40 P:25 SP:F9 CYC:120 SL:27\nF8F4  90 03     BCC $F8F9                       A:3F X:9D Y:40 P:25 SP:F9 CYC:126 SL:27\nF8F6  70 01     BVS $F8F9                       A:3F X:9D Y:40 P:25 SP:F9 CYC:132 SL:27\nF8F8  60        RTS                             A:3F X:9D Y:40 P:25 SP:F9 CYC:138 SL:27\nD3EF  E8        INX                             A:3F X:9D Y:40 P:25 SP:FB CYC:156 SL:27\nD3F0  A9 41     LDA #$41                        A:3F X:9E Y:40 P:A5 SP:FB CYC:162 SL:27\nD3F2  85 78     STA $78 = 3F                    A:41 X:9E Y:40 P:25 SP:FB CYC:168 SL:27\nD3F4  C4 78     CPY $78 = 41                    A:41 X:9E Y:40 P:25 SP:FB CYC:177 SL:27\nD3F6  20 FC F8  JSR $F8FC                       A:41 X:9E Y:40 P:A4 SP:FB CYC:186 SL:27\nF8FC  F0 05     BEQ $F903                       A:41 X:9E Y:40 P:A4 SP:F9 CYC:204 SL:27\nF8FE  10 03     BPL $F903                       A:41 X:9E Y:40 P:A4 SP:F9 CYC:210 SL:27\nF900  10 01     BPL $F903                       A:41 X:9E Y:40 P:A4 SP:F9 CYC:216 SL:27\nF902  60        RTS                             A:41 X:9E Y:40 P:A4 SP:F9 CYC:222 SL:27\nD3F9  E8        INX                             A:41 X:9E Y:40 P:A4 SP:FB CYC:240 SL:27\nD3FA  A9 00     LDA #$00                        A:41 X:9F Y:40 P:A4 SP:FB CYC:246 SL:27\nD3FC  85 78     STA $78 = 41                    A:00 X:9F Y:40 P:26 SP:FB CYC:252 SL:27\nD3FE  20 06 F9  JSR $F906                       A:00 X:9F Y:40 P:26 SP:FB CYC:261 SL:27\nF906  A0 80     LDY #$80                        A:00 X:9F Y:40 P:26 SP:F9 CYC:279 SL:27\nF908  60        RTS                             A:00 X:9F Y:80 P:A4 SP:F9 CYC:285 SL:27\nD401  C4 78     CPY $78 = 00                    A:00 X:9F Y:80 P:A4 SP:FB CYC:303 SL:27\nD403  20 09 F9  JSR $F909                       A:00 X:9F Y:80 P:A5 SP:FB CYC:312 SL:27\nF909  F0 05     BEQ $F910                       A:00 X:9F Y:80 P:A5 SP:F9 CYC:330 SL:27\nF90B  10 03     BPL $F910                       A:00 X:9F Y:80 P:A5 SP:F9 CYC:336 SL:27\nF90D  90 01     BCC $F910                       A:00 X:9F Y:80 P:A5 SP:F9 CYC:  1 SL:28\nF90F  60        RTS                             A:00 X:9F Y:80 P:A5 SP:F9 CYC:  7 SL:28\nD406  E8        INX                             A:00 X:9F Y:80 P:A5 SP:FB CYC: 25 SL:28\nD407  A9 80     LDA #$80                        A:00 X:A0 Y:80 P:A5 SP:FB CYC: 31 SL:28\nD409  85 78     STA $78 = 00                    A:80 X:A0 Y:80 P:A5 SP:FB CYC: 37 SL:28\nD40B  C4 78     CPY $78 = 80                    A:80 X:A0 Y:80 P:A5 SP:FB CYC: 46 SL:28\nD40D  20 13 F9  JSR $F913                       A:80 X:A0 Y:80 P:27 SP:FB CYC: 55 SL:28\nF913  D0 05     BNE $F91A                       A:80 X:A0 Y:80 P:27 SP:F9 CYC: 73 SL:28\nF915  30 03     BMI $F91A                       A:80 X:A0 Y:80 P:27 SP:F9 CYC: 79 SL:28\nF917  90 01     BCC $F91A                       A:80 X:A0 Y:80 P:27 SP:F9 CYC: 85 SL:28\nF919  60        RTS                             A:80 X:A0 Y:80 P:27 SP:F9 CYC: 91 SL:28\nD410  E8        INX                             A:80 X:A0 Y:80 P:27 SP:FB CYC:109 SL:28\nD411  A9 81     LDA #$81                        A:80 X:A1 Y:80 P:A5 SP:FB CYC:115 SL:28\nD413  85 78     STA $78 = 80                    A:81 X:A1 Y:80 P:A5 SP:FB CYC:121 SL:28\nD415  C4 78     CPY $78 = 81                    A:81 X:A1 Y:80 P:A5 SP:FB CYC:130 SL:28\nD417  20 1D F9  JSR $F91D                       A:81 X:A1 Y:80 P:A4 SP:FB CYC:139 SL:28\nF91D  B0 05     BCS $F924                       A:81 X:A1 Y:80 P:A4 SP:F9 CYC:157 SL:28\nF91F  F0 03     BEQ $F924                       A:81 X:A1 Y:80 P:A4 SP:F9 CYC:163 SL:28\nF921  10 01     BPL $F924                       A:81 X:A1 Y:80 P:A4 SP:F9 CYC:169 SL:28\nF923  60        RTS                             A:81 X:A1 Y:80 P:A4 SP:F9 CYC:175 SL:28\nD41A  E8        INX                             A:81 X:A1 Y:80 P:A4 SP:FB CYC:193 SL:28\nD41B  A9 7F     LDA #$7F                        A:81 X:A2 Y:80 P:A4 SP:FB CYC:199 SL:28\nD41D  85 78     STA $78 = 81                    A:7F X:A2 Y:80 P:24 SP:FB CYC:205 SL:28\nD41F  C4 78     CPY $78 = 7F                    A:7F X:A2 Y:80 P:24 SP:FB CYC:214 SL:28\nD421  20 27 F9  JSR $F927                       A:7F X:A2 Y:80 P:25 SP:FB CYC:223 SL:28\nF927  90 05     BCC $F92E                       A:7F X:A2 Y:80 P:25 SP:F9 CYC:241 SL:28\nF929  F0 03     BEQ $F92E                       A:7F X:A2 Y:80 P:25 SP:F9 CYC:247 SL:28\nF92B  30 01     BMI $F92E                       A:7F X:A2 Y:80 P:25 SP:F9 CYC:253 SL:28\nF92D  60        RTS                             A:7F X:A2 Y:80 P:25 SP:F9 CYC:259 SL:28\nD424  E8        INX                             A:7F X:A2 Y:80 P:25 SP:FB CYC:277 SL:28\nD425  8A        TXA                             A:7F X:A3 Y:80 P:A5 SP:FB CYC:283 SL:28\nD426  A8        TAY                             A:A3 X:A3 Y:80 P:A5 SP:FB CYC:289 SL:28\nD427  20 90 F9  JSR $F990                       A:A3 X:A3 Y:A3 P:A5 SP:FB CYC:295 SL:28\nF990  A2 55     LDX #$55                        A:A3 X:A3 Y:A3 P:A5 SP:F9 CYC:313 SL:28\nF992  A9 FF     LDA #$FF                        A:A3 X:55 Y:A3 P:25 SP:F9 CYC:319 SL:28\nF994  85 01     STA $01 = FF                    A:FF X:55 Y:A3 P:A5 SP:F9 CYC:325 SL:28\nF996  EA        NOP                             A:FF X:55 Y:A3 P:A5 SP:F9 CYC:334 SL:28\nF997  24 01     BIT $01 = FF                    A:FF X:55 Y:A3 P:A5 SP:F9 CYC:340 SL:28\nF999  38        SEC                             A:FF X:55 Y:A3 P:E5 SP:F9 CYC:  8 SL:29\nF99A  A9 01     LDA #$01                        A:FF X:55 Y:A3 P:E5 SP:F9 CYC: 14 SL:29\nF99C  60        RTS                             A:01 X:55 Y:A3 P:65 SP:F9 CYC: 20 SL:29\nD42A  85 78     STA $78 = 7F                    A:01 X:55 Y:A3 P:65 SP:FB CYC: 38 SL:29\nD42C  46 78     LSR $78 = 01                    A:01 X:55 Y:A3 P:65 SP:FB CYC: 47 SL:29\nD42E  A5 78     LDA $78 = 00                    A:01 X:55 Y:A3 P:67 SP:FB CYC: 62 SL:29\nD430  20 9D F9  JSR $F99D                       A:00 X:55 Y:A3 P:67 SP:FB CYC: 71 SL:29\nF99D  90 1B     BCC $F9BA                       A:00 X:55 Y:A3 P:67 SP:F9 CYC: 89 SL:29\nF99F  D0 19     BNE $F9BA                       A:00 X:55 Y:A3 P:67 SP:F9 CYC: 95 SL:29\nF9A1  30 17     BMI $F9BA                       A:00 X:55 Y:A3 P:67 SP:F9 CYC:101 SL:29\nF9A3  50 15     BVC $F9BA                       A:00 X:55 Y:A3 P:67 SP:F9 CYC:107 SL:29\nF9A5  C9 00     CMP #$00                        A:00 X:55 Y:A3 P:67 SP:F9 CYC:113 SL:29\nF9A7  D0 11     BNE $F9BA                       A:00 X:55 Y:A3 P:67 SP:F9 CYC:119 SL:29\nF9A9  B8        CLV                             A:00 X:55 Y:A3 P:67 SP:F9 CYC:125 SL:29\nF9AA  A9 AA     LDA #$AA                        A:00 X:55 Y:A3 P:27 SP:F9 CYC:131 SL:29\nF9AC  60        RTS                             A:AA X:55 Y:A3 P:A5 SP:F9 CYC:137 SL:29\nD433  C8        INY                             A:AA X:55 Y:A3 P:A5 SP:FB CYC:155 SL:29\nD434  85 78     STA $78 = 00                    A:AA X:55 Y:A4 P:A5 SP:FB CYC:161 SL:29\nD436  46 78     LSR $78 = AA                    A:AA X:55 Y:A4 P:A5 SP:FB CYC:170 SL:29\nD438  A5 78     LDA $78 = 55                    A:AA X:55 Y:A4 P:24 SP:FB CYC:185 SL:29\nD43A  20 AD F9  JSR $F9AD                       A:55 X:55 Y:A4 P:24 SP:FB CYC:194 SL:29\nF9AD  B0 0B     BCS $F9BA                       A:55 X:55 Y:A4 P:24 SP:F9 CYC:212 SL:29\nF9AF  F0 09     BEQ $F9BA                       A:55 X:55 Y:A4 P:24 SP:F9 CYC:218 SL:29\nF9B1  30 07     BMI $F9BA                       A:55 X:55 Y:A4 P:24 SP:F9 CYC:224 SL:29\nF9B3  70 05     BVS $F9BA                       A:55 X:55 Y:A4 P:24 SP:F9 CYC:230 SL:29\nF9B5  C9 55     CMP #$55                        A:55 X:55 Y:A4 P:24 SP:F9 CYC:236 SL:29\nF9B7  D0 01     BNE $F9BA                       A:55 X:55 Y:A4 P:27 SP:F9 CYC:242 SL:29\nF9B9  60        RTS                             A:55 X:55 Y:A4 P:27 SP:F9 CYC:248 SL:29\nD43D  C8        INY                             A:55 X:55 Y:A4 P:27 SP:FB CYC:266 SL:29\nD43E  20 BD F9  JSR $F9BD                       A:55 X:55 Y:A5 P:A5 SP:FB CYC:272 SL:29\nF9BD  24 01     BIT $01 = FF                    A:55 X:55 Y:A5 P:A5 SP:F9 CYC:290 SL:29\nF9BF  38        SEC                             A:55 X:55 Y:A5 P:E5 SP:F9 CYC:299 SL:29\nF9C0  A9 80     LDA #$80                        A:55 X:55 Y:A5 P:E5 SP:F9 CYC:305 SL:29\nF9C2  60        RTS                             A:80 X:55 Y:A5 P:E5 SP:F9 CYC:311 SL:29\nD441  85 78     STA $78 = 55                    A:80 X:55 Y:A5 P:E5 SP:FB CYC:329 SL:29\nD443  06 78     ASL $78 = 80                    A:80 X:55 Y:A5 P:E5 SP:FB CYC:338 SL:29\nD445  A5 78     LDA $78 = 00                    A:80 X:55 Y:A5 P:67 SP:FB CYC: 12 SL:30\nD447  20 C3 F9  JSR $F9C3                       A:00 X:55 Y:A5 P:67 SP:FB CYC: 21 SL:30\nF9C3  90 1C     BCC $F9E1                       A:00 X:55 Y:A5 P:67 SP:F9 CYC: 39 SL:30\nF9C5  D0 1A     BNE $F9E1                       A:00 X:55 Y:A5 P:67 SP:F9 CYC: 45 SL:30\nF9C7  30 18     BMI $F9E1                       A:00 X:55 Y:A5 P:67 SP:F9 CYC: 51 SL:30\nF9C9  50 16     BVC $F9E1                       A:00 X:55 Y:A5 P:67 SP:F9 CYC: 57 SL:30\nF9CB  C9 00     CMP #$00                        A:00 X:55 Y:A5 P:67 SP:F9 CYC: 63 SL:30\nF9CD  D0 12     BNE $F9E1                       A:00 X:55 Y:A5 P:67 SP:F9 CYC: 69 SL:30\nF9CF  B8        CLV                             A:00 X:55 Y:A5 P:67 SP:F9 CYC: 75 SL:30\nF9D0  A9 55     LDA #$55                        A:00 X:55 Y:A5 P:27 SP:F9 CYC: 81 SL:30\nF9D2  38        SEC                             A:55 X:55 Y:A5 P:25 SP:F9 CYC: 87 SL:30\nF9D3  60        RTS                             A:55 X:55 Y:A5 P:25 SP:F9 CYC: 93 SL:30\nD44A  C8        INY                             A:55 X:55 Y:A5 P:25 SP:FB CYC:111 SL:30\nD44B  85 78     STA $78 = 00                    A:55 X:55 Y:A6 P:A5 SP:FB CYC:117 SL:30\nD44D  06 78     ASL $78 = 55                    A:55 X:55 Y:A6 P:A5 SP:FB CYC:126 SL:30\nD44F  A5 78     LDA $78 = AA                    A:55 X:55 Y:A6 P:A4 SP:FB CYC:141 SL:30\nD451  20 D4 F9  JSR $F9D4                       A:AA X:55 Y:A6 P:A4 SP:FB CYC:150 SL:30\nF9D4  B0 0B     BCS $F9E1                       A:AA X:55 Y:A6 P:A4 SP:F9 CYC:168 SL:30\nF9D6  F0 09     BEQ $F9E1                       A:AA X:55 Y:A6 P:A4 SP:F9 CYC:174 SL:30\nF9D8  10 07     BPL $F9E1                       A:AA X:55 Y:A6 P:A4 SP:F9 CYC:180 SL:30\nF9DA  70 05     BVS $F9E1                       A:AA X:55 Y:A6 P:A4 SP:F9 CYC:186 SL:30\nF9DC  C9 AA     CMP #$AA                        A:AA X:55 Y:A6 P:A4 SP:F9 CYC:192 SL:30\nF9DE  D0 01     BNE $F9E1                       A:AA X:55 Y:A6 P:27 SP:F9 CYC:198 SL:30\nF9E0  60        RTS                             A:AA X:55 Y:A6 P:27 SP:F9 CYC:204 SL:30\nD454  C8        INY                             A:AA X:55 Y:A6 P:27 SP:FB CYC:222 SL:30\nD455  20 E4 F9  JSR $F9E4                       A:AA X:55 Y:A7 P:A5 SP:FB CYC:228 SL:30\nF9E4  24 01     BIT $01 = FF                    A:AA X:55 Y:A7 P:A5 SP:F9 CYC:246 SL:30\nF9E6  38        SEC                             A:AA X:55 Y:A7 P:E5 SP:F9 CYC:255 SL:30\nF9E7  A9 01     LDA #$01                        A:AA X:55 Y:A7 P:E5 SP:F9 CYC:261 SL:30\nF9E9  60        RTS                             A:01 X:55 Y:A7 P:65 SP:F9 CYC:267 SL:30\nD458  85 78     STA $78 = AA                    A:01 X:55 Y:A7 P:65 SP:FB CYC:285 SL:30\nD45A  66 78     ROR $78 = 01                    A:01 X:55 Y:A7 P:65 SP:FB CYC:294 SL:30\nD45C  A5 78     LDA $78 = 80                    A:01 X:55 Y:A7 P:E5 SP:FB CYC:309 SL:30\nD45E  20 EA F9  JSR $F9EA                       A:80 X:55 Y:A7 P:E5 SP:FB CYC:318 SL:30\nF9EA  90 1C     BCC $FA08                       A:80 X:55 Y:A7 P:E5 SP:F9 CYC:336 SL:30\nF9EC  F0 1A     BEQ $FA08                       A:80 X:55 Y:A7 P:E5 SP:F9 CYC:  1 SL:31\nF9EE  10 18     BPL $FA08                       A:80 X:55 Y:A7 P:E5 SP:F9 CYC:  7 SL:31\nF9F0  50 16     BVC $FA08                       A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 13 SL:31\nF9F2  C9 80     CMP #$80                        A:80 X:55 Y:A7 P:E5 SP:F9 CYC: 19 SL:31\nF9F4  D0 12     BNE $FA08                       A:80 X:55 Y:A7 P:67 SP:F9 CYC: 25 SL:31\nF9F6  B8        CLV                             A:80 X:55 Y:A7 P:67 SP:F9 CYC: 31 SL:31\nF9F7  18        CLC                             A:80 X:55 Y:A7 P:27 SP:F9 CYC: 37 SL:31\nF9F8  A9 55     LDA #$55                        A:80 X:55 Y:A7 P:26 SP:F9 CYC: 43 SL:31\nF9FA  60        RTS                             A:55 X:55 Y:A7 P:24 SP:F9 CYC: 49 SL:31\nD461  C8        INY                             A:55 X:55 Y:A7 P:24 SP:FB CYC: 67 SL:31\nD462  85 78     STA $78 = 80                    A:55 X:55 Y:A8 P:A4 SP:FB CYC: 73 SL:31\nD464  66 78     ROR $78 = 55                    A:55 X:55 Y:A8 P:A4 SP:FB CYC: 82 SL:31\nD466  A5 78     LDA $78 = 2A                    A:55 X:55 Y:A8 P:25 SP:FB CYC: 97 SL:31\nD468  20 FB F9  JSR $F9FB                       A:2A X:55 Y:A8 P:25 SP:FB CYC:106 SL:31\nF9FB  90 0B     BCC $FA08                       A:2A X:55 Y:A8 P:25 SP:F9 CYC:124 SL:31\nF9FD  F0 09     BEQ $FA08                       A:2A X:55 Y:A8 P:25 SP:F9 CYC:130 SL:31\nF9FF  30 07     BMI $FA08                       A:2A X:55 Y:A8 P:25 SP:F9 CYC:136 SL:31\nFA01  70 05     BVS $FA08                       A:2A X:55 Y:A8 P:25 SP:F9 CYC:142 SL:31\nFA03  C9 2A     CMP #$2A                        A:2A X:55 Y:A8 P:25 SP:F9 CYC:148 SL:31\nFA05  D0 01     BNE $FA08                       A:2A X:55 Y:A8 P:27 SP:F9 CYC:154 SL:31\nFA07  60        RTS                             A:2A X:55 Y:A8 P:27 SP:F9 CYC:160 SL:31\nD46B  C8        INY                             A:2A X:55 Y:A8 P:27 SP:FB CYC:178 SL:31\nD46C  20 0A FA  JSR $FA0A                       A:2A X:55 Y:A9 P:A5 SP:FB CYC:184 SL:31\nFA0A  24 01     BIT $01 = FF                    A:2A X:55 Y:A9 P:A5 SP:F9 CYC:202 SL:31\nFA0C  38        SEC                             A:2A X:55 Y:A9 P:E5 SP:F9 CYC:211 SL:31\nFA0D  A9 80     LDA #$80                        A:2A X:55 Y:A9 P:E5 SP:F9 CYC:217 SL:31\nFA0F  60        RTS                             A:80 X:55 Y:A9 P:E5 SP:F9 CYC:223 SL:31\nD46F  85 78     STA $78 = 2A                    A:80 X:55 Y:A9 P:E5 SP:FB CYC:241 SL:31\nD471  26 78     ROL $78 = 80                    A:80 X:55 Y:A9 P:E5 SP:FB CYC:250 SL:31\nD473  A5 78     LDA $78 = 01                    A:80 X:55 Y:A9 P:65 SP:FB CYC:265 SL:31\nD475  20 10 FA  JSR $FA10                       A:01 X:55 Y:A9 P:65 SP:FB CYC:274 SL:31\nFA10  90 1C     BCC $FA2E                       A:01 X:55 Y:A9 P:65 SP:F9 CYC:292 SL:31\nFA12  F0 1A     BEQ $FA2E                       A:01 X:55 Y:A9 P:65 SP:F9 CYC:298 SL:31\nFA14  30 18     BMI $FA2E                       A:01 X:55 Y:A9 P:65 SP:F9 CYC:304 SL:31\nFA16  50 16     BVC $FA2E                       A:01 X:55 Y:A9 P:65 SP:F9 CYC:310 SL:31\nFA18  C9 01     CMP #$01                        A:01 X:55 Y:A9 P:65 SP:F9 CYC:316 SL:31\nFA1A  D0 12     BNE $FA2E                       A:01 X:55 Y:A9 P:67 SP:F9 CYC:322 SL:31\nFA1C  B8        CLV                             A:01 X:55 Y:A9 P:67 SP:F9 CYC:328 SL:31\nFA1D  18        CLC                             A:01 X:55 Y:A9 P:27 SP:F9 CYC:334 SL:31\nFA1E  A9 55     LDA #$55                        A:01 X:55 Y:A9 P:26 SP:F9 CYC:340 SL:31\nFA20  60        RTS                             A:55 X:55 Y:A9 P:24 SP:F9 CYC:  5 SL:32\nD478  C8        INY                             A:55 X:55 Y:A9 P:24 SP:FB CYC: 23 SL:32\nD479  85 78     STA $78 = 01                    A:55 X:55 Y:AA P:A4 SP:FB CYC: 29 SL:32\nD47B  26 78     ROL $78 = 55                    A:55 X:55 Y:AA P:A4 SP:FB CYC: 38 SL:32\nD47D  A5 78     LDA $78 = AA                    A:55 X:55 Y:AA P:A4 SP:FB CYC: 53 SL:32\nD47F  20 21 FA  JSR $FA21                       A:AA X:55 Y:AA P:A4 SP:FB CYC: 62 SL:32\nFA21  B0 0B     BCS $FA2E                       A:AA X:55 Y:AA P:A4 SP:F9 CYC: 80 SL:32\nFA23  F0 09     BEQ $FA2E                       A:AA X:55 Y:AA P:A4 SP:F9 CYC: 86 SL:32\nFA25  10 07     BPL $FA2E                       A:AA X:55 Y:AA P:A4 SP:F9 CYC: 92 SL:32\nFA27  70 05     BVS $FA2E                       A:AA X:55 Y:AA P:A4 SP:F9 CYC: 98 SL:32\nFA29  C9 AA     CMP #$AA                        A:AA X:55 Y:AA P:A4 SP:F9 CYC:104 SL:32\nFA2B  D0 01     BNE $FA2E                       A:AA X:55 Y:AA P:27 SP:F9 CYC:110 SL:32\nFA2D  60        RTS                             A:AA X:55 Y:AA P:27 SP:F9 CYC:116 SL:32\nD482  A9 FF     LDA #$FF                        A:AA X:55 Y:AA P:27 SP:FB CYC:134 SL:32\nD484  85 78     STA $78 = AA                    A:FF X:55 Y:AA P:A5 SP:FB CYC:140 SL:32\nD486  85 01     STA $01 = FF                    A:FF X:55 Y:AA P:A5 SP:FB CYC:149 SL:32\nD488  24 01     BIT $01 = FF                    A:FF X:55 Y:AA P:A5 SP:FB CYC:158 SL:32\nD48A  38        SEC                             A:FF X:55 Y:AA P:E5 SP:FB CYC:167 SL:32\nD48B  E6 78     INC $78 = FF                    A:FF X:55 Y:AA P:E5 SP:FB CYC:173 SL:32\nD48D  D0 0C     BNE $D49B                       A:FF X:55 Y:AA P:67 SP:FB CYC:188 SL:32\nD48F  30 0A     BMI $D49B                       A:FF X:55 Y:AA P:67 SP:FB CYC:194 SL:32\nD491  50 08     BVC $D49B                       A:FF X:55 Y:AA P:67 SP:FB CYC:200 SL:32\nD493  90 06     BCC $D49B                       A:FF X:55 Y:AA P:67 SP:FB CYC:206 SL:32\nD495  A5 78     LDA $78 = 00                    A:FF X:55 Y:AA P:67 SP:FB CYC:212 SL:32\nD497  C9 00     CMP #$00                        A:00 X:55 Y:AA P:67 SP:FB CYC:221 SL:32\nD499  F0 04     BEQ $D49F                       A:00 X:55 Y:AA P:67 SP:FB CYC:227 SL:32\nD49F  A9 7F     LDA #$7F                        A:00 X:55 Y:AA P:67 SP:FB CYC:236 SL:32\nD4A1  85 78     STA $78 = 00                    A:7F X:55 Y:AA P:65 SP:FB CYC:242 SL:32\nD4A3  B8        CLV                             A:7F X:55 Y:AA P:65 SP:FB CYC:251 SL:32\nD4A4  18        CLC                             A:7F X:55 Y:AA P:25 SP:FB CYC:257 SL:32\nD4A5  E6 78     INC $78 = 7F                    A:7F X:55 Y:AA P:24 SP:FB CYC:263 SL:32\nD4A7  F0 0C     BEQ $D4B5                       A:7F X:55 Y:AA P:A4 SP:FB CYC:278 SL:32\nD4A9  10 0A     BPL $D4B5                       A:7F X:55 Y:AA P:A4 SP:FB CYC:284 SL:32\nD4AB  70 08     BVS $D4B5                       A:7F X:55 Y:AA P:A4 SP:FB CYC:290 SL:32\nD4AD  B0 06     BCS $D4B5                       A:7F X:55 Y:AA P:A4 SP:FB CYC:296 SL:32\nD4AF  A5 78     LDA $78 = 80                    A:7F X:55 Y:AA P:A4 SP:FB CYC:302 SL:32\nD4B1  C9 80     CMP #$80                        A:80 X:55 Y:AA P:A4 SP:FB CYC:311 SL:32\nD4B3  F0 04     BEQ $D4B9                       A:80 X:55 Y:AA P:27 SP:FB CYC:317 SL:32\nD4B9  A9 00     LDA #$00                        A:80 X:55 Y:AA P:27 SP:FB CYC:326 SL:32\nD4BB  85 78     STA $78 = 80                    A:00 X:55 Y:AA P:27 SP:FB CYC:332 SL:32\nD4BD  24 01     BIT $01 = FF                    A:00 X:55 Y:AA P:27 SP:FB CYC:  0 SL:33\nD4BF  38        SEC                             A:00 X:55 Y:AA P:E7 SP:FB CYC:  9 SL:33\nD4C0  C6 78     DEC $78 = 00                    A:00 X:55 Y:AA P:E7 SP:FB CYC: 15 SL:33\nD4C2  F0 0C     BEQ $D4D0                       A:00 X:55 Y:AA P:E5 SP:FB CYC: 30 SL:33\nD4C4  10 0A     BPL $D4D0                       A:00 X:55 Y:AA P:E5 SP:FB CYC: 36 SL:33\nD4C6  50 08     BVC $D4D0                       A:00 X:55 Y:AA P:E5 SP:FB CYC: 42 SL:33\nD4C8  90 06     BCC $D4D0                       A:00 X:55 Y:AA P:E5 SP:FB CYC: 48 SL:33\nD4CA  A5 78     LDA $78 = FF                    A:00 X:55 Y:AA P:E5 SP:FB CYC: 54 SL:33\nD4CC  C9 FF     CMP #$FF                        A:FF X:55 Y:AA P:E5 SP:FB CYC: 63 SL:33\nD4CE  F0 04     BEQ $D4D4                       A:FF X:55 Y:AA P:67 SP:FB CYC: 69 SL:33\nD4D4  A9 80     LDA #$80                        A:FF X:55 Y:AA P:67 SP:FB CYC: 78 SL:33\nD4D6  85 78     STA $78 = FF                    A:80 X:55 Y:AA P:E5 SP:FB CYC: 84 SL:33\nD4D8  B8        CLV                             A:80 X:55 Y:AA P:E5 SP:FB CYC: 93 SL:33\nD4D9  18        CLC                             A:80 X:55 Y:AA P:A5 SP:FB CYC: 99 SL:33\nD4DA  C6 78     DEC $78 = 80                    A:80 X:55 Y:AA P:A4 SP:FB CYC:105 SL:33\nD4DC  F0 0C     BEQ $D4EA                       A:80 X:55 Y:AA P:24 SP:FB CYC:120 SL:33\nD4DE  30 0A     BMI $D4EA                       A:80 X:55 Y:AA P:24 SP:FB CYC:126 SL:33\nD4E0  70 08     BVS $D4EA                       A:80 X:55 Y:AA P:24 SP:FB CYC:132 SL:33\nD4E2  B0 06     BCS $D4EA                       A:80 X:55 Y:AA P:24 SP:FB CYC:138 SL:33\nD4E4  A5 78     LDA $78 = 7F                    A:80 X:55 Y:AA P:24 SP:FB CYC:144 SL:33\nD4E6  C9 7F     CMP #$7F                        A:7F X:55 Y:AA P:24 SP:FB CYC:153 SL:33\nD4E8  F0 04     BEQ $D4EE                       A:7F X:55 Y:AA P:27 SP:FB CYC:159 SL:33\nD4EE  A9 01     LDA #$01                        A:7F X:55 Y:AA P:27 SP:FB CYC:168 SL:33\nD4F0  85 78     STA $78 = 7F                    A:01 X:55 Y:AA P:25 SP:FB CYC:174 SL:33\nD4F2  C6 78     DEC $78 = 01                    A:01 X:55 Y:AA P:25 SP:FB CYC:183 SL:33\nD4F4  F0 04     BEQ $D4FA                       A:01 X:55 Y:AA P:27 SP:FB CYC:198 SL:33\nD4FA  60        RTS                             A:01 X:55 Y:AA P:27 SP:FB CYC:207 SL:33\nC615  20 FB D4  JSR $D4FB                       A:01 X:55 Y:AA P:27 SP:FD CYC:225 SL:33\nD4FB  A9 55     LDA #$55                        A:01 X:55 Y:AA P:27 SP:FB CYC:243 SL:33\nD4FD  8D 78 06  STA $0678 = 00                  A:55 X:55 Y:AA P:25 SP:FB CYC:249 SL:33\nD500  A9 FF     LDA #$FF                        A:55 X:55 Y:AA P:25 SP:FB CYC:261 SL:33\nD502  85 01     STA $01 = FF                    A:FF X:55 Y:AA P:A5 SP:FB CYC:267 SL:33\nD504  24 01     BIT $01 = FF                    A:FF X:55 Y:AA P:A5 SP:FB CYC:276 SL:33\nD506  A0 11     LDY #$11                        A:FF X:55 Y:AA P:E5 SP:FB CYC:285 SL:33\nD508  A2 23     LDX #$23                        A:FF X:55 Y:11 P:65 SP:FB CYC:291 SL:33\nD50A  A9 00     LDA #$00                        A:FF X:23 Y:11 P:65 SP:FB CYC:297 SL:33\nD50C  AD 78 06  LDA $0678 = 55                  A:00 X:23 Y:11 P:67 SP:FB CYC:303 SL:33\nD50F  F0 10     BEQ $D521                       A:55 X:23 Y:11 P:65 SP:FB CYC:315 SL:33\nD511  30 0E     BMI $D521                       A:55 X:23 Y:11 P:65 SP:FB CYC:321 SL:33\nD513  C9 55     CMP #$55                        A:55 X:23 Y:11 P:65 SP:FB CYC:327 SL:33\nD515  D0 0A     BNE $D521                       A:55 X:23 Y:11 P:67 SP:FB CYC:333 SL:33\nD517  C0 11     CPY #$11                        A:55 X:23 Y:11 P:67 SP:FB CYC:339 SL:33\nD519  D0 06     BNE $D521                       A:55 X:23 Y:11 P:67 SP:FB CYC:  4 SL:34\nD51B  E0 23     CPX #$23                        A:55 X:23 Y:11 P:67 SP:FB CYC: 10 SL:34\nD51D  50 02     BVC $D521                       A:55 X:23 Y:11 P:67 SP:FB CYC: 16 SL:34\nD51F  F0 04     BEQ $D525                       A:55 X:23 Y:11 P:67 SP:FB CYC: 22 SL:34\nD525  A9 46     LDA #$46                        A:55 X:23 Y:11 P:67 SP:FB CYC: 31 SL:34\nD527  24 01     BIT $01 = FF                    A:46 X:23 Y:11 P:65 SP:FB CYC: 37 SL:34\nD529  8D 78 06  STA $0678 = 55                  A:46 X:23 Y:11 P:E5 SP:FB CYC: 46 SL:34\nD52C  F0 0B     BEQ $D539                       A:46 X:23 Y:11 P:E5 SP:FB CYC: 58 SL:34\nD52E  10 09     BPL $D539                       A:46 X:23 Y:11 P:E5 SP:FB CYC: 64 SL:34\nD530  50 07     BVC $D539                       A:46 X:23 Y:11 P:E5 SP:FB CYC: 70 SL:34\nD532  AD 78 06  LDA $0678 = 46                  A:46 X:23 Y:11 P:E5 SP:FB CYC: 76 SL:34\nD535  C9 46     CMP #$46                        A:46 X:23 Y:11 P:65 SP:FB CYC: 88 SL:34\nD537  F0 04     BEQ $D53D                       A:46 X:23 Y:11 P:67 SP:FB CYC: 94 SL:34\nD53D  A9 55     LDA #$55                        A:46 X:23 Y:11 P:67 SP:FB CYC:103 SL:34\nD53F  8D 78 06  STA $0678 = 46                  A:55 X:23 Y:11 P:65 SP:FB CYC:109 SL:34\nD542  24 01     BIT $01 = FF                    A:55 X:23 Y:11 P:65 SP:FB CYC:121 SL:34\nD544  A9 11     LDA #$11                        A:55 X:23 Y:11 P:E5 SP:FB CYC:130 SL:34\nD546  A2 23     LDX #$23                        A:11 X:23 Y:11 P:65 SP:FB CYC:136 SL:34\nD548  A0 00     LDY #$00                        A:11 X:23 Y:11 P:65 SP:FB CYC:142 SL:34\nD54A  AC 78 06  LDY $0678 = 55                  A:11 X:23 Y:00 P:67 SP:FB CYC:148 SL:34\nD54D  F0 10     BEQ $D55F                       A:11 X:23 Y:55 P:65 SP:FB CYC:160 SL:34\nD54F  30 0E     BMI $D55F                       A:11 X:23 Y:55 P:65 SP:FB CYC:166 SL:34\nD551  C0 55     CPY #$55                        A:11 X:23 Y:55 P:65 SP:FB CYC:172 SL:34\nD553  D0 0A     BNE $D55F                       A:11 X:23 Y:55 P:67 SP:FB CYC:178 SL:34\nD555  C9 11     CMP #$11                        A:11 X:23 Y:55 P:67 SP:FB CYC:184 SL:34\nD557  D0 06     BNE $D55F                       A:11 X:23 Y:55 P:67 SP:FB CYC:190 SL:34\nD559  E0 23     CPX #$23                        A:11 X:23 Y:55 P:67 SP:FB CYC:196 SL:34\nD55B  50 02     BVC $D55F                       A:11 X:23 Y:55 P:67 SP:FB CYC:202 SL:34\nD55D  F0 04     BEQ $D563                       A:11 X:23 Y:55 P:67 SP:FB CYC:208 SL:34\nD563  A0 46     LDY #$46                        A:11 X:23 Y:55 P:67 SP:FB CYC:217 SL:34\nD565  24 01     BIT $01 = FF                    A:11 X:23 Y:46 P:65 SP:FB CYC:223 SL:34\nD567  8C 78 06  STY $0678 = 55                  A:11 X:23 Y:46 P:E5 SP:FB CYC:232 SL:34\nD56A  F0 0B     BEQ $D577                       A:11 X:23 Y:46 P:E5 SP:FB CYC:244 SL:34\nD56C  10 09     BPL $D577                       A:11 X:23 Y:46 P:E5 SP:FB CYC:250 SL:34\nD56E  50 07     BVC $D577                       A:11 X:23 Y:46 P:E5 SP:FB CYC:256 SL:34\nD570  AC 78 06  LDY $0678 = 46                  A:11 X:23 Y:46 P:E5 SP:FB CYC:262 SL:34\nD573  C0 46     CPY #$46                        A:11 X:23 Y:46 P:65 SP:FB CYC:274 SL:34\nD575  F0 04     BEQ $D57B                       A:11 X:23 Y:46 P:67 SP:FB CYC:280 SL:34\nD57B  24 01     BIT $01 = FF                    A:11 X:23 Y:46 P:67 SP:FB CYC:289 SL:34\nD57D  A9 55     LDA #$55                        A:11 X:23 Y:46 P:E5 SP:FB CYC:298 SL:34\nD57F  8D 78 06  STA $0678 = 46                  A:55 X:23 Y:46 P:65 SP:FB CYC:304 SL:34\nD582  A0 11     LDY #$11                        A:55 X:23 Y:46 P:65 SP:FB CYC:316 SL:34\nD584  A9 23     LDA #$23                        A:55 X:23 Y:11 P:65 SP:FB CYC:322 SL:34\nD586  A2 00     LDX #$00                        A:23 X:23 Y:11 P:65 SP:FB CYC:328 SL:34\nD588  AE 78 06  LDX $0678 = 55                  A:23 X:00 Y:11 P:67 SP:FB CYC:334 SL:34\nD58B  F0 10     BEQ $D59D                       A:23 X:55 Y:11 P:65 SP:FB CYC:  5 SL:35\nD58D  30 0E     BMI $D59D                       A:23 X:55 Y:11 P:65 SP:FB CYC: 11 SL:35\nD58F  E0 55     CPX #$55                        A:23 X:55 Y:11 P:65 SP:FB CYC: 17 SL:35\nD591  D0 0A     BNE $D59D                       A:23 X:55 Y:11 P:67 SP:FB CYC: 23 SL:35\nD593  C0 11     CPY #$11                        A:23 X:55 Y:11 P:67 SP:FB CYC: 29 SL:35\nD595  D0 06     BNE $D59D                       A:23 X:55 Y:11 P:67 SP:FB CYC: 35 SL:35\nD597  C9 23     CMP #$23                        A:23 X:55 Y:11 P:67 SP:FB CYC: 41 SL:35\nD599  50 02     BVC $D59D                       A:23 X:55 Y:11 P:67 SP:FB CYC: 47 SL:35\nD59B  F0 04     BEQ $D5A1                       A:23 X:55 Y:11 P:67 SP:FB CYC: 53 SL:35\nD5A1  A2 46     LDX #$46                        A:23 X:55 Y:11 P:67 SP:FB CYC: 62 SL:35\nD5A3  24 01     BIT $01 = FF                    A:23 X:46 Y:11 P:65 SP:FB CYC: 68 SL:35\nD5A5  8E 78 06  STX $0678 = 55                  A:23 X:46 Y:11 P:E5 SP:FB CYC: 77 SL:35\nD5A8  F0 0B     BEQ $D5B5                       A:23 X:46 Y:11 P:E5 SP:FB CYC: 89 SL:35\nD5AA  10 09     BPL $D5B5                       A:23 X:46 Y:11 P:E5 SP:FB CYC: 95 SL:35\nD5AC  50 07     BVC $D5B5                       A:23 X:46 Y:11 P:E5 SP:FB CYC:101 SL:35\nD5AE  AE 78 06  LDX $0678 = 46                  A:23 X:46 Y:11 P:E5 SP:FB CYC:107 SL:35\nD5B1  E0 46     CPX #$46                        A:23 X:46 Y:11 P:65 SP:FB CYC:119 SL:35\nD5B3  F0 04     BEQ $D5B9                       A:23 X:46 Y:11 P:67 SP:FB CYC:125 SL:35\nD5B9  A9 C0     LDA #$C0                        A:23 X:46 Y:11 P:67 SP:FB CYC:134 SL:35\nD5BB  8D 78 06  STA $0678 = 46                  A:C0 X:46 Y:11 P:E5 SP:FB CYC:140 SL:35\nD5BE  A2 33     LDX #$33                        A:C0 X:46 Y:11 P:E5 SP:FB CYC:152 SL:35\nD5C0  A0 88     LDY #$88                        A:C0 X:33 Y:11 P:65 SP:FB CYC:158 SL:35\nD5C2  A9 05     LDA #$05                        A:C0 X:33 Y:88 P:E5 SP:FB CYC:164 SL:35\nD5C4  2C 78 06  BIT $0678 = C0                  A:05 X:33 Y:88 P:65 SP:FB CYC:170 SL:35\nD5C7  10 10     BPL $D5D9                       A:05 X:33 Y:88 P:E7 SP:FB CYC:182 SL:35\nD5C9  50 0E     BVC $D5D9                       A:05 X:33 Y:88 P:E7 SP:FB CYC:188 SL:35\nD5CB  D0 0C     BNE $D5D9                       A:05 X:33 Y:88 P:E7 SP:FB CYC:194 SL:35\nD5CD  C9 05     CMP #$05                        A:05 X:33 Y:88 P:E7 SP:FB CYC:200 SL:35\nD5CF  D0 08     BNE $D5D9                       A:05 X:33 Y:88 P:67 SP:FB CYC:206 SL:35\nD5D1  E0 33     CPX #$33                        A:05 X:33 Y:88 P:67 SP:FB CYC:212 SL:35\nD5D3  D0 04     BNE $D5D9                       A:05 X:33 Y:88 P:67 SP:FB CYC:218 SL:35\nD5D5  C0 88     CPY #$88                        A:05 X:33 Y:88 P:67 SP:FB CYC:224 SL:35\nD5D7  F0 04     BEQ $D5DD                       A:05 X:33 Y:88 P:67 SP:FB CYC:230 SL:35\nD5DD  A9 03     LDA #$03                        A:05 X:33 Y:88 P:67 SP:FB CYC:239 SL:35\nD5DF  8D 78 06  STA $0678 = C0                  A:03 X:33 Y:88 P:65 SP:FB CYC:245 SL:35\nD5E2  A9 01     LDA #$01                        A:03 X:33 Y:88 P:65 SP:FB CYC:257 SL:35\nD5E4  2C 78 06  BIT $0678 = 03                  A:01 X:33 Y:88 P:65 SP:FB CYC:263 SL:35\nD5E7  30 08     BMI $D5F1                       A:01 X:33 Y:88 P:25 SP:FB CYC:275 SL:35\nD5E9  70 06     BVS $D5F1                       A:01 X:33 Y:88 P:25 SP:FB CYC:281 SL:35\nD5EB  F0 04     BEQ $D5F1                       A:01 X:33 Y:88 P:25 SP:FB CYC:287 SL:35\nD5ED  C9 01     CMP #$01                        A:01 X:33 Y:88 P:25 SP:FB CYC:293 SL:35\nD5EF  F0 04     BEQ $D5F5                       A:01 X:33 Y:88 P:27 SP:FB CYC:299 SL:35\nD5F5  A0 B8     LDY #$B8                        A:01 X:33 Y:88 P:27 SP:FB CYC:308 SL:35\nD5F7  A9 AA     LDA #$AA                        A:01 X:33 Y:B8 P:A5 SP:FB CYC:314 SL:35\nD5F9  8D 78 06  STA $0678 = 03                  A:AA X:33 Y:B8 P:A5 SP:FB CYC:320 SL:35\nD5FC  20 B6 F7  JSR $F7B6                       A:AA X:33 Y:B8 P:A5 SP:FB CYC:332 SL:35\nF7B6  18        CLC                             A:AA X:33 Y:B8 P:A5 SP:F9 CYC:  9 SL:36\nF7B7  A9 FF     LDA #$FF                        A:AA X:33 Y:B8 P:A4 SP:F9 CYC: 15 SL:36\nF7B9  85 01     STA $01 = FF                    A:FF X:33 Y:B8 P:A4 SP:F9 CYC: 21 SL:36\nF7BB  24 01     BIT $01 = FF                    A:FF X:33 Y:B8 P:A4 SP:F9 CYC: 30 SL:36\nF7BD  A9 55     LDA #$55                        A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 39 SL:36\nF7BF  60        RTS                             A:55 X:33 Y:B8 P:64 SP:F9 CYC: 45 SL:36\nD5FF  0D 78 06  ORA $0678 = AA                  A:55 X:33 Y:B8 P:64 SP:FB CYC: 63 SL:36\nD602  20 C0 F7  JSR $F7C0                       A:FF X:33 Y:B8 P:E4 SP:FB CYC: 75 SL:36\nF7C0  B0 09     BCS $F7CB                       A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 93 SL:36\nF7C2  10 07     BPL $F7CB                       A:FF X:33 Y:B8 P:E4 SP:F9 CYC: 99 SL:36\nF7C4  C9 FF     CMP #$FF                        A:FF X:33 Y:B8 P:E4 SP:F9 CYC:105 SL:36\nF7C6  D0 03     BNE $F7CB                       A:FF X:33 Y:B8 P:67 SP:F9 CYC:111 SL:36\nF7C8  50 01     BVC $F7CB                       A:FF X:33 Y:B8 P:67 SP:F9 CYC:117 SL:36\nF7CA  60        RTS                             A:FF X:33 Y:B8 P:67 SP:F9 CYC:123 SL:36\nD605  C8        INY                             A:FF X:33 Y:B8 P:67 SP:FB CYC:141 SL:36\nD606  A9 00     LDA #$00                        A:FF X:33 Y:B9 P:E5 SP:FB CYC:147 SL:36\nD608  8D 78 06  STA $0678 = AA                  A:00 X:33 Y:B9 P:67 SP:FB CYC:153 SL:36\nD60B  20 CE F7  JSR $F7CE                       A:00 X:33 Y:B9 P:67 SP:FB CYC:165 SL:36\nF7CE  38        SEC                             A:00 X:33 Y:B9 P:67 SP:F9 CYC:183 SL:36\nF7CF  B8        CLV                             A:00 X:33 Y:B9 P:67 SP:F9 CYC:189 SL:36\nF7D0  A9 00     LDA #$00                        A:00 X:33 Y:B9 P:27 SP:F9 CYC:195 SL:36\nF7D2  60        RTS                             A:00 X:33 Y:B9 P:27 SP:F9 CYC:201 SL:36\nD60E  0D 78 06  ORA $0678 = 00                  A:00 X:33 Y:B9 P:27 SP:FB CYC:219 SL:36\nD611  20 D3 F7  JSR $F7D3                       A:00 X:33 Y:B9 P:27 SP:FB CYC:231 SL:36\nF7D3  D0 07     BNE $F7DC                       A:00 X:33 Y:B9 P:27 SP:F9 CYC:249 SL:36\nF7D5  70 05     BVS $F7DC                       A:00 X:33 Y:B9 P:27 SP:F9 CYC:255 SL:36\nF7D7  90 03     BCC $F7DC                       A:00 X:33 Y:B9 P:27 SP:F9 CYC:261 SL:36\nF7D9  30 01     BMI $F7DC                       A:00 X:33 Y:B9 P:27 SP:F9 CYC:267 SL:36\nF7DB  60        RTS                             A:00 X:33 Y:B9 P:27 SP:F9 CYC:273 SL:36\nD614  C8        INY                             A:00 X:33 Y:B9 P:27 SP:FB CYC:291 SL:36\nD615  A9 AA     LDA #$AA                        A:00 X:33 Y:BA P:A5 SP:FB CYC:297 SL:36\nD617  8D 78 06  STA $0678 = 00                  A:AA X:33 Y:BA P:A5 SP:FB CYC:303 SL:36\nD61A  20 DF F7  JSR $F7DF                       A:AA X:33 Y:BA P:A5 SP:FB CYC:315 SL:36\nF7DF  18        CLC                             A:AA X:33 Y:BA P:A5 SP:F9 CYC:333 SL:36\nF7E0  24 01     BIT $01 = FF                    A:AA X:33 Y:BA P:A4 SP:F9 CYC:339 SL:36\nF7E2  A9 55     LDA #$55                        A:AA X:33 Y:BA P:E4 SP:F9 CYC:  7 SL:37\nF7E4  60        RTS                             A:55 X:33 Y:BA P:64 SP:F9 CYC: 13 SL:37\nD61D  2D 78 06  AND $0678 = AA                  A:55 X:33 Y:BA P:64 SP:FB CYC: 31 SL:37\nD620  20 E5 F7  JSR $F7E5                       A:00 X:33 Y:BA P:66 SP:FB CYC: 43 SL:37\nF7E5  D0 07     BNE $F7EE                       A:00 X:33 Y:BA P:66 SP:F9 CYC: 61 SL:37\nF7E7  50 05     BVC $F7EE                       A:00 X:33 Y:BA P:66 SP:F9 CYC: 67 SL:37\nF7E9  B0 03     BCS $F7EE                       A:00 X:33 Y:BA P:66 SP:F9 CYC: 73 SL:37\nF7EB  30 01     BMI $F7EE                       A:00 X:33 Y:BA P:66 SP:F9 CYC: 79 SL:37\nF7ED  60        RTS                             A:00 X:33 Y:BA P:66 SP:F9 CYC: 85 SL:37\nD623  C8        INY                             A:00 X:33 Y:BA P:66 SP:FB CYC:103 SL:37\nD624  A9 EF     LDA #$EF                        A:00 X:33 Y:BB P:E4 SP:FB CYC:109 SL:37\nD626  8D 78 06  STA $0678 = AA                  A:EF X:33 Y:BB P:E4 SP:FB CYC:115 SL:37\nD629  20 F1 F7  JSR $F7F1                       A:EF X:33 Y:BB P:E4 SP:FB CYC:127 SL:37\nF7F1  38        SEC                             A:EF X:33 Y:BB P:E4 SP:F9 CYC:145 SL:37\nF7F2  B8        CLV                             A:EF X:33 Y:BB P:E5 SP:F9 CYC:151 SL:37\nF7F3  A9 F8     LDA #$F8                        A:EF X:33 Y:BB P:A5 SP:F9 CYC:157 SL:37\nF7F5  60        RTS                             A:F8 X:33 Y:BB P:A5 SP:F9 CYC:163 SL:37\nD62C  2D 78 06  AND $0678 = EF                  A:F8 X:33 Y:BB P:A5 SP:FB CYC:181 SL:37\nD62F  20 F6 F7  JSR $F7F6                       A:E8 X:33 Y:BB P:A5 SP:FB CYC:193 SL:37\nF7F6  90 09     BCC $F801                       A:E8 X:33 Y:BB P:A5 SP:F9 CYC:211 SL:37\nF7F8  10 07     BPL $F801                       A:E8 X:33 Y:BB P:A5 SP:F9 CYC:217 SL:37\nF7FA  C9 E8     CMP #$E8                        A:E8 X:33 Y:BB P:A5 SP:F9 CYC:223 SL:37\nF7FC  D0 03     BNE $F801                       A:E8 X:33 Y:BB P:27 SP:F9 CYC:229 SL:37\nF7FE  70 01     BVS $F801                       A:E8 X:33 Y:BB P:27 SP:F9 CYC:235 SL:37\nF800  60        RTS                             A:E8 X:33 Y:BB P:27 SP:F9 CYC:241 SL:37\nD632  C8        INY                             A:E8 X:33 Y:BB P:27 SP:FB CYC:259 SL:37\nD633  A9 AA     LDA #$AA                        A:E8 X:33 Y:BC P:A5 SP:FB CYC:265 SL:37\nD635  8D 78 06  STA $0678 = EF                  A:AA X:33 Y:BC P:A5 SP:FB CYC:271 SL:37\nD638  20 04 F8  JSR $F804                       A:AA X:33 Y:BC P:A5 SP:FB CYC:283 SL:37\nF804  18        CLC                             A:AA X:33 Y:BC P:A5 SP:F9 CYC:301 SL:37\nF805  24 01     BIT $01 = FF                    A:AA X:33 Y:BC P:A4 SP:F9 CYC:307 SL:37\nF807  A9 5F     LDA #$5F                        A:AA X:33 Y:BC P:E4 SP:F9 CYC:316 SL:37\nF809  60        RTS                             A:5F X:33 Y:BC P:64 SP:F9 CYC:322 SL:37\nD63B  4D 78 06  EOR $0678 = AA                  A:5F X:33 Y:BC P:64 SP:FB CYC:340 SL:37\nD63E  20 0A F8  JSR $F80A                       A:F5 X:33 Y:BC P:E4 SP:FB CYC: 11 SL:38\nF80A  B0 09     BCS $F815                       A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 29 SL:38\nF80C  10 07     BPL $F815                       A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 35 SL:38\nF80E  C9 F5     CMP #$F5                        A:F5 X:33 Y:BC P:E4 SP:F9 CYC: 41 SL:38\nF810  D0 03     BNE $F815                       A:F5 X:33 Y:BC P:67 SP:F9 CYC: 47 SL:38\nF812  50 01     BVC $F815                       A:F5 X:33 Y:BC P:67 SP:F9 CYC: 53 SL:38\nF814  60        RTS                             A:F5 X:33 Y:BC P:67 SP:F9 CYC: 59 SL:38\nD641  C8        INY                             A:F5 X:33 Y:BC P:67 SP:FB CYC: 77 SL:38\nD642  A9 70     LDA #$70                        A:F5 X:33 Y:BD P:E5 SP:FB CYC: 83 SL:38\nD644  8D 78 06  STA $0678 = AA                  A:70 X:33 Y:BD P:65 SP:FB CYC: 89 SL:38\nD647  20 18 F8  JSR $F818                       A:70 X:33 Y:BD P:65 SP:FB CYC:101 SL:38\nF818  38        SEC                             A:70 X:33 Y:BD P:65 SP:F9 CYC:119 SL:38\nF819  B8        CLV                             A:70 X:33 Y:BD P:65 SP:F9 CYC:125 SL:38\nF81A  A9 70     LDA #$70                        A:70 X:33 Y:BD P:25 SP:F9 CYC:131 SL:38\nF81C  60        RTS                             A:70 X:33 Y:BD P:25 SP:F9 CYC:137 SL:38\nD64A  4D 78 06  EOR $0678 = 70                  A:70 X:33 Y:BD P:25 SP:FB CYC:155 SL:38\nD64D  20 1D F8  JSR $F81D                       A:00 X:33 Y:BD P:27 SP:FB CYC:167 SL:38\nF81D  D0 07     BNE $F826                       A:00 X:33 Y:BD P:27 SP:F9 CYC:185 SL:38\nF81F  70 05     BVS $F826                       A:00 X:33 Y:BD P:27 SP:F9 CYC:191 SL:38\nF821  90 03     BCC $F826                       A:00 X:33 Y:BD P:27 SP:F9 CYC:197 SL:38\nF823  30 01     BMI $F826                       A:00 X:33 Y:BD P:27 SP:F9 CYC:203 SL:38\nF825  60        RTS                             A:00 X:33 Y:BD P:27 SP:F9 CYC:209 SL:38\nD650  C8        INY                             A:00 X:33 Y:BD P:27 SP:FB CYC:227 SL:38\nD651  A9 69     LDA #$69                        A:00 X:33 Y:BE P:A5 SP:FB CYC:233 SL:38\nD653  8D 78 06  STA $0678 = 70                  A:69 X:33 Y:BE P:25 SP:FB CYC:239 SL:38\nD656  20 29 F8  JSR $F829                       A:69 X:33 Y:BE P:25 SP:FB CYC:251 SL:38\nF829  18        CLC                             A:69 X:33 Y:BE P:25 SP:F9 CYC:269 SL:38\nF82A  24 01     BIT $01 = FF                    A:69 X:33 Y:BE P:24 SP:F9 CYC:275 SL:38\nF82C  A9 00     LDA #$00                        A:69 X:33 Y:BE P:E4 SP:F9 CYC:284 SL:38\nF82E  60        RTS                             A:00 X:33 Y:BE P:66 SP:F9 CYC:290 SL:38\nD659  6D 78 06  ADC $0678 = 69                  A:00 X:33 Y:BE P:66 SP:FB CYC:308 SL:38\nD65C  20 2F F8  JSR $F82F                       A:69 X:33 Y:BE P:24 SP:FB CYC:320 SL:38\nF82F  30 09     BMI $F83A                       A:69 X:33 Y:BE P:24 SP:F9 CYC:338 SL:38\nF831  B0 07     BCS $F83A                       A:69 X:33 Y:BE P:24 SP:F9 CYC:  3 SL:39\nF833  C9 69     CMP #$69                        A:69 X:33 Y:BE P:24 SP:F9 CYC:  9 SL:39\nF835  D0 03     BNE $F83A                       A:69 X:33 Y:BE P:27 SP:F9 CYC: 15 SL:39\nF837  70 01     BVS $F83A                       A:69 X:33 Y:BE P:27 SP:F9 CYC: 21 SL:39\nF839  60        RTS                             A:69 X:33 Y:BE P:27 SP:F9 CYC: 27 SL:39\nD65F  C8        INY                             A:69 X:33 Y:BE P:27 SP:FB CYC: 45 SL:39\nD660  20 3D F8  JSR $F83D                       A:69 X:33 Y:BF P:A5 SP:FB CYC: 51 SL:39\nF83D  38        SEC                             A:69 X:33 Y:BF P:A5 SP:F9 CYC: 69 SL:39\nF83E  24 01     BIT $01 = FF                    A:69 X:33 Y:BF P:A5 SP:F9 CYC: 75 SL:39\nF840  A9 00     LDA #$00                        A:69 X:33 Y:BF P:E5 SP:F9 CYC: 84 SL:39\nF842  60        RTS                             A:00 X:33 Y:BF P:67 SP:F9 CYC: 90 SL:39\nD663  6D 78 06  ADC $0678 = 69                  A:00 X:33 Y:BF P:67 SP:FB CYC:108 SL:39\nD666  20 43 F8  JSR $F843                       A:6A X:33 Y:BF P:24 SP:FB CYC:120 SL:39\nF843  30 09     BMI $F84E                       A:6A X:33 Y:BF P:24 SP:F9 CYC:138 SL:39\nF845  B0 07     BCS $F84E                       A:6A X:33 Y:BF P:24 SP:F9 CYC:144 SL:39\nF847  C9 6A     CMP #$6A                        A:6A X:33 Y:BF P:24 SP:F9 CYC:150 SL:39\nF849  D0 03     BNE $F84E                       A:6A X:33 Y:BF P:27 SP:F9 CYC:156 SL:39\nF84B  70 01     BVS $F84E                       A:6A X:33 Y:BF P:27 SP:F9 CYC:162 SL:39\nF84D  60        RTS                             A:6A X:33 Y:BF P:27 SP:F9 CYC:168 SL:39\nD669  C8        INY                             A:6A X:33 Y:BF P:27 SP:FB CYC:186 SL:39\nD66A  A9 7F     LDA #$7F                        A:6A X:33 Y:C0 P:A5 SP:FB CYC:192 SL:39\nD66C  8D 78 06  STA $0678 = 69                  A:7F X:33 Y:C0 P:25 SP:FB CYC:198 SL:39\nD66F  20 51 F8  JSR $F851                       A:7F X:33 Y:C0 P:25 SP:FB CYC:210 SL:39\nF851  38        SEC                             A:7F X:33 Y:C0 P:25 SP:F9 CYC:228 SL:39\nF852  B8        CLV                             A:7F X:33 Y:C0 P:25 SP:F9 CYC:234 SL:39\nF853  A9 7F     LDA #$7F                        A:7F X:33 Y:C0 P:25 SP:F9 CYC:240 SL:39\nF855  60        RTS                             A:7F X:33 Y:C0 P:25 SP:F9 CYC:246 SL:39\nD672  6D 78 06  ADC $0678 = 7F                  A:7F X:33 Y:C0 P:25 SP:FB CYC:264 SL:39\nD675  20 56 F8  JSR $F856                       A:FF X:33 Y:C0 P:E4 SP:FB CYC:276 SL:39\nF856  10 09     BPL $F861                       A:FF X:33 Y:C0 P:E4 SP:F9 CYC:294 SL:39\nF858  B0 07     BCS $F861                       A:FF X:33 Y:C0 P:E4 SP:F9 CYC:300 SL:39\nF85A  C9 FF     CMP #$FF                        A:FF X:33 Y:C0 P:E4 SP:F9 CYC:306 SL:39\nF85C  D0 03     BNE $F861                       A:FF X:33 Y:C0 P:67 SP:F9 CYC:312 SL:39\nF85E  50 01     BVC $F861                       A:FF X:33 Y:C0 P:67 SP:F9 CYC:318 SL:39\nF860  60        RTS                             A:FF X:33 Y:C0 P:67 SP:F9 CYC:324 SL:39\nD678  C8        INY                             A:FF X:33 Y:C0 P:67 SP:FB CYC:  1 SL:40\nD679  A9 80     LDA #$80                        A:FF X:33 Y:C1 P:E5 SP:FB CYC:  7 SL:40\nD67B  8D 78 06  STA $0678 = 7F                  A:80 X:33 Y:C1 P:E5 SP:FB CYC: 13 SL:40\nD67E  20 64 F8  JSR $F864                       A:80 X:33 Y:C1 P:E5 SP:FB CYC: 25 SL:40\nF864  18        CLC                             A:80 X:33 Y:C1 P:E5 SP:F9 CYC: 43 SL:40\nF865  24 01     BIT $01 = FF                    A:80 X:33 Y:C1 P:E4 SP:F9 CYC: 49 SL:40\nF867  A9 7F     LDA #$7F                        A:80 X:33 Y:C1 P:E4 SP:F9 CYC: 58 SL:40\nF869  60        RTS                             A:7F X:33 Y:C1 P:64 SP:F9 CYC: 64 SL:40\nD681  6D 78 06  ADC $0678 = 80                  A:7F X:33 Y:C1 P:64 SP:FB CYC: 82 SL:40\nD684  20 6A F8  JSR $F86A                       A:FF X:33 Y:C1 P:A4 SP:FB CYC: 94 SL:40\nF86A  10 09     BPL $F875                       A:FF X:33 Y:C1 P:A4 SP:F9 CYC:112 SL:40\nF86C  B0 07     BCS $F875                       A:FF X:33 Y:C1 P:A4 SP:F9 CYC:118 SL:40\nF86E  C9 FF     CMP #$FF                        A:FF X:33 Y:C1 P:A4 SP:F9 CYC:124 SL:40\nF870  D0 03     BNE $F875                       A:FF X:33 Y:C1 P:27 SP:F9 CYC:130 SL:40\nF872  70 01     BVS $F875                       A:FF X:33 Y:C1 P:27 SP:F9 CYC:136 SL:40\nF874  60        RTS                             A:FF X:33 Y:C1 P:27 SP:F9 CYC:142 SL:40\nD687  C8        INY                             A:FF X:33 Y:C1 P:27 SP:FB CYC:160 SL:40\nD688  20 78 F8  JSR $F878                       A:FF X:33 Y:C2 P:A5 SP:FB CYC:166 SL:40\nF878  38        SEC                             A:FF X:33 Y:C2 P:A5 SP:F9 CYC:184 SL:40\nF879  B8        CLV                             A:FF X:33 Y:C2 P:A5 SP:F9 CYC:190 SL:40\nF87A  A9 7F     LDA #$7F                        A:FF X:33 Y:C2 P:A5 SP:F9 CYC:196 SL:40\nF87C  60        RTS                             A:7F X:33 Y:C2 P:25 SP:F9 CYC:202 SL:40\nD68B  6D 78 06  ADC $0678 = 80                  A:7F X:33 Y:C2 P:25 SP:FB CYC:220 SL:40\nD68E  20 7D F8  JSR $F87D                       A:00 X:33 Y:C2 P:27 SP:FB CYC:232 SL:40\nF87D  D0 07     BNE $F886                       A:00 X:33 Y:C2 P:27 SP:F9 CYC:250 SL:40\nF87F  30 05     BMI $F886                       A:00 X:33 Y:C2 P:27 SP:F9 CYC:256 SL:40\nF881  70 03     BVS $F886                       A:00 X:33 Y:C2 P:27 SP:F9 CYC:262 SL:40\nF883  90 01     BCC $F886                       A:00 X:33 Y:C2 P:27 SP:F9 CYC:268 SL:40\nF885  60        RTS                             A:00 X:33 Y:C2 P:27 SP:F9 CYC:274 SL:40\nD691  C8        INY                             A:00 X:33 Y:C2 P:27 SP:FB CYC:292 SL:40\nD692  A9 40     LDA #$40                        A:00 X:33 Y:C3 P:A5 SP:FB CYC:298 SL:40\nD694  8D 78 06  STA $0678 = 80                  A:40 X:33 Y:C3 P:25 SP:FB CYC:304 SL:40\nD697  20 89 F8  JSR $F889                       A:40 X:33 Y:C3 P:25 SP:FB CYC:316 SL:40\nF889  24 01     BIT $01 = FF                    A:40 X:33 Y:C3 P:25 SP:F9 CYC:334 SL:40\nF88B  A9 40     LDA #$40                        A:40 X:33 Y:C3 P:E5 SP:F9 CYC:  2 SL:41\nF88D  60        RTS                             A:40 X:33 Y:C3 P:65 SP:F9 CYC:  8 SL:41\nD69A  CD 78 06  CMP $0678 = 40                  A:40 X:33 Y:C3 P:65 SP:FB CYC: 26 SL:41\nD69D  20 8E F8  JSR $F88E                       A:40 X:33 Y:C3 P:67 SP:FB CYC: 38 SL:41\nF88E  30 07     BMI $F897                       A:40 X:33 Y:C3 P:67 SP:F9 CYC: 56 SL:41\nF890  90 05     BCC $F897                       A:40 X:33 Y:C3 P:67 SP:F9 CYC: 62 SL:41\nF892  D0 03     BNE $F897                       A:40 X:33 Y:C3 P:67 SP:F9 CYC: 68 SL:41\nF894  50 01     BVC $F897                       A:40 X:33 Y:C3 P:67 SP:F9 CYC: 74 SL:41\nF896  60        RTS                             A:40 X:33 Y:C3 P:67 SP:F9 CYC: 80 SL:41\nD6A0  C8        INY                             A:40 X:33 Y:C3 P:67 SP:FB CYC: 98 SL:41\nD6A1  48        PHA                             A:40 X:33 Y:C4 P:E5 SP:FB CYC:104 SL:41\nD6A2  A9 3F     LDA #$3F                        A:40 X:33 Y:C4 P:E5 SP:FA CYC:113 SL:41\nD6A4  8D 78 06  STA $0678 = 40                  A:3F X:33 Y:C4 P:65 SP:FA CYC:119 SL:41\nD6A7  68        PLA                             A:3F X:33 Y:C4 P:65 SP:FA CYC:131 SL:41\nD6A8  20 9A F8  JSR $F89A                       A:40 X:33 Y:C4 P:65 SP:FB CYC:143 SL:41\nF89A  B8        CLV                             A:40 X:33 Y:C4 P:65 SP:F9 CYC:161 SL:41\nF89B  60        RTS                             A:40 X:33 Y:C4 P:25 SP:F9 CYC:167 SL:41\nD6AB  CD 78 06  CMP $0678 = 3F                  A:40 X:33 Y:C4 P:25 SP:FB CYC:185 SL:41\nD6AE  20 9C F8  JSR $F89C                       A:40 X:33 Y:C4 P:25 SP:FB CYC:197 SL:41\nF89C  F0 07     BEQ $F8A5                       A:40 X:33 Y:C4 P:25 SP:F9 CYC:215 SL:41\nF89E  30 05     BMI $F8A5                       A:40 X:33 Y:C4 P:25 SP:F9 CYC:221 SL:41\nF8A0  90 03     BCC $F8A5                       A:40 X:33 Y:C4 P:25 SP:F9 CYC:227 SL:41\nF8A2  70 01     BVS $F8A5                       A:40 X:33 Y:C4 P:25 SP:F9 CYC:233 SL:41\nF8A4  60        RTS                             A:40 X:33 Y:C4 P:25 SP:F9 CYC:239 SL:41\nD6B1  C8        INY                             A:40 X:33 Y:C4 P:25 SP:FB CYC:257 SL:41\nD6B2  48        PHA                             A:40 X:33 Y:C5 P:A5 SP:FB CYC:263 SL:41\nD6B3  A9 41     LDA #$41                        A:40 X:33 Y:C5 P:A5 SP:FA CYC:272 SL:41\nD6B5  8D 78 06  STA $0678 = 3F                  A:41 X:33 Y:C5 P:25 SP:FA CYC:278 SL:41\nD6B8  68        PLA                             A:41 X:33 Y:C5 P:25 SP:FA CYC:290 SL:41\nD6B9  CD 78 06  CMP $0678 = 41                  A:40 X:33 Y:C5 P:25 SP:FB CYC:302 SL:41\nD6BC  20 A8 F8  JSR $F8A8                       A:40 X:33 Y:C5 P:A4 SP:FB CYC:314 SL:41\nF8A8  F0 05     BEQ $F8AF                       A:40 X:33 Y:C5 P:A4 SP:F9 CYC:332 SL:41\nF8AA  10 03     BPL $F8AF                       A:40 X:33 Y:C5 P:A4 SP:F9 CYC:338 SL:41\nF8AC  10 01     BPL $F8AF                       A:40 X:33 Y:C5 P:A4 SP:F9 CYC:  3 SL:42\nF8AE  60        RTS                             A:40 X:33 Y:C5 P:A4 SP:F9 CYC:  9 SL:42\nD6BF  C8        INY                             A:40 X:33 Y:C5 P:A4 SP:FB CYC: 27 SL:42\nD6C0  48        PHA                             A:40 X:33 Y:C6 P:A4 SP:FB CYC: 33 SL:42\nD6C1  A9 00     LDA #$00                        A:40 X:33 Y:C6 P:A4 SP:FA CYC: 42 SL:42\nD6C3  8D 78 06  STA $0678 = 41                  A:00 X:33 Y:C6 P:26 SP:FA CYC: 48 SL:42\nD6C6  68        PLA                             A:00 X:33 Y:C6 P:26 SP:FA CYC: 60 SL:42\nD6C7  20 B2 F8  JSR $F8B2                       A:40 X:33 Y:C6 P:24 SP:FB CYC: 72 SL:42\nF8B2  A9 80     LDA #$80                        A:40 X:33 Y:C6 P:24 SP:F9 CYC: 90 SL:42\nF8B4  60        RTS                             A:80 X:33 Y:C6 P:A4 SP:F9 CYC: 96 SL:42\nD6CA  CD 78 06  CMP $0678 = 00                  A:80 X:33 Y:C6 P:A4 SP:FB CYC:114 SL:42\nD6CD  20 B5 F8  JSR $F8B5                       A:80 X:33 Y:C6 P:A5 SP:FB CYC:126 SL:42\nF8B5  F0 05     BEQ $F8BC                       A:80 X:33 Y:C6 P:A5 SP:F9 CYC:144 SL:42\nF8B7  10 03     BPL $F8BC                       A:80 X:33 Y:C6 P:A5 SP:F9 CYC:150 SL:42\nF8B9  90 01     BCC $F8BC                       A:80 X:33 Y:C6 P:A5 SP:F9 CYC:156 SL:42\nF8BB  60        RTS                             A:80 X:33 Y:C6 P:A5 SP:F9 CYC:162 SL:42\nD6D0  C8        INY                             A:80 X:33 Y:C6 P:A5 SP:FB CYC:180 SL:42\nD6D1  48        PHA                             A:80 X:33 Y:C7 P:A5 SP:FB CYC:186 SL:42\nD6D2  A9 80     LDA #$80                        A:80 X:33 Y:C7 P:A5 SP:FA CYC:195 SL:42\nD6D4  8D 78 06  STA $0678 = 00                  A:80 X:33 Y:C7 P:A5 SP:FA CYC:201 SL:42\nD6D7  68        PLA                             A:80 X:33 Y:C7 P:A5 SP:FA CYC:213 SL:42\nD6D8  CD 78 06  CMP $0678 = 80                  A:80 X:33 Y:C7 P:A5 SP:FB CYC:225 SL:42\nD6DB  20 BF F8  JSR $F8BF                       A:80 X:33 Y:C7 P:27 SP:FB CYC:237 SL:42\nF8BF  D0 05     BNE $F8C6                       A:80 X:33 Y:C7 P:27 SP:F9 CYC:255 SL:42\nF8C1  30 03     BMI $F8C6                       A:80 X:33 Y:C7 P:27 SP:F9 CYC:261 SL:42\nF8C3  90 01     BCC $F8C6                       A:80 X:33 Y:C7 P:27 SP:F9 CYC:267 SL:42\nF8C5  60        RTS                             A:80 X:33 Y:C7 P:27 SP:F9 CYC:273 SL:42\nD6DE  C8        INY                             A:80 X:33 Y:C7 P:27 SP:FB CYC:291 SL:42\nD6DF  48        PHA                             A:80 X:33 Y:C8 P:A5 SP:FB CYC:297 SL:42\nD6E0  A9 81     LDA #$81                        A:80 X:33 Y:C8 P:A5 SP:FA CYC:306 SL:42\nD6E2  8D 78 06  STA $0678 = 80                  A:81 X:33 Y:C8 P:A5 SP:FA CYC:312 SL:42\nD6E5  68        PLA                             A:81 X:33 Y:C8 P:A5 SP:FA CYC:324 SL:42\nD6E6  CD 78 06  CMP $0678 = 81                  A:80 X:33 Y:C8 P:A5 SP:FB CYC:336 SL:42\nD6E9  20 C9 F8  JSR $F8C9                       A:80 X:33 Y:C8 P:A4 SP:FB CYC:  7 SL:43\nF8C9  B0 05     BCS $F8D0                       A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 25 SL:43\nF8CB  F0 03     BEQ $F8D0                       A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 31 SL:43\nF8CD  10 01     BPL $F8D0                       A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 37 SL:43\nF8CF  60        RTS                             A:80 X:33 Y:C8 P:A4 SP:F9 CYC: 43 SL:43\nD6EC  C8        INY                             A:80 X:33 Y:C8 P:A4 SP:FB CYC: 61 SL:43\nD6ED  48        PHA                             A:80 X:33 Y:C9 P:A4 SP:FB CYC: 67 SL:43\nD6EE  A9 7F     LDA #$7F                        A:80 X:33 Y:C9 P:A4 SP:FA CYC: 76 SL:43\nD6F0  8D 78 06  STA $0678 = 81                  A:7F X:33 Y:C9 P:24 SP:FA CYC: 82 SL:43\nD6F3  68        PLA                             A:7F X:33 Y:C9 P:24 SP:FA CYC: 94 SL:43\nD6F4  CD 78 06  CMP $0678 = 7F                  A:80 X:33 Y:C9 P:A4 SP:FB CYC:106 SL:43\nD6F7  20 D3 F8  JSR $F8D3                       A:80 X:33 Y:C9 P:25 SP:FB CYC:118 SL:43\nF8D3  90 05     BCC $F8DA                       A:80 X:33 Y:C9 P:25 SP:F9 CYC:136 SL:43\nF8D5  F0 03     BEQ $F8DA                       A:80 X:33 Y:C9 P:25 SP:F9 CYC:142 SL:43\nF8D7  30 01     BMI $F8DA                       A:80 X:33 Y:C9 P:25 SP:F9 CYC:148 SL:43\nF8D9  60        RTS                             A:80 X:33 Y:C9 P:25 SP:F9 CYC:154 SL:43\nD6FA  C8        INY                             A:80 X:33 Y:C9 P:25 SP:FB CYC:172 SL:43\nD6FB  A9 40     LDA #$40                        A:80 X:33 Y:CA P:A5 SP:FB CYC:178 SL:43\nD6FD  8D 78 06  STA $0678 = 7F                  A:40 X:33 Y:CA P:25 SP:FB CYC:184 SL:43\nD700  20 31 F9  JSR $F931                       A:40 X:33 Y:CA P:25 SP:FB CYC:196 SL:43\nF931  24 01     BIT $01 = FF                    A:40 X:33 Y:CA P:25 SP:F9 CYC:214 SL:43\nF933  A9 40     LDA #$40                        A:40 X:33 Y:CA P:E5 SP:F9 CYC:223 SL:43\nF935  38        SEC                             A:40 X:33 Y:CA P:65 SP:F9 CYC:229 SL:43\nF936  60        RTS                             A:40 X:33 Y:CA P:65 SP:F9 CYC:235 SL:43\nD703  ED 78 06  SBC $0678 = 40                  A:40 X:33 Y:CA P:65 SP:FB CYC:253 SL:43\nD706  20 37 F9  JSR $F937                       A:00 X:33 Y:CA P:27 SP:FB CYC:265 SL:43\nF937  30 0B     BMI $F944                       A:00 X:33 Y:CA P:27 SP:F9 CYC:283 SL:43\nF939  90 09     BCC $F944                       A:00 X:33 Y:CA P:27 SP:F9 CYC:289 SL:43\nF93B  D0 07     BNE $F944                       A:00 X:33 Y:CA P:27 SP:F9 CYC:295 SL:43\nF93D  70 05     BVS $F944                       A:00 X:33 Y:CA P:27 SP:F9 CYC:301 SL:43\nF93F  C9 00     CMP #$00                        A:00 X:33 Y:CA P:27 SP:F9 CYC:307 SL:43\nF941  D0 01     BNE $F944                       A:00 X:33 Y:CA P:27 SP:F9 CYC:313 SL:43\nF943  60        RTS                             A:00 X:33 Y:CA P:27 SP:F9 CYC:319 SL:43\nD709  C8        INY                             A:00 X:33 Y:CA P:27 SP:FB CYC:337 SL:43\nD70A  A9 3F     LDA #$3F                        A:00 X:33 Y:CB P:A5 SP:FB CYC:  2 SL:44\nD70C  8D 78 06  STA $0678 = 40                  A:3F X:33 Y:CB P:25 SP:FB CYC:  8 SL:44\nD70F  20 47 F9  JSR $F947                       A:3F X:33 Y:CB P:25 SP:FB CYC: 20 SL:44\nF947  B8        CLV                             A:3F X:33 Y:CB P:25 SP:F9 CYC: 38 SL:44\nF948  38        SEC                             A:3F X:33 Y:CB P:25 SP:F9 CYC: 44 SL:44\nF949  A9 40     LDA #$40                        A:3F X:33 Y:CB P:25 SP:F9 CYC: 50 SL:44\nF94B  60        RTS                             A:40 X:33 Y:CB P:25 SP:F9 CYC: 56 SL:44\nD712  ED 78 06  SBC $0678 = 3F                  A:40 X:33 Y:CB P:25 SP:FB CYC: 74 SL:44\nD715  20 4C F9  JSR $F94C                       A:01 X:33 Y:CB P:25 SP:FB CYC: 86 SL:44\nF94C  F0 0B     BEQ $F959                       A:01 X:33 Y:CB P:25 SP:F9 CYC:104 SL:44\nF94E  30 09     BMI $F959                       A:01 X:33 Y:CB P:25 SP:F9 CYC:110 SL:44\nF950  90 07     BCC $F959                       A:01 X:33 Y:CB P:25 SP:F9 CYC:116 SL:44\nF952  70 05     BVS $F959                       A:01 X:33 Y:CB P:25 SP:F9 CYC:122 SL:44\nF954  C9 01     CMP #$01                        A:01 X:33 Y:CB P:25 SP:F9 CYC:128 SL:44\nF956  D0 01     BNE $F959                       A:01 X:33 Y:CB P:27 SP:F9 CYC:134 SL:44\nF958  60        RTS                             A:01 X:33 Y:CB P:27 SP:F9 CYC:140 SL:44\nD718  C8        INY                             A:01 X:33 Y:CB P:27 SP:FB CYC:158 SL:44\nD719  A9 41     LDA #$41                        A:01 X:33 Y:CC P:A5 SP:FB CYC:164 SL:44\nD71B  8D 78 06  STA $0678 = 3F                  A:41 X:33 Y:CC P:25 SP:FB CYC:170 SL:44\nD71E  20 5C F9  JSR $F95C                       A:41 X:33 Y:CC P:25 SP:FB CYC:182 SL:44\nF95C  A9 40     LDA #$40                        A:41 X:33 Y:CC P:25 SP:F9 CYC:200 SL:44\nF95E  38        SEC                             A:40 X:33 Y:CC P:25 SP:F9 CYC:206 SL:44\nF95F  24 01     BIT $01 = FF                    A:40 X:33 Y:CC P:25 SP:F9 CYC:212 SL:44\nF961  60        RTS                             A:40 X:33 Y:CC P:E5 SP:F9 CYC:221 SL:44\nD721  ED 78 06  SBC $0678 = 41                  A:40 X:33 Y:CC P:E5 SP:FB CYC:239 SL:44\nD724  20 62 F9  JSR $F962                       A:FF X:33 Y:CC P:A4 SP:FB CYC:251 SL:44\nF962  B0 0B     BCS $F96F                       A:FF X:33 Y:CC P:A4 SP:F9 CYC:269 SL:44\nF964  F0 09     BEQ $F96F                       A:FF X:33 Y:CC P:A4 SP:F9 CYC:275 SL:44\nF966  10 07     BPL $F96F                       A:FF X:33 Y:CC P:A4 SP:F9 CYC:281 SL:44\nF968  70 05     BVS $F96F                       A:FF X:33 Y:CC P:A4 SP:F9 CYC:287 SL:44\nF96A  C9 FF     CMP #$FF                        A:FF X:33 Y:CC P:A4 SP:F9 CYC:293 SL:44\nF96C  D0 01     BNE $F96F                       A:FF X:33 Y:CC P:27 SP:F9 CYC:299 SL:44\nF96E  60        RTS                             A:FF X:33 Y:CC P:27 SP:F9 CYC:305 SL:44\nD727  C8        INY                             A:FF X:33 Y:CC P:27 SP:FB CYC:323 SL:44\nD728  A9 00     LDA #$00                        A:FF X:33 Y:CD P:A5 SP:FB CYC:329 SL:44\nD72A  8D 78 06  STA $0678 = 41                  A:00 X:33 Y:CD P:27 SP:FB CYC:335 SL:44\nD72D  20 72 F9  JSR $F972                       A:00 X:33 Y:CD P:27 SP:FB CYC:  6 SL:45\nF972  18        CLC                             A:00 X:33 Y:CD P:27 SP:F9 CYC: 24 SL:45\nF973  A9 80     LDA #$80                        A:00 X:33 Y:CD P:26 SP:F9 CYC: 30 SL:45\nF975  60        RTS                             A:80 X:33 Y:CD P:A4 SP:F9 CYC: 36 SL:45\nD730  ED 78 06  SBC $0678 = 00                  A:80 X:33 Y:CD P:A4 SP:FB CYC: 54 SL:45\nD733  20 76 F9  JSR $F976                       A:7F X:33 Y:CD P:65 SP:FB CYC: 66 SL:45\nF976  90 05     BCC $F97D                       A:7F X:33 Y:CD P:65 SP:F9 CYC: 84 SL:45\nF978  C9 7F     CMP #$7F                        A:7F X:33 Y:CD P:65 SP:F9 CYC: 90 SL:45\nF97A  D0 01     BNE $F97D                       A:7F X:33 Y:CD P:67 SP:F9 CYC: 96 SL:45\nF97C  60        RTS                             A:7F X:33 Y:CD P:67 SP:F9 CYC:102 SL:45\nD736  C8        INY                             A:7F X:33 Y:CD P:67 SP:FB CYC:120 SL:45\nD737  A9 7F     LDA #$7F                        A:7F X:33 Y:CE P:E5 SP:FB CYC:126 SL:45\nD739  8D 78 06  STA $0678 = 00                  A:7F X:33 Y:CE P:65 SP:FB CYC:132 SL:45\nD73C  20 80 F9  JSR $F980                       A:7F X:33 Y:CE P:65 SP:FB CYC:144 SL:45\nF980  38        SEC                             A:7F X:33 Y:CE P:65 SP:F9 CYC:162 SL:45\nF981  A9 81     LDA #$81                        A:7F X:33 Y:CE P:65 SP:F9 CYC:168 SL:45\nF983  60        RTS                             A:81 X:33 Y:CE P:E5 SP:F9 CYC:174 SL:45\nD73F  ED 78 06  SBC $0678 = 7F                  A:81 X:33 Y:CE P:E5 SP:FB CYC:192 SL:45\nD742  20 84 F9  JSR $F984                       A:02 X:33 Y:CE P:65 SP:FB CYC:204 SL:45\nF984  50 07     BVC $F98D                       A:02 X:33 Y:CE P:65 SP:F9 CYC:222 SL:45\nF986  90 05     BCC $F98D                       A:02 X:33 Y:CE P:65 SP:F9 CYC:228 SL:45\nF988  C9 02     CMP #$02                        A:02 X:33 Y:CE P:65 SP:F9 CYC:234 SL:45\nF98A  D0 01     BNE $F98D                       A:02 X:33 Y:CE P:67 SP:F9 CYC:240 SL:45\nF98C  60        RTS                             A:02 X:33 Y:CE P:67 SP:F9 CYC:246 SL:45\nD745  C8        INY                             A:02 X:33 Y:CE P:67 SP:FB CYC:264 SL:45\nD746  A9 40     LDA #$40                        A:02 X:33 Y:CF P:E5 SP:FB CYC:270 SL:45\nD748  8D 78 06  STA $0678 = 7F                  A:40 X:33 Y:CF P:65 SP:FB CYC:276 SL:45\nD74B  20 89 F8  JSR $F889                       A:40 X:33 Y:CF P:65 SP:FB CYC:288 SL:45\nF889  24 01     BIT $01 = FF                    A:40 X:33 Y:CF P:65 SP:F9 CYC:306 SL:45\nF88B  A9 40     LDA #$40                        A:40 X:33 Y:CF P:E5 SP:F9 CYC:315 SL:45\nF88D  60        RTS                             A:40 X:33 Y:CF P:65 SP:F9 CYC:321 SL:45\nD74E  AA        TAX                             A:40 X:33 Y:CF P:65 SP:FB CYC:339 SL:45\nD74F  EC 78 06  CPX $0678 = 40                  A:40 X:40 Y:CF P:65 SP:FB CYC:  4 SL:46\nD752  20 8E F8  JSR $F88E                       A:40 X:40 Y:CF P:67 SP:FB CYC: 16 SL:46\nF88E  30 07     BMI $F897                       A:40 X:40 Y:CF P:67 SP:F9 CYC: 34 SL:46\nF890  90 05     BCC $F897                       A:40 X:40 Y:CF P:67 SP:F9 CYC: 40 SL:46\nF892  D0 03     BNE $F897                       A:40 X:40 Y:CF P:67 SP:F9 CYC: 46 SL:46\nF894  50 01     BVC $F897                       A:40 X:40 Y:CF P:67 SP:F9 CYC: 52 SL:46\nF896  60        RTS                             A:40 X:40 Y:CF P:67 SP:F9 CYC: 58 SL:46\nD755  C8        INY                             A:40 X:40 Y:CF P:67 SP:FB CYC: 76 SL:46\nD756  A9 3F     LDA #$3F                        A:40 X:40 Y:D0 P:E5 SP:FB CYC: 82 SL:46\nD758  8D 78 06  STA $0678 = 40                  A:3F X:40 Y:D0 P:65 SP:FB CYC: 88 SL:46\nD75B  20 9A F8  JSR $F89A                       A:3F X:40 Y:D0 P:65 SP:FB CYC:100 SL:46\nF89A  B8        CLV                             A:3F X:40 Y:D0 P:65 SP:F9 CYC:118 SL:46\nF89B  60        RTS                             A:3F X:40 Y:D0 P:25 SP:F9 CYC:124 SL:46\nD75E  EC 78 06  CPX $0678 = 3F                  A:3F X:40 Y:D0 P:25 SP:FB CYC:142 SL:46\nD761  20 9C F8  JSR $F89C                       A:3F X:40 Y:D0 P:25 SP:FB CYC:154 SL:46\nF89C  F0 07     BEQ $F8A5                       A:3F X:40 Y:D0 P:25 SP:F9 CYC:172 SL:46\nF89E  30 05     BMI $F8A5                       A:3F X:40 Y:D0 P:25 SP:F9 CYC:178 SL:46\nF8A0  90 03     BCC $F8A5                       A:3F X:40 Y:D0 P:25 SP:F9 CYC:184 SL:46\nF8A2  70 01     BVS $F8A5                       A:3F X:40 Y:D0 P:25 SP:F9 CYC:190 SL:46\nF8A4  60        RTS                             A:3F X:40 Y:D0 P:25 SP:F9 CYC:196 SL:46\nD764  C8        INY                             A:3F X:40 Y:D0 P:25 SP:FB CYC:214 SL:46\nD765  A9 41     LDA #$41                        A:3F X:40 Y:D1 P:A5 SP:FB CYC:220 SL:46\nD767  8D 78 06  STA $0678 = 3F                  A:41 X:40 Y:D1 P:25 SP:FB CYC:226 SL:46\nD76A  EC 78 06  CPX $0678 = 41                  A:41 X:40 Y:D1 P:25 SP:FB CYC:238 SL:46\nD76D  20 A8 F8  JSR $F8A8                       A:41 X:40 Y:D1 P:A4 SP:FB CYC:250 SL:46\nF8A8  F0 05     BEQ $F8AF                       A:41 X:40 Y:D1 P:A4 SP:F9 CYC:268 SL:46\nF8AA  10 03     BPL $F8AF                       A:41 X:40 Y:D1 P:A4 SP:F9 CYC:274 SL:46\nF8AC  10 01     BPL $F8AF                       A:41 X:40 Y:D1 P:A4 SP:F9 CYC:280 SL:46\nF8AE  60        RTS                             A:41 X:40 Y:D1 P:A4 SP:F9 CYC:286 SL:46\nD770  C8        INY                             A:41 X:40 Y:D1 P:A4 SP:FB CYC:304 SL:46\nD771  A9 00     LDA #$00                        A:41 X:40 Y:D2 P:A4 SP:FB CYC:310 SL:46\nD773  8D 78 06  STA $0678 = 41                  A:00 X:40 Y:D2 P:26 SP:FB CYC:316 SL:46\nD776  20 B2 F8  JSR $F8B2                       A:00 X:40 Y:D2 P:26 SP:FB CYC:328 SL:46\nF8B2  A9 80     LDA #$80                        A:00 X:40 Y:D2 P:26 SP:F9 CYC:  5 SL:47\nF8B4  60        RTS                             A:80 X:40 Y:D2 P:A4 SP:F9 CYC: 11 SL:47\nD779  AA        TAX                             A:80 X:40 Y:D2 P:A4 SP:FB CYC: 29 SL:47\nD77A  EC 78 06  CPX $0678 = 00                  A:80 X:80 Y:D2 P:A4 SP:FB CYC: 35 SL:47\nD77D  20 B5 F8  JSR $F8B5                       A:80 X:80 Y:D2 P:A5 SP:FB CYC: 47 SL:47\nF8B5  F0 05     BEQ $F8BC                       A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 65 SL:47\nF8B7  10 03     BPL $F8BC                       A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 71 SL:47\nF8B9  90 01     BCC $F8BC                       A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 77 SL:47\nF8BB  60        RTS                             A:80 X:80 Y:D2 P:A5 SP:F9 CYC: 83 SL:47\nD780  C8        INY                             A:80 X:80 Y:D2 P:A5 SP:FB CYC:101 SL:47\nD781  A9 80     LDA #$80                        A:80 X:80 Y:D3 P:A5 SP:FB CYC:107 SL:47\nD783  8D 78 06  STA $0678 = 00                  A:80 X:80 Y:D3 P:A5 SP:FB CYC:113 SL:47\nD786  EC 78 06  CPX $0678 = 80                  A:80 X:80 Y:D3 P:A5 SP:FB CYC:125 SL:47\nD789  20 BF F8  JSR $F8BF                       A:80 X:80 Y:D3 P:27 SP:FB CYC:137 SL:47\nF8BF  D0 05     BNE $F8C6                       A:80 X:80 Y:D3 P:27 SP:F9 CYC:155 SL:47\nF8C1  30 03     BMI $F8C6                       A:80 X:80 Y:D3 P:27 SP:F9 CYC:161 SL:47\nF8C3  90 01     BCC $F8C6                       A:80 X:80 Y:D3 P:27 SP:F9 CYC:167 SL:47\nF8C5  60        RTS                             A:80 X:80 Y:D3 P:27 SP:F9 CYC:173 SL:47\nD78C  C8        INY                             A:80 X:80 Y:D3 P:27 SP:FB CYC:191 SL:47\nD78D  A9 81     LDA #$81                        A:80 X:80 Y:D4 P:A5 SP:FB CYC:197 SL:47\nD78F  8D 78 06  STA $0678 = 80                  A:81 X:80 Y:D4 P:A5 SP:FB CYC:203 SL:47\nD792  EC 78 06  CPX $0678 = 81                  A:81 X:80 Y:D4 P:A5 SP:FB CYC:215 SL:47\nD795  20 C9 F8  JSR $F8C9                       A:81 X:80 Y:D4 P:A4 SP:FB CYC:227 SL:47\nF8C9  B0 05     BCS $F8D0                       A:81 X:80 Y:D4 P:A4 SP:F9 CYC:245 SL:47\nF8CB  F0 03     BEQ $F8D0                       A:81 X:80 Y:D4 P:A4 SP:F9 CYC:251 SL:47\nF8CD  10 01     BPL $F8D0                       A:81 X:80 Y:D4 P:A4 SP:F9 CYC:257 SL:47\nF8CF  60        RTS                             A:81 X:80 Y:D4 P:A4 SP:F9 CYC:263 SL:47\nD798  C8        INY                             A:81 X:80 Y:D4 P:A4 SP:FB CYC:281 SL:47\nD799  A9 7F     LDA #$7F                        A:81 X:80 Y:D5 P:A4 SP:FB CYC:287 SL:47\nD79B  8D 78 06  STA $0678 = 81                  A:7F X:80 Y:D5 P:24 SP:FB CYC:293 SL:47\nD79E  EC 78 06  CPX $0678 = 7F                  A:7F X:80 Y:D5 P:24 SP:FB CYC:305 SL:47\nD7A1  20 D3 F8  JSR $F8D3                       A:7F X:80 Y:D5 P:25 SP:FB CYC:317 SL:47\nF8D3  90 05     BCC $F8DA                       A:7F X:80 Y:D5 P:25 SP:F9 CYC:335 SL:47\nF8D5  F0 03     BEQ $F8DA                       A:7F X:80 Y:D5 P:25 SP:F9 CYC:  0 SL:48\nF8D7  30 01     BMI $F8DA                       A:7F X:80 Y:D5 P:25 SP:F9 CYC:  6 SL:48\nF8D9  60        RTS                             A:7F X:80 Y:D5 P:25 SP:F9 CYC: 12 SL:48\nD7A4  C8        INY                             A:7F X:80 Y:D5 P:25 SP:FB CYC: 30 SL:48\nD7A5  98        TYA                             A:7F X:80 Y:D6 P:A5 SP:FB CYC: 36 SL:48\nD7A6  AA        TAX                             A:D6 X:80 Y:D6 P:A5 SP:FB CYC: 42 SL:48\nD7A7  A9 40     LDA #$40                        A:D6 X:D6 Y:D6 P:A5 SP:FB CYC: 48 SL:48\nD7A9  8D 78 06  STA $0678 = 7F                  A:40 X:D6 Y:D6 P:25 SP:FB CYC: 54 SL:48\nD7AC  20 DD F8  JSR $F8DD                       A:40 X:D6 Y:D6 P:25 SP:FB CYC: 66 SL:48\nF8DD  24 01     BIT $01 = FF                    A:40 X:D6 Y:D6 P:25 SP:F9 CYC: 84 SL:48\nF8DF  A0 40     LDY #$40                        A:40 X:D6 Y:D6 P:E5 SP:F9 CYC: 93 SL:48\nF8E1  60        RTS                             A:40 X:D6 Y:40 P:65 SP:F9 CYC: 99 SL:48\nD7AF  CC 78 06  CPY $0678 = 40                  A:40 X:D6 Y:40 P:65 SP:FB CYC:117 SL:48\nD7B2  20 E2 F8  JSR $F8E2                       A:40 X:D6 Y:40 P:67 SP:FB CYC:129 SL:48\nF8E2  30 07     BMI $F8EB                       A:40 X:D6 Y:40 P:67 SP:F9 CYC:147 SL:48\nF8E4  90 05     BCC $F8EB                       A:40 X:D6 Y:40 P:67 SP:F9 CYC:153 SL:48\nF8E6  D0 03     BNE $F8EB                       A:40 X:D6 Y:40 P:67 SP:F9 CYC:159 SL:48\nF8E8  50 01     BVC $F8EB                       A:40 X:D6 Y:40 P:67 SP:F9 CYC:165 SL:48\nF8EA  60        RTS                             A:40 X:D6 Y:40 P:67 SP:F9 CYC:171 SL:48\nD7B5  E8        INX                             A:40 X:D6 Y:40 P:67 SP:FB CYC:189 SL:48\nD7B6  A9 3F     LDA #$3F                        A:40 X:D7 Y:40 P:E5 SP:FB CYC:195 SL:48\nD7B8  8D 78 06  STA $0678 = 40                  A:3F X:D7 Y:40 P:65 SP:FB CYC:201 SL:48\nD7BB  20 EE F8  JSR $F8EE                       A:3F X:D7 Y:40 P:65 SP:FB CYC:213 SL:48\nF8EE  B8        CLV                             A:3F X:D7 Y:40 P:65 SP:F9 CYC:231 SL:48\nF8EF  60        RTS                             A:3F X:D7 Y:40 P:25 SP:F9 CYC:237 SL:48\nD7BE  CC 78 06  CPY $0678 = 3F                  A:3F X:D7 Y:40 P:25 SP:FB CYC:255 SL:48\nD7C1  20 F0 F8  JSR $F8F0                       A:3F X:D7 Y:40 P:25 SP:FB CYC:267 SL:48\nF8F0  F0 07     BEQ $F8F9                       A:3F X:D7 Y:40 P:25 SP:F9 CYC:285 SL:48\nF8F2  30 05     BMI $F8F9                       A:3F X:D7 Y:40 P:25 SP:F9 CYC:291 SL:48\nF8F4  90 03     BCC $F8F9                       A:3F X:D7 Y:40 P:25 SP:F9 CYC:297 SL:48\nF8F6  70 01     BVS $F8F9                       A:3F X:D7 Y:40 P:25 SP:F9 CYC:303 SL:48\nF8F8  60        RTS                             A:3F X:D7 Y:40 P:25 SP:F9 CYC:309 SL:48\nD7C4  E8        INX                             A:3F X:D7 Y:40 P:25 SP:FB CYC:327 SL:48\nD7C5  A9 41     LDA #$41                        A:3F X:D8 Y:40 P:A5 SP:FB CYC:333 SL:48\nD7C7  8D 78 06  STA $0678 = 3F                  A:41 X:D8 Y:40 P:25 SP:FB CYC:339 SL:48\nD7CA  CC 78 06  CPY $0678 = 41                  A:41 X:D8 Y:40 P:25 SP:FB CYC: 10 SL:49\nD7CD  20 FC F8  JSR $F8FC                       A:41 X:D8 Y:40 P:A4 SP:FB CYC: 22 SL:49\nF8FC  F0 05     BEQ $F903                       A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 40 SL:49\nF8FE  10 03     BPL $F903                       A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 46 SL:49\nF900  10 01     BPL $F903                       A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 52 SL:49\nF902  60        RTS                             A:41 X:D8 Y:40 P:A4 SP:F9 CYC: 58 SL:49\nD7D0  E8        INX                             A:41 X:D8 Y:40 P:A4 SP:FB CYC: 76 SL:49\nD7D1  A9 00     LDA #$00                        A:41 X:D9 Y:40 P:A4 SP:FB CYC: 82 SL:49\nD7D3  8D 78 06  STA $0678 = 41                  A:00 X:D9 Y:40 P:26 SP:FB CYC: 88 SL:49\nD7D6  20 06 F9  JSR $F906                       A:00 X:D9 Y:40 P:26 SP:FB CYC:100 SL:49\nF906  A0 80     LDY #$80                        A:00 X:D9 Y:40 P:26 SP:F9 CYC:118 SL:49\nF908  60        RTS                             A:00 X:D9 Y:80 P:A4 SP:F9 CYC:124 SL:49\nD7D9  CC 78 06  CPY $0678 = 00                  A:00 X:D9 Y:80 P:A4 SP:FB CYC:142 SL:49\nD7DC  20 09 F9  JSR $F909                       A:00 X:D9 Y:80 P:A5 SP:FB CYC:154 SL:49\nF909  F0 05     BEQ $F910                       A:00 X:D9 Y:80 P:A5 SP:F9 CYC:172 SL:49\nF90B  10 03     BPL $F910                       A:00 X:D9 Y:80 P:A5 SP:F9 CYC:178 SL:49\nF90D  90 01     BCC $F910                       A:00 X:D9 Y:80 P:A5 SP:F9 CYC:184 SL:49\nF90F  60        RTS                             A:00 X:D9 Y:80 P:A5 SP:F9 CYC:190 SL:49\nD7DF  E8        INX                             A:00 X:D9 Y:80 P:A5 SP:FB CYC:208 SL:49\nD7E0  A9 80     LDA #$80                        A:00 X:DA Y:80 P:A5 SP:FB CYC:214 SL:49\nD7E2  8D 78 06  STA $0678 = 00                  A:80 X:DA Y:80 P:A5 SP:FB CYC:220 SL:49\nD7E5  CC 78 06  CPY $0678 = 80                  A:80 X:DA Y:80 P:A5 SP:FB CYC:232 SL:49\nD7E8  20 13 F9  JSR $F913                       A:80 X:DA Y:80 P:27 SP:FB CYC:244 SL:49\nF913  D0 05     BNE $F91A                       A:80 X:DA Y:80 P:27 SP:F9 CYC:262 SL:49\nF915  30 03     BMI $F91A                       A:80 X:DA Y:80 P:27 SP:F9 CYC:268 SL:49\nF917  90 01     BCC $F91A                       A:80 X:DA Y:80 P:27 SP:F9 CYC:274 SL:49\nF919  60        RTS                             A:80 X:DA Y:80 P:27 SP:F9 CYC:280 SL:49\nD7EB  E8        INX                             A:80 X:DA Y:80 P:27 SP:FB CYC:298 SL:49\nD7EC  A9 81     LDA #$81                        A:80 X:DB Y:80 P:A5 SP:FB CYC:304 SL:49\nD7EE  8D 78 06  STA $0678 = 80                  A:81 X:DB Y:80 P:A5 SP:FB CYC:310 SL:49\nD7F1  CC 78 06  CPY $0678 = 81                  A:81 X:DB Y:80 P:A5 SP:FB CYC:322 SL:49\nD7F4  20 1D F9  JSR $F91D                       A:81 X:DB Y:80 P:A4 SP:FB CYC:334 SL:49\nF91D  B0 05     BCS $F924                       A:81 X:DB Y:80 P:A4 SP:F9 CYC: 11 SL:50\nF91F  F0 03     BEQ $F924                       A:81 X:DB Y:80 P:A4 SP:F9 CYC: 17 SL:50\nF921  10 01     BPL $F924                       A:81 X:DB Y:80 P:A4 SP:F9 CYC: 23 SL:50\nF923  60        RTS                             A:81 X:DB Y:80 P:A4 SP:F9 CYC: 29 SL:50\nD7F7  E8        INX                             A:81 X:DB Y:80 P:A4 SP:FB CYC: 47 SL:50\nD7F8  A9 7F     LDA #$7F                        A:81 X:DC Y:80 P:A4 SP:FB CYC: 53 SL:50\nD7FA  8D 78 06  STA $0678 = 81                  A:7F X:DC Y:80 P:24 SP:FB CYC: 59 SL:50\nD7FD  CC 78 06  CPY $0678 = 7F                  A:7F X:DC Y:80 P:24 SP:FB CYC: 71 SL:50\nD800  20 27 F9  JSR $F927                       A:7F X:DC Y:80 P:25 SP:FB CYC: 83 SL:50\nF927  90 05     BCC $F92E                       A:7F X:DC Y:80 P:25 SP:F9 CYC:101 SL:50\nF929  F0 03     BEQ $F92E                       A:7F X:DC Y:80 P:25 SP:F9 CYC:107 SL:50\nF92B  30 01     BMI $F92E                       A:7F X:DC Y:80 P:25 SP:F9 CYC:113 SL:50\nF92D  60        RTS                             A:7F X:DC Y:80 P:25 SP:F9 CYC:119 SL:50\nD803  E8        INX                             A:7F X:DC Y:80 P:25 SP:FB CYC:137 SL:50\nD804  8A        TXA                             A:7F X:DD Y:80 P:A5 SP:FB CYC:143 SL:50\nD805  A8        TAY                             A:DD X:DD Y:80 P:A5 SP:FB CYC:149 SL:50\nD806  20 90 F9  JSR $F990                       A:DD X:DD Y:DD P:A5 SP:FB CYC:155 SL:50\nF990  A2 55     LDX #$55                        A:DD X:DD Y:DD P:A5 SP:F9 CYC:173 SL:50\nF992  A9 FF     LDA #$FF                        A:DD X:55 Y:DD P:25 SP:F9 CYC:179 SL:50\nF994  85 01     STA $01 = FF                    A:FF X:55 Y:DD P:A5 SP:F9 CYC:185 SL:50\nF996  EA        NOP                             A:FF X:55 Y:DD P:A5 SP:F9 CYC:194 SL:50\nF997  24 01     BIT $01 = FF                    A:FF X:55 Y:DD P:A5 SP:F9 CYC:200 SL:50\nF999  38        SEC                             A:FF X:55 Y:DD P:E5 SP:F9 CYC:209 SL:50\nF99A  A9 01     LDA #$01                        A:FF X:55 Y:DD P:E5 SP:F9 CYC:215 SL:50\nF99C  60        RTS                             A:01 X:55 Y:DD P:65 SP:F9 CYC:221 SL:50\nD809  8D 78 06  STA $0678 = 7F                  A:01 X:55 Y:DD P:65 SP:FB CYC:239 SL:50\nD80C  4E 78 06  LSR $0678 = 01                  A:01 X:55 Y:DD P:65 SP:FB CYC:251 SL:50\nD80F  AD 78 06  LDA $0678 = 00                  A:01 X:55 Y:DD P:67 SP:FB CYC:269 SL:50\nD812  20 9D F9  JSR $F99D                       A:00 X:55 Y:DD P:67 SP:FB CYC:281 SL:50\nF99D  90 1B     BCC $F9BA                       A:00 X:55 Y:DD P:67 SP:F9 CYC:299 SL:50\nF99F  D0 19     BNE $F9BA                       A:00 X:55 Y:DD P:67 SP:F9 CYC:305 SL:50\nF9A1  30 17     BMI $F9BA                       A:00 X:55 Y:DD P:67 SP:F9 CYC:311 SL:50\nF9A3  50 15     BVC $F9BA                       A:00 X:55 Y:DD P:67 SP:F9 CYC:317 SL:50\nF9A5  C9 00     CMP #$00                        A:00 X:55 Y:DD P:67 SP:F9 CYC:323 SL:50\nF9A7  D0 11     BNE $F9BA                       A:00 X:55 Y:DD P:67 SP:F9 CYC:329 SL:50\nF9A9  B8        CLV                             A:00 X:55 Y:DD P:67 SP:F9 CYC:335 SL:50\nF9AA  A9 AA     LDA #$AA                        A:00 X:55 Y:DD P:27 SP:F9 CYC:  0 SL:51\nF9AC  60        RTS                             A:AA X:55 Y:DD P:A5 SP:F9 CYC:  6 SL:51\nD815  C8        INY                             A:AA X:55 Y:DD P:A5 SP:FB CYC: 24 SL:51\nD816  8D 78 06  STA $0678 = 00                  A:AA X:55 Y:DE P:A5 SP:FB CYC: 30 SL:51\nD819  4E 78 06  LSR $0678 = AA                  A:AA X:55 Y:DE P:A5 SP:FB CYC: 42 SL:51\nD81C  AD 78 06  LDA $0678 = 55                  A:AA X:55 Y:DE P:24 SP:FB CYC: 60 SL:51\nD81F  20 AD F9  JSR $F9AD                       A:55 X:55 Y:DE P:24 SP:FB CYC: 72 SL:51\nF9AD  B0 0B     BCS $F9BA                       A:55 X:55 Y:DE P:24 SP:F9 CYC: 90 SL:51\nF9AF  F0 09     BEQ $F9BA                       A:55 X:55 Y:DE P:24 SP:F9 CYC: 96 SL:51\nF9B1  30 07     BMI $F9BA                       A:55 X:55 Y:DE P:24 SP:F9 CYC:102 SL:51\nF9B3  70 05     BVS $F9BA                       A:55 X:55 Y:DE P:24 SP:F9 CYC:108 SL:51\nF9B5  C9 55     CMP #$55                        A:55 X:55 Y:DE P:24 SP:F9 CYC:114 SL:51\nF9B7  D0 01     BNE $F9BA                       A:55 X:55 Y:DE P:27 SP:F9 CYC:120 SL:51\nF9B9  60        RTS                             A:55 X:55 Y:DE P:27 SP:F9 CYC:126 SL:51\nD822  C8        INY                             A:55 X:55 Y:DE P:27 SP:FB CYC:144 SL:51\nD823  20 BD F9  JSR $F9BD                       A:55 X:55 Y:DF P:A5 SP:FB CYC:150 SL:51\nF9BD  24 01     BIT $01 = FF                    A:55 X:55 Y:DF P:A5 SP:F9 CYC:168 SL:51\nF9BF  38        SEC                             A:55 X:55 Y:DF P:E5 SP:F9 CYC:177 SL:51\nF9C0  A9 80     LDA #$80                        A:55 X:55 Y:DF P:E5 SP:F9 CYC:183 SL:51\nF9C2  60        RTS                             A:80 X:55 Y:DF P:E5 SP:F9 CYC:189 SL:51\nD826  8D 78 06  STA $0678 = 55                  A:80 X:55 Y:DF P:E5 SP:FB CYC:207 SL:51\nD829  0E 78 06  ASL $0678 = 80                  A:80 X:55 Y:DF P:E5 SP:FB CYC:219 SL:51\nD82C  AD 78 06  LDA $0678 = 00                  A:80 X:55 Y:DF P:67 SP:FB CYC:237 SL:51\nD82F  20 C3 F9  JSR $F9C3                       A:00 X:55 Y:DF P:67 SP:FB CYC:249 SL:51\nF9C3  90 1C     BCC $F9E1                       A:00 X:55 Y:DF P:67 SP:F9 CYC:267 SL:51\nF9C5  D0 1A     BNE $F9E1                       A:00 X:55 Y:DF P:67 SP:F9 CYC:273 SL:51\nF9C7  30 18     BMI $F9E1                       A:00 X:55 Y:DF P:67 SP:F9 CYC:279 SL:51\nF9C9  50 16     BVC $F9E1                       A:00 X:55 Y:DF P:67 SP:F9 CYC:285 SL:51\nF9CB  C9 00     CMP #$00                        A:00 X:55 Y:DF P:67 SP:F9 CYC:291 SL:51\nF9CD  D0 12     BNE $F9E1                       A:00 X:55 Y:DF P:67 SP:F9 CYC:297 SL:51\nF9CF  B8        CLV                             A:00 X:55 Y:DF P:67 SP:F9 CYC:303 SL:51\nF9D0  A9 55     LDA #$55                        A:00 X:55 Y:DF P:27 SP:F9 CYC:309 SL:51\nF9D2  38        SEC                             A:55 X:55 Y:DF P:25 SP:F9 CYC:315 SL:51\nF9D3  60        RTS                             A:55 X:55 Y:DF P:25 SP:F9 CYC:321 SL:51\nD832  C8        INY                             A:55 X:55 Y:DF P:25 SP:FB CYC:339 SL:51\nD833  8D 78 06  STA $0678 = 00                  A:55 X:55 Y:E0 P:A5 SP:FB CYC:  4 SL:52\nD836  0E 78 06  ASL $0678 = 55                  A:55 X:55 Y:E0 P:A5 SP:FB CYC: 16 SL:52\nD839  AD 78 06  LDA $0678 = AA                  A:55 X:55 Y:E0 P:A4 SP:FB CYC: 34 SL:52\nD83C  20 D4 F9  JSR $F9D4                       A:AA X:55 Y:E0 P:A4 SP:FB CYC: 46 SL:52\nF9D4  B0 0B     BCS $F9E1                       A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 64 SL:52\nF9D6  F0 09     BEQ $F9E1                       A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 70 SL:52\nF9D8  10 07     BPL $F9E1                       A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 76 SL:52\nF9DA  70 05     BVS $F9E1                       A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 82 SL:52\nF9DC  C9 AA     CMP #$AA                        A:AA X:55 Y:E0 P:A4 SP:F9 CYC: 88 SL:52\nF9DE  D0 01     BNE $F9E1                       A:AA X:55 Y:E0 P:27 SP:F9 CYC: 94 SL:52\nF9E0  60        RTS                             A:AA X:55 Y:E0 P:27 SP:F9 CYC:100 SL:52\nD83F  C8        INY                             A:AA X:55 Y:E0 P:27 SP:FB CYC:118 SL:52\nD840  20 E4 F9  JSR $F9E4                       A:AA X:55 Y:E1 P:A5 SP:FB CYC:124 SL:52\nF9E4  24 01     BIT $01 = FF                    A:AA X:55 Y:E1 P:A5 SP:F9 CYC:142 SL:52\nF9E6  38        SEC                             A:AA X:55 Y:E1 P:E5 SP:F9 CYC:151 SL:52\nF9E7  A9 01     LDA #$01                        A:AA X:55 Y:E1 P:E5 SP:F9 CYC:157 SL:52\nF9E9  60        RTS                             A:01 X:55 Y:E1 P:65 SP:F9 CYC:163 SL:52\nD843  8D 78 06  STA $0678 = AA                  A:01 X:55 Y:E1 P:65 SP:FB CYC:181 SL:52\nD846  6E 78 06  ROR $0678 = 01                  A:01 X:55 Y:E1 P:65 SP:FB CYC:193 SL:52\nD849  AD 78 06  LDA $0678 = 80                  A:01 X:55 Y:E1 P:E5 SP:FB CYC:211 SL:52\nD84C  20 EA F9  JSR $F9EA                       A:80 X:55 Y:E1 P:E5 SP:FB CYC:223 SL:52\nF9EA  90 1C     BCC $FA08                       A:80 X:55 Y:E1 P:E5 SP:F9 CYC:241 SL:52\nF9EC  F0 1A     BEQ $FA08                       A:80 X:55 Y:E1 P:E5 SP:F9 CYC:247 SL:52\nF9EE  10 18     BPL $FA08                       A:80 X:55 Y:E1 P:E5 SP:F9 CYC:253 SL:52\nF9F0  50 16     BVC $FA08                       A:80 X:55 Y:E1 P:E5 SP:F9 CYC:259 SL:52\nF9F2  C9 80     CMP #$80                        A:80 X:55 Y:E1 P:E5 SP:F9 CYC:265 SL:52\nF9F4  D0 12     BNE $FA08                       A:80 X:55 Y:E1 P:67 SP:F9 CYC:271 SL:52\nF9F6  B8        CLV                             A:80 X:55 Y:E1 P:67 SP:F9 CYC:277 SL:52\nF9F7  18        CLC                             A:80 X:55 Y:E1 P:27 SP:F9 CYC:283 SL:52\nF9F8  A9 55     LDA #$55                        A:80 X:55 Y:E1 P:26 SP:F9 CYC:289 SL:52\nF9FA  60        RTS                             A:55 X:55 Y:E1 P:24 SP:F9 CYC:295 SL:52\nD84F  C8        INY                             A:55 X:55 Y:E1 P:24 SP:FB CYC:313 SL:52\nD850  8D 78 06  STA $0678 = 80                  A:55 X:55 Y:E2 P:A4 SP:FB CYC:319 SL:52\nD853  6E 78 06  ROR $0678 = 55                  A:55 X:55 Y:E2 P:A4 SP:FB CYC:331 SL:52\nD856  AD 78 06  LDA $0678 = 2A                  A:55 X:55 Y:E2 P:25 SP:FB CYC:  8 SL:53\nD859  20 FB F9  JSR $F9FB                       A:2A X:55 Y:E2 P:25 SP:FB CYC: 20 SL:53\nF9FB  90 0B     BCC $FA08                       A:2A X:55 Y:E2 P:25 SP:F9 CYC: 38 SL:53\nF9FD  F0 09     BEQ $FA08                       A:2A X:55 Y:E2 P:25 SP:F9 CYC: 44 SL:53\nF9FF  30 07     BMI $FA08                       A:2A X:55 Y:E2 P:25 SP:F9 CYC: 50 SL:53\nFA01  70 05     BVS $FA08                       A:2A X:55 Y:E2 P:25 SP:F9 CYC: 56 SL:53\nFA03  C9 2A     CMP #$2A                        A:2A X:55 Y:E2 P:25 SP:F9 CYC: 62 SL:53\nFA05  D0 01     BNE $FA08                       A:2A X:55 Y:E2 P:27 SP:F9 CYC: 68 SL:53\nFA07  60        RTS                             A:2A X:55 Y:E2 P:27 SP:F9 CYC: 74 SL:53\nD85C  C8        INY                             A:2A X:55 Y:E2 P:27 SP:FB CYC: 92 SL:53\nD85D  20 0A FA  JSR $FA0A                       A:2A X:55 Y:E3 P:A5 SP:FB CYC: 98 SL:53\nFA0A  24 01     BIT $01 = FF                    A:2A X:55 Y:E3 P:A5 SP:F9 CYC:116 SL:53\nFA0C  38        SEC                             A:2A X:55 Y:E3 P:E5 SP:F9 CYC:125 SL:53\nFA0D  A9 80     LDA #$80                        A:2A X:55 Y:E3 P:E5 SP:F9 CYC:131 SL:53\nFA0F  60        RTS                             A:80 X:55 Y:E3 P:E5 SP:F9 CYC:137 SL:53\nD860  8D 78 06  STA $0678 = 2A                  A:80 X:55 Y:E3 P:E5 SP:FB CYC:155 SL:53\nD863  2E 78 06  ROL $0678 = 80                  A:80 X:55 Y:E3 P:E5 SP:FB CYC:167 SL:53\nD866  AD 78 06  LDA $0678 = 01                  A:80 X:55 Y:E3 P:65 SP:FB CYC:185 SL:53\nD869  20 10 FA  JSR $FA10                       A:01 X:55 Y:E3 P:65 SP:FB CYC:197 SL:53\nFA10  90 1C     BCC $FA2E                       A:01 X:55 Y:E3 P:65 SP:F9 CYC:215 SL:53\nFA12  F0 1A     BEQ $FA2E                       A:01 X:55 Y:E3 P:65 SP:F9 CYC:221 SL:53\nFA14  30 18     BMI $FA2E                       A:01 X:55 Y:E3 P:65 SP:F9 CYC:227 SL:53\nFA16  50 16     BVC $FA2E                       A:01 X:55 Y:E3 P:65 SP:F9 CYC:233 SL:53\nFA18  C9 01     CMP #$01                        A:01 X:55 Y:E3 P:65 SP:F9 CYC:239 SL:53\nFA1A  D0 12     BNE $FA2E                       A:01 X:55 Y:E3 P:67 SP:F9 CYC:245 SL:53\nFA1C  B8        CLV                             A:01 X:55 Y:E3 P:67 SP:F9 CYC:251 SL:53\nFA1D  18        CLC                             A:01 X:55 Y:E3 P:27 SP:F9 CYC:257 SL:53\nFA1E  A9 55     LDA #$55                        A:01 X:55 Y:E3 P:26 SP:F9 CYC:263 SL:53\nFA20  60        RTS                             A:55 X:55 Y:E3 P:24 SP:F9 CYC:269 SL:53\nD86C  C8        INY                             A:55 X:55 Y:E3 P:24 SP:FB CYC:287 SL:53\nD86D  8D 78 06  STA $0678 = 01                  A:55 X:55 Y:E4 P:A4 SP:FB CYC:293 SL:53\nD870  2E 78 06  ROL $0678 = 55                  A:55 X:55 Y:E4 P:A4 SP:FB CYC:305 SL:53\nD873  AD 78 06  LDA $0678 = AA                  A:55 X:55 Y:E4 P:A4 SP:FB CYC:323 SL:53\nD876  20 21 FA  JSR $FA21                       A:AA X:55 Y:E4 P:A4 SP:FB CYC:335 SL:53\nFA21  B0 0B     BCS $FA2E                       A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 12 SL:54\nFA23  F0 09     BEQ $FA2E                       A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 18 SL:54\nFA25  10 07     BPL $FA2E                       A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 24 SL:54\nFA27  70 05     BVS $FA2E                       A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 30 SL:54\nFA29  C9 AA     CMP #$AA                        A:AA X:55 Y:E4 P:A4 SP:F9 CYC: 36 SL:54\nFA2B  D0 01     BNE $FA2E                       A:AA X:55 Y:E4 P:27 SP:F9 CYC: 42 SL:54\nFA2D  60        RTS                             A:AA X:55 Y:E4 P:27 SP:F9 CYC: 48 SL:54\nD879  A9 FF     LDA #$FF                        A:AA X:55 Y:E4 P:27 SP:FB CYC: 66 SL:54\nD87B  8D 78 06  STA $0678 = AA                  A:FF X:55 Y:E4 P:A5 SP:FB CYC: 72 SL:54\nD87E  85 01     STA $01 = FF                    A:FF X:55 Y:E4 P:A5 SP:FB CYC: 84 SL:54\nD880  24 01     BIT $01 = FF                    A:FF X:55 Y:E4 P:A5 SP:FB CYC: 93 SL:54\nD882  38        SEC                             A:FF X:55 Y:E4 P:E5 SP:FB CYC:102 SL:54\nD883  EE 78 06  INC $0678 = FF                  A:FF X:55 Y:E4 P:E5 SP:FB CYC:108 SL:54\nD886  D0 0D     BNE $D895                       A:FF X:55 Y:E4 P:67 SP:FB CYC:126 SL:54\nD888  30 0B     BMI $D895                       A:FF X:55 Y:E4 P:67 SP:FB CYC:132 SL:54\nD88A  50 09     BVC $D895                       A:FF X:55 Y:E4 P:67 SP:FB CYC:138 SL:54\nD88C  90 07     BCC $D895                       A:FF X:55 Y:E4 P:67 SP:FB CYC:144 SL:54\nD88E  AD 78 06  LDA $0678 = 00                  A:FF X:55 Y:E4 P:67 SP:FB CYC:150 SL:54\nD891  C9 00     CMP #$00                        A:00 X:55 Y:E4 P:67 SP:FB CYC:162 SL:54\nD893  F0 04     BEQ $D899                       A:00 X:55 Y:E4 P:67 SP:FB CYC:168 SL:54\nD899  A9 7F     LDA #$7F                        A:00 X:55 Y:E4 P:67 SP:FB CYC:177 SL:54\nD89B  8D 78 06  STA $0678 = 00                  A:7F X:55 Y:E4 P:65 SP:FB CYC:183 SL:54\nD89E  B8        CLV                             A:7F X:55 Y:E4 P:65 SP:FB CYC:195 SL:54\nD89F  18        CLC                             A:7F X:55 Y:E4 P:25 SP:FB CYC:201 SL:54\nD8A0  EE 78 06  INC $0678 = 7F                  A:7F X:55 Y:E4 P:24 SP:FB CYC:207 SL:54\nD8A3  F0 0D     BEQ $D8B2                       A:7F X:55 Y:E4 P:A4 SP:FB CYC:225 SL:54\nD8A5  10 0B     BPL $D8B2                       A:7F X:55 Y:E4 P:A4 SP:FB CYC:231 SL:54\nD8A7  70 09     BVS $D8B2                       A:7F X:55 Y:E4 P:A4 SP:FB CYC:237 SL:54\nD8A9  B0 07     BCS $D8B2                       A:7F X:55 Y:E4 P:A4 SP:FB CYC:243 SL:54\nD8AB  AD 78 06  LDA $0678 = 80                  A:7F X:55 Y:E4 P:A4 SP:FB CYC:249 SL:54\nD8AE  C9 80     CMP #$80                        A:80 X:55 Y:E4 P:A4 SP:FB CYC:261 SL:54\nD8B0  F0 04     BEQ $D8B6                       A:80 X:55 Y:E4 P:27 SP:FB CYC:267 SL:54\nD8B6  A9 00     LDA #$00                        A:80 X:55 Y:E4 P:27 SP:FB CYC:276 SL:54\nD8B8  8D 78 06  STA $0678 = 80                  A:00 X:55 Y:E4 P:27 SP:FB CYC:282 SL:54\nD8BB  24 01     BIT $01 = FF                    A:00 X:55 Y:E4 P:27 SP:FB CYC:294 SL:54\nD8BD  38        SEC                             A:00 X:55 Y:E4 P:E7 SP:FB CYC:303 SL:54\nD8BE  CE 78 06  DEC $0678 = 00                  A:00 X:55 Y:E4 P:E7 SP:FB CYC:309 SL:54\nD8C1  F0 0D     BEQ $D8D0                       A:00 X:55 Y:E4 P:E5 SP:FB CYC:327 SL:54\nD8C3  10 0B     BPL $D8D0                       A:00 X:55 Y:E4 P:E5 SP:FB CYC:333 SL:54\nD8C5  50 09     BVC $D8D0                       A:00 X:55 Y:E4 P:E5 SP:FB CYC:339 SL:54\nD8C7  90 07     BCC $D8D0                       A:00 X:55 Y:E4 P:E5 SP:FB CYC:  4 SL:55\nD8C9  AD 78 06  LDA $0678 = FF                  A:00 X:55 Y:E4 P:E5 SP:FB CYC: 10 SL:55\nD8CC  C9 FF     CMP #$FF                        A:FF X:55 Y:E4 P:E5 SP:FB CYC: 22 SL:55\nD8CE  F0 04     BEQ $D8D4                       A:FF X:55 Y:E4 P:67 SP:FB CYC: 28 SL:55\nD8D4  A9 80     LDA #$80                        A:FF X:55 Y:E4 P:67 SP:FB CYC: 37 SL:55\nD8D6  8D 78 06  STA $0678 = FF                  A:80 X:55 Y:E4 P:E5 SP:FB CYC: 43 SL:55\nD8D9  B8        CLV                             A:80 X:55 Y:E4 P:E5 SP:FB CYC: 55 SL:55\nD8DA  18        CLC                             A:80 X:55 Y:E4 P:A5 SP:FB CYC: 61 SL:55\nD8DB  CE 78 06  DEC $0678 = 80                  A:80 X:55 Y:E4 P:A4 SP:FB CYC: 67 SL:55\nD8DE  F0 0D     BEQ $D8ED                       A:80 X:55 Y:E4 P:24 SP:FB CYC: 85 SL:55\nD8E0  30 0B     BMI $D8ED                       A:80 X:55 Y:E4 P:24 SP:FB CYC: 91 SL:55\nD8E2  70 09     BVS $D8ED                       A:80 X:55 Y:E4 P:24 SP:FB CYC: 97 SL:55\nD8E4  B0 07     BCS $D8ED                       A:80 X:55 Y:E4 P:24 SP:FB CYC:103 SL:55\nD8E6  AD 78 06  LDA $0678 = 7F                  A:80 X:55 Y:E4 P:24 SP:FB CYC:109 SL:55\nD8E9  C9 7F     CMP #$7F                        A:7F X:55 Y:E4 P:24 SP:FB CYC:121 SL:55\nD8EB  F0 04     BEQ $D8F1                       A:7F X:55 Y:E4 P:27 SP:FB CYC:127 SL:55\nD8F1  A9 01     LDA #$01                        A:7F X:55 Y:E4 P:27 SP:FB CYC:136 SL:55\nD8F3  8D 78 06  STA $0678 = 7F                  A:01 X:55 Y:E4 P:25 SP:FB CYC:142 SL:55\nD8F6  CE 78 06  DEC $0678 = 01                  A:01 X:55 Y:E4 P:25 SP:FB CYC:154 SL:55\nD8F9  F0 04     BEQ $D8FF                       A:01 X:55 Y:E4 P:27 SP:FB CYC:172 SL:55\nD8FF  60        RTS                             A:01 X:55 Y:E4 P:27 SP:FB CYC:181 SL:55\nC618  20 00 D9  JSR $D900                       A:01 X:55 Y:E4 P:27 SP:FD CYC:199 SL:55\nD900  A9 A3     LDA #$A3                        A:01 X:55 Y:E4 P:27 SP:FB CYC:217 SL:55\nD902  85 33     STA $33 = 00                    A:A3 X:55 Y:E4 P:A5 SP:FB CYC:223 SL:55\nD904  A9 89     LDA #$89                        A:A3 X:55 Y:E4 P:A5 SP:FB CYC:232 SL:55\nD906  8D 00 03  STA $0300 = 70                  A:89 X:55 Y:E4 P:A5 SP:FB CYC:238 SL:55\nD909  A9 12     LDA #$12                        A:89 X:55 Y:E4 P:A5 SP:FB CYC:250 SL:55\nD90B  8D 45 02  STA $0245 = 00                  A:12 X:55 Y:E4 P:25 SP:FB CYC:256 SL:55\nD90E  A9 FF     LDA #$FF                        A:12 X:55 Y:E4 P:25 SP:FB CYC:268 SL:55\nD910  85 01     STA $01 = FF                    A:FF X:55 Y:E4 P:A5 SP:FB CYC:274 SL:55\nD912  A2 65     LDX #$65                        A:FF X:55 Y:E4 P:A5 SP:FB CYC:283 SL:55\nD914  A9 00     LDA #$00                        A:FF X:65 Y:E4 P:25 SP:FB CYC:289 SL:55\nD916  85 89     STA $89 = 00                    A:00 X:65 Y:E4 P:27 SP:FB CYC:295 SL:55\nD918  A9 03     LDA #$03                        A:00 X:65 Y:E4 P:27 SP:FB CYC:304 SL:55\nD91A  85 8A     STA $8A = 00                    A:03 X:65 Y:E4 P:25 SP:FB CYC:310 SL:55\nD91C  A0 00     LDY #$00                        A:03 X:65 Y:E4 P:25 SP:FB CYC:319 SL:55\nD91E  38        SEC                             A:03 X:65 Y:00 P:27 SP:FB CYC:325 SL:55\nD91F  A9 00     LDA #$00                        A:03 X:65 Y:00 P:27 SP:FB CYC:331 SL:55\nD921  B8        CLV                             A:00 X:65 Y:00 P:27 SP:FB CYC:337 SL:55\nD922  B1 89     LDA ($89),Y = 0300 @ 0300 = 89  A:00 X:65 Y:00 P:27 SP:FB CYC:  2 SL:56\nD924  F0 0C     BEQ $D932                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 17 SL:56\nD926  90 0A     BCC $D932                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 23 SL:56\nD928  70 08     BVS $D932                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 29 SL:56\nD92A  C9 89     CMP #$89                        A:89 X:65 Y:00 P:A5 SP:FB CYC: 35 SL:56\nD92C  D0 04     BNE $D932                       A:89 X:65 Y:00 P:27 SP:FB CYC: 41 SL:56\nD92E  E0 65     CPX #$65                        A:89 X:65 Y:00 P:27 SP:FB CYC: 47 SL:56\nD930  F0 04     BEQ $D936                       A:89 X:65 Y:00 P:27 SP:FB CYC: 53 SL:56\nD936  A9 FF     LDA #$FF                        A:89 X:65 Y:00 P:27 SP:FB CYC: 62 SL:56\nD938  85 97     STA $97 = 00                    A:FF X:65 Y:00 P:A5 SP:FB CYC: 68 SL:56\nD93A  85 98     STA $98 = 00                    A:FF X:65 Y:00 P:A5 SP:FB CYC: 77 SL:56\nD93C  24 98     BIT $98 = FF                    A:FF X:65 Y:00 P:A5 SP:FB CYC: 86 SL:56\nD93E  A0 34     LDY #$34                        A:FF X:65 Y:00 P:E5 SP:FB CYC: 95 SL:56\nD940  B1 97     LDA ($97),Y = FFFF @ 0033 = A3  A:FF X:65 Y:34 P:65 SP:FB CYC:101 SL:56\nD942  C9 A3     CMP #$A3                        A:A3 X:65 Y:34 P:E5 SP:FB CYC:119 SL:56\nD944  D0 02     BNE $D948                       A:A3 X:65 Y:34 P:67 SP:FB CYC:125 SL:56\nD946  B0 04     BCS $D94C                       A:A3 X:65 Y:34 P:67 SP:FB CYC:131 SL:56\nD94C  A5 00     LDA $00 = 00                    A:A3 X:65 Y:34 P:67 SP:FB CYC:140 SL:56\nD94E  48        PHA                             A:00 X:65 Y:34 P:67 SP:FB CYC:149 SL:56\nD94F  A9 46     LDA #$46                        A:00 X:65 Y:34 P:67 SP:FA CYC:158 SL:56\nD951  85 FF     STA $FF = 00                    A:46 X:65 Y:34 P:65 SP:FA CYC:164 SL:56\nD953  A9 01     LDA #$01                        A:46 X:65 Y:34 P:65 SP:FA CYC:173 SL:56\nD955  85 00     STA $00 = 00                    A:01 X:65 Y:34 P:65 SP:FA CYC:179 SL:56\nD957  A0 FF     LDY #$FF                        A:01 X:65 Y:34 P:65 SP:FA CYC:188 SL:56\nD959  B1 FF     LDA ($FF),Y = 0146 @ 0245 = 12  A:01 X:65 Y:FF P:E5 SP:FA CYC:194 SL:56\nD95B  C9 12     CMP #$12                        A:12 X:65 Y:FF P:65 SP:FA CYC:212 SL:56\nD95D  F0 04     BEQ $D963                       A:12 X:65 Y:FF P:67 SP:FA CYC:218 SL:56\nD963  68        PLA                             A:12 X:65 Y:FF P:67 SP:FA CYC:227 SL:56\nD964  85 00     STA $00 = 01                    A:00 X:65 Y:FF P:67 SP:FB CYC:239 SL:56\nD966  A2 ED     LDX #$ED                        A:00 X:65 Y:FF P:67 SP:FB CYC:248 SL:56\nD968  A9 00     LDA #$00                        A:00 X:ED Y:FF P:E5 SP:FB CYC:254 SL:56\nD96A  85 33     STA $33 = A3                    A:00 X:ED Y:FF P:67 SP:FB CYC:260 SL:56\nD96C  A9 04     LDA #$04                        A:00 X:ED Y:FF P:67 SP:FB CYC:269 SL:56\nD96E  85 34     STA $34 = 00                    A:04 X:ED Y:FF P:65 SP:FB CYC:275 SL:56\nD970  A0 00     LDY #$00                        A:04 X:ED Y:FF P:65 SP:FB CYC:284 SL:56\nD972  18        CLC                             A:04 X:ED Y:00 P:67 SP:FB CYC:290 SL:56\nD973  A9 FF     LDA #$FF                        A:04 X:ED Y:00 P:66 SP:FB CYC:296 SL:56\nD975  85 01     STA $01 = FF                    A:FF X:ED Y:00 P:E4 SP:FB CYC:302 SL:56\nD977  24 01     BIT $01 = FF                    A:FF X:ED Y:00 P:E4 SP:FB CYC:311 SL:56\nD979  A9 AA     LDA #$AA                        A:FF X:ED Y:00 P:E4 SP:FB CYC:320 SL:56\nD97B  8D 00 04  STA $0400 = AD                  A:AA X:ED Y:00 P:E4 SP:FB CYC:326 SL:56\nD97E  A9 55     LDA #$55                        A:AA X:ED Y:00 P:E4 SP:FB CYC:338 SL:56\nD980  11 33     ORA ($33),Y = 0400 @ 0400 = AA  A:55 X:ED Y:00 P:64 SP:FB CYC:  3 SL:57\nD982  B0 08     BCS $D98C                       A:FF X:ED Y:00 P:E4 SP:FB CYC: 18 SL:57\nD984  10 06     BPL $D98C                       A:FF X:ED Y:00 P:E4 SP:FB CYC: 24 SL:57\nD986  C9 FF     CMP #$FF                        A:FF X:ED Y:00 P:E4 SP:FB CYC: 30 SL:57\nD988  D0 02     BNE $D98C                       A:FF X:ED Y:00 P:67 SP:FB CYC: 36 SL:57\nD98A  70 02     BVS $D98E                       A:FF X:ED Y:00 P:67 SP:FB CYC: 42 SL:57\nD98E  E8        INX                             A:FF X:ED Y:00 P:67 SP:FB CYC: 51 SL:57\nD98F  38        SEC                             A:FF X:EE Y:00 P:E5 SP:FB CYC: 57 SL:57\nD990  B8        CLV                             A:FF X:EE Y:00 P:E5 SP:FB CYC: 63 SL:57\nD991  A9 00     LDA #$00                        A:FF X:EE Y:00 P:A5 SP:FB CYC: 69 SL:57\nD993  11 33     ORA ($33),Y = 0400 @ 0400 = AA  A:00 X:EE Y:00 P:27 SP:FB CYC: 75 SL:57\nD995  F0 06     BEQ $D99D                       A:AA X:EE Y:00 P:A5 SP:FB CYC: 90 SL:57\nD997  70 04     BVS $D99D                       A:AA X:EE Y:00 P:A5 SP:FB CYC: 96 SL:57\nD999  90 02     BCC $D99D                       A:AA X:EE Y:00 P:A5 SP:FB CYC:102 SL:57\nD99B  30 02     BMI $D99F                       A:AA X:EE Y:00 P:A5 SP:FB CYC:108 SL:57\nD99F  E8        INX                             A:AA X:EE Y:00 P:A5 SP:FB CYC:117 SL:57\nD9A0  18        CLC                             A:AA X:EF Y:00 P:A5 SP:FB CYC:123 SL:57\nD9A1  24 01     BIT $01 = FF                    A:AA X:EF Y:00 P:A4 SP:FB CYC:129 SL:57\nD9A3  A9 55     LDA #$55                        A:AA X:EF Y:00 P:E4 SP:FB CYC:138 SL:57\nD9A5  31 33     AND ($33),Y = 0400 @ 0400 = AA  A:55 X:EF Y:00 P:64 SP:FB CYC:144 SL:57\nD9A7  D0 06     BNE $D9AF                       A:00 X:EF Y:00 P:66 SP:FB CYC:159 SL:57\nD9A9  50 04     BVC $D9AF                       A:00 X:EF Y:00 P:66 SP:FB CYC:165 SL:57\nD9AB  B0 02     BCS $D9AF                       A:00 X:EF Y:00 P:66 SP:FB CYC:171 SL:57\nD9AD  10 02     BPL $D9B1                       A:00 X:EF Y:00 P:66 SP:FB CYC:177 SL:57\nD9B1  E8        INX                             A:00 X:EF Y:00 P:66 SP:FB CYC:186 SL:57\nD9B2  38        SEC                             A:00 X:F0 Y:00 P:E4 SP:FB CYC:192 SL:57\nD9B3  B8        CLV                             A:00 X:F0 Y:00 P:E5 SP:FB CYC:198 SL:57\nD9B4  A9 EF     LDA #$EF                        A:00 X:F0 Y:00 P:A5 SP:FB CYC:204 SL:57\nD9B6  8D 00 04  STA $0400 = AA                  A:EF X:F0 Y:00 P:A5 SP:FB CYC:210 SL:57\nD9B9  A9 F8     LDA #$F8                        A:EF X:F0 Y:00 P:A5 SP:FB CYC:222 SL:57\nD9BB  31 33     AND ($33),Y = 0400 @ 0400 = EF  A:F8 X:F0 Y:00 P:A5 SP:FB CYC:228 SL:57\nD9BD  90 08     BCC $D9C7                       A:E8 X:F0 Y:00 P:A5 SP:FB CYC:243 SL:57\nD9BF  10 06     BPL $D9C7                       A:E8 X:F0 Y:00 P:A5 SP:FB CYC:249 SL:57\nD9C1  C9 E8     CMP #$E8                        A:E8 X:F0 Y:00 P:A5 SP:FB CYC:255 SL:57\nD9C3  D0 02     BNE $D9C7                       A:E8 X:F0 Y:00 P:27 SP:FB CYC:261 SL:57\nD9C5  50 02     BVC $D9C9                       A:E8 X:F0 Y:00 P:27 SP:FB CYC:267 SL:57\nD9C9  E8        INX                             A:E8 X:F0 Y:00 P:27 SP:FB CYC:276 SL:57\nD9CA  18        CLC                             A:E8 X:F1 Y:00 P:A5 SP:FB CYC:282 SL:57\nD9CB  24 01     BIT $01 = FF                    A:E8 X:F1 Y:00 P:A4 SP:FB CYC:288 SL:57\nD9CD  A9 AA     LDA #$AA                        A:E8 X:F1 Y:00 P:E4 SP:FB CYC:297 SL:57\nD9CF  8D 00 04  STA $0400 = EF                  A:AA X:F1 Y:00 P:E4 SP:FB CYC:303 SL:57\nD9D2  A9 5F     LDA #$5F                        A:AA X:F1 Y:00 P:E4 SP:FB CYC:315 SL:57\nD9D4  51 33     EOR ($33),Y = 0400 @ 0400 = AA  A:5F X:F1 Y:00 P:64 SP:FB CYC:321 SL:57\nD9D6  B0 08     BCS $D9E0                       A:F5 X:F1 Y:00 P:E4 SP:FB CYC:336 SL:57\nD9D8  10 06     BPL $D9E0                       A:F5 X:F1 Y:00 P:E4 SP:FB CYC:  1 SL:58\nD9DA  C9 F5     CMP #$F5                        A:F5 X:F1 Y:00 P:E4 SP:FB CYC:  7 SL:58\nD9DC  D0 02     BNE $D9E0                       A:F5 X:F1 Y:00 P:67 SP:FB CYC: 13 SL:58\nD9DE  70 02     BVS $D9E2                       A:F5 X:F1 Y:00 P:67 SP:FB CYC: 19 SL:58\nD9E2  E8        INX                             A:F5 X:F1 Y:00 P:67 SP:FB CYC: 28 SL:58\nD9E3  38        SEC                             A:F5 X:F2 Y:00 P:E5 SP:FB CYC: 34 SL:58\nD9E4  B8        CLV                             A:F5 X:F2 Y:00 P:E5 SP:FB CYC: 40 SL:58\nD9E5  A9 70     LDA #$70                        A:F5 X:F2 Y:00 P:A5 SP:FB CYC: 46 SL:58\nD9E7  8D 00 04  STA $0400 = AA                  A:70 X:F2 Y:00 P:25 SP:FB CYC: 52 SL:58\nD9EA  51 33     EOR ($33),Y = 0400 @ 0400 = 70  A:70 X:F2 Y:00 P:25 SP:FB CYC: 64 SL:58\nD9EC  D0 06     BNE $D9F4                       A:00 X:F2 Y:00 P:27 SP:FB CYC: 79 SL:58\nD9EE  70 04     BVS $D9F4                       A:00 X:F2 Y:00 P:27 SP:FB CYC: 85 SL:58\nD9F0  90 02     BCC $D9F4                       A:00 X:F2 Y:00 P:27 SP:FB CYC: 91 SL:58\nD9F2  10 02     BPL $D9F6                       A:00 X:F2 Y:00 P:27 SP:FB CYC: 97 SL:58\nD9F6  E8        INX                             A:00 X:F2 Y:00 P:27 SP:FB CYC:106 SL:58\nD9F7  18        CLC                             A:00 X:F3 Y:00 P:A5 SP:FB CYC:112 SL:58\nD9F8  24 01     BIT $01 = FF                    A:00 X:F3 Y:00 P:A4 SP:FB CYC:118 SL:58\nD9FA  A9 69     LDA #$69                        A:00 X:F3 Y:00 P:E6 SP:FB CYC:127 SL:58\nD9FC  8D 00 04  STA $0400 = 70                  A:69 X:F3 Y:00 P:64 SP:FB CYC:133 SL:58\nD9FF  A9 00     LDA #$00                        A:69 X:F3 Y:00 P:64 SP:FB CYC:145 SL:58\nDA01  71 33     ADC ($33),Y = 0400 @ 0400 = 69  A:00 X:F3 Y:00 P:66 SP:FB CYC:151 SL:58\nDA03  30 08     BMI $DA0D                       A:69 X:F3 Y:00 P:24 SP:FB CYC:166 SL:58\nDA05  B0 06     BCS $DA0D                       A:69 X:F3 Y:00 P:24 SP:FB CYC:172 SL:58\nDA07  C9 69     CMP #$69                        A:69 X:F3 Y:00 P:24 SP:FB CYC:178 SL:58\nDA09  D0 02     BNE $DA0D                       A:69 X:F3 Y:00 P:27 SP:FB CYC:184 SL:58\nDA0B  50 02     BVC $DA0F                       A:69 X:F3 Y:00 P:27 SP:FB CYC:190 SL:58\nDA0F  E8        INX                             A:69 X:F3 Y:00 P:27 SP:FB CYC:199 SL:58\nDA10  38        SEC                             A:69 X:F4 Y:00 P:A5 SP:FB CYC:205 SL:58\nDA11  24 01     BIT $01 = FF                    A:69 X:F4 Y:00 P:A5 SP:FB CYC:211 SL:58\nDA13  A9 00     LDA #$00                        A:69 X:F4 Y:00 P:E5 SP:FB CYC:220 SL:58\nDA15  71 33     ADC ($33),Y = 0400 @ 0400 = 69  A:00 X:F4 Y:00 P:67 SP:FB CYC:226 SL:58\nDA17  30 08     BMI $DA21                       A:6A X:F4 Y:00 P:24 SP:FB CYC:241 SL:58\nDA19  B0 06     BCS $DA21                       A:6A X:F4 Y:00 P:24 SP:FB CYC:247 SL:58\nDA1B  C9 6A     CMP #$6A                        A:6A X:F4 Y:00 P:24 SP:FB CYC:253 SL:58\nDA1D  D0 02     BNE $DA21                       A:6A X:F4 Y:00 P:27 SP:FB CYC:259 SL:58\nDA1F  50 02     BVC $DA23                       A:6A X:F4 Y:00 P:27 SP:FB CYC:265 SL:58\nDA23  E8        INX                             A:6A X:F4 Y:00 P:27 SP:FB CYC:274 SL:58\nDA24  38        SEC                             A:6A X:F5 Y:00 P:A5 SP:FB CYC:280 SL:58\nDA25  B8        CLV                             A:6A X:F5 Y:00 P:A5 SP:FB CYC:286 SL:58\nDA26  A9 7F     LDA #$7F                        A:6A X:F5 Y:00 P:A5 SP:FB CYC:292 SL:58\nDA28  8D 00 04  STA $0400 = 69                  A:7F X:F5 Y:00 P:25 SP:FB CYC:298 SL:58\nDA2B  71 33     ADC ($33),Y = 0400 @ 0400 = 7F  A:7F X:F5 Y:00 P:25 SP:FB CYC:310 SL:58\nDA2D  10 08     BPL $DA37                       A:FF X:F5 Y:00 P:E4 SP:FB CYC:325 SL:58\nDA2F  B0 06     BCS $DA37                       A:FF X:F5 Y:00 P:E4 SP:FB CYC:331 SL:58\nDA31  C9 FF     CMP #$FF                        A:FF X:F5 Y:00 P:E4 SP:FB CYC:337 SL:58\nDA33  D0 02     BNE $DA37                       A:FF X:F5 Y:00 P:67 SP:FB CYC:  2 SL:59\nDA35  70 02     BVS $DA39                       A:FF X:F5 Y:00 P:67 SP:FB CYC:  8 SL:59\nDA39  E8        INX                             A:FF X:F5 Y:00 P:67 SP:FB CYC: 17 SL:59\nDA3A  18        CLC                             A:FF X:F6 Y:00 P:E5 SP:FB CYC: 23 SL:59\nDA3B  24 01     BIT $01 = FF                    A:FF X:F6 Y:00 P:E4 SP:FB CYC: 29 SL:59\nDA3D  A9 80     LDA #$80                        A:FF X:F6 Y:00 P:E4 SP:FB CYC: 38 SL:59\nDA3F  8D 00 04  STA $0400 = 7F                  A:80 X:F6 Y:00 P:E4 SP:FB CYC: 44 SL:59\nDA42  A9 7F     LDA #$7F                        A:80 X:F6 Y:00 P:E4 SP:FB CYC: 56 SL:59\nDA44  71 33     ADC ($33),Y = 0400 @ 0400 = 80  A:7F X:F6 Y:00 P:64 SP:FB CYC: 62 SL:59\nDA46  10 08     BPL $DA50                       A:FF X:F6 Y:00 P:A4 SP:FB CYC: 77 SL:59\nDA48  B0 06     BCS $DA50                       A:FF X:F6 Y:00 P:A4 SP:FB CYC: 83 SL:59\nDA4A  C9 FF     CMP #$FF                        A:FF X:F6 Y:00 P:A4 SP:FB CYC: 89 SL:59\nDA4C  D0 02     BNE $DA50                       A:FF X:F6 Y:00 P:27 SP:FB CYC: 95 SL:59\nDA4E  50 02     BVC $DA52                       A:FF X:F6 Y:00 P:27 SP:FB CYC:101 SL:59\nDA52  E8        INX                             A:FF X:F6 Y:00 P:27 SP:FB CYC:110 SL:59\nDA53  38        SEC                             A:FF X:F7 Y:00 P:A5 SP:FB CYC:116 SL:59\nDA54  B8        CLV                             A:FF X:F7 Y:00 P:A5 SP:FB CYC:122 SL:59\nDA55  A9 80     LDA #$80                        A:FF X:F7 Y:00 P:A5 SP:FB CYC:128 SL:59\nDA57  8D 00 04  STA $0400 = 80                  A:80 X:F7 Y:00 P:A5 SP:FB CYC:134 SL:59\nDA5A  A9 7F     LDA #$7F                        A:80 X:F7 Y:00 P:A5 SP:FB CYC:146 SL:59\nDA5C  71 33     ADC ($33),Y = 0400 @ 0400 = 80  A:7F X:F7 Y:00 P:25 SP:FB CYC:152 SL:59\nDA5E  D0 06     BNE $DA66                       A:00 X:F7 Y:00 P:27 SP:FB CYC:167 SL:59\nDA60  30 04     BMI $DA66                       A:00 X:F7 Y:00 P:27 SP:FB CYC:173 SL:59\nDA62  70 02     BVS $DA66                       A:00 X:F7 Y:00 P:27 SP:FB CYC:179 SL:59\nDA64  B0 02     BCS $DA68                       A:00 X:F7 Y:00 P:27 SP:FB CYC:185 SL:59\nDA68  E8        INX                             A:00 X:F7 Y:00 P:27 SP:FB CYC:194 SL:59\nDA69  24 01     BIT $01 = FF                    A:00 X:F8 Y:00 P:A5 SP:FB CYC:200 SL:59\nDA6B  A9 40     LDA #$40                        A:00 X:F8 Y:00 P:E7 SP:FB CYC:209 SL:59\nDA6D  8D 00 04  STA $0400 = 80                  A:40 X:F8 Y:00 P:65 SP:FB CYC:215 SL:59\nDA70  D1 33     CMP ($33),Y = 0400 @ 0400 = 40  A:40 X:F8 Y:00 P:65 SP:FB CYC:227 SL:59\nDA72  30 06     BMI $DA7A                       A:40 X:F8 Y:00 P:67 SP:FB CYC:242 SL:59\nDA74  90 04     BCC $DA7A                       A:40 X:F8 Y:00 P:67 SP:FB CYC:248 SL:59\nDA76  D0 02     BNE $DA7A                       A:40 X:F8 Y:00 P:67 SP:FB CYC:254 SL:59\nDA78  70 02     BVS $DA7C                       A:40 X:F8 Y:00 P:67 SP:FB CYC:260 SL:59\nDA7C  E8        INX                             A:40 X:F8 Y:00 P:67 SP:FB CYC:269 SL:59\nDA7D  B8        CLV                             A:40 X:F9 Y:00 P:E5 SP:FB CYC:275 SL:59\nDA7E  CE 00 04  DEC $0400 = 40                  A:40 X:F9 Y:00 P:A5 SP:FB CYC:281 SL:59\nDA81  D1 33     CMP ($33),Y = 0400 @ 0400 = 3F  A:40 X:F9 Y:00 P:25 SP:FB CYC:299 SL:59\nDA83  F0 06     BEQ $DA8B                       A:40 X:F9 Y:00 P:25 SP:FB CYC:314 SL:59\nDA85  30 04     BMI $DA8B                       A:40 X:F9 Y:00 P:25 SP:FB CYC:320 SL:59\nDA87  90 02     BCC $DA8B                       A:40 X:F9 Y:00 P:25 SP:FB CYC:326 SL:59\nDA89  50 02     BVC $DA8D                       A:40 X:F9 Y:00 P:25 SP:FB CYC:332 SL:59\nDA8D  E8        INX                             A:40 X:F9 Y:00 P:25 SP:FB CYC:  0 SL:60\nDA8E  EE 00 04  INC $0400 = 3F                  A:40 X:FA Y:00 P:A5 SP:FB CYC:  6 SL:60\nDA91  EE 00 04  INC $0400 = 40                  A:40 X:FA Y:00 P:25 SP:FB CYC: 24 SL:60\nDA94  D1 33     CMP ($33),Y = 0400 @ 0400 = 41  A:40 X:FA Y:00 P:25 SP:FB CYC: 42 SL:60\nDA96  F0 02     BEQ $DA9A                       A:40 X:FA Y:00 P:A4 SP:FB CYC: 57 SL:60\nDA98  30 02     BMI $DA9C                       A:40 X:FA Y:00 P:A4 SP:FB CYC: 63 SL:60\nDA9C  E8        INX                             A:40 X:FA Y:00 P:A4 SP:FB CYC: 72 SL:60\nDA9D  A9 00     LDA #$00                        A:40 X:FB Y:00 P:A4 SP:FB CYC: 78 SL:60\nDA9F  8D 00 04  STA $0400 = 41                  A:00 X:FB Y:00 P:26 SP:FB CYC: 84 SL:60\nDAA2  A9 80     LDA #$80                        A:00 X:FB Y:00 P:26 SP:FB CYC: 96 SL:60\nDAA4  D1 33     CMP ($33),Y = 0400 @ 0400 = 00  A:80 X:FB Y:00 P:A4 SP:FB CYC:102 SL:60\nDAA6  F0 04     BEQ $DAAC                       A:80 X:FB Y:00 P:A5 SP:FB CYC:117 SL:60\nDAA8  10 02     BPL $DAAC                       A:80 X:FB Y:00 P:A5 SP:FB CYC:123 SL:60\nDAAA  B0 02     BCS $DAAE                       A:80 X:FB Y:00 P:A5 SP:FB CYC:129 SL:60\nDAAE  E8        INX                             A:80 X:FB Y:00 P:A5 SP:FB CYC:138 SL:60\nDAAF  A0 80     LDY #$80                        A:80 X:FC Y:00 P:A5 SP:FB CYC:144 SL:60\nDAB1  8C 00 04  STY $0400 = 00                  A:80 X:FC Y:80 P:A5 SP:FB CYC:150 SL:60\nDAB4  A0 00     LDY #$00                        A:80 X:FC Y:80 P:A5 SP:FB CYC:162 SL:60\nDAB6  D1 33     CMP ($33),Y = 0400 @ 0400 = 80  A:80 X:FC Y:00 P:27 SP:FB CYC:168 SL:60\nDAB8  D0 04     BNE $DABE                       A:80 X:FC Y:00 P:27 SP:FB CYC:183 SL:60\nDABA  30 02     BMI $DABE                       A:80 X:FC Y:00 P:27 SP:FB CYC:189 SL:60\nDABC  B0 02     BCS $DAC0                       A:80 X:FC Y:00 P:27 SP:FB CYC:195 SL:60\nDAC0  E8        INX                             A:80 X:FC Y:00 P:27 SP:FB CYC:204 SL:60\nDAC1  EE 00 04  INC $0400 = 80                  A:80 X:FD Y:00 P:A5 SP:FB CYC:210 SL:60\nDAC4  D1 33     CMP ($33),Y = 0400 @ 0400 = 81  A:80 X:FD Y:00 P:A5 SP:FB CYC:228 SL:60\nDAC6  B0 04     BCS $DACC                       A:80 X:FD Y:00 P:A4 SP:FB CYC:243 SL:60\nDAC8  F0 02     BEQ $DACC                       A:80 X:FD Y:00 P:A4 SP:FB CYC:249 SL:60\nDACA  30 02     BMI $DACE                       A:80 X:FD Y:00 P:A4 SP:FB CYC:255 SL:60\nDACE  E8        INX                             A:80 X:FD Y:00 P:A4 SP:FB CYC:264 SL:60\nDACF  CE 00 04  DEC $0400 = 81                  A:80 X:FE Y:00 P:A4 SP:FB CYC:270 SL:60\nDAD2  CE 00 04  DEC $0400 = 80                  A:80 X:FE Y:00 P:A4 SP:FB CYC:288 SL:60\nDAD5  D1 33     CMP ($33),Y = 0400 @ 0400 = 7F  A:80 X:FE Y:00 P:24 SP:FB CYC:306 SL:60\nDAD7  90 04     BCC $DADD                       A:80 X:FE Y:00 P:25 SP:FB CYC:321 SL:60\nDAD9  F0 02     BEQ $DADD                       A:80 X:FE Y:00 P:25 SP:FB CYC:327 SL:60\nDADB  10 02     BPL $DADF                       A:80 X:FE Y:00 P:25 SP:FB CYC:333 SL:60\nDADF  60        RTS                             A:80 X:FE Y:00 P:25 SP:FB CYC:  1 SL:61\nC61B  A5 00     LDA $00 = 00                    A:80 X:FE Y:00 P:25 SP:FD CYC: 19 SL:61\nC61D  85 10     STA $10 = 00                    A:00 X:FE Y:00 P:27 SP:FD CYC: 28 SL:61\nC61F  A9 00     LDA #$00                        A:00 X:FE Y:00 P:27 SP:FD CYC: 37 SL:61\nC621  85 00     STA $00 = 00                    A:00 X:FE Y:00 P:27 SP:FD CYC: 43 SL:61\nC623  20 E0 DA  JSR $DAE0                       A:00 X:FE Y:00 P:27 SP:FD CYC: 52 SL:61\nDAE0  A9 00     LDA #$00                        A:00 X:FE Y:00 P:27 SP:FB CYC: 70 SL:61\nDAE2  85 33     STA $33 = 00                    A:00 X:FE Y:00 P:27 SP:FB CYC: 76 SL:61\nDAE4  A9 04     LDA #$04                        A:00 X:FE Y:00 P:27 SP:FB CYC: 85 SL:61\nDAE6  85 34     STA $34 = 04                    A:04 X:FE Y:00 P:25 SP:FB CYC: 91 SL:61\nDAE8  A0 00     LDY #$00                        A:04 X:FE Y:00 P:25 SP:FB CYC:100 SL:61\nDAEA  A2 01     LDX #$01                        A:04 X:FE Y:00 P:27 SP:FB CYC:106 SL:61\nDAEC  24 01     BIT $01 = FF                    A:04 X:01 Y:00 P:25 SP:FB CYC:112 SL:61\nDAEE  A9 40     LDA #$40                        A:04 X:01 Y:00 P:E5 SP:FB CYC:121 SL:61\nDAF0  8D 00 04  STA $0400 = 7F                  A:40 X:01 Y:00 P:65 SP:FB CYC:127 SL:61\nDAF3  38        SEC                             A:40 X:01 Y:00 P:65 SP:FB CYC:139 SL:61\nDAF4  F1 33     SBC ($33),Y = 0400 @ 0400 = 40  A:40 X:01 Y:00 P:65 SP:FB CYC:145 SL:61\nDAF6  30 0A     BMI $DB02                       A:00 X:01 Y:00 P:27 SP:FB CYC:160 SL:61\nDAF8  90 08     BCC $DB02                       A:00 X:01 Y:00 P:27 SP:FB CYC:166 SL:61\nDAFA  D0 06     BNE $DB02                       A:00 X:01 Y:00 P:27 SP:FB CYC:172 SL:61\nDAFC  70 04     BVS $DB02                       A:00 X:01 Y:00 P:27 SP:FB CYC:178 SL:61\nDAFE  C9 00     CMP #$00                        A:00 X:01 Y:00 P:27 SP:FB CYC:184 SL:61\nDB00  F0 02     BEQ $DB04                       A:00 X:01 Y:00 P:27 SP:FB CYC:190 SL:61\nDB04  E8        INX                             A:00 X:01 Y:00 P:27 SP:FB CYC:199 SL:61\nDB05  B8        CLV                             A:00 X:02 Y:00 P:25 SP:FB CYC:205 SL:61\nDB06  38        SEC                             A:00 X:02 Y:00 P:25 SP:FB CYC:211 SL:61\nDB07  A9 40     LDA #$40                        A:00 X:02 Y:00 P:25 SP:FB CYC:217 SL:61\nDB09  CE 00 04  DEC $0400 = 40                  A:40 X:02 Y:00 P:25 SP:FB CYC:223 SL:61\nDB0C  F1 33     SBC ($33),Y = 0400 @ 0400 = 3F  A:40 X:02 Y:00 P:25 SP:FB CYC:241 SL:61\nDB0E  F0 0A     BEQ $DB1A                       A:01 X:02 Y:00 P:25 SP:FB CYC:256 SL:61\nDB10  30 08     BMI $DB1A                       A:01 X:02 Y:00 P:25 SP:FB CYC:262 SL:61\nDB12  90 06     BCC $DB1A                       A:01 X:02 Y:00 P:25 SP:FB CYC:268 SL:61\nDB14  70 04     BVS $DB1A                       A:01 X:02 Y:00 P:25 SP:FB CYC:274 SL:61\nDB16  C9 01     CMP #$01                        A:01 X:02 Y:00 P:25 SP:FB CYC:280 SL:61\nDB18  F0 02     BEQ $DB1C                       A:01 X:02 Y:00 P:27 SP:FB CYC:286 SL:61\nDB1C  E8        INX                             A:01 X:02 Y:00 P:27 SP:FB CYC:295 SL:61\nDB1D  A9 40     LDA #$40                        A:01 X:03 Y:00 P:25 SP:FB CYC:301 SL:61\nDB1F  38        SEC                             A:40 X:03 Y:00 P:25 SP:FB CYC:307 SL:61\nDB20  24 01     BIT $01 = FF                    A:40 X:03 Y:00 P:25 SP:FB CYC:313 SL:61\nDB22  EE 00 04  INC $0400 = 3F                  A:40 X:03 Y:00 P:E5 SP:FB CYC:322 SL:61\nDB25  EE 00 04  INC $0400 = 40                  A:40 X:03 Y:00 P:65 SP:FB CYC:340 SL:61\nDB28  F1 33     SBC ($33),Y = 0400 @ 0400 = 41  A:40 X:03 Y:00 P:65 SP:FB CYC: 17 SL:62\nDB2A  B0 0A     BCS $DB36                       A:FF X:03 Y:00 P:A4 SP:FB CYC: 32 SL:62\nDB2C  F0 08     BEQ $DB36                       A:FF X:03 Y:00 P:A4 SP:FB CYC: 38 SL:62\nDB2E  10 06     BPL $DB36                       A:FF X:03 Y:00 P:A4 SP:FB CYC: 44 SL:62\nDB30  70 04     BVS $DB36                       A:FF X:03 Y:00 P:A4 SP:FB CYC: 50 SL:62\nDB32  C9 FF     CMP #$FF                        A:FF X:03 Y:00 P:A4 SP:FB CYC: 56 SL:62\nDB34  F0 02     BEQ $DB38                       A:FF X:03 Y:00 P:27 SP:FB CYC: 62 SL:62\nDB38  E8        INX                             A:FF X:03 Y:00 P:27 SP:FB CYC: 71 SL:62\nDB39  18        CLC                             A:FF X:04 Y:00 P:25 SP:FB CYC: 77 SL:62\nDB3A  A9 00     LDA #$00                        A:FF X:04 Y:00 P:24 SP:FB CYC: 83 SL:62\nDB3C  8D 00 04  STA $0400 = 41                  A:00 X:04 Y:00 P:26 SP:FB CYC: 89 SL:62\nDB3F  A9 80     LDA #$80                        A:00 X:04 Y:00 P:26 SP:FB CYC:101 SL:62\nDB41  F1 33     SBC ($33),Y = 0400 @ 0400 = 00  A:80 X:04 Y:00 P:A4 SP:FB CYC:107 SL:62\nDB43  90 04     BCC $DB49                       A:7F X:04 Y:00 P:65 SP:FB CYC:122 SL:62\nDB45  C9 7F     CMP #$7F                        A:7F X:04 Y:00 P:65 SP:FB CYC:128 SL:62\nDB47  F0 02     BEQ $DB4B                       A:7F X:04 Y:00 P:67 SP:FB CYC:134 SL:62\nDB4B  E8        INX                             A:7F X:04 Y:00 P:67 SP:FB CYC:143 SL:62\nDB4C  38        SEC                             A:7F X:05 Y:00 P:65 SP:FB CYC:149 SL:62\nDB4D  A9 7F     LDA #$7F                        A:7F X:05 Y:00 P:65 SP:FB CYC:155 SL:62\nDB4F  8D 00 04  STA $0400 = 00                  A:7F X:05 Y:00 P:65 SP:FB CYC:161 SL:62\nDB52  A9 81     LDA #$81                        A:7F X:05 Y:00 P:65 SP:FB CYC:173 SL:62\nDB54  F1 33     SBC ($33),Y = 0400 @ 0400 = 7F  A:81 X:05 Y:00 P:E5 SP:FB CYC:179 SL:62\nDB56  50 06     BVC $DB5E                       A:02 X:05 Y:00 P:65 SP:FB CYC:194 SL:62\nDB58  90 04     BCC $DB5E                       A:02 X:05 Y:00 P:65 SP:FB CYC:200 SL:62\nDB5A  C9 02     CMP #$02                        A:02 X:05 Y:00 P:65 SP:FB CYC:206 SL:62\nDB5C  F0 02     BEQ $DB60                       A:02 X:05 Y:00 P:67 SP:FB CYC:212 SL:62\nDB60  E8        INX                             A:02 X:05 Y:00 P:67 SP:FB CYC:221 SL:62\nDB61  A9 00     LDA #$00                        A:02 X:06 Y:00 P:65 SP:FB CYC:227 SL:62\nDB63  A9 87     LDA #$87                        A:00 X:06 Y:00 P:67 SP:FB CYC:233 SL:62\nDB65  91 33     STA ($33),Y = 0400 @ 0400 = 7F  A:87 X:06 Y:00 P:E5 SP:FB CYC:239 SL:62\nDB67  AD 00 04  LDA $0400 = 87                  A:87 X:06 Y:00 P:E5 SP:FB CYC:257 SL:62\nDB6A  C9 87     CMP #$87                        A:87 X:06 Y:00 P:E5 SP:FB CYC:269 SL:62\nDB6C  F0 02     BEQ $DB70                       A:87 X:06 Y:00 P:67 SP:FB CYC:275 SL:62\nDB70  E8        INX                             A:87 X:06 Y:00 P:67 SP:FB CYC:284 SL:62\nDB71  A9 7E     LDA #$7E                        A:87 X:07 Y:00 P:65 SP:FB CYC:290 SL:62\nDB73  8D 00 02  STA $0200 = 7F                  A:7E X:07 Y:00 P:65 SP:FB CYC:296 SL:62\nDB76  A9 DB     LDA #$DB                        A:7E X:07 Y:00 P:65 SP:FB CYC:308 SL:62\nDB78  8D 01 02  STA $0201 = 00                  A:DB X:07 Y:00 P:E5 SP:FB CYC:314 SL:62\nDB7B  6C 00 02  JMP ($0200) = DB7E              A:DB X:07 Y:00 P:E5 SP:FB CYC:326 SL:62\nDB7E  A9 00     LDA #$00                        A:DB X:07 Y:00 P:E5 SP:FB CYC:  0 SL:63\nDB80  8D FF 02  STA $02FF = 00                  A:00 X:07 Y:00 P:67 SP:FB CYC:  6 SL:63\nDB83  A9 01     LDA #$01                        A:00 X:07 Y:00 P:67 SP:FB CYC: 18 SL:63\nDB85  8D 00 03  STA $0300 = 89                  A:01 X:07 Y:00 P:65 SP:FB CYC: 24 SL:63\nDB88  A9 03     LDA #$03                        A:01 X:07 Y:00 P:65 SP:FB CYC: 36 SL:63\nDB8A  8D 00 02  STA $0200 = 7E                  A:03 X:07 Y:00 P:65 SP:FB CYC: 42 SL:63\nDB8D  A9 A9     LDA #$A9                        A:03 X:07 Y:00 P:65 SP:FB CYC: 54 SL:63\nDB8F  8D 00 01  STA $0100 = 00                  A:A9 X:07 Y:00 P:E5 SP:FB CYC: 60 SL:63\nDB92  A9 55     LDA #$55                        A:A9 X:07 Y:00 P:E5 SP:FB CYC: 72 SL:63\nDB94  8D 01 01  STA $0101 = 00                  A:55 X:07 Y:00 P:65 SP:FB CYC: 78 SL:63\nDB97  A9 60     LDA #$60                        A:55 X:07 Y:00 P:65 SP:FB CYC: 90 SL:63\nDB99  8D 02 01  STA $0102 = 00                  A:60 X:07 Y:00 P:65 SP:FB CYC: 96 SL:63\nDB9C  A9 A9     LDA #$A9                        A:60 X:07 Y:00 P:65 SP:FB CYC:108 SL:63\nDB9E  8D 00 03  STA $0300 = 01                  A:A9 X:07 Y:00 P:E5 SP:FB CYC:114 SL:63\nDBA1  A9 AA     LDA #$AA                        A:A9 X:07 Y:00 P:E5 SP:FB CYC:126 SL:63\nDBA3  8D 01 03  STA $0301 = 00                  A:AA X:07 Y:00 P:E5 SP:FB CYC:132 SL:63\nDBA6  A9 60     LDA #$60                        A:AA X:07 Y:00 P:E5 SP:FB CYC:144 SL:63\nDBA8  8D 02 03  STA $0302 = 00                  A:60 X:07 Y:00 P:65 SP:FB CYC:150 SL:63\nDBAB  20 B5 DB  JSR $DBB5                       A:60 X:07 Y:00 P:65 SP:FB CYC:162 SL:63\nDBB5  6C FF 02  JMP ($02FF) = A900              A:60 X:07 Y:00 P:65 SP:F9 CYC:180 SL:63\n0300  A9 AA     LDA #$AA                        A:60 X:07 Y:00 P:65 SP:F9 CYC:195 SL:63\n0302  60        RTS                             A:AA X:07 Y:00 P:E5 SP:F9 CYC:201 SL:63\nDBAE  C9 AA     CMP #$AA                        A:AA X:07 Y:00 P:E5 SP:FB CYC:219 SL:63\nDBB0  F0 02     BEQ $DBB4                       A:AA X:07 Y:00 P:67 SP:FB CYC:225 SL:63\nDBB4  60        RTS                             A:AA X:07 Y:00 P:67 SP:FB CYC:234 SL:63\nC626  20 4A DF  JSR $DF4A                       A:AA X:07 Y:00 P:67 SP:FD CYC:252 SL:63\nDF4A  A9 89     LDA #$89                        A:AA X:07 Y:00 P:67 SP:FB CYC:270 SL:63\nDF4C  8D 00 03  STA $0300 = A9                  A:89 X:07 Y:00 P:E5 SP:FB CYC:276 SL:63\nDF4F  A9 A3     LDA #$A3                        A:89 X:07 Y:00 P:E5 SP:FB CYC:288 SL:63\nDF51  85 33     STA $33 = 00                    A:A3 X:07 Y:00 P:E5 SP:FB CYC:294 SL:63\nDF53  A9 12     LDA #$12                        A:A3 X:07 Y:00 P:E5 SP:FB CYC:303 SL:63\nDF55  8D 45 02  STA $0245 = 12                  A:12 X:07 Y:00 P:65 SP:FB CYC:309 SL:63\nDF58  A2 65     LDX #$65                        A:12 X:07 Y:00 P:65 SP:FB CYC:321 SL:63\nDF5A  A0 00     LDY #$00                        A:12 X:65 Y:00 P:65 SP:FB CYC:327 SL:63\nDF5C  38        SEC                             A:12 X:65 Y:00 P:67 SP:FB CYC:333 SL:63\nDF5D  A9 00     LDA #$00                        A:12 X:65 Y:00 P:67 SP:FB CYC:339 SL:63\nDF5F  B8        CLV                             A:00 X:65 Y:00 P:67 SP:FB CYC:  4 SL:64\nDF60  B9 00 03  LDA $0300,Y @ 0300 = 89         A:00 X:65 Y:00 P:27 SP:FB CYC: 10 SL:64\nDF63  F0 0C     BEQ $DF71                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 22 SL:64\nDF65  90 0A     BCC $DF71                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 28 SL:64\nDF67  70 08     BVS $DF71                       A:89 X:65 Y:00 P:A5 SP:FB CYC: 34 SL:64\nDF69  C9 89     CMP #$89                        A:89 X:65 Y:00 P:A5 SP:FB CYC: 40 SL:64\nDF6B  D0 04     BNE $DF71                       A:89 X:65 Y:00 P:27 SP:FB CYC: 46 SL:64\nDF6D  E0 65     CPX #$65                        A:89 X:65 Y:00 P:27 SP:FB CYC: 52 SL:64\nDF6F  F0 04     BEQ $DF75                       A:89 X:65 Y:00 P:27 SP:FB CYC: 58 SL:64\nDF75  A9 FF     LDA #$FF                        A:89 X:65 Y:00 P:27 SP:FB CYC: 67 SL:64\nDF77  85 01     STA $01 = FF                    A:FF X:65 Y:00 P:A5 SP:FB CYC: 73 SL:64\nDF79  24 01     BIT $01 = FF                    A:FF X:65 Y:00 P:A5 SP:FB CYC: 82 SL:64\nDF7B  A0 34     LDY #$34                        A:FF X:65 Y:00 P:E5 SP:FB CYC: 91 SL:64\nDF7D  B9 FF FF  LDA $FFFF,Y @ 0033 = A3         A:FF X:65 Y:34 P:65 SP:FB CYC: 97 SL:64\nDF80  C9 A3     CMP #$A3                        A:A3 X:65 Y:34 P:E5 SP:FB CYC:112 SL:64\nDF82  D0 02     BNE $DF86                       A:A3 X:65 Y:34 P:67 SP:FB CYC:118 SL:64\nDF84  B0 04     BCS $DF8A                       A:A3 X:65 Y:34 P:67 SP:FB CYC:124 SL:64\nDF8A  A9 46     LDA #$46                        A:A3 X:65 Y:34 P:67 SP:FB CYC:133 SL:64\nDF8C  85 FF     STA $FF = 46                    A:46 X:65 Y:34 P:65 SP:FB CYC:139 SL:64\nDF8E  A0 FF     LDY #$FF                        A:46 X:65 Y:34 P:65 SP:FB CYC:148 SL:64\nDF90  B9 46 01  LDA $0146,Y @ 0245 = 12         A:46 X:65 Y:FF P:E5 SP:FB CYC:154 SL:64\nDF93  C9 12     CMP #$12                        A:12 X:65 Y:FF P:65 SP:FB CYC:169 SL:64\nDF95  F0 04     BEQ $DF9B                       A:12 X:65 Y:FF P:67 SP:FB CYC:175 SL:64\nDF9B  A2 39     LDX #$39                        A:12 X:65 Y:FF P:67 SP:FB CYC:184 SL:64\nDF9D  18        CLC                             A:12 X:39 Y:FF P:65 SP:FB CYC:190 SL:64\nDF9E  A9 FF     LDA #$FF                        A:12 X:39 Y:FF P:64 SP:FB CYC:196 SL:64\nDFA0  85 01     STA $01 = FF                    A:FF X:39 Y:FF P:E4 SP:FB CYC:202 SL:64\nDFA2  24 01     BIT $01 = FF                    A:FF X:39 Y:FF P:E4 SP:FB CYC:211 SL:64\nDFA4  A9 AA     LDA #$AA                        A:FF X:39 Y:FF P:E4 SP:FB CYC:220 SL:64\nDFA6  8D 00 04  STA $0400 = 87                  A:AA X:39 Y:FF P:E4 SP:FB CYC:226 SL:64\nDFA9  A9 55     LDA #$55                        A:AA X:39 Y:FF P:E4 SP:FB CYC:238 SL:64\nDFAB  A0 00     LDY #$00                        A:55 X:39 Y:FF P:64 SP:FB CYC:244 SL:64\nDFAD  19 00 04  ORA $0400,Y @ 0400 = AA         A:55 X:39 Y:00 P:66 SP:FB CYC:250 SL:64\nDFB0  B0 08     BCS $DFBA                       A:FF X:39 Y:00 P:E4 SP:FB CYC:262 SL:64\nDFB2  10 06     BPL $DFBA                       A:FF X:39 Y:00 P:E4 SP:FB CYC:268 SL:64\nDFB4  C9 FF     CMP #$FF                        A:FF X:39 Y:00 P:E4 SP:FB CYC:274 SL:64\nDFB6  D0 02     BNE $DFBA                       A:FF X:39 Y:00 P:67 SP:FB CYC:280 SL:64\nDFB8  70 02     BVS $DFBC                       A:FF X:39 Y:00 P:67 SP:FB CYC:286 SL:64\nDFBC  E8        INX                             A:FF X:39 Y:00 P:67 SP:FB CYC:295 SL:64\nDFBD  38        SEC                             A:FF X:3A Y:00 P:65 SP:FB CYC:301 SL:64\nDFBE  B8        CLV                             A:FF X:3A Y:00 P:65 SP:FB CYC:307 SL:64\nDFBF  A9 00     LDA #$00                        A:FF X:3A Y:00 P:25 SP:FB CYC:313 SL:64\nDFC1  19 00 04  ORA $0400,Y @ 0400 = AA         A:00 X:3A Y:00 P:27 SP:FB CYC:319 SL:64\nDFC4  F0 06     BEQ $DFCC                       A:AA X:3A Y:00 P:A5 SP:FB CYC:331 SL:64\nDFC6  70 04     BVS $DFCC                       A:AA X:3A Y:00 P:A5 SP:FB CYC:337 SL:64\nDFC8  90 02     BCC $DFCC                       A:AA X:3A Y:00 P:A5 SP:FB CYC:  2 SL:65\nDFCA  30 02     BMI $DFCE                       A:AA X:3A Y:00 P:A5 SP:FB CYC:  8 SL:65\nDFCE  E8        INX                             A:AA X:3A Y:00 P:A5 SP:FB CYC: 17 SL:65\nDFCF  18        CLC                             A:AA X:3B Y:00 P:25 SP:FB CYC: 23 SL:65\nDFD0  24 01     BIT $01 = FF                    A:AA X:3B Y:00 P:24 SP:FB CYC: 29 SL:65\nDFD2  A9 55     LDA #$55                        A:AA X:3B Y:00 P:E4 SP:FB CYC: 38 SL:65\nDFD4  39 00 04  AND $0400,Y @ 0400 = AA         A:55 X:3B Y:00 P:64 SP:FB CYC: 44 SL:65\nDFD7  D0 06     BNE $DFDF                       A:00 X:3B Y:00 P:66 SP:FB CYC: 56 SL:65\nDFD9  50 04     BVC $DFDF                       A:00 X:3B Y:00 P:66 SP:FB CYC: 62 SL:65\nDFDB  B0 02     BCS $DFDF                       A:00 X:3B Y:00 P:66 SP:FB CYC: 68 SL:65\nDFDD  10 02     BPL $DFE1                       A:00 X:3B Y:00 P:66 SP:FB CYC: 74 SL:65\nDFE1  E8        INX                             A:00 X:3B Y:00 P:66 SP:FB CYC: 83 SL:65\nDFE2  38        SEC                             A:00 X:3C Y:00 P:64 SP:FB CYC: 89 SL:65\nDFE3  B8        CLV                             A:00 X:3C Y:00 P:65 SP:FB CYC: 95 SL:65\nDFE4  A9 EF     LDA #$EF                        A:00 X:3C Y:00 P:25 SP:FB CYC:101 SL:65\nDFE6  8D 00 04  STA $0400 = AA                  A:EF X:3C Y:00 P:A5 SP:FB CYC:107 SL:65\nDFE9  A9 F8     LDA #$F8                        A:EF X:3C Y:00 P:A5 SP:FB CYC:119 SL:65\nDFEB  39 00 04  AND $0400,Y @ 0400 = EF         A:F8 X:3C Y:00 P:A5 SP:FB CYC:125 SL:65\nDFEE  90 08     BCC $DFF8                       A:E8 X:3C Y:00 P:A5 SP:FB CYC:137 SL:65\nDFF0  10 06     BPL $DFF8                       A:E8 X:3C Y:00 P:A5 SP:FB CYC:143 SL:65\nDFF2  C9 E8     CMP #$E8                        A:E8 X:3C Y:00 P:A5 SP:FB CYC:149 SL:65\nDFF4  D0 02     BNE $DFF8                       A:E8 X:3C Y:00 P:27 SP:FB CYC:155 SL:65\nDFF6  50 02     BVC $DFFA                       A:E8 X:3C Y:00 P:27 SP:FB CYC:161 SL:65\nDFFA  E8        INX                             A:E8 X:3C Y:00 P:27 SP:FB CYC:170 SL:65\nDFFB  18        CLC                             A:E8 X:3D Y:00 P:25 SP:FB CYC:176 SL:65\nDFFC  24 01     BIT $01 = FF                    A:E8 X:3D Y:00 P:24 SP:FB CYC:182 SL:65\nDFFE  A9 AA     LDA #$AA                        A:E8 X:3D Y:00 P:E4 SP:FB CYC:191 SL:65\nE000  8D 00 04  STA $0400 = EF                  A:AA X:3D Y:00 P:E4 SP:FB CYC:197 SL:65\nE003  A9 5F     LDA #$5F                        A:AA X:3D Y:00 P:E4 SP:FB CYC:209 SL:65\nE005  59 00 04  EOR $0400,Y @ 0400 = AA         A:5F X:3D Y:00 P:64 SP:FB CYC:215 SL:65\nE008  B0 08     BCS $E012                       A:F5 X:3D Y:00 P:E4 SP:FB CYC:227 SL:65\nE00A  10 06     BPL $E012                       A:F5 X:3D Y:00 P:E4 SP:FB CYC:233 SL:65\nE00C  C9 F5     CMP #$F5                        A:F5 X:3D Y:00 P:E4 SP:FB CYC:239 SL:65\nE00E  D0 02     BNE $E012                       A:F5 X:3D Y:00 P:67 SP:FB CYC:245 SL:65\nE010  70 02     BVS $E014                       A:F5 X:3D Y:00 P:67 SP:FB CYC:251 SL:65\nE014  E8        INX                             A:F5 X:3D Y:00 P:67 SP:FB CYC:260 SL:65\nE015  38        SEC                             A:F5 X:3E Y:00 P:65 SP:FB CYC:266 SL:65\nE016  B8        CLV                             A:F5 X:3E Y:00 P:65 SP:FB CYC:272 SL:65\nE017  A9 70     LDA #$70                        A:F5 X:3E Y:00 P:25 SP:FB CYC:278 SL:65\nE019  8D 00 04  STA $0400 = AA                  A:70 X:3E Y:00 P:25 SP:FB CYC:284 SL:65\nE01C  59 00 04  EOR $0400,Y @ 0400 = 70         A:70 X:3E Y:00 P:25 SP:FB CYC:296 SL:65\nE01F  D0 06     BNE $E027                       A:00 X:3E Y:00 P:27 SP:FB CYC:308 SL:65\nE021  70 04     BVS $E027                       A:00 X:3E Y:00 P:27 SP:FB CYC:314 SL:65\nE023  90 02     BCC $E027                       A:00 X:3E Y:00 P:27 SP:FB CYC:320 SL:65\nE025  10 02     BPL $E029                       A:00 X:3E Y:00 P:27 SP:FB CYC:326 SL:65\nE029  E8        INX                             A:00 X:3E Y:00 P:27 SP:FB CYC:335 SL:65\nE02A  18        CLC                             A:00 X:3F Y:00 P:25 SP:FB CYC:  0 SL:66\nE02B  24 01     BIT $01 = FF                    A:00 X:3F Y:00 P:24 SP:FB CYC:  6 SL:66\nE02D  A9 69     LDA #$69                        A:00 X:3F Y:00 P:E6 SP:FB CYC: 15 SL:66\nE02F  8D 00 04  STA $0400 = 70                  A:69 X:3F Y:00 P:64 SP:FB CYC: 21 SL:66\nE032  A9 00     LDA #$00                        A:69 X:3F Y:00 P:64 SP:FB CYC: 33 SL:66\nE034  79 00 04  ADC $0400,Y @ 0400 = 69         A:00 X:3F Y:00 P:66 SP:FB CYC: 39 SL:66\nE037  30 08     BMI $E041                       A:69 X:3F Y:00 P:24 SP:FB CYC: 51 SL:66\nE039  B0 06     BCS $E041                       A:69 X:3F Y:00 P:24 SP:FB CYC: 57 SL:66\nE03B  C9 69     CMP #$69                        A:69 X:3F Y:00 P:24 SP:FB CYC: 63 SL:66\nE03D  D0 02     BNE $E041                       A:69 X:3F Y:00 P:27 SP:FB CYC: 69 SL:66\nE03F  50 02     BVC $E043                       A:69 X:3F Y:00 P:27 SP:FB CYC: 75 SL:66\nE043  E8        INX                             A:69 X:3F Y:00 P:27 SP:FB CYC: 84 SL:66\nE044  38        SEC                             A:69 X:40 Y:00 P:25 SP:FB CYC: 90 SL:66\nE045  24 01     BIT $01 = FF                    A:69 X:40 Y:00 P:25 SP:FB CYC: 96 SL:66\nE047  A9 00     LDA #$00                        A:69 X:40 Y:00 P:E5 SP:FB CYC:105 SL:66\nE049  79 00 04  ADC $0400,Y @ 0400 = 69         A:00 X:40 Y:00 P:67 SP:FB CYC:111 SL:66\nE04C  30 08     BMI $E056                       A:6A X:40 Y:00 P:24 SP:FB CYC:123 SL:66\nE04E  B0 06     BCS $E056                       A:6A X:40 Y:00 P:24 SP:FB CYC:129 SL:66\nE050  C9 6A     CMP #$6A                        A:6A X:40 Y:00 P:24 SP:FB CYC:135 SL:66\nE052  D0 02     BNE $E056                       A:6A X:40 Y:00 P:27 SP:FB CYC:141 SL:66\nE054  50 02     BVC $E058                       A:6A X:40 Y:00 P:27 SP:FB CYC:147 SL:66\nE058  E8        INX                             A:6A X:40 Y:00 P:27 SP:FB CYC:156 SL:66\nE059  38        SEC                             A:6A X:41 Y:00 P:25 SP:FB CYC:162 SL:66\nE05A  B8        CLV                             A:6A X:41 Y:00 P:25 SP:FB CYC:168 SL:66\nE05B  A9 7F     LDA #$7F                        A:6A X:41 Y:00 P:25 SP:FB CYC:174 SL:66\nE05D  8D 00 04  STA $0400 = 69                  A:7F X:41 Y:00 P:25 SP:FB CYC:180 SL:66\nE060  79 00 04  ADC $0400,Y @ 0400 = 7F         A:7F X:41 Y:00 P:25 SP:FB CYC:192 SL:66\nE063  10 08     BPL $E06D                       A:FF X:41 Y:00 P:E4 SP:FB CYC:204 SL:66\nE065  B0 06     BCS $E06D                       A:FF X:41 Y:00 P:E4 SP:FB CYC:210 SL:66\nE067  C9 FF     CMP #$FF                        A:FF X:41 Y:00 P:E4 SP:FB CYC:216 SL:66\nE069  D0 02     BNE $E06D                       A:FF X:41 Y:00 P:67 SP:FB CYC:222 SL:66\nE06B  70 02     BVS $E06F                       A:FF X:41 Y:00 P:67 SP:FB CYC:228 SL:66\nE06F  E8        INX                             A:FF X:41 Y:00 P:67 SP:FB CYC:237 SL:66\nE070  18        CLC                             A:FF X:42 Y:00 P:65 SP:FB CYC:243 SL:66\nE071  24 01     BIT $01 = FF                    A:FF X:42 Y:00 P:64 SP:FB CYC:249 SL:66\nE073  A9 80     LDA #$80                        A:FF X:42 Y:00 P:E4 SP:FB CYC:258 SL:66\nE075  8D 00 04  STA $0400 = 7F                  A:80 X:42 Y:00 P:E4 SP:FB CYC:264 SL:66\nE078  A9 7F     LDA #$7F                        A:80 X:42 Y:00 P:E4 SP:FB CYC:276 SL:66\nE07A  79 00 04  ADC $0400,Y @ 0400 = 80         A:7F X:42 Y:00 P:64 SP:FB CYC:282 SL:66\nE07D  10 08     BPL $E087                       A:FF X:42 Y:00 P:A4 SP:FB CYC:294 SL:66\nE07F  B0 06     BCS $E087                       A:FF X:42 Y:00 P:A4 SP:FB CYC:300 SL:66\nE081  C9 FF     CMP #$FF                        A:FF X:42 Y:00 P:A4 SP:FB CYC:306 SL:66\nE083  D0 02     BNE $E087                       A:FF X:42 Y:00 P:27 SP:FB CYC:312 SL:66\nE085  50 02     BVC $E089                       A:FF X:42 Y:00 P:27 SP:FB CYC:318 SL:66\nE089  E8        INX                             A:FF X:42 Y:00 P:27 SP:FB CYC:327 SL:66\nE08A  38        SEC                             A:FF X:43 Y:00 P:25 SP:FB CYC:333 SL:66\nE08B  B8        CLV                             A:FF X:43 Y:00 P:25 SP:FB CYC:339 SL:66\nE08C  A9 80     LDA #$80                        A:FF X:43 Y:00 P:25 SP:FB CYC:  4 SL:67\nE08E  8D 00 04  STA $0400 = 80                  A:80 X:43 Y:00 P:A5 SP:FB CYC: 10 SL:67\nE091  A9 7F     LDA #$7F                        A:80 X:43 Y:00 P:A5 SP:FB CYC: 22 SL:67\nE093  79 00 04  ADC $0400,Y @ 0400 = 80         A:7F X:43 Y:00 P:25 SP:FB CYC: 28 SL:67\nE096  D0 06     BNE $E09E                       A:00 X:43 Y:00 P:27 SP:FB CYC: 40 SL:67\nE098  30 04     BMI $E09E                       A:00 X:43 Y:00 P:27 SP:FB CYC: 46 SL:67\nE09A  70 02     BVS $E09E                       A:00 X:43 Y:00 P:27 SP:FB CYC: 52 SL:67\nE09C  B0 02     BCS $E0A0                       A:00 X:43 Y:00 P:27 SP:FB CYC: 58 SL:67\nE0A0  E8        INX                             A:00 X:43 Y:00 P:27 SP:FB CYC: 67 SL:67\nE0A1  24 01     BIT $01 = FF                    A:00 X:44 Y:00 P:25 SP:FB CYC: 73 SL:67\nE0A3  A9 40     LDA #$40                        A:00 X:44 Y:00 P:E7 SP:FB CYC: 82 SL:67\nE0A5  8D 00 04  STA $0400 = 80                  A:40 X:44 Y:00 P:65 SP:FB CYC: 88 SL:67\nE0A8  D9 00 04  CMP $0400,Y @ 0400 = 40         A:40 X:44 Y:00 P:65 SP:FB CYC:100 SL:67\nE0AB  30 06     BMI $E0B3                       A:40 X:44 Y:00 P:67 SP:FB CYC:112 SL:67\nE0AD  90 04     BCC $E0B3                       A:40 X:44 Y:00 P:67 SP:FB CYC:118 SL:67\nE0AF  D0 02     BNE $E0B3                       A:40 X:44 Y:00 P:67 SP:FB CYC:124 SL:67\nE0B1  70 02     BVS $E0B5                       A:40 X:44 Y:00 P:67 SP:FB CYC:130 SL:67\nE0B5  E8        INX                             A:40 X:44 Y:00 P:67 SP:FB CYC:139 SL:67\nE0B6  B8        CLV                             A:40 X:45 Y:00 P:65 SP:FB CYC:145 SL:67\nE0B7  CE 00 04  DEC $0400 = 40                  A:40 X:45 Y:00 P:25 SP:FB CYC:151 SL:67\nE0BA  D9 00 04  CMP $0400,Y @ 0400 = 3F         A:40 X:45 Y:00 P:25 SP:FB CYC:169 SL:67\nE0BD  F0 06     BEQ $E0C5                       A:40 X:45 Y:00 P:25 SP:FB CYC:181 SL:67\nE0BF  30 04     BMI $E0C5                       A:40 X:45 Y:00 P:25 SP:FB CYC:187 SL:67\nE0C1  90 02     BCC $E0C5                       A:40 X:45 Y:00 P:25 SP:FB CYC:193 SL:67\nE0C3  50 02     BVC $E0C7                       A:40 X:45 Y:00 P:25 SP:FB CYC:199 SL:67\nE0C7  E8        INX                             A:40 X:45 Y:00 P:25 SP:FB CYC:208 SL:67\nE0C8  EE 00 04  INC $0400 = 3F                  A:40 X:46 Y:00 P:25 SP:FB CYC:214 SL:67\nE0CB  EE 00 04  INC $0400 = 40                  A:40 X:46 Y:00 P:25 SP:FB CYC:232 SL:67\nE0CE  D9 00 04  CMP $0400,Y @ 0400 = 41         A:40 X:46 Y:00 P:25 SP:FB CYC:250 SL:67\nE0D1  F0 02     BEQ $E0D5                       A:40 X:46 Y:00 P:A4 SP:FB CYC:262 SL:67\nE0D3  30 02     BMI $E0D7                       A:40 X:46 Y:00 P:A4 SP:FB CYC:268 SL:67\nE0D7  E8        INX                             A:40 X:46 Y:00 P:A4 SP:FB CYC:277 SL:67\nE0D8  A9 00     LDA #$00                        A:40 X:47 Y:00 P:24 SP:FB CYC:283 SL:67\nE0DA  8D 00 04  STA $0400 = 41                  A:00 X:47 Y:00 P:26 SP:FB CYC:289 SL:67\nE0DD  A9 80     LDA #$80                        A:00 X:47 Y:00 P:26 SP:FB CYC:301 SL:67\nE0DF  D9 00 04  CMP $0400,Y @ 0400 = 00         A:80 X:47 Y:00 P:A4 SP:FB CYC:307 SL:67\nE0E2  F0 04     BEQ $E0E8                       A:80 X:47 Y:00 P:A5 SP:FB CYC:319 SL:67\nE0E4  10 02     BPL $E0E8                       A:80 X:47 Y:00 P:A5 SP:FB CYC:325 SL:67\nE0E6  B0 02     BCS $E0EA                       A:80 X:47 Y:00 P:A5 SP:FB CYC:331 SL:67\nE0EA  E8        INX                             A:80 X:47 Y:00 P:A5 SP:FB CYC:340 SL:67\nE0EB  A0 80     LDY #$80                        A:80 X:48 Y:00 P:25 SP:FB CYC:  5 SL:68\nE0ED  8C 00 04  STY $0400 = 00                  A:80 X:48 Y:80 P:A5 SP:FB CYC: 11 SL:68\nE0F0  A0 00     LDY #$00                        A:80 X:48 Y:80 P:A5 SP:FB CYC: 23 SL:68\nE0F2  D9 00 04  CMP $0400,Y @ 0400 = 80         A:80 X:48 Y:00 P:27 SP:FB CYC: 29 SL:68\nE0F5  D0 04     BNE $E0FB                       A:80 X:48 Y:00 P:27 SP:FB CYC: 41 SL:68\nE0F7  30 02     BMI $E0FB                       A:80 X:48 Y:00 P:27 SP:FB CYC: 47 SL:68\nE0F9  B0 02     BCS $E0FD                       A:80 X:48 Y:00 P:27 SP:FB CYC: 53 SL:68\nE0FD  E8        INX                             A:80 X:48 Y:00 P:27 SP:FB CYC: 62 SL:68\nE0FE  EE 00 04  INC $0400 = 80                  A:80 X:49 Y:00 P:25 SP:FB CYC: 68 SL:68\nE101  D9 00 04  CMP $0400,Y @ 0400 = 81         A:80 X:49 Y:00 P:A5 SP:FB CYC: 86 SL:68\nE104  B0 04     BCS $E10A                       A:80 X:49 Y:00 P:A4 SP:FB CYC: 98 SL:68\nE106  F0 02     BEQ $E10A                       A:80 X:49 Y:00 P:A4 SP:FB CYC:104 SL:68\nE108  30 02     BMI $E10C                       A:80 X:49 Y:00 P:A4 SP:FB CYC:110 SL:68\nE10C  E8        INX                             A:80 X:49 Y:00 P:A4 SP:FB CYC:119 SL:68\nE10D  CE 00 04  DEC $0400 = 81                  A:80 X:4A Y:00 P:24 SP:FB CYC:125 SL:68\nE110  CE 00 04  DEC $0400 = 80                  A:80 X:4A Y:00 P:A4 SP:FB CYC:143 SL:68\nE113  D9 00 04  CMP $0400,Y @ 0400 = 7F         A:80 X:4A Y:00 P:24 SP:FB CYC:161 SL:68\nE116  90 04     BCC $E11C                       A:80 X:4A Y:00 P:25 SP:FB CYC:173 SL:68\nE118  F0 02     BEQ $E11C                       A:80 X:4A Y:00 P:25 SP:FB CYC:179 SL:68\nE11A  10 02     BPL $E11E                       A:80 X:4A Y:00 P:25 SP:FB CYC:185 SL:68\nE11E  E8        INX                             A:80 X:4A Y:00 P:25 SP:FB CYC:194 SL:68\nE11F  24 01     BIT $01 = FF                    A:80 X:4B Y:00 P:25 SP:FB CYC:200 SL:68\nE121  A9 40     LDA #$40                        A:80 X:4B Y:00 P:E5 SP:FB CYC:209 SL:68\nE123  8D 00 04  STA $0400 = 7F                  A:40 X:4B Y:00 P:65 SP:FB CYC:215 SL:68\nE126  38        SEC                             A:40 X:4B Y:00 P:65 SP:FB CYC:227 SL:68\nE127  F9 00 04  SBC $0400,Y @ 0400 = 40         A:40 X:4B Y:00 P:65 SP:FB CYC:233 SL:68\nE12A  30 0A     BMI $E136                       A:00 X:4B Y:00 P:27 SP:FB CYC:245 SL:68\nE12C  90 08     BCC $E136                       A:00 X:4B Y:00 P:27 SP:FB CYC:251 SL:68\nE12E  D0 06     BNE $E136                       A:00 X:4B Y:00 P:27 SP:FB CYC:257 SL:68\nE130  70 04     BVS $E136                       A:00 X:4B Y:00 P:27 SP:FB CYC:263 SL:68\nE132  C9 00     CMP #$00                        A:00 X:4B Y:00 P:27 SP:FB CYC:269 SL:68\nE134  F0 02     BEQ $E138                       A:00 X:4B Y:00 P:27 SP:FB CYC:275 SL:68\nE138  E8        INX                             A:00 X:4B Y:00 P:27 SP:FB CYC:284 SL:68\nE139  B8        CLV                             A:00 X:4C Y:00 P:25 SP:FB CYC:290 SL:68\nE13A  38        SEC                             A:00 X:4C Y:00 P:25 SP:FB CYC:296 SL:68\nE13B  A9 40     LDA #$40                        A:00 X:4C Y:00 P:25 SP:FB CYC:302 SL:68\nE13D  CE 00 04  DEC $0400 = 40                  A:40 X:4C Y:00 P:25 SP:FB CYC:308 SL:68\nE140  F9 00 04  SBC $0400,Y @ 0400 = 3F         A:40 X:4C Y:00 P:25 SP:FB CYC:326 SL:68\nE143  F0 0A     BEQ $E14F                       A:01 X:4C Y:00 P:25 SP:FB CYC:338 SL:68\nE145  30 08     BMI $E14F                       A:01 X:4C Y:00 P:25 SP:FB CYC:  3 SL:69\nE147  90 06     BCC $E14F                       A:01 X:4C Y:00 P:25 SP:FB CYC:  9 SL:69\nE149  70 04     BVS $E14F                       A:01 X:4C Y:00 P:25 SP:FB CYC: 15 SL:69\nE14B  C9 01     CMP #$01                        A:01 X:4C Y:00 P:25 SP:FB CYC: 21 SL:69\nE14D  F0 02     BEQ $E151                       A:01 X:4C Y:00 P:27 SP:FB CYC: 27 SL:69\nE151  E8        INX                             A:01 X:4C Y:00 P:27 SP:FB CYC: 36 SL:69\nE152  A9 40     LDA #$40                        A:01 X:4D Y:00 P:25 SP:FB CYC: 42 SL:69\nE154  38        SEC                             A:40 X:4D Y:00 P:25 SP:FB CYC: 48 SL:69\nE155  24 01     BIT $01 = FF                    A:40 X:4D Y:00 P:25 SP:FB CYC: 54 SL:69\nE157  EE 00 04  INC $0400 = 3F                  A:40 X:4D Y:00 P:E5 SP:FB CYC: 63 SL:69\nE15A  EE 00 04  INC $0400 = 40                  A:40 X:4D Y:00 P:65 SP:FB CYC: 81 SL:69\nE15D  F9 00 04  SBC $0400,Y @ 0400 = 41         A:40 X:4D Y:00 P:65 SP:FB CYC: 99 SL:69\nE160  B0 0A     BCS $E16C                       A:FF X:4D Y:00 P:A4 SP:FB CYC:111 SL:69\nE162  F0 08     BEQ $E16C                       A:FF X:4D Y:00 P:A4 SP:FB CYC:117 SL:69\nE164  10 06     BPL $E16C                       A:FF X:4D Y:00 P:A4 SP:FB CYC:123 SL:69\nE166  70 04     BVS $E16C                       A:FF X:4D Y:00 P:A4 SP:FB CYC:129 SL:69\nE168  C9 FF     CMP #$FF                        A:FF X:4D Y:00 P:A4 SP:FB CYC:135 SL:69\nE16A  F0 02     BEQ $E16E                       A:FF X:4D Y:00 P:27 SP:FB CYC:141 SL:69\nE16E  E8        INX                             A:FF X:4D Y:00 P:27 SP:FB CYC:150 SL:69\nE16F  18        CLC                             A:FF X:4E Y:00 P:25 SP:FB CYC:156 SL:69\nE170  A9 00     LDA #$00                        A:FF X:4E Y:00 P:24 SP:FB CYC:162 SL:69\nE172  8D 00 04  STA $0400 = 41                  A:00 X:4E Y:00 P:26 SP:FB CYC:168 SL:69\nE175  A9 80     LDA #$80                        A:00 X:4E Y:00 P:26 SP:FB CYC:180 SL:69\nE177  F9 00 04  SBC $0400,Y @ 0400 = 00         A:80 X:4E Y:00 P:A4 SP:FB CYC:186 SL:69\nE17A  90 04     BCC $E180                       A:7F X:4E Y:00 P:65 SP:FB CYC:198 SL:69\nE17C  C9 7F     CMP #$7F                        A:7F X:4E Y:00 P:65 SP:FB CYC:204 SL:69\nE17E  F0 02     BEQ $E182                       A:7F X:4E Y:00 P:67 SP:FB CYC:210 SL:69\nE182  E8        INX                             A:7F X:4E Y:00 P:67 SP:FB CYC:219 SL:69\nE183  38        SEC                             A:7F X:4F Y:00 P:65 SP:FB CYC:225 SL:69\nE184  A9 7F     LDA #$7F                        A:7F X:4F Y:00 P:65 SP:FB CYC:231 SL:69\nE186  8D 00 04  STA $0400 = 00                  A:7F X:4F Y:00 P:65 SP:FB CYC:237 SL:69\nE189  A9 81     LDA #$81                        A:7F X:4F Y:00 P:65 SP:FB CYC:249 SL:69\nE18B  F9 00 04  SBC $0400,Y @ 0400 = 7F         A:81 X:4F Y:00 P:E5 SP:FB CYC:255 SL:69\nE18E  50 06     BVC $E196                       A:02 X:4F Y:00 P:65 SP:FB CYC:267 SL:69\nE190  90 04     BCC $E196                       A:02 X:4F Y:00 P:65 SP:FB CYC:273 SL:69\nE192  C9 02     CMP #$02                        A:02 X:4F Y:00 P:65 SP:FB CYC:279 SL:69\nE194  F0 02     BEQ $E198                       A:02 X:4F Y:00 P:67 SP:FB CYC:285 SL:69\nE198  E8        INX                             A:02 X:4F Y:00 P:67 SP:FB CYC:294 SL:69\nE199  A9 00     LDA #$00                        A:02 X:50 Y:00 P:65 SP:FB CYC:300 SL:69\nE19B  A9 87     LDA #$87                        A:00 X:50 Y:00 P:67 SP:FB CYC:306 SL:69\nE19D  99 00 04  STA $0400,Y @ 0400 = 7F         A:87 X:50 Y:00 P:E5 SP:FB CYC:312 SL:69\nE1A0  AD 00 04  LDA $0400 = 87                  A:87 X:50 Y:00 P:E5 SP:FB CYC:327 SL:69\nE1A3  C9 87     CMP #$87                        A:87 X:50 Y:00 P:E5 SP:FB CYC:339 SL:69\nE1A5  F0 02     BEQ $E1A9                       A:87 X:50 Y:00 P:67 SP:FB CYC:  4 SL:70\nE1A9  60        RTS                             A:87 X:50 Y:00 P:67 SP:FB CYC: 13 SL:70\nC629  20 B8 DB  JSR $DBB8                       A:87 X:50 Y:00 P:67 SP:FD CYC: 31 SL:70\nDBB8  A9 FF     LDA #$FF                        A:87 X:50 Y:00 P:67 SP:FB CYC: 49 SL:70\nDBBA  85 01     STA $01 = FF                    A:FF X:50 Y:00 P:E5 SP:FB CYC: 55 SL:70\nDBBC  A9 AA     LDA #$AA                        A:FF X:50 Y:00 P:E5 SP:FB CYC: 64 SL:70\nDBBE  85 33     STA $33 = A3                    A:AA X:50 Y:00 P:E5 SP:FB CYC: 70 SL:70\nDBC0  A9 BB     LDA #$BB                        A:AA X:50 Y:00 P:E5 SP:FB CYC: 79 SL:70\nDBC2  85 89     STA $89 = 00                    A:BB X:50 Y:00 P:E5 SP:FB CYC: 85 SL:70\nDBC4  A2 00     LDX #$00                        A:BB X:50 Y:00 P:E5 SP:FB CYC: 94 SL:70\nDBC6  A9 66     LDA #$66                        A:BB X:00 Y:00 P:67 SP:FB CYC:100 SL:70\nDBC8  24 01     BIT $01 = FF                    A:66 X:00 Y:00 P:65 SP:FB CYC:106 SL:70\nDBCA  38        SEC                             A:66 X:00 Y:00 P:E5 SP:FB CYC:115 SL:70\nDBCB  A0 00     LDY #$00                        A:66 X:00 Y:00 P:E5 SP:FB CYC:121 SL:70\nDBCD  B4 33     LDY $33,X @ 33 = AA             A:66 X:00 Y:00 P:67 SP:FB CYC:127 SL:70\nDBCF  10 12     BPL $DBE3                       A:66 X:00 Y:AA P:E5 SP:FB CYC:139 SL:70\nDBD1  F0 10     BEQ $DBE3                       A:66 X:00 Y:AA P:E5 SP:FB CYC:145 SL:70\nDBD3  50 0E     BVC $DBE3                       A:66 X:00 Y:AA P:E5 SP:FB CYC:151 SL:70\nDBD5  90 0C     BCC $DBE3                       A:66 X:00 Y:AA P:E5 SP:FB CYC:157 SL:70\nDBD7  C9 66     CMP #$66                        A:66 X:00 Y:AA P:E5 SP:FB CYC:163 SL:70\nDBD9  D0 08     BNE $DBE3                       A:66 X:00 Y:AA P:67 SP:FB CYC:169 SL:70\nDBDB  E0 00     CPX #$00                        A:66 X:00 Y:AA P:67 SP:FB CYC:175 SL:70\nDBDD  D0 04     BNE $DBE3                       A:66 X:00 Y:AA P:67 SP:FB CYC:181 SL:70\nDBDF  C0 AA     CPY #$AA                        A:66 X:00 Y:AA P:67 SP:FB CYC:187 SL:70\nDBE1  F0 04     BEQ $DBE7                       A:66 X:00 Y:AA P:67 SP:FB CYC:193 SL:70\nDBE7  A2 8A     LDX #$8A                        A:66 X:00 Y:AA P:67 SP:FB CYC:202 SL:70\nDBE9  A9 66     LDA #$66                        A:66 X:8A Y:AA P:E5 SP:FB CYC:208 SL:70\nDBEB  B8        CLV                             A:66 X:8A Y:AA P:65 SP:FB CYC:214 SL:70\nDBEC  18        CLC                             A:66 X:8A Y:AA P:25 SP:FB CYC:220 SL:70\nDBED  A0 00     LDY #$00                        A:66 X:8A Y:AA P:24 SP:FB CYC:226 SL:70\nDBEF  B4 FF     LDY $FF,X @ 89 = BB             A:66 X:8A Y:00 P:26 SP:FB CYC:232 SL:70\nDBF1  10 12     BPL $DC05                       A:66 X:8A Y:BB P:A4 SP:FB CYC:244 SL:70\nDBF3  F0 10     BEQ $DC05                       A:66 X:8A Y:BB P:A4 SP:FB CYC:250 SL:70\nDBF5  70 0E     BVS $DC05                       A:66 X:8A Y:BB P:A4 SP:FB CYC:256 SL:70\nDBF7  B0 0C     BCS $DC05                       A:66 X:8A Y:BB P:A4 SP:FB CYC:262 SL:70\nDBF9  C0 BB     CPY #$BB                        A:66 X:8A Y:BB P:A4 SP:FB CYC:268 SL:70\nDBFB  D0 08     BNE $DC05                       A:66 X:8A Y:BB P:27 SP:FB CYC:274 SL:70\nDBFD  C9 66     CMP #$66                        A:66 X:8A Y:BB P:27 SP:FB CYC:280 SL:70\nDBFF  D0 04     BNE $DC05                       A:66 X:8A Y:BB P:27 SP:FB CYC:286 SL:70\nDC01  E0 8A     CPX #$8A                        A:66 X:8A Y:BB P:27 SP:FB CYC:292 SL:70\nDC03  F0 04     BEQ $DC09                       A:66 X:8A Y:BB P:27 SP:FB CYC:298 SL:70\nDC09  24 01     BIT $01 = FF                    A:66 X:8A Y:BB P:27 SP:FB CYC:307 SL:70\nDC0B  38        SEC                             A:66 X:8A Y:BB P:E5 SP:FB CYC:316 SL:70\nDC0C  A0 44     LDY #$44                        A:66 X:8A Y:BB P:E5 SP:FB CYC:322 SL:70\nDC0E  A2 00     LDX #$00                        A:66 X:8A Y:44 P:65 SP:FB CYC:328 SL:70\nDC10  94 33     STY $33,X @ 33 = AA             A:66 X:00 Y:44 P:67 SP:FB CYC:334 SL:70\nDC12  A5 33     LDA $33 = 44                    A:66 X:00 Y:44 P:67 SP:FB CYC:  5 SL:71\nDC14  90 18     BCC $DC2E                       A:44 X:00 Y:44 P:65 SP:FB CYC: 14 SL:71\nDC16  C9 44     CMP #$44                        A:44 X:00 Y:44 P:65 SP:FB CYC: 20 SL:71\nDC18  D0 14     BNE $DC2E                       A:44 X:00 Y:44 P:67 SP:FB CYC: 26 SL:71\nDC1A  50 12     BVC $DC2E                       A:44 X:00 Y:44 P:67 SP:FB CYC: 32 SL:71\nDC1C  18        CLC                             A:44 X:00 Y:44 P:67 SP:FB CYC: 38 SL:71\nDC1D  B8        CLV                             A:44 X:00 Y:44 P:66 SP:FB CYC: 44 SL:71\nDC1E  A0 99     LDY #$99                        A:44 X:00 Y:44 P:26 SP:FB CYC: 50 SL:71\nDC20  A2 80     LDX #$80                        A:44 X:00 Y:99 P:A4 SP:FB CYC: 56 SL:71\nDC22  94 85     STY $85,X @ 05 = 00             A:44 X:80 Y:99 P:A4 SP:FB CYC: 62 SL:71\nDC24  A5 05     LDA $05 = 99                    A:44 X:80 Y:99 P:A4 SP:FB CYC: 74 SL:71\nDC26  B0 06     BCS $DC2E                       A:99 X:80 Y:99 P:A4 SP:FB CYC: 83 SL:71\nDC28  C9 99     CMP #$99                        A:99 X:80 Y:99 P:A4 SP:FB CYC: 89 SL:71\nDC2A  D0 02     BNE $DC2E                       A:99 X:80 Y:99 P:27 SP:FB CYC: 95 SL:71\nDC2C  50 04     BVC $DC32                       A:99 X:80 Y:99 P:27 SP:FB CYC:101 SL:71\nDC32  A0 0B     LDY #$0B                        A:99 X:80 Y:99 P:27 SP:FB CYC:110 SL:71\nDC34  A9 AA     LDA #$AA                        A:99 X:80 Y:0B P:25 SP:FB CYC:116 SL:71\nDC36  A2 78     LDX #$78                        A:AA X:80 Y:0B P:A5 SP:FB CYC:122 SL:71\nDC38  85 78     STA $78 = 00                    A:AA X:78 Y:0B P:25 SP:FB CYC:128 SL:71\nDC3A  20 B6 F7  JSR $F7B6                       A:AA X:78 Y:0B P:25 SP:FB CYC:137 SL:71\nF7B6  18        CLC                             A:AA X:78 Y:0B P:25 SP:F9 CYC:155 SL:71\nF7B7  A9 FF     LDA #$FF                        A:AA X:78 Y:0B P:24 SP:F9 CYC:161 SL:71\nF7B9  85 01     STA $01 = FF                    A:FF X:78 Y:0B P:A4 SP:F9 CYC:167 SL:71\nF7BB  24 01     BIT $01 = FF                    A:FF X:78 Y:0B P:A4 SP:F9 CYC:176 SL:71\nF7BD  A9 55     LDA #$55                        A:FF X:78 Y:0B P:E4 SP:F9 CYC:185 SL:71\nF7BF  60        RTS                             A:55 X:78 Y:0B P:64 SP:F9 CYC:191 SL:71\nDC3D  15 00     ORA $00,X @ 78 = AA             A:55 X:78 Y:0B P:64 SP:FB CYC:209 SL:71\nDC3F  20 C0 F7  JSR $F7C0                       A:FF X:78 Y:0B P:E4 SP:FB CYC:221 SL:71\nF7C0  B0 09     BCS $F7CB                       A:FF X:78 Y:0B P:E4 SP:F9 CYC:239 SL:71\nF7C2  10 07     BPL $F7CB                       A:FF X:78 Y:0B P:E4 SP:F9 CYC:245 SL:71\nF7C4  C9 FF     CMP #$FF                        A:FF X:78 Y:0B P:E4 SP:F9 CYC:251 SL:71\nF7C6  D0 03     BNE $F7CB                       A:FF X:78 Y:0B P:67 SP:F9 CYC:257 SL:71\nF7C8  50 01     BVC $F7CB                       A:FF X:78 Y:0B P:67 SP:F9 CYC:263 SL:71\nF7CA  60        RTS                             A:FF X:78 Y:0B P:67 SP:F9 CYC:269 SL:71\nDC42  C8        INY                             A:FF X:78 Y:0B P:67 SP:FB CYC:287 SL:71\nDC43  A9 00     LDA #$00                        A:FF X:78 Y:0C P:65 SP:FB CYC:293 SL:71\nDC45  85 78     STA $78 = AA                    A:00 X:78 Y:0C P:67 SP:FB CYC:299 SL:71\nDC47  20 CE F7  JSR $F7CE                       A:00 X:78 Y:0C P:67 SP:FB CYC:308 SL:71\nF7CE  38        SEC                             A:00 X:78 Y:0C P:67 SP:F9 CYC:326 SL:71\nF7CF  B8        CLV                             A:00 X:78 Y:0C P:67 SP:F9 CYC:332 SL:71\nF7D0  A9 00     LDA #$00                        A:00 X:78 Y:0C P:27 SP:F9 CYC:338 SL:71\nF7D2  60        RTS                             A:00 X:78 Y:0C P:27 SP:F9 CYC:  3 SL:72\nDC4A  15 00     ORA $00,X @ 78 = 00             A:00 X:78 Y:0C P:27 SP:FB CYC: 21 SL:72\nDC4C  20 D3 F7  JSR $F7D3                       A:00 X:78 Y:0C P:27 SP:FB CYC: 33 SL:72\nF7D3  D0 07     BNE $F7DC                       A:00 X:78 Y:0C P:27 SP:F9 CYC: 51 SL:72\nF7D5  70 05     BVS $F7DC                       A:00 X:78 Y:0C P:27 SP:F9 CYC: 57 SL:72\nF7D7  90 03     BCC $F7DC                       A:00 X:78 Y:0C P:27 SP:F9 CYC: 63 SL:72\nF7D9  30 01     BMI $F7DC                       A:00 X:78 Y:0C P:27 SP:F9 CYC: 69 SL:72\nF7DB  60        RTS                             A:00 X:78 Y:0C P:27 SP:F9 CYC: 75 SL:72\nDC4F  C8        INY                             A:00 X:78 Y:0C P:27 SP:FB CYC: 93 SL:72\nDC50  A9 AA     LDA #$AA                        A:00 X:78 Y:0D P:25 SP:FB CYC: 99 SL:72\nDC52  85 78     STA $78 = 00                    A:AA X:78 Y:0D P:A5 SP:FB CYC:105 SL:72\nDC54  20 DF F7  JSR $F7DF                       A:AA X:78 Y:0D P:A5 SP:FB CYC:114 SL:72\nF7DF  18        CLC                             A:AA X:78 Y:0D P:A5 SP:F9 CYC:132 SL:72\nF7E0  24 01     BIT $01 = FF                    A:AA X:78 Y:0D P:A4 SP:F9 CYC:138 SL:72\nF7E2  A9 55     LDA #$55                        A:AA X:78 Y:0D P:E4 SP:F9 CYC:147 SL:72\nF7E4  60        RTS                             A:55 X:78 Y:0D P:64 SP:F9 CYC:153 SL:72\nDC57  35 00     AND $00,X @ 78 = AA             A:55 X:78 Y:0D P:64 SP:FB CYC:171 SL:72\nDC59  20 E5 F7  JSR $F7E5                       A:00 X:78 Y:0D P:66 SP:FB CYC:183 SL:72\nF7E5  D0 07     BNE $F7EE                       A:00 X:78 Y:0D P:66 SP:F9 CYC:201 SL:72\nF7E7  50 05     BVC $F7EE                       A:00 X:78 Y:0D P:66 SP:F9 CYC:207 SL:72\nF7E9  B0 03     BCS $F7EE                       A:00 X:78 Y:0D P:66 SP:F9 CYC:213 SL:72\nF7EB  30 01     BMI $F7EE                       A:00 X:78 Y:0D P:66 SP:F9 CYC:219 SL:72\nF7ED  60        RTS                             A:00 X:78 Y:0D P:66 SP:F9 CYC:225 SL:72\nDC5C  C8        INY                             A:00 X:78 Y:0D P:66 SP:FB CYC:243 SL:72\nDC5D  A9 EF     LDA #$EF                        A:00 X:78 Y:0E P:64 SP:FB CYC:249 SL:72\nDC5F  85 78     STA $78 = AA                    A:EF X:78 Y:0E P:E4 SP:FB CYC:255 SL:72\nDC61  20 F1 F7  JSR $F7F1                       A:EF X:78 Y:0E P:E4 SP:FB CYC:264 SL:72\nF7F1  38        SEC                             A:EF X:78 Y:0E P:E4 SP:F9 CYC:282 SL:72\nF7F2  B8        CLV                             A:EF X:78 Y:0E P:E5 SP:F9 CYC:288 SL:72\nF7F3  A9 F8     LDA #$F8                        A:EF X:78 Y:0E P:A5 SP:F9 CYC:294 SL:72\nF7F5  60        RTS                             A:F8 X:78 Y:0E P:A5 SP:F9 CYC:300 SL:72\nDC64  35 00     AND $00,X @ 78 = EF             A:F8 X:78 Y:0E P:A5 SP:FB CYC:318 SL:72\nDC66  20 F6 F7  JSR $F7F6                       A:E8 X:78 Y:0E P:A5 SP:FB CYC:330 SL:72\nF7F6  90 09     BCC $F801                       A:E8 X:78 Y:0E P:A5 SP:F9 CYC:  7 SL:73\nF7F8  10 07     BPL $F801                       A:E8 X:78 Y:0E P:A5 SP:F9 CYC: 13 SL:73\nF7FA  C9 E8     CMP #$E8                        A:E8 X:78 Y:0E P:A5 SP:F9 CYC: 19 SL:73\nF7FC  D0 03     BNE $F801                       A:E8 X:78 Y:0E P:27 SP:F9 CYC: 25 SL:73\nF7FE  70 01     BVS $F801                       A:E8 X:78 Y:0E P:27 SP:F9 CYC: 31 SL:73\nF800  60        RTS                             A:E8 X:78 Y:0E P:27 SP:F9 CYC: 37 SL:73\nDC69  C8        INY                             A:E8 X:78 Y:0E P:27 SP:FB CYC: 55 SL:73\nDC6A  A9 AA     LDA #$AA                        A:E8 X:78 Y:0F P:25 SP:FB CYC: 61 SL:73\nDC6C  85 78     STA $78 = EF                    A:AA X:78 Y:0F P:A5 SP:FB CYC: 67 SL:73\nDC6E  20 04 F8  JSR $F804                       A:AA X:78 Y:0F P:A5 SP:FB CYC: 76 SL:73\nF804  18        CLC                             A:AA X:78 Y:0F P:A5 SP:F9 CYC: 94 SL:73\nF805  24 01     BIT $01 = FF                    A:AA X:78 Y:0F P:A4 SP:F9 CYC:100 SL:73\nF807  A9 5F     LDA #$5F                        A:AA X:78 Y:0F P:E4 SP:F9 CYC:109 SL:73\nF809  60        RTS                             A:5F X:78 Y:0F P:64 SP:F9 CYC:115 SL:73\nDC71  55 00     EOR $00,X @ 78 = AA             A:5F X:78 Y:0F P:64 SP:FB CYC:133 SL:73\nDC73  20 0A F8  JSR $F80A                       A:F5 X:78 Y:0F P:E4 SP:FB CYC:145 SL:73\nF80A  B0 09     BCS $F815                       A:F5 X:78 Y:0F P:E4 SP:F9 CYC:163 SL:73\nF80C  10 07     BPL $F815                       A:F5 X:78 Y:0F P:E4 SP:F9 CYC:169 SL:73\nF80E  C9 F5     CMP #$F5                        A:F5 X:78 Y:0F P:E4 SP:F9 CYC:175 SL:73\nF810  D0 03     BNE $F815                       A:F5 X:78 Y:0F P:67 SP:F9 CYC:181 SL:73\nF812  50 01     BVC $F815                       A:F5 X:78 Y:0F P:67 SP:F9 CYC:187 SL:73\nF814  60        RTS                             A:F5 X:78 Y:0F P:67 SP:F9 CYC:193 SL:73\nDC76  C8        INY                             A:F5 X:78 Y:0F P:67 SP:FB CYC:211 SL:73\nDC77  A9 70     LDA #$70                        A:F5 X:78 Y:10 P:65 SP:FB CYC:217 SL:73\nDC79  85 78     STA $78 = AA                    A:70 X:78 Y:10 P:65 SP:FB CYC:223 SL:73\nDC7B  20 18 F8  JSR $F818                       A:70 X:78 Y:10 P:65 SP:FB CYC:232 SL:73\nF818  38        SEC                             A:70 X:78 Y:10 P:65 SP:F9 CYC:250 SL:73\nF819  B8        CLV                             A:70 X:78 Y:10 P:65 SP:F9 CYC:256 SL:73\nF81A  A9 70     LDA #$70                        A:70 X:78 Y:10 P:25 SP:F9 CYC:262 SL:73\nF81C  60        RTS                             A:70 X:78 Y:10 P:25 SP:F9 CYC:268 SL:73\nDC7E  55 00     EOR $00,X @ 78 = 70             A:70 X:78 Y:10 P:25 SP:FB CYC:286 SL:73\nDC80  20 1D F8  JSR $F81D                       A:00 X:78 Y:10 P:27 SP:FB CYC:298 SL:73\nF81D  D0 07     BNE $F826                       A:00 X:78 Y:10 P:27 SP:F9 CYC:316 SL:73\nF81F  70 05     BVS $F826                       A:00 X:78 Y:10 P:27 SP:F9 CYC:322 SL:73\nF821  90 03     BCC $F826                       A:00 X:78 Y:10 P:27 SP:F9 CYC:328 SL:73\nF823  30 01     BMI $F826                       A:00 X:78 Y:10 P:27 SP:F9 CYC:334 SL:73\nF825  60        RTS                             A:00 X:78 Y:10 P:27 SP:F9 CYC:340 SL:73\nDC83  C8        INY                             A:00 X:78 Y:10 P:27 SP:FB CYC: 17 SL:74\nDC84  A9 69     LDA #$69                        A:00 X:78 Y:11 P:25 SP:FB CYC: 23 SL:74\nDC86  85 78     STA $78 = 70                    A:69 X:78 Y:11 P:25 SP:FB CYC: 29 SL:74\nDC88  20 29 F8  JSR $F829                       A:69 X:78 Y:11 P:25 SP:FB CYC: 38 SL:74\nF829  18        CLC                             A:69 X:78 Y:11 P:25 SP:F9 CYC: 56 SL:74\nF82A  24 01     BIT $01 = FF                    A:69 X:78 Y:11 P:24 SP:F9 CYC: 62 SL:74\nF82C  A9 00     LDA #$00                        A:69 X:78 Y:11 P:E4 SP:F9 CYC: 71 SL:74\nF82E  60        RTS                             A:00 X:78 Y:11 P:66 SP:F9 CYC: 77 SL:74\nDC8B  75 00     ADC $00,X @ 78 = 69             A:00 X:78 Y:11 P:66 SP:FB CYC: 95 SL:74\nDC8D  20 2F F8  JSR $F82F                       A:69 X:78 Y:11 P:24 SP:FB CYC:107 SL:74\nF82F  30 09     BMI $F83A                       A:69 X:78 Y:11 P:24 SP:F9 CYC:125 SL:74\nF831  B0 07     BCS $F83A                       A:69 X:78 Y:11 P:24 SP:F9 CYC:131 SL:74\nF833  C9 69     CMP #$69                        A:69 X:78 Y:11 P:24 SP:F9 CYC:137 SL:74\nF835  D0 03     BNE $F83A                       A:69 X:78 Y:11 P:27 SP:F9 CYC:143 SL:74\nF837  70 01     BVS $F83A                       A:69 X:78 Y:11 P:27 SP:F9 CYC:149 SL:74\nF839  60        RTS                             A:69 X:78 Y:11 P:27 SP:F9 CYC:155 SL:74\nDC90  C8        INY                             A:69 X:78 Y:11 P:27 SP:FB CYC:173 SL:74\nDC91  20 3D F8  JSR $F83D                       A:69 X:78 Y:12 P:25 SP:FB CYC:179 SL:74\nF83D  38        SEC                             A:69 X:78 Y:12 P:25 SP:F9 CYC:197 SL:74\nF83E  24 01     BIT $01 = FF                    A:69 X:78 Y:12 P:25 SP:F9 CYC:203 SL:74\nF840  A9 00     LDA #$00                        A:69 X:78 Y:12 P:E5 SP:F9 CYC:212 SL:74\nF842  60        RTS                             A:00 X:78 Y:12 P:67 SP:F9 CYC:218 SL:74\nDC94  75 00     ADC $00,X @ 78 = 69             A:00 X:78 Y:12 P:67 SP:FB CYC:236 SL:74\nDC96  20 43 F8  JSR $F843                       A:6A X:78 Y:12 P:24 SP:FB CYC:248 SL:74\nF843  30 09     BMI $F84E                       A:6A X:78 Y:12 P:24 SP:F9 CYC:266 SL:74\nF845  B0 07     BCS $F84E                       A:6A X:78 Y:12 P:24 SP:F9 CYC:272 SL:74\nF847  C9 6A     CMP #$6A                        A:6A X:78 Y:12 P:24 SP:F9 CYC:278 SL:74\nF849  D0 03     BNE $F84E                       A:6A X:78 Y:12 P:27 SP:F9 CYC:284 SL:74\nF84B  70 01     BVS $F84E                       A:6A X:78 Y:12 P:27 SP:F9 CYC:290 SL:74\nF84D  60        RTS                             A:6A X:78 Y:12 P:27 SP:F9 CYC:296 SL:74\nDC99  C8        INY                             A:6A X:78 Y:12 P:27 SP:FB CYC:314 SL:74\nDC9A  A9 7F     LDA #$7F                        A:6A X:78 Y:13 P:25 SP:FB CYC:320 SL:74\nDC9C  85 78     STA $78 = 69                    A:7F X:78 Y:13 P:25 SP:FB CYC:326 SL:74\nDC9E  20 51 F8  JSR $F851                       A:7F X:78 Y:13 P:25 SP:FB CYC:335 SL:74\nF851  38        SEC                             A:7F X:78 Y:13 P:25 SP:F9 CYC: 12 SL:75\nF852  B8        CLV                             A:7F X:78 Y:13 P:25 SP:F9 CYC: 18 SL:75\nF853  A9 7F     LDA #$7F                        A:7F X:78 Y:13 P:25 SP:F9 CYC: 24 SL:75\nF855  60        RTS                             A:7F X:78 Y:13 P:25 SP:F9 CYC: 30 SL:75\nDCA1  75 00     ADC $00,X @ 78 = 7F             A:7F X:78 Y:13 P:25 SP:FB CYC: 48 SL:75\nDCA3  20 56 F8  JSR $F856                       A:FF X:78 Y:13 P:E4 SP:FB CYC: 60 SL:75\nF856  10 09     BPL $F861                       A:FF X:78 Y:13 P:E4 SP:F9 CYC: 78 SL:75\nF858  B0 07     BCS $F861                       A:FF X:78 Y:13 P:E4 SP:F9 CYC: 84 SL:75\nF85A  C9 FF     CMP #$FF                        A:FF X:78 Y:13 P:E4 SP:F9 CYC: 90 SL:75\nF85C  D0 03     BNE $F861                       A:FF X:78 Y:13 P:67 SP:F9 CYC: 96 SL:75\nF85E  50 01     BVC $F861                       A:FF X:78 Y:13 P:67 SP:F9 CYC:102 SL:75\nF860  60        RTS                             A:FF X:78 Y:13 P:67 SP:F9 CYC:108 SL:75\nDCA6  C8        INY                             A:FF X:78 Y:13 P:67 SP:FB CYC:126 SL:75\nDCA7  A9 80     LDA #$80                        A:FF X:78 Y:14 P:65 SP:FB CYC:132 SL:75\nDCA9  85 78     STA $78 = 7F                    A:80 X:78 Y:14 P:E5 SP:FB CYC:138 SL:75\nDCAB  20 64 F8  JSR $F864                       A:80 X:78 Y:14 P:E5 SP:FB CYC:147 SL:75\nF864  18        CLC                             A:80 X:78 Y:14 P:E5 SP:F9 CYC:165 SL:75\nF865  24 01     BIT $01 = FF                    A:80 X:78 Y:14 P:E4 SP:F9 CYC:171 SL:75\nF867  A9 7F     LDA #$7F                        A:80 X:78 Y:14 P:E4 SP:F9 CYC:180 SL:75\nF869  60        RTS                             A:7F X:78 Y:14 P:64 SP:F9 CYC:186 SL:75\nDCAE  75 00     ADC $00,X @ 78 = 80             A:7F X:78 Y:14 P:64 SP:FB CYC:204 SL:75\nDCB0  20 6A F8  JSR $F86A                       A:FF X:78 Y:14 P:A4 SP:FB CYC:216 SL:75\nF86A  10 09     BPL $F875                       A:FF X:78 Y:14 P:A4 SP:F9 CYC:234 SL:75\nF86C  B0 07     BCS $F875                       A:FF X:78 Y:14 P:A4 SP:F9 CYC:240 SL:75\nF86E  C9 FF     CMP #$FF                        A:FF X:78 Y:14 P:A4 SP:F9 CYC:246 SL:75\nF870  D0 03     BNE $F875                       A:FF X:78 Y:14 P:27 SP:F9 CYC:252 SL:75\nF872  70 01     BVS $F875                       A:FF X:78 Y:14 P:27 SP:F9 CYC:258 SL:75\nF874  60        RTS                             A:FF X:78 Y:14 P:27 SP:F9 CYC:264 SL:75\nDCB3  C8        INY                             A:FF X:78 Y:14 P:27 SP:FB CYC:282 SL:75\nDCB4  20 78 F8  JSR $F878                       A:FF X:78 Y:15 P:25 SP:FB CYC:288 SL:75\nF878  38        SEC                             A:FF X:78 Y:15 P:25 SP:F9 CYC:306 SL:75\nF879  B8        CLV                             A:FF X:78 Y:15 P:25 SP:F9 CYC:312 SL:75\nF87A  A9 7F     LDA #$7F                        A:FF X:78 Y:15 P:25 SP:F9 CYC:318 SL:75\nF87C  60        RTS                             A:7F X:78 Y:15 P:25 SP:F9 CYC:324 SL:75\nDCB7  75 00     ADC $00,X @ 78 = 80             A:7F X:78 Y:15 P:25 SP:FB CYC:  1 SL:76\nDCB9  20 7D F8  JSR $F87D                       A:00 X:78 Y:15 P:27 SP:FB CYC: 13 SL:76\nF87D  D0 07     BNE $F886                       A:00 X:78 Y:15 P:27 SP:F9 CYC: 31 SL:76\nF87F  30 05     BMI $F886                       A:00 X:78 Y:15 P:27 SP:F9 CYC: 37 SL:76\nF881  70 03     BVS $F886                       A:00 X:78 Y:15 P:27 SP:F9 CYC: 43 SL:76\nF883  90 01     BCC $F886                       A:00 X:78 Y:15 P:27 SP:F9 CYC: 49 SL:76\nF885  60        RTS                             A:00 X:78 Y:15 P:27 SP:F9 CYC: 55 SL:76\nDCBC  C8        INY                             A:00 X:78 Y:15 P:27 SP:FB CYC: 73 SL:76\nDCBD  A9 40     LDA #$40                        A:00 X:78 Y:16 P:25 SP:FB CYC: 79 SL:76\nDCBF  85 78     STA $78 = 80                    A:40 X:78 Y:16 P:25 SP:FB CYC: 85 SL:76\nDCC1  20 89 F8  JSR $F889                       A:40 X:78 Y:16 P:25 SP:FB CYC: 94 SL:76\nF889  24 01     BIT $01 = FF                    A:40 X:78 Y:16 P:25 SP:F9 CYC:112 SL:76\nF88B  A9 40     LDA #$40                        A:40 X:78 Y:16 P:E5 SP:F9 CYC:121 SL:76\nF88D  60        RTS                             A:40 X:78 Y:16 P:65 SP:F9 CYC:127 SL:76\nDCC4  D5 00     CMP $00,X @ 78 = 40             A:40 X:78 Y:16 P:65 SP:FB CYC:145 SL:76\nDCC6  20 8E F8  JSR $F88E                       A:40 X:78 Y:16 P:67 SP:FB CYC:157 SL:76\nF88E  30 07     BMI $F897                       A:40 X:78 Y:16 P:67 SP:F9 CYC:175 SL:76\nF890  90 05     BCC $F897                       A:40 X:78 Y:16 P:67 SP:F9 CYC:181 SL:76\nF892  D0 03     BNE $F897                       A:40 X:78 Y:16 P:67 SP:F9 CYC:187 SL:76\nF894  50 01     BVC $F897                       A:40 X:78 Y:16 P:67 SP:F9 CYC:193 SL:76\nF896  60        RTS                             A:40 X:78 Y:16 P:67 SP:F9 CYC:199 SL:76\nDCC9  C8        INY                             A:40 X:78 Y:16 P:67 SP:FB CYC:217 SL:76\nDCCA  48        PHA                             A:40 X:78 Y:17 P:65 SP:FB CYC:223 SL:76\nDCCB  A9 3F     LDA #$3F                        A:40 X:78 Y:17 P:65 SP:FA CYC:232 SL:76\nDCCD  85 78     STA $78 = 40                    A:3F X:78 Y:17 P:65 SP:FA CYC:238 SL:76\nDCCF  68        PLA                             A:3F X:78 Y:17 P:65 SP:FA CYC:247 SL:76\nDCD0  20 9A F8  JSR $F89A                       A:40 X:78 Y:17 P:65 SP:FB CYC:259 SL:76\nF89A  B8        CLV                             A:40 X:78 Y:17 P:65 SP:F9 CYC:277 SL:76\nF89B  60        RTS                             A:40 X:78 Y:17 P:25 SP:F9 CYC:283 SL:76\nDCD3  D5 00     CMP $00,X @ 78 = 3F             A:40 X:78 Y:17 P:25 SP:FB CYC:301 SL:76\nDCD5  20 9C F8  JSR $F89C                       A:40 X:78 Y:17 P:25 SP:FB CYC:313 SL:76\nF89C  F0 07     BEQ $F8A5                       A:40 X:78 Y:17 P:25 SP:F9 CYC:331 SL:76\nF89E  30 05     BMI $F8A5                       A:40 X:78 Y:17 P:25 SP:F9 CYC:337 SL:76\nF8A0  90 03     BCC $F8A5                       A:40 X:78 Y:17 P:25 SP:F9 CYC:  2 SL:77\nF8A2  70 01     BVS $F8A5                       A:40 X:78 Y:17 P:25 SP:F9 CYC:  8 SL:77\nF8A4  60        RTS                             A:40 X:78 Y:17 P:25 SP:F9 CYC: 14 SL:77\nDCD8  C8        INY                             A:40 X:78 Y:17 P:25 SP:FB CYC: 32 SL:77\nDCD9  48        PHA                             A:40 X:78 Y:18 P:25 SP:FB CYC: 38 SL:77\nDCDA  A9 41     LDA #$41                        A:40 X:78 Y:18 P:25 SP:FA CYC: 47 SL:77\nDCDC  85 78     STA $78 = 3F                    A:41 X:78 Y:18 P:25 SP:FA CYC: 53 SL:77\nDCDE  68        PLA                             A:41 X:78 Y:18 P:25 SP:FA CYC: 62 SL:77\nDCDF  D5 00     CMP $00,X @ 78 = 41             A:40 X:78 Y:18 P:25 SP:FB CYC: 74 SL:77\nDCE1  20 A8 F8  JSR $F8A8                       A:40 X:78 Y:18 P:A4 SP:FB CYC: 86 SL:77\nF8A8  F0 05     BEQ $F8AF                       A:40 X:78 Y:18 P:A4 SP:F9 CYC:104 SL:77\nF8AA  10 03     BPL $F8AF                       A:40 X:78 Y:18 P:A4 SP:F9 CYC:110 SL:77\nF8AC  10 01     BPL $F8AF                       A:40 X:78 Y:18 P:A4 SP:F9 CYC:116 SL:77\nF8AE  60        RTS                             A:40 X:78 Y:18 P:A4 SP:F9 CYC:122 SL:77\nDCE4  C8        INY                             A:40 X:78 Y:18 P:A4 SP:FB CYC:140 SL:77\nDCE5  48        PHA                             A:40 X:78 Y:19 P:24 SP:FB CYC:146 SL:77\nDCE6  A9 00     LDA #$00                        A:40 X:78 Y:19 P:24 SP:FA CYC:155 SL:77\nDCE8  85 78     STA $78 = 41                    A:00 X:78 Y:19 P:26 SP:FA CYC:161 SL:77\nDCEA  68        PLA                             A:00 X:78 Y:19 P:26 SP:FA CYC:170 SL:77\nDCEB  20 B2 F8  JSR $F8B2                       A:40 X:78 Y:19 P:24 SP:FB CYC:182 SL:77\nF8B2  A9 80     LDA #$80                        A:40 X:78 Y:19 P:24 SP:F9 CYC:200 SL:77\nF8B4  60        RTS                             A:80 X:78 Y:19 P:A4 SP:F9 CYC:206 SL:77\nDCEE  D5 00     CMP $00,X @ 78 = 00             A:80 X:78 Y:19 P:A4 SP:FB CYC:224 SL:77\nDCF0  20 B5 F8  JSR $F8B5                       A:80 X:78 Y:19 P:A5 SP:FB CYC:236 SL:77\nF8B5  F0 05     BEQ $F8BC                       A:80 X:78 Y:19 P:A5 SP:F9 CYC:254 SL:77\nF8B7  10 03     BPL $F8BC                       A:80 X:78 Y:19 P:A5 SP:F9 CYC:260 SL:77\nF8B9  90 01     BCC $F8BC                       A:80 X:78 Y:19 P:A5 SP:F9 CYC:266 SL:77\nF8BB  60        RTS                             A:80 X:78 Y:19 P:A5 SP:F9 CYC:272 SL:77\nDCF3  C8        INY                             A:80 X:78 Y:19 P:A5 SP:FB CYC:290 SL:77\nDCF4  48        PHA                             A:80 X:78 Y:1A P:25 SP:FB CYC:296 SL:77\nDCF5  A9 80     LDA #$80                        A:80 X:78 Y:1A P:25 SP:FA CYC:305 SL:77\nDCF7  85 78     STA $78 = 00                    A:80 X:78 Y:1A P:A5 SP:FA CYC:311 SL:77\nDCF9  68        PLA                             A:80 X:78 Y:1A P:A5 SP:FA CYC:320 SL:77\nDCFA  D5 00     CMP $00,X @ 78 = 80             A:80 X:78 Y:1A P:A5 SP:FB CYC:332 SL:77\nDCFC  20 BF F8  JSR $F8BF                       A:80 X:78 Y:1A P:27 SP:FB CYC:  3 SL:78\nF8BF  D0 05     BNE $F8C6                       A:80 X:78 Y:1A P:27 SP:F9 CYC: 21 SL:78\nF8C1  30 03     BMI $F8C6                       A:80 X:78 Y:1A P:27 SP:F9 CYC: 27 SL:78\nF8C3  90 01     BCC $F8C6                       A:80 X:78 Y:1A P:27 SP:F9 CYC: 33 SL:78\nF8C5  60        RTS                             A:80 X:78 Y:1A P:27 SP:F9 CYC: 39 SL:78\nDCFF  C8        INY                             A:80 X:78 Y:1A P:27 SP:FB CYC: 57 SL:78\nDD00  48        PHA                             A:80 X:78 Y:1B P:25 SP:FB CYC: 63 SL:78\nDD01  A9 81     LDA #$81                        A:80 X:78 Y:1B P:25 SP:FA CYC: 72 SL:78\nDD03  85 78     STA $78 = 80                    A:81 X:78 Y:1B P:A5 SP:FA CYC: 78 SL:78\nDD05  68        PLA                             A:81 X:78 Y:1B P:A5 SP:FA CYC: 87 SL:78\nDD06  D5 00     CMP $00,X @ 78 = 81             A:80 X:78 Y:1B P:A5 SP:FB CYC: 99 SL:78\nDD08  20 C9 F8  JSR $F8C9                       A:80 X:78 Y:1B P:A4 SP:FB CYC:111 SL:78\nF8C9  B0 05     BCS $F8D0                       A:80 X:78 Y:1B P:A4 SP:F9 CYC:129 SL:78\nF8CB  F0 03     BEQ $F8D0                       A:80 X:78 Y:1B P:A4 SP:F9 CYC:135 SL:78\nF8CD  10 01     BPL $F8D0                       A:80 X:78 Y:1B P:A4 SP:F9 CYC:141 SL:78\nF8CF  60        RTS                             A:80 X:78 Y:1B P:A4 SP:F9 CYC:147 SL:78\nDD0B  C8        INY                             A:80 X:78 Y:1B P:A4 SP:FB CYC:165 SL:78\nDD0C  48        PHA                             A:80 X:78 Y:1C P:24 SP:FB CYC:171 SL:78\nDD0D  A9 7F     LDA #$7F                        A:80 X:78 Y:1C P:24 SP:FA CYC:180 SL:78\nDD0F  85 78     STA $78 = 81                    A:7F X:78 Y:1C P:24 SP:FA CYC:186 SL:78\nDD11  68        PLA                             A:7F X:78 Y:1C P:24 SP:FA CYC:195 SL:78\nDD12  D5 00     CMP $00,X @ 78 = 7F             A:80 X:78 Y:1C P:A4 SP:FB CYC:207 SL:78\nDD14  20 D3 F8  JSR $F8D3                       A:80 X:78 Y:1C P:25 SP:FB CYC:219 SL:78\nF8D3  90 05     BCC $F8DA                       A:80 X:78 Y:1C P:25 SP:F9 CYC:237 SL:78\nF8D5  F0 03     BEQ $F8DA                       A:80 X:78 Y:1C P:25 SP:F9 CYC:243 SL:78\nF8D7  30 01     BMI $F8DA                       A:80 X:78 Y:1C P:25 SP:F9 CYC:249 SL:78\nF8D9  60        RTS                             A:80 X:78 Y:1C P:25 SP:F9 CYC:255 SL:78\nDD17  C8        INY                             A:80 X:78 Y:1C P:25 SP:FB CYC:273 SL:78\nDD18  A9 40     LDA #$40                        A:80 X:78 Y:1D P:25 SP:FB CYC:279 SL:78\nDD1A  85 78     STA $78 = 7F                    A:40 X:78 Y:1D P:25 SP:FB CYC:285 SL:78\nDD1C  20 31 F9  JSR $F931                       A:40 X:78 Y:1D P:25 SP:FB CYC:294 SL:78\nF931  24 01     BIT $01 = FF                    A:40 X:78 Y:1D P:25 SP:F9 CYC:312 SL:78\nF933  A9 40     LDA #$40                        A:40 X:78 Y:1D P:E5 SP:F9 CYC:321 SL:78\nF935  38        SEC                             A:40 X:78 Y:1D P:65 SP:F9 CYC:327 SL:78\nF936  60        RTS                             A:40 X:78 Y:1D P:65 SP:F9 CYC:333 SL:78\nDD1F  F5 00     SBC $00,X @ 78 = 40             A:40 X:78 Y:1D P:65 SP:FB CYC: 10 SL:79\nDD21  20 37 F9  JSR $F937                       A:00 X:78 Y:1D P:27 SP:FB CYC: 22 SL:79\nF937  30 0B     BMI $F944                       A:00 X:78 Y:1D P:27 SP:F9 CYC: 40 SL:79\nF939  90 09     BCC $F944                       A:00 X:78 Y:1D P:27 SP:F9 CYC: 46 SL:79\nF93B  D0 07     BNE $F944                       A:00 X:78 Y:1D P:27 SP:F9 CYC: 52 SL:79\nF93D  70 05     BVS $F944                       A:00 X:78 Y:1D P:27 SP:F9 CYC: 58 SL:79\nF93F  C9 00     CMP #$00                        A:00 X:78 Y:1D P:27 SP:F9 CYC: 64 SL:79\nF941  D0 01     BNE $F944                       A:00 X:78 Y:1D P:27 SP:F9 CYC: 70 SL:79\nF943  60        RTS                             A:00 X:78 Y:1D P:27 SP:F9 CYC: 76 SL:79\nDD24  C8        INY                             A:00 X:78 Y:1D P:27 SP:FB CYC: 94 SL:79\nDD25  A9 3F     LDA #$3F                        A:00 X:78 Y:1E P:25 SP:FB CYC:100 SL:79\nDD27  85 78     STA $78 = 40                    A:3F X:78 Y:1E P:25 SP:FB CYC:106 SL:79\nDD29  20 47 F9  JSR $F947                       A:3F X:78 Y:1E P:25 SP:FB CYC:115 SL:79\nF947  B8        CLV                             A:3F X:78 Y:1E P:25 SP:F9 CYC:133 SL:79\nF948  38        SEC                             A:3F X:78 Y:1E P:25 SP:F9 CYC:139 SL:79\nF949  A9 40     LDA #$40                        A:3F X:78 Y:1E P:25 SP:F9 CYC:145 SL:79\nF94B  60        RTS                             A:40 X:78 Y:1E P:25 SP:F9 CYC:151 SL:79\nDD2C  F5 00     SBC $00,X @ 78 = 3F             A:40 X:78 Y:1E P:25 SP:FB CYC:169 SL:79\nDD2E  20 4C F9  JSR $F94C                       A:01 X:78 Y:1E P:25 SP:FB CYC:181 SL:79\nF94C  F0 0B     BEQ $F959                       A:01 X:78 Y:1E P:25 SP:F9 CYC:199 SL:79\nF94E  30 09     BMI $F959                       A:01 X:78 Y:1E P:25 SP:F9 CYC:205 SL:79\nF950  90 07     BCC $F959                       A:01 X:78 Y:1E P:25 SP:F9 CYC:211 SL:79\nF952  70 05     BVS $F959                       A:01 X:78 Y:1E P:25 SP:F9 CYC:217 SL:79\nF954  C9 01     CMP #$01                        A:01 X:78 Y:1E P:25 SP:F9 CYC:223 SL:79\nF956  D0 01     BNE $F959                       A:01 X:78 Y:1E P:27 SP:F9 CYC:229 SL:79\nF958  60        RTS                             A:01 X:78 Y:1E P:27 SP:F9 CYC:235 SL:79\nDD31  C8        INY                             A:01 X:78 Y:1E P:27 SP:FB CYC:253 SL:79\nDD32  A9 41     LDA #$41                        A:01 X:78 Y:1F P:25 SP:FB CYC:259 SL:79\nDD34  85 78     STA $78 = 3F                    A:41 X:78 Y:1F P:25 SP:FB CYC:265 SL:79\nDD36  20 5C F9  JSR $F95C                       A:41 X:78 Y:1F P:25 SP:FB CYC:274 SL:79\nF95C  A9 40     LDA #$40                        A:41 X:78 Y:1F P:25 SP:F9 CYC:292 SL:79\nF95E  38        SEC                             A:40 X:78 Y:1F P:25 SP:F9 CYC:298 SL:79\nF95F  24 01     BIT $01 = FF                    A:40 X:78 Y:1F P:25 SP:F9 CYC:304 SL:79\nF961  60        RTS                             A:40 X:78 Y:1F P:E5 SP:F9 CYC:313 SL:79\nDD39  F5 00     SBC $00,X @ 78 = 41             A:40 X:78 Y:1F P:E5 SP:FB CYC:331 SL:79\nDD3B  20 62 F9  JSR $F962                       A:FF X:78 Y:1F P:A4 SP:FB CYC:  2 SL:80\nF962  B0 0B     BCS $F96F                       A:FF X:78 Y:1F P:A4 SP:F9 CYC: 20 SL:80\nF964  F0 09     BEQ $F96F                       A:FF X:78 Y:1F P:A4 SP:F9 CYC: 26 SL:80\nF966  10 07     BPL $F96F                       A:FF X:78 Y:1F P:A4 SP:F9 CYC: 32 SL:80\nF968  70 05     BVS $F96F                       A:FF X:78 Y:1F P:A4 SP:F9 CYC: 38 SL:80\nF96A  C9 FF     CMP #$FF                        A:FF X:78 Y:1F P:A4 SP:F9 CYC: 44 SL:80\nF96C  D0 01     BNE $F96F                       A:FF X:78 Y:1F P:27 SP:F9 CYC: 50 SL:80\nF96E  60        RTS                             A:FF X:78 Y:1F P:27 SP:F9 CYC: 56 SL:80\nDD3E  C8        INY                             A:FF X:78 Y:1F P:27 SP:FB CYC: 74 SL:80\nDD3F  A9 00     LDA #$00                        A:FF X:78 Y:20 P:25 SP:FB CYC: 80 SL:80\nDD41  85 78     STA $78 = 41                    A:00 X:78 Y:20 P:27 SP:FB CYC: 86 SL:80\nDD43  20 72 F9  JSR $F972                       A:00 X:78 Y:20 P:27 SP:FB CYC: 95 SL:80\nF972  18        CLC                             A:00 X:78 Y:20 P:27 SP:F9 CYC:113 SL:80\nF973  A9 80     LDA #$80                        A:00 X:78 Y:20 P:26 SP:F9 CYC:119 SL:80\nF975  60        RTS                             A:80 X:78 Y:20 P:A4 SP:F9 CYC:125 SL:80\nDD46  F5 00     SBC $00,X @ 78 = 00             A:80 X:78 Y:20 P:A4 SP:FB CYC:143 SL:80\nDD48  20 76 F9  JSR $F976                       A:7F X:78 Y:20 P:65 SP:FB CYC:155 SL:80\nF976  90 05     BCC $F97D                       A:7F X:78 Y:20 P:65 SP:F9 CYC:173 SL:80\nF978  C9 7F     CMP #$7F                        A:7F X:78 Y:20 P:65 SP:F9 CYC:179 SL:80\nF97A  D0 01     BNE $F97D                       A:7F X:78 Y:20 P:67 SP:F9 CYC:185 SL:80\nF97C  60        RTS                             A:7F X:78 Y:20 P:67 SP:F9 CYC:191 SL:80\nDD4B  C8        INY                             A:7F X:78 Y:20 P:67 SP:FB CYC:209 SL:80\nDD4C  A9 7F     LDA #$7F                        A:7F X:78 Y:21 P:65 SP:FB CYC:215 SL:80\nDD4E  85 78     STA $78 = 00                    A:7F X:78 Y:21 P:65 SP:FB CYC:221 SL:80\nDD50  20 80 F9  JSR $F980                       A:7F X:78 Y:21 P:65 SP:FB CYC:230 SL:80\nF980  38        SEC                             A:7F X:78 Y:21 P:65 SP:F9 CYC:248 SL:80\nF981  A9 81     LDA #$81                        A:7F X:78 Y:21 P:65 SP:F9 CYC:254 SL:80\nF983  60        RTS                             A:81 X:78 Y:21 P:E5 SP:F9 CYC:260 SL:80\nDD53  F5 00     SBC $00,X @ 78 = 7F             A:81 X:78 Y:21 P:E5 SP:FB CYC:278 SL:80\nDD55  20 84 F9  JSR $F984                       A:02 X:78 Y:21 P:65 SP:FB CYC:290 SL:80\nF984  50 07     BVC $F98D                       A:02 X:78 Y:21 P:65 SP:F9 CYC:308 SL:80\nF986  90 05     BCC $F98D                       A:02 X:78 Y:21 P:65 SP:F9 CYC:314 SL:80\nF988  C9 02     CMP #$02                        A:02 X:78 Y:21 P:65 SP:F9 CYC:320 SL:80\nF98A  D0 01     BNE $F98D                       A:02 X:78 Y:21 P:67 SP:F9 CYC:326 SL:80\nF98C  60        RTS                             A:02 X:78 Y:21 P:67 SP:F9 CYC:332 SL:80\nDD58  A9 AA     LDA #$AA                        A:02 X:78 Y:21 P:67 SP:FB CYC:  9 SL:81\nDD5A  85 33     STA $33 = 44                    A:AA X:78 Y:21 P:E5 SP:FB CYC: 15 SL:81\nDD5C  A9 BB     LDA #$BB                        A:AA X:78 Y:21 P:E5 SP:FB CYC: 24 SL:81\nDD5E  85 89     STA $89 = BB                    A:BB X:78 Y:21 P:E5 SP:FB CYC: 30 SL:81\nDD60  A2 00     LDX #$00                        A:BB X:78 Y:21 P:E5 SP:FB CYC: 39 SL:81\nDD62  A0 66     LDY #$66                        A:BB X:00 Y:21 P:67 SP:FB CYC: 45 SL:81\nDD64  24 01     BIT $01 = FF                    A:BB X:00 Y:66 P:65 SP:FB CYC: 51 SL:81\nDD66  38        SEC                             A:BB X:00 Y:66 P:E5 SP:FB CYC: 60 SL:81\nDD67  A9 00     LDA #$00                        A:BB X:00 Y:66 P:E5 SP:FB CYC: 66 SL:81\nDD69  B5 33     LDA $33,X @ 33 = AA             A:00 X:00 Y:66 P:67 SP:FB CYC: 72 SL:81\nDD6B  10 12     BPL $DD7F                       A:AA X:00 Y:66 P:E5 SP:FB CYC: 84 SL:81\nDD6D  F0 10     BEQ $DD7F                       A:AA X:00 Y:66 P:E5 SP:FB CYC: 90 SL:81\nDD6F  50 0E     BVC $DD7F                       A:AA X:00 Y:66 P:E5 SP:FB CYC: 96 SL:81\nDD71  90 0C     BCC $DD7F                       A:AA X:00 Y:66 P:E5 SP:FB CYC:102 SL:81\nDD73  C0 66     CPY #$66                        A:AA X:00 Y:66 P:E5 SP:FB CYC:108 SL:81\nDD75  D0 08     BNE $DD7F                       A:AA X:00 Y:66 P:67 SP:FB CYC:114 SL:81\nDD77  E0 00     CPX #$00                        A:AA X:00 Y:66 P:67 SP:FB CYC:120 SL:81\nDD79  D0 04     BNE $DD7F                       A:AA X:00 Y:66 P:67 SP:FB CYC:126 SL:81\nDD7B  C9 AA     CMP #$AA                        A:AA X:00 Y:66 P:67 SP:FB CYC:132 SL:81\nDD7D  F0 04     BEQ $DD83                       A:AA X:00 Y:66 P:67 SP:FB CYC:138 SL:81\nDD83  A2 8A     LDX #$8A                        A:AA X:00 Y:66 P:67 SP:FB CYC:147 SL:81\nDD85  A0 66     LDY #$66                        A:AA X:8A Y:66 P:E5 SP:FB CYC:153 SL:81\nDD87  B8        CLV                             A:AA X:8A Y:66 P:65 SP:FB CYC:159 SL:81\nDD88  18        CLC                             A:AA X:8A Y:66 P:25 SP:FB CYC:165 SL:81\nDD89  A9 00     LDA #$00                        A:AA X:8A Y:66 P:24 SP:FB CYC:171 SL:81\nDD8B  B5 FF     LDA $FF,X @ 89 = BB             A:00 X:8A Y:66 P:26 SP:FB CYC:177 SL:81\nDD8D  10 12     BPL $DDA1                       A:BB X:8A Y:66 P:A4 SP:FB CYC:189 SL:81\nDD8F  F0 10     BEQ $DDA1                       A:BB X:8A Y:66 P:A4 SP:FB CYC:195 SL:81\nDD91  70 0E     BVS $DDA1                       A:BB X:8A Y:66 P:A4 SP:FB CYC:201 SL:81\nDD93  B0 0C     BCS $DDA1                       A:BB X:8A Y:66 P:A4 SP:FB CYC:207 SL:81\nDD95  C9 BB     CMP #$BB                        A:BB X:8A Y:66 P:A4 SP:FB CYC:213 SL:81\nDD97  D0 08     BNE $DDA1                       A:BB X:8A Y:66 P:27 SP:FB CYC:219 SL:81\nDD99  C0 66     CPY #$66                        A:BB X:8A Y:66 P:27 SP:FB CYC:225 SL:81\nDD9B  D0 04     BNE $DDA1                       A:BB X:8A Y:66 P:27 SP:FB CYC:231 SL:81\nDD9D  E0 8A     CPX #$8A                        A:BB X:8A Y:66 P:27 SP:FB CYC:237 SL:81\nDD9F  F0 04     BEQ $DDA5                       A:BB X:8A Y:66 P:27 SP:FB CYC:243 SL:81\nDDA5  24 01     BIT $01 = FF                    A:BB X:8A Y:66 P:27 SP:FB CYC:252 SL:81\nDDA7  38        SEC                             A:BB X:8A Y:66 P:E5 SP:FB CYC:261 SL:81\nDDA8  A9 44     LDA #$44                        A:BB X:8A Y:66 P:E5 SP:FB CYC:267 SL:81\nDDAA  A2 00     LDX #$00                        A:44 X:8A Y:66 P:65 SP:FB CYC:273 SL:81\nDDAC  95 33     STA $33,X @ 33 = AA             A:44 X:00 Y:66 P:67 SP:FB CYC:279 SL:81\nDDAE  A5 33     LDA $33 = 44                    A:44 X:00 Y:66 P:67 SP:FB CYC:291 SL:81\nDDB0  90 18     BCC $DDCA                       A:44 X:00 Y:66 P:65 SP:FB CYC:300 SL:81\nDDB2  C9 44     CMP #$44                        A:44 X:00 Y:66 P:65 SP:FB CYC:306 SL:81\nDDB4  D0 14     BNE $DDCA                       A:44 X:00 Y:66 P:67 SP:FB CYC:312 SL:81\nDDB6  50 12     BVC $DDCA                       A:44 X:00 Y:66 P:67 SP:FB CYC:318 SL:81\nDDB8  18        CLC                             A:44 X:00 Y:66 P:67 SP:FB CYC:324 SL:81\nDDB9  B8        CLV                             A:44 X:00 Y:66 P:66 SP:FB CYC:330 SL:81\nDDBA  A9 99     LDA #$99                        A:44 X:00 Y:66 P:26 SP:FB CYC:336 SL:81\nDDBC  A2 80     LDX #$80                        A:99 X:00 Y:66 P:A4 SP:FB CYC:  1 SL:82\nDDBE  95 85     STA $85,X @ 05 = 99             A:99 X:80 Y:66 P:A4 SP:FB CYC:  7 SL:82\nDDC0  A5 05     LDA $05 = 99                    A:99 X:80 Y:66 P:A4 SP:FB CYC: 19 SL:82\nDDC2  B0 06     BCS $DDCA                       A:99 X:80 Y:66 P:A4 SP:FB CYC: 28 SL:82\nDDC4  C9 99     CMP #$99                        A:99 X:80 Y:66 P:A4 SP:FB CYC: 34 SL:82\nDDC6  D0 02     BNE $DDCA                       A:99 X:80 Y:66 P:27 SP:FB CYC: 40 SL:82\nDDC8  50 04     BVC $DDCE                       A:99 X:80 Y:66 P:27 SP:FB CYC: 46 SL:82\nDDCE  A0 25     LDY #$25                        A:99 X:80 Y:66 P:27 SP:FB CYC: 55 SL:82\nDDD0  A2 78     LDX #$78                        A:99 X:80 Y:25 P:25 SP:FB CYC: 61 SL:82\nDDD2  20 90 F9  JSR $F990                       A:99 X:78 Y:25 P:25 SP:FB CYC: 67 SL:82\nF990  A2 55     LDX #$55                        A:99 X:78 Y:25 P:25 SP:F9 CYC: 85 SL:82\nF992  A9 FF     LDA #$FF                        A:99 X:55 Y:25 P:25 SP:F9 CYC: 91 SL:82\nF994  85 01     STA $01 = FF                    A:FF X:55 Y:25 P:A5 SP:F9 CYC: 97 SL:82\nF996  EA        NOP                             A:FF X:55 Y:25 P:A5 SP:F9 CYC:106 SL:82\nF997  24 01     BIT $01 = FF                    A:FF X:55 Y:25 P:A5 SP:F9 CYC:112 SL:82\nF999  38        SEC                             A:FF X:55 Y:25 P:E5 SP:F9 CYC:121 SL:82\nF99A  A9 01     LDA #$01                        A:FF X:55 Y:25 P:E5 SP:F9 CYC:127 SL:82\nF99C  60        RTS                             A:01 X:55 Y:25 P:65 SP:F9 CYC:133 SL:82\nDDD5  95 00     STA $00,X @ 55 = 00             A:01 X:55 Y:25 P:65 SP:FB CYC:151 SL:82\nDDD7  56 00     LSR $00,X @ 55 = 01             A:01 X:55 Y:25 P:65 SP:FB CYC:163 SL:82\nDDD9  B5 00     LDA $00,X @ 55 = 00             A:01 X:55 Y:25 P:67 SP:FB CYC:181 SL:82\nDDDB  20 9D F9  JSR $F99D                       A:00 X:55 Y:25 P:67 SP:FB CYC:193 SL:82\nF99D  90 1B     BCC $F9BA                       A:00 X:55 Y:25 P:67 SP:F9 CYC:211 SL:82\nF99F  D0 19     BNE $F9BA                       A:00 X:55 Y:25 P:67 SP:F9 CYC:217 SL:82\nF9A1  30 17     BMI $F9BA                       A:00 X:55 Y:25 P:67 SP:F9 CYC:223 SL:82\nF9A3  50 15     BVC $F9BA                       A:00 X:55 Y:25 P:67 SP:F9 CYC:229 SL:82\nF9A5  C9 00     CMP #$00                        A:00 X:55 Y:25 P:67 SP:F9 CYC:235 SL:82\nF9A7  D0 11     BNE $F9BA                       A:00 X:55 Y:25 P:67 SP:F9 CYC:241 SL:82\nF9A9  B8        CLV                             A:00 X:55 Y:25 P:67 SP:F9 CYC:247 SL:82\nF9AA  A9 AA     LDA #$AA                        A:00 X:55 Y:25 P:27 SP:F9 CYC:253 SL:82\nF9AC  60        RTS                             A:AA X:55 Y:25 P:A5 SP:F9 CYC:259 SL:82\nDDDE  C8        INY                             A:AA X:55 Y:25 P:A5 SP:FB CYC:277 SL:82\nDDDF  95 00     STA $00,X @ 55 = 00             A:AA X:55 Y:26 P:25 SP:FB CYC:283 SL:82\nDDE1  56 00     LSR $00,X @ 55 = AA             A:AA X:55 Y:26 P:25 SP:FB CYC:295 SL:82\nDDE3  B5 00     LDA $00,X @ 55 = 55             A:AA X:55 Y:26 P:24 SP:FB CYC:313 SL:82\nDDE5  20 AD F9  JSR $F9AD                       A:55 X:55 Y:26 P:24 SP:FB CYC:325 SL:82\nF9AD  B0 0B     BCS $F9BA                       A:55 X:55 Y:26 P:24 SP:F9 CYC:  2 SL:83\nF9AF  F0 09     BEQ $F9BA                       A:55 X:55 Y:26 P:24 SP:F9 CYC:  8 SL:83\nF9B1  30 07     BMI $F9BA                       A:55 X:55 Y:26 P:24 SP:F9 CYC: 14 SL:83\nF9B3  70 05     BVS $F9BA                       A:55 X:55 Y:26 P:24 SP:F9 CYC: 20 SL:83\nF9B5  C9 55     CMP #$55                        A:55 X:55 Y:26 P:24 SP:F9 CYC: 26 SL:83\nF9B7  D0 01     BNE $F9BA                       A:55 X:55 Y:26 P:27 SP:F9 CYC: 32 SL:83\nF9B9  60        RTS                             A:55 X:55 Y:26 P:27 SP:F9 CYC: 38 SL:83\nDDE8  C8        INY                             A:55 X:55 Y:26 P:27 SP:FB CYC: 56 SL:83\nDDE9  20 BD F9  JSR $F9BD                       A:55 X:55 Y:27 P:25 SP:FB CYC: 62 SL:83\nF9BD  24 01     BIT $01 = FF                    A:55 X:55 Y:27 P:25 SP:F9 CYC: 80 SL:83\nF9BF  38        SEC                             A:55 X:55 Y:27 P:E5 SP:F9 CYC: 89 SL:83\nF9C0  A9 80     LDA #$80                        A:55 X:55 Y:27 P:E5 SP:F9 CYC: 95 SL:83\nF9C2  60        RTS                             A:80 X:55 Y:27 P:E5 SP:F9 CYC:101 SL:83\nDDEC  95 00     STA $00,X @ 55 = 55             A:80 X:55 Y:27 P:E5 SP:FB CYC:119 SL:83\nDDEE  16 00     ASL $00,X @ 55 = 80             A:80 X:55 Y:27 P:E5 SP:FB CYC:131 SL:83\nDDF0  B5 00     LDA $00,X @ 55 = 00             A:80 X:55 Y:27 P:67 SP:FB CYC:149 SL:83\nDDF2  20 C3 F9  JSR $F9C3                       A:00 X:55 Y:27 P:67 SP:FB CYC:161 SL:83\nF9C3  90 1C     BCC $F9E1                       A:00 X:55 Y:27 P:67 SP:F9 CYC:179 SL:83\nF9C5  D0 1A     BNE $F9E1                       A:00 X:55 Y:27 P:67 SP:F9 CYC:185 SL:83\nF9C7  30 18     BMI $F9E1                       A:00 X:55 Y:27 P:67 SP:F9 CYC:191 SL:83\nF9C9  50 16     BVC $F9E1                       A:00 X:55 Y:27 P:67 SP:F9 CYC:197 SL:83\nF9CB  C9 00     CMP #$00                        A:00 X:55 Y:27 P:67 SP:F9 CYC:203 SL:83\nF9CD  D0 12     BNE $F9E1                       A:00 X:55 Y:27 P:67 SP:F9 CYC:209 SL:83\nF9CF  B8        CLV                             A:00 X:55 Y:27 P:67 SP:F9 CYC:215 SL:83\nF9D0  A9 55     LDA #$55                        A:00 X:55 Y:27 P:27 SP:F9 CYC:221 SL:83\nF9D2  38        SEC                             A:55 X:55 Y:27 P:25 SP:F9 CYC:227 SL:83\nF9D3  60        RTS                             A:55 X:55 Y:27 P:25 SP:F9 CYC:233 SL:83\nDDF5  C8        INY                             A:55 X:55 Y:27 P:25 SP:FB CYC:251 SL:83\nDDF6  95 00     STA $00,X @ 55 = 00             A:55 X:55 Y:28 P:25 SP:FB CYC:257 SL:83\nDDF8  16 00     ASL $00,X @ 55 = 55             A:55 X:55 Y:28 P:25 SP:FB CYC:269 SL:83\nDDFA  B5 00     LDA $00,X @ 55 = AA             A:55 X:55 Y:28 P:A4 SP:FB CYC:287 SL:83\nDDFC  20 D4 F9  JSR $F9D4                       A:AA X:55 Y:28 P:A4 SP:FB CYC:299 SL:83\nF9D4  B0 0B     BCS $F9E1                       A:AA X:55 Y:28 P:A4 SP:F9 CYC:317 SL:83\nF9D6  F0 09     BEQ $F9E1                       A:AA X:55 Y:28 P:A4 SP:F9 CYC:323 SL:83\nF9D8  10 07     BPL $F9E1                       A:AA X:55 Y:28 P:A4 SP:F9 CYC:329 SL:83\nF9DA  70 05     BVS $F9E1                       A:AA X:55 Y:28 P:A4 SP:F9 CYC:335 SL:83\nF9DC  C9 AA     CMP #$AA                        A:AA X:55 Y:28 P:A4 SP:F9 CYC:  0 SL:84\nF9DE  D0 01     BNE $F9E1                       A:AA X:55 Y:28 P:27 SP:F9 CYC:  6 SL:84\nF9E0  60        RTS                             A:AA X:55 Y:28 P:27 SP:F9 CYC: 12 SL:84\nDDFF  C8        INY                             A:AA X:55 Y:28 P:27 SP:FB CYC: 30 SL:84\nDE00  20 E4 F9  JSR $F9E4                       A:AA X:55 Y:29 P:25 SP:FB CYC: 36 SL:84\nF9E4  24 01     BIT $01 = FF                    A:AA X:55 Y:29 P:25 SP:F9 CYC: 54 SL:84\nF9E6  38        SEC                             A:AA X:55 Y:29 P:E5 SP:F9 CYC: 63 SL:84\nF9E7  A9 01     LDA #$01                        A:AA X:55 Y:29 P:E5 SP:F9 CYC: 69 SL:84\nF9E9  60        RTS                             A:01 X:55 Y:29 P:65 SP:F9 CYC: 75 SL:84\nDE03  95 00     STA $00,X @ 55 = AA             A:01 X:55 Y:29 P:65 SP:FB CYC: 93 SL:84\nDE05  76 00     ROR $00,X @ 55 = 01             A:01 X:55 Y:29 P:65 SP:FB CYC:105 SL:84\nDE07  B5 00     LDA $00,X @ 55 = 80             A:01 X:55 Y:29 P:E5 SP:FB CYC:123 SL:84\nDE09  20 EA F9  JSR $F9EA                       A:80 X:55 Y:29 P:E5 SP:FB CYC:135 SL:84\nF9EA  90 1C     BCC $FA08                       A:80 X:55 Y:29 P:E5 SP:F9 CYC:153 SL:84\nF9EC  F0 1A     BEQ $FA08                       A:80 X:55 Y:29 P:E5 SP:F9 CYC:159 SL:84\nF9EE  10 18     BPL $FA08                       A:80 X:55 Y:29 P:E5 SP:F9 CYC:165 SL:84\nF9F0  50 16     BVC $FA08                       A:80 X:55 Y:29 P:E5 SP:F9 CYC:171 SL:84\nF9F2  C9 80     CMP #$80                        A:80 X:55 Y:29 P:E5 SP:F9 CYC:177 SL:84\nF9F4  D0 12     BNE $FA08                       A:80 X:55 Y:29 P:67 SP:F9 CYC:183 SL:84\nF9F6  B8        CLV                             A:80 X:55 Y:29 P:67 SP:F9 CYC:189 SL:84\nF9F7  18        CLC                             A:80 X:55 Y:29 P:27 SP:F9 CYC:195 SL:84\nF9F8  A9 55     LDA #$55                        A:80 X:55 Y:29 P:26 SP:F9 CYC:201 SL:84\nF9FA  60        RTS                             A:55 X:55 Y:29 P:24 SP:F9 CYC:207 SL:84\nDE0C  C8        INY                             A:55 X:55 Y:29 P:24 SP:FB CYC:225 SL:84\nDE0D  95 00     STA $00,X @ 55 = 80             A:55 X:55 Y:2A P:24 SP:FB CYC:231 SL:84\nDE0F  76 00     ROR $00,X @ 55 = 55             A:55 X:55 Y:2A P:24 SP:FB CYC:243 SL:84\nDE11  B5 00     LDA $00,X @ 55 = 2A             A:55 X:55 Y:2A P:25 SP:FB CYC:261 SL:84\nDE13  20 FB F9  JSR $F9FB                       A:2A X:55 Y:2A P:25 SP:FB CYC:273 SL:84\nF9FB  90 0B     BCC $FA08                       A:2A X:55 Y:2A P:25 SP:F9 CYC:291 SL:84\nF9FD  F0 09     BEQ $FA08                       A:2A X:55 Y:2A P:25 SP:F9 CYC:297 SL:84\nF9FF  30 07     BMI $FA08                       A:2A X:55 Y:2A P:25 SP:F9 CYC:303 SL:84\nFA01  70 05     BVS $FA08                       A:2A X:55 Y:2A P:25 SP:F9 CYC:309 SL:84\nFA03  C9 2A     CMP #$2A                        A:2A X:55 Y:2A P:25 SP:F9 CYC:315 SL:84\nFA05  D0 01     BNE $FA08                       A:2A X:55 Y:2A P:27 SP:F9 CYC:321 SL:84\nFA07  60        RTS                             A:2A X:55 Y:2A P:27 SP:F9 CYC:327 SL:84\nDE16  C8        INY                             A:2A X:55 Y:2A P:27 SP:FB CYC:  4 SL:85\nDE17  20 0A FA  JSR $FA0A                       A:2A X:55 Y:2B P:25 SP:FB CYC: 10 SL:85\nFA0A  24 01     BIT $01 = FF                    A:2A X:55 Y:2B P:25 SP:F9 CYC: 28 SL:85\nFA0C  38        SEC                             A:2A X:55 Y:2B P:E5 SP:F9 CYC: 37 SL:85\nFA0D  A9 80     LDA #$80                        A:2A X:55 Y:2B P:E5 SP:F9 CYC: 43 SL:85\nFA0F  60        RTS                             A:80 X:55 Y:2B P:E5 SP:F9 CYC: 49 SL:85\nDE1A  95 00     STA $00,X @ 55 = 2A             A:80 X:55 Y:2B P:E5 SP:FB CYC: 67 SL:85\nDE1C  36 00     ROL $00,X @ 55 = 80             A:80 X:55 Y:2B P:E5 SP:FB CYC: 79 SL:85\nDE1E  B5 00     LDA $00,X @ 55 = 01             A:80 X:55 Y:2B P:65 SP:FB CYC: 97 SL:85\nDE20  20 10 FA  JSR $FA10                       A:01 X:55 Y:2B P:65 SP:FB CYC:109 SL:85\nFA10  90 1C     BCC $FA2E                       A:01 X:55 Y:2B P:65 SP:F9 CYC:127 SL:85\nFA12  F0 1A     BEQ $FA2E                       A:01 X:55 Y:2B P:65 SP:F9 CYC:133 SL:85\nFA14  30 18     BMI $FA2E                       A:01 X:55 Y:2B P:65 SP:F9 CYC:139 SL:85\nFA16  50 16     BVC $FA2E                       A:01 X:55 Y:2B P:65 SP:F9 CYC:145 SL:85\nFA18  C9 01     CMP #$01                        A:01 X:55 Y:2B P:65 SP:F9 CYC:151 SL:85\nFA1A  D0 12     BNE $FA2E                       A:01 X:55 Y:2B P:67 SP:F9 CYC:157 SL:85\nFA1C  B8        CLV                             A:01 X:55 Y:2B P:67 SP:F9 CYC:163 SL:85\nFA1D  18        CLC                             A:01 X:55 Y:2B P:27 SP:F9 CYC:169 SL:85\nFA1E  A9 55     LDA #$55                        A:01 X:55 Y:2B P:26 SP:F9 CYC:175 SL:85\nFA20  60        RTS                             A:55 X:55 Y:2B P:24 SP:F9 CYC:181 SL:85\nDE23  C8        INY                             A:55 X:55 Y:2B P:24 SP:FB CYC:199 SL:85\nDE24  95 00     STA $00,X @ 55 = 01             A:55 X:55 Y:2C P:24 SP:FB CYC:205 SL:85\nDE26  36 00     ROL $00,X @ 55 = 55             A:55 X:55 Y:2C P:24 SP:FB CYC:217 SL:85\nDE28  B5 00     LDA $00,X @ 55 = AA             A:55 X:55 Y:2C P:A4 SP:FB CYC:235 SL:85\nDE2A  20 21 FA  JSR $FA21                       A:AA X:55 Y:2C P:A4 SP:FB CYC:247 SL:85\nFA21  B0 0B     BCS $FA2E                       A:AA X:55 Y:2C P:A4 SP:F9 CYC:265 SL:85\nFA23  F0 09     BEQ $FA2E                       A:AA X:55 Y:2C P:A4 SP:F9 CYC:271 SL:85\nFA25  10 07     BPL $FA2E                       A:AA X:55 Y:2C P:A4 SP:F9 CYC:277 SL:85\nFA27  70 05     BVS $FA2E                       A:AA X:55 Y:2C P:A4 SP:F9 CYC:283 SL:85\nFA29  C9 AA     CMP #$AA                        A:AA X:55 Y:2C P:A4 SP:F9 CYC:289 SL:85\nFA2B  D0 01     BNE $FA2E                       A:AA X:55 Y:2C P:27 SP:F9 CYC:295 SL:85\nFA2D  60        RTS                             A:AA X:55 Y:2C P:27 SP:F9 CYC:301 SL:85\nDE2D  A9 FF     LDA #$FF                        A:AA X:55 Y:2C P:27 SP:FB CYC:319 SL:85\nDE2F  95 00     STA $00,X @ 55 = AA             A:FF X:55 Y:2C P:A5 SP:FB CYC:325 SL:85\nDE31  85 01     STA $01 = FF                    A:FF X:55 Y:2C P:A5 SP:FB CYC:337 SL:85\nDE33  24 01     BIT $01 = FF                    A:FF X:55 Y:2C P:A5 SP:FB CYC:  5 SL:86\nDE35  38        SEC                             A:FF X:55 Y:2C P:E5 SP:FB CYC: 14 SL:86\nDE36  F6 00     INC $00,X @ 55 = FF             A:FF X:55 Y:2C P:E5 SP:FB CYC: 20 SL:86\nDE38  D0 0C     BNE $DE46                       A:FF X:55 Y:2C P:67 SP:FB CYC: 38 SL:86\nDE3A  30 0A     BMI $DE46                       A:FF X:55 Y:2C P:67 SP:FB CYC: 44 SL:86\nDE3C  50 08     BVC $DE46                       A:FF X:55 Y:2C P:67 SP:FB CYC: 50 SL:86\nDE3E  90 06     BCC $DE46                       A:FF X:55 Y:2C P:67 SP:FB CYC: 56 SL:86\nDE40  B5 00     LDA $00,X @ 55 = 00             A:FF X:55 Y:2C P:67 SP:FB CYC: 62 SL:86\nDE42  C9 00     CMP #$00                        A:00 X:55 Y:2C P:67 SP:FB CYC: 74 SL:86\nDE44  F0 04     BEQ $DE4A                       A:00 X:55 Y:2C P:67 SP:FB CYC: 80 SL:86\nDE4A  A9 7F     LDA #$7F                        A:00 X:55 Y:2C P:67 SP:FB CYC: 89 SL:86\nDE4C  95 00     STA $00,X @ 55 = 00             A:7F X:55 Y:2C P:65 SP:FB CYC: 95 SL:86\nDE4E  B8        CLV                             A:7F X:55 Y:2C P:65 SP:FB CYC:107 SL:86\nDE4F  18        CLC                             A:7F X:55 Y:2C P:25 SP:FB CYC:113 SL:86\nDE50  F6 00     INC $00,X @ 55 = 7F             A:7F X:55 Y:2C P:24 SP:FB CYC:119 SL:86\nDE52  F0 0C     BEQ $DE60                       A:7F X:55 Y:2C P:A4 SP:FB CYC:137 SL:86\nDE54  10 0A     BPL $DE60                       A:7F X:55 Y:2C P:A4 SP:FB CYC:143 SL:86\nDE56  70 08     BVS $DE60                       A:7F X:55 Y:2C P:A4 SP:FB CYC:149 SL:86\nDE58  B0 06     BCS $DE60                       A:7F X:55 Y:2C P:A4 SP:FB CYC:155 SL:86\nDE5A  B5 00     LDA $00,X @ 55 = 80             A:7F X:55 Y:2C P:A4 SP:FB CYC:161 SL:86\nDE5C  C9 80     CMP #$80                        A:80 X:55 Y:2C P:A4 SP:FB CYC:173 SL:86\nDE5E  F0 04     BEQ $DE64                       A:80 X:55 Y:2C P:27 SP:FB CYC:179 SL:86\nDE64  A9 00     LDA #$00                        A:80 X:55 Y:2C P:27 SP:FB CYC:188 SL:86\nDE66  95 00     STA $00,X @ 55 = 80             A:00 X:55 Y:2C P:27 SP:FB CYC:194 SL:86\nDE68  24 01     BIT $01 = FF                    A:00 X:55 Y:2C P:27 SP:FB CYC:206 SL:86\nDE6A  38        SEC                             A:00 X:55 Y:2C P:E7 SP:FB CYC:215 SL:86\nDE6B  D6 00     DEC $00,X @ 55 = 00             A:00 X:55 Y:2C P:E7 SP:FB CYC:221 SL:86\nDE6D  F0 0C     BEQ $DE7B                       A:00 X:55 Y:2C P:E5 SP:FB CYC:239 SL:86\nDE6F  10 0A     BPL $DE7B                       A:00 X:55 Y:2C P:E5 SP:FB CYC:245 SL:86\nDE71  50 08     BVC $DE7B                       A:00 X:55 Y:2C P:E5 SP:FB CYC:251 SL:86\nDE73  90 06     BCC $DE7B                       A:00 X:55 Y:2C P:E5 SP:FB CYC:257 SL:86\nDE75  B5 00     LDA $00,X @ 55 = FF             A:00 X:55 Y:2C P:E5 SP:FB CYC:263 SL:86\nDE77  C9 FF     CMP #$FF                        A:FF X:55 Y:2C P:E5 SP:FB CYC:275 SL:86\nDE79  F0 04     BEQ $DE7F                       A:FF X:55 Y:2C P:67 SP:FB CYC:281 SL:86\nDE7F  A9 80     LDA #$80                        A:FF X:55 Y:2C P:67 SP:FB CYC:290 SL:86\nDE81  95 00     STA $00,X @ 55 = FF             A:80 X:55 Y:2C P:E5 SP:FB CYC:296 SL:86\nDE83  B8        CLV                             A:80 X:55 Y:2C P:E5 SP:FB CYC:308 SL:86\nDE84  18        CLC                             A:80 X:55 Y:2C P:A5 SP:FB CYC:314 SL:86\nDE85  D6 00     DEC $00,X @ 55 = 80             A:80 X:55 Y:2C P:A4 SP:FB CYC:320 SL:86\nDE87  F0 0C     BEQ $DE95                       A:80 X:55 Y:2C P:24 SP:FB CYC:338 SL:86\nDE89  30 0A     BMI $DE95                       A:80 X:55 Y:2C P:24 SP:FB CYC:  3 SL:87\nDE8B  70 08     BVS $DE95                       A:80 X:55 Y:2C P:24 SP:FB CYC:  9 SL:87\nDE8D  B0 06     BCS $DE95                       A:80 X:55 Y:2C P:24 SP:FB CYC: 15 SL:87\nDE8F  B5 00     LDA $00,X @ 55 = 7F             A:80 X:55 Y:2C P:24 SP:FB CYC: 21 SL:87\nDE91  C9 7F     CMP #$7F                        A:7F X:55 Y:2C P:24 SP:FB CYC: 33 SL:87\nDE93  F0 04     BEQ $DE99                       A:7F X:55 Y:2C P:27 SP:FB CYC: 39 SL:87\nDE99  A9 01     LDA #$01                        A:7F X:55 Y:2C P:27 SP:FB CYC: 48 SL:87\nDE9B  95 00     STA $00,X @ 55 = 7F             A:01 X:55 Y:2C P:25 SP:FB CYC: 54 SL:87\nDE9D  D6 00     DEC $00,X @ 55 = 01             A:01 X:55 Y:2C P:25 SP:FB CYC: 66 SL:87\nDE9F  F0 04     BEQ $DEA5                       A:01 X:55 Y:2C P:27 SP:FB CYC: 84 SL:87\nDEA5  A9 33     LDA #$33                        A:01 X:55 Y:2C P:27 SP:FB CYC: 93 SL:87\nDEA7  85 78     STA $78 = 7F                    A:33 X:55 Y:2C P:25 SP:FB CYC: 99 SL:87\nDEA9  A9 44     LDA #$44                        A:33 X:55 Y:2C P:25 SP:FB CYC:108 SL:87\nDEAB  A0 78     LDY #$78                        A:44 X:55 Y:2C P:25 SP:FB CYC:114 SL:87\nDEAD  A2 00     LDX #$00                        A:44 X:55 Y:78 P:25 SP:FB CYC:120 SL:87\nDEAF  38        SEC                             A:44 X:00 Y:78 P:27 SP:FB CYC:126 SL:87\nDEB0  24 01     BIT $01 = FF                    A:44 X:00 Y:78 P:27 SP:FB CYC:132 SL:87\nDEB2  B6 00     LDX $00,Y @ 78 = 33             A:44 X:00 Y:78 P:E5 SP:FB CYC:141 SL:87\nDEB4  90 12     BCC $DEC8                       A:44 X:33 Y:78 P:65 SP:FB CYC:153 SL:87\nDEB6  50 10     BVC $DEC8                       A:44 X:33 Y:78 P:65 SP:FB CYC:159 SL:87\nDEB8  30 0E     BMI $DEC8                       A:44 X:33 Y:78 P:65 SP:FB CYC:165 SL:87\nDEBA  F0 0C     BEQ $DEC8                       A:44 X:33 Y:78 P:65 SP:FB CYC:171 SL:87\nDEBC  E0 33     CPX #$33                        A:44 X:33 Y:78 P:65 SP:FB CYC:177 SL:87\nDEBE  D0 08     BNE $DEC8                       A:44 X:33 Y:78 P:67 SP:FB CYC:183 SL:87\nDEC0  C0 78     CPY #$78                        A:44 X:33 Y:78 P:67 SP:FB CYC:189 SL:87\nDEC2  D0 04     BNE $DEC8                       A:44 X:33 Y:78 P:67 SP:FB CYC:195 SL:87\nDEC4  C9 44     CMP #$44                        A:44 X:33 Y:78 P:67 SP:FB CYC:201 SL:87\nDEC6  F0 04     BEQ $DECC                       A:44 X:33 Y:78 P:67 SP:FB CYC:207 SL:87\nDECC  A9 97     LDA #$97                        A:44 X:33 Y:78 P:67 SP:FB CYC:216 SL:87\nDECE  85 7F     STA $7F = 00                    A:97 X:33 Y:78 P:E5 SP:FB CYC:222 SL:87\nDED0  A9 47     LDA #$47                        A:97 X:33 Y:78 P:E5 SP:FB CYC:231 SL:87\nDED2  A0 FF     LDY #$FF                        A:47 X:33 Y:78 P:65 SP:FB CYC:237 SL:87\nDED4  A2 00     LDX #$00                        A:47 X:33 Y:FF P:E5 SP:FB CYC:243 SL:87\nDED6  18        CLC                             A:47 X:00 Y:FF P:67 SP:FB CYC:249 SL:87\nDED7  B8        CLV                             A:47 X:00 Y:FF P:66 SP:FB CYC:255 SL:87\nDED8  B6 80     LDX $80,Y @ 7F = 97             A:47 X:00 Y:FF P:26 SP:FB CYC:261 SL:87\nDEDA  B0 12     BCS $DEEE                       A:47 X:97 Y:FF P:A4 SP:FB CYC:273 SL:87\nDEDC  70 10     BVS $DEEE                       A:47 X:97 Y:FF P:A4 SP:FB CYC:279 SL:87\nDEDE  10 0E     BPL $DEEE                       A:47 X:97 Y:FF P:A4 SP:FB CYC:285 SL:87\nDEE0  F0 0C     BEQ $DEEE                       A:47 X:97 Y:FF P:A4 SP:FB CYC:291 SL:87\nDEE2  E0 97     CPX #$97                        A:47 X:97 Y:FF P:A4 SP:FB CYC:297 SL:87\nDEE4  D0 08     BNE $DEEE                       A:47 X:97 Y:FF P:27 SP:FB CYC:303 SL:87\nDEE6  C0 FF     CPY #$FF                        A:47 X:97 Y:FF P:27 SP:FB CYC:309 SL:87\nDEE8  D0 04     BNE $DEEE                       A:47 X:97 Y:FF P:27 SP:FB CYC:315 SL:87\nDEEA  C9 47     CMP #$47                        A:47 X:97 Y:FF P:27 SP:FB CYC:321 SL:87\nDEEC  F0 04     BEQ $DEF2                       A:47 X:97 Y:FF P:27 SP:FB CYC:327 SL:87\nDEF2  A9 00     LDA #$00                        A:47 X:97 Y:FF P:27 SP:FB CYC:336 SL:87\nDEF4  85 7F     STA $7F = 97                    A:00 X:97 Y:FF P:27 SP:FB CYC:  1 SL:88\nDEF6  A9 47     LDA #$47                        A:00 X:97 Y:FF P:27 SP:FB CYC: 10 SL:88\nDEF8  A0 FF     LDY #$FF                        A:47 X:97 Y:FF P:25 SP:FB CYC: 16 SL:88\nDEFA  A2 69     LDX #$69                        A:47 X:97 Y:FF P:A5 SP:FB CYC: 22 SL:88\nDEFC  18        CLC                             A:47 X:69 Y:FF P:25 SP:FB CYC: 28 SL:88\nDEFD  B8        CLV                             A:47 X:69 Y:FF P:24 SP:FB CYC: 34 SL:88\nDEFE  96 80     STX $80,Y @ 7F = 00             A:47 X:69 Y:FF P:24 SP:FB CYC: 40 SL:88\nDF00  B0 18     BCS $DF1A                       A:47 X:69 Y:FF P:24 SP:FB CYC: 52 SL:88\nDF02  70 16     BVS $DF1A                       A:47 X:69 Y:FF P:24 SP:FB CYC: 58 SL:88\nDF04  30 14     BMI $DF1A                       A:47 X:69 Y:FF P:24 SP:FB CYC: 64 SL:88\nDF06  F0 12     BEQ $DF1A                       A:47 X:69 Y:FF P:24 SP:FB CYC: 70 SL:88\nDF08  E0 69     CPX #$69                        A:47 X:69 Y:FF P:24 SP:FB CYC: 76 SL:88\nDF0A  D0 0E     BNE $DF1A                       A:47 X:69 Y:FF P:27 SP:FB CYC: 82 SL:88\nDF0C  C0 FF     CPY #$FF                        A:47 X:69 Y:FF P:27 SP:FB CYC: 88 SL:88\nDF0E  D0 0A     BNE $DF1A                       A:47 X:69 Y:FF P:27 SP:FB CYC: 94 SL:88\nDF10  C9 47     CMP #$47                        A:47 X:69 Y:FF P:27 SP:FB CYC:100 SL:88\nDF12  D0 06     BNE $DF1A                       A:47 X:69 Y:FF P:27 SP:FB CYC:106 SL:88\nDF14  A5 7F     LDA $7F = 69                    A:47 X:69 Y:FF P:27 SP:FB CYC:112 SL:88\nDF16  C9 69     CMP #$69                        A:69 X:69 Y:FF P:25 SP:FB CYC:121 SL:88\nDF18  F0 04     BEQ $DF1E                       A:69 X:69 Y:FF P:27 SP:FB CYC:127 SL:88\nDF1E  A9 F5     LDA #$F5                        A:69 X:69 Y:FF P:27 SP:FB CYC:136 SL:88\nDF20  85 4F     STA $4F = 00                    A:F5 X:69 Y:FF P:A5 SP:FB CYC:142 SL:88\nDF22  A9 47     LDA #$47                        A:F5 X:69 Y:FF P:A5 SP:FB CYC:151 SL:88\nDF24  A0 4F     LDY #$4F                        A:47 X:69 Y:FF P:25 SP:FB CYC:157 SL:88\nDF26  24 01     BIT $01 = FF                    A:47 X:69 Y:4F P:25 SP:FB CYC:163 SL:88\nDF28  A2 00     LDX #$00                        A:47 X:69 Y:4F P:E5 SP:FB CYC:172 SL:88\nDF2A  38        SEC                             A:47 X:00 Y:4F P:67 SP:FB CYC:178 SL:88\nDF2B  96 00     STX $00,Y @ 4F = F5             A:47 X:00 Y:4F P:67 SP:FB CYC:184 SL:88\nDF2D  90 16     BCC $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:196 SL:88\nDF2F  50 14     BVC $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:202 SL:88\nDF31  30 12     BMI $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:208 SL:88\nDF33  D0 10     BNE $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:214 SL:88\nDF35  E0 00     CPX #$00                        A:47 X:00 Y:4F P:67 SP:FB CYC:220 SL:88\nDF37  D0 0C     BNE $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:226 SL:88\nDF39  C0 4F     CPY #$4F                        A:47 X:00 Y:4F P:67 SP:FB CYC:232 SL:88\nDF3B  D0 08     BNE $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:238 SL:88\nDF3D  C9 47     CMP #$47                        A:47 X:00 Y:4F P:67 SP:FB CYC:244 SL:88\nDF3F  D0 04     BNE $DF45                       A:47 X:00 Y:4F P:67 SP:FB CYC:250 SL:88\nDF41  A5 4F     LDA $4F = 00                    A:47 X:00 Y:4F P:67 SP:FB CYC:256 SL:88\nDF43  F0 04     BEQ $DF49                       A:00 X:00 Y:4F P:67 SP:FB CYC:265 SL:88\nDF49  60        RTS                             A:00 X:00 Y:4F P:67 SP:FB CYC:274 SL:88\nC62C  20 AA E1  JSR $E1AA                       A:00 X:00 Y:4F P:67 SP:FD CYC:292 SL:88\nE1AA  A9 FF     LDA #$FF                        A:00 X:00 Y:4F P:67 SP:FB CYC:310 SL:88\nE1AC  85 01     STA $01 = FF                    A:FF X:00 Y:4F P:E5 SP:FB CYC:316 SL:88\nE1AE  A9 AA     LDA #$AA                        A:FF X:00 Y:4F P:E5 SP:FB CYC:325 SL:88\nE1B0  8D 33 06  STA $0633 = 00                  A:AA X:00 Y:4F P:E5 SP:FB CYC:331 SL:88\nE1B3  A9 BB     LDA #$BB                        A:AA X:00 Y:4F P:E5 SP:FB CYC:  2 SL:89\nE1B5  8D 89 06  STA $0689 = 00                  A:BB X:00 Y:4F P:E5 SP:FB CYC:  8 SL:89\nE1B8  A2 00     LDX #$00                        A:BB X:00 Y:4F P:E5 SP:FB CYC: 20 SL:89\nE1BA  A9 66     LDA #$66                        A:BB X:00 Y:4F P:67 SP:FB CYC: 26 SL:89\nE1BC  24 01     BIT $01 = FF                    A:66 X:00 Y:4F P:65 SP:FB CYC: 32 SL:89\nE1BE  38        SEC                             A:66 X:00 Y:4F P:E5 SP:FB CYC: 41 SL:89\nE1BF  A0 00     LDY #$00                        A:66 X:00 Y:4F P:E5 SP:FB CYC: 47 SL:89\nE1C1  BC 33 06  LDY $0633,X @ 0633 = AA         A:66 X:00 Y:00 P:67 SP:FB CYC: 53 SL:89\nE1C4  10 12     BPL $E1D8                       A:66 X:00 Y:AA P:E5 SP:FB CYC: 65 SL:89\nE1C6  F0 10     BEQ $E1D8                       A:66 X:00 Y:AA P:E5 SP:FB CYC: 71 SL:89\nE1C8  50 0E     BVC $E1D8                       A:66 X:00 Y:AA P:E5 SP:FB CYC: 77 SL:89\nE1CA  90 0C     BCC $E1D8                       A:66 X:00 Y:AA P:E5 SP:FB CYC: 83 SL:89\nE1CC  C9 66     CMP #$66                        A:66 X:00 Y:AA P:E5 SP:FB CYC: 89 SL:89\nE1CE  D0 08     BNE $E1D8                       A:66 X:00 Y:AA P:67 SP:FB CYC: 95 SL:89\nE1D0  E0 00     CPX #$00                        A:66 X:00 Y:AA P:67 SP:FB CYC:101 SL:89\nE1D2  D0 04     BNE $E1D8                       A:66 X:00 Y:AA P:67 SP:FB CYC:107 SL:89\nE1D4  C0 AA     CPY #$AA                        A:66 X:00 Y:AA P:67 SP:FB CYC:113 SL:89\nE1D6  F0 04     BEQ $E1DC                       A:66 X:00 Y:AA P:67 SP:FB CYC:119 SL:89\nE1DC  A2 8A     LDX #$8A                        A:66 X:00 Y:AA P:67 SP:FB CYC:128 SL:89\nE1DE  A9 66     LDA #$66                        A:66 X:8A Y:AA P:E5 SP:FB CYC:134 SL:89\nE1E0  B8        CLV                             A:66 X:8A Y:AA P:65 SP:FB CYC:140 SL:89\nE1E1  18        CLC                             A:66 X:8A Y:AA P:25 SP:FB CYC:146 SL:89\nE1E2  A0 00     LDY #$00                        A:66 X:8A Y:AA P:24 SP:FB CYC:152 SL:89\nE1E4  BC FF 05  LDY $05FF,X @ 0689 = BB         A:66 X:8A Y:00 P:26 SP:FB CYC:158 SL:89\nE1E7  10 12     BPL $E1FB                       A:66 X:8A Y:BB P:A4 SP:FB CYC:173 SL:89\nE1E9  F0 10     BEQ $E1FB                       A:66 X:8A Y:BB P:A4 SP:FB CYC:179 SL:89\nE1EB  70 0E     BVS $E1FB                       A:66 X:8A Y:BB P:A4 SP:FB CYC:185 SL:89\nE1ED  B0 0C     BCS $E1FB                       A:66 X:8A Y:BB P:A4 SP:FB CYC:191 SL:89\nE1EF  C0 BB     CPY #$BB                        A:66 X:8A Y:BB P:A4 SP:FB CYC:197 SL:89\nE1F1  D0 08     BNE $E1FB                       A:66 X:8A Y:BB P:27 SP:FB CYC:203 SL:89\nE1F3  C9 66     CMP #$66                        A:66 X:8A Y:BB P:27 SP:FB CYC:209 SL:89\nE1F5  D0 04     BNE $E1FB                       A:66 X:8A Y:BB P:27 SP:FB CYC:215 SL:89\nE1F7  E0 8A     CPX #$8A                        A:66 X:8A Y:BB P:27 SP:FB CYC:221 SL:89\nE1F9  F0 04     BEQ $E1FF                       A:66 X:8A Y:BB P:27 SP:FB CYC:227 SL:89\nE1FF  A0 53     LDY #$53                        A:66 X:8A Y:BB P:27 SP:FB CYC:236 SL:89\nE201  A9 AA     LDA #$AA                        A:66 X:8A Y:53 P:25 SP:FB CYC:242 SL:89\nE203  A2 78     LDX #$78                        A:AA X:8A Y:53 P:A5 SP:FB CYC:248 SL:89\nE205  8D 78 06  STA $0678 = 00                  A:AA X:78 Y:53 P:25 SP:FB CYC:254 SL:89\nE208  20 B6 F7  JSR $F7B6                       A:AA X:78 Y:53 P:25 SP:FB CYC:266 SL:89\nF7B6  18        CLC                             A:AA X:78 Y:53 P:25 SP:F9 CYC:284 SL:89\nF7B7  A9 FF     LDA #$FF                        A:AA X:78 Y:53 P:24 SP:F9 CYC:290 SL:89\nF7B9  85 01     STA $01 = FF                    A:FF X:78 Y:53 P:A4 SP:F9 CYC:296 SL:89\nF7BB  24 01     BIT $01 = FF                    A:FF X:78 Y:53 P:A4 SP:F9 CYC:305 SL:89\nF7BD  A9 55     LDA #$55                        A:FF X:78 Y:53 P:E4 SP:F9 CYC:314 SL:89\nF7BF  60        RTS                             A:55 X:78 Y:53 P:64 SP:F9 CYC:320 SL:89\nE20B  1D 00 06  ORA $0600,X @ 0678 = AA         A:55 X:78 Y:53 P:64 SP:FB CYC:338 SL:89\nE20E  20 C0 F7  JSR $F7C0                       A:FF X:78 Y:53 P:E4 SP:FB CYC:  9 SL:90\nF7C0  B0 09     BCS $F7CB                       A:FF X:78 Y:53 P:E4 SP:F9 CYC: 27 SL:90\nF7C2  10 07     BPL $F7CB                       A:FF X:78 Y:53 P:E4 SP:F9 CYC: 33 SL:90\nF7C4  C9 FF     CMP #$FF                        A:FF X:78 Y:53 P:E4 SP:F9 CYC: 39 SL:90\nF7C6  D0 03     BNE $F7CB                       A:FF X:78 Y:53 P:67 SP:F9 CYC: 45 SL:90\nF7C8  50 01     BVC $F7CB                       A:FF X:78 Y:53 P:67 SP:F9 CYC: 51 SL:90\nF7CA  60        RTS                             A:FF X:78 Y:53 P:67 SP:F9 CYC: 57 SL:90\nE211  C8        INY                             A:FF X:78 Y:53 P:67 SP:FB CYC: 75 SL:90\nE212  A9 00     LDA #$00                        A:FF X:78 Y:54 P:65 SP:FB CYC: 81 SL:90\nE214  8D 78 06  STA $0678 = AA                  A:00 X:78 Y:54 P:67 SP:FB CYC: 87 SL:90\nE217  20 CE F7  JSR $F7CE                       A:00 X:78 Y:54 P:67 SP:FB CYC: 99 SL:90\nF7CE  38        SEC                             A:00 X:78 Y:54 P:67 SP:F9 CYC:117 SL:90\nF7CF  B8        CLV                             A:00 X:78 Y:54 P:67 SP:F9 CYC:123 SL:90\nF7D0  A9 00     LDA #$00                        A:00 X:78 Y:54 P:27 SP:F9 CYC:129 SL:90\nF7D2  60        RTS                             A:00 X:78 Y:54 P:27 SP:F9 CYC:135 SL:90\nE21A  1D 00 06  ORA $0600,X @ 0678 = 00         A:00 X:78 Y:54 P:27 SP:FB CYC:153 SL:90\nE21D  20 D3 F7  JSR $F7D3                       A:00 X:78 Y:54 P:27 SP:FB CYC:165 SL:90\nF7D3  D0 07     BNE $F7DC                       A:00 X:78 Y:54 P:27 SP:F9 CYC:183 SL:90\nF7D5  70 05     BVS $F7DC                       A:00 X:78 Y:54 P:27 SP:F9 CYC:189 SL:90\nF7D7  90 03     BCC $F7DC                       A:00 X:78 Y:54 P:27 SP:F9 CYC:195 SL:90\nF7D9  30 01     BMI $F7DC                       A:00 X:78 Y:54 P:27 SP:F9 CYC:201 SL:90\nF7DB  60        RTS                             A:00 X:78 Y:54 P:27 SP:F9 CYC:207 SL:90\nE220  C8        INY                             A:00 X:78 Y:54 P:27 SP:FB CYC:225 SL:90\nE221  A9 AA     LDA #$AA                        A:00 X:78 Y:55 P:25 SP:FB CYC:231 SL:90\nE223  8D 78 06  STA $0678 = 00                  A:AA X:78 Y:55 P:A5 SP:FB CYC:237 SL:90\nE226  20 DF F7  JSR $F7DF                       A:AA X:78 Y:55 P:A5 SP:FB CYC:249 SL:90\nF7DF  18        CLC                             A:AA X:78 Y:55 P:A5 SP:F9 CYC:267 SL:90\nF7E0  24 01     BIT $01 = FF                    A:AA X:78 Y:55 P:A4 SP:F9 CYC:273 SL:90\nF7E2  A9 55     LDA #$55                        A:AA X:78 Y:55 P:E4 SP:F9 CYC:282 SL:90\nF7E4  60        RTS                             A:55 X:78 Y:55 P:64 SP:F9 CYC:288 SL:90\nE229  3D 00 06  AND $0600,X @ 0678 = AA         A:55 X:78 Y:55 P:64 SP:FB CYC:306 SL:90\nE22C  20 E5 F7  JSR $F7E5                       A:00 X:78 Y:55 P:66 SP:FB CYC:318 SL:90\nF7E5  D0 07     BNE $F7EE                       A:00 X:78 Y:55 P:66 SP:F9 CYC:336 SL:90\nF7E7  50 05     BVC $F7EE                       A:00 X:78 Y:55 P:66 SP:F9 CYC:  1 SL:91\nF7E9  B0 03     BCS $F7EE                       A:00 X:78 Y:55 P:66 SP:F9 CYC:  7 SL:91\nF7EB  30 01     BMI $F7EE                       A:00 X:78 Y:55 P:66 SP:F9 CYC: 13 SL:91\nF7ED  60        RTS                             A:00 X:78 Y:55 P:66 SP:F9 CYC: 19 SL:91\nE22F  C8        INY                             A:00 X:78 Y:55 P:66 SP:FB CYC: 37 SL:91\nE230  A9 EF     LDA #$EF                        A:00 X:78 Y:56 P:64 SP:FB CYC: 43 SL:91\nE232  8D 78 06  STA $0678 = AA                  A:EF X:78 Y:56 P:E4 SP:FB CYC: 49 SL:91\nE235  20 F1 F7  JSR $F7F1                       A:EF X:78 Y:56 P:E4 SP:FB CYC: 61 SL:91\nF7F1  38        SEC                             A:EF X:78 Y:56 P:E4 SP:F9 CYC: 79 SL:91\nF7F2  B8        CLV                             A:EF X:78 Y:56 P:E5 SP:F9 CYC: 85 SL:91\nF7F3  A9 F8     LDA #$F8                        A:EF X:78 Y:56 P:A5 SP:F9 CYC: 91 SL:91\nF7F5  60        RTS                             A:F8 X:78 Y:56 P:A5 SP:F9 CYC: 97 SL:91\nE238  3D 00 06  AND $0600,X @ 0678 = EF         A:F8 X:78 Y:56 P:A5 SP:FB CYC:115 SL:91\nE23B  20 F6 F7  JSR $F7F6                       A:E8 X:78 Y:56 P:A5 SP:FB CYC:127 SL:91\nF7F6  90 09     BCC $F801                       A:E8 X:78 Y:56 P:A5 SP:F9 CYC:145 SL:91\nF7F8  10 07     BPL $F801                       A:E8 X:78 Y:56 P:A5 SP:F9 CYC:151 SL:91\nF7FA  C9 E8     CMP #$E8                        A:E8 X:78 Y:56 P:A5 SP:F9 CYC:157 SL:91\nF7FC  D0 03     BNE $F801                       A:E8 X:78 Y:56 P:27 SP:F9 CYC:163 SL:91\nF7FE  70 01     BVS $F801                       A:E8 X:78 Y:56 P:27 SP:F9 CYC:169 SL:91\nF800  60        RTS                             A:E8 X:78 Y:56 P:27 SP:F9 CYC:175 SL:91\nE23E  C8        INY                             A:E8 X:78 Y:56 P:27 SP:FB CYC:193 SL:91\nE23F  A9 AA     LDA #$AA                        A:E8 X:78 Y:57 P:25 SP:FB CYC:199 SL:91\nE241  8D 78 06  STA $0678 = EF                  A:AA X:78 Y:57 P:A5 SP:FB CYC:205 SL:91\nE244  20 04 F8  JSR $F804                       A:AA X:78 Y:57 P:A5 SP:FB CYC:217 SL:91\nF804  18        CLC                             A:AA X:78 Y:57 P:A5 SP:F9 CYC:235 SL:91\nF805  24 01     BIT $01 = FF                    A:AA X:78 Y:57 P:A4 SP:F9 CYC:241 SL:91\nF807  A9 5F     LDA #$5F                        A:AA X:78 Y:57 P:E4 SP:F9 CYC:250 SL:91\nF809  60        RTS                             A:5F X:78 Y:57 P:64 SP:F9 CYC:256 SL:91\nE247  5D 00 06  EOR $0600,X @ 0678 = AA         A:5F X:78 Y:57 P:64 SP:FB CYC:274 SL:91\nE24A  20 0A F8  JSR $F80A                       A:F5 X:78 Y:57 P:E4 SP:FB CYC:286 SL:91\nF80A  B0 09     BCS $F815                       A:F5 X:78 Y:57 P:E4 SP:F9 CYC:304 SL:91\nF80C  10 07     BPL $F815                       A:F5 X:78 Y:57 P:E4 SP:F9 CYC:310 SL:91\nF80E  C9 F5     CMP #$F5                        A:F5 X:78 Y:57 P:E4 SP:F9 CYC:316 SL:91\nF810  D0 03     BNE $F815                       A:F5 X:78 Y:57 P:67 SP:F9 CYC:322 SL:91\nF812  50 01     BVC $F815                       A:F5 X:78 Y:57 P:67 SP:F9 CYC:328 SL:91\nF814  60        RTS                             A:F5 X:78 Y:57 P:67 SP:F9 CYC:334 SL:91\nE24D  C8        INY                             A:F5 X:78 Y:57 P:67 SP:FB CYC: 11 SL:92\nE24E  A9 70     LDA #$70                        A:F5 X:78 Y:58 P:65 SP:FB CYC: 17 SL:92\nE250  8D 78 06  STA $0678 = AA                  A:70 X:78 Y:58 P:65 SP:FB CYC: 23 SL:92\nE253  20 18 F8  JSR $F818                       A:70 X:78 Y:58 P:65 SP:FB CYC: 35 SL:92\nF818  38        SEC                             A:70 X:78 Y:58 P:65 SP:F9 CYC: 53 SL:92\nF819  B8        CLV                             A:70 X:78 Y:58 P:65 SP:F9 CYC: 59 SL:92\nF81A  A9 70     LDA #$70                        A:70 X:78 Y:58 P:25 SP:F9 CYC: 65 SL:92\nF81C  60        RTS                             A:70 X:78 Y:58 P:25 SP:F9 CYC: 71 SL:92\nE256  5D 00 06  EOR $0600,X @ 0678 = 70         A:70 X:78 Y:58 P:25 SP:FB CYC: 89 SL:92\nE259  20 1D F8  JSR $F81D                       A:00 X:78 Y:58 P:27 SP:FB CYC:101 SL:92\nF81D  D0 07     BNE $F826                       A:00 X:78 Y:58 P:27 SP:F9 CYC:119 SL:92\nF81F  70 05     BVS $F826                       A:00 X:78 Y:58 P:27 SP:F9 CYC:125 SL:92\nF821  90 03     BCC $F826                       A:00 X:78 Y:58 P:27 SP:F9 CYC:131 SL:92\nF823  30 01     BMI $F826                       A:00 X:78 Y:58 P:27 SP:F9 CYC:137 SL:92\nF825  60        RTS                             A:00 X:78 Y:58 P:27 SP:F9 CYC:143 SL:92\nE25C  C8        INY                             A:00 X:78 Y:58 P:27 SP:FB CYC:161 SL:92\nE25D  A9 69     LDA #$69                        A:00 X:78 Y:59 P:25 SP:FB CYC:167 SL:92\nE25F  8D 78 06  STA $0678 = 70                  A:69 X:78 Y:59 P:25 SP:FB CYC:173 SL:92\nE262  20 29 F8  JSR $F829                       A:69 X:78 Y:59 P:25 SP:FB CYC:185 SL:92\nF829  18        CLC                             A:69 X:78 Y:59 P:25 SP:F9 CYC:203 SL:92\nF82A  24 01     BIT $01 = FF                    A:69 X:78 Y:59 P:24 SP:F9 CYC:209 SL:92\nF82C  A9 00     LDA #$00                        A:69 X:78 Y:59 P:E4 SP:F9 CYC:218 SL:92\nF82E  60        RTS                             A:00 X:78 Y:59 P:66 SP:F9 CYC:224 SL:92\nE265  7D 00 06  ADC $0600,X @ 0678 = 69         A:00 X:78 Y:59 P:66 SP:FB CYC:242 SL:92\nE268  20 2F F8  JSR $F82F                       A:69 X:78 Y:59 P:24 SP:FB CYC:254 SL:92\nF82F  30 09     BMI $F83A                       A:69 X:78 Y:59 P:24 SP:F9 CYC:272 SL:92\nF831  B0 07     BCS $F83A                       A:69 X:78 Y:59 P:24 SP:F9 CYC:278 SL:92\nF833  C9 69     CMP #$69                        A:69 X:78 Y:59 P:24 SP:F9 CYC:284 SL:92\nF835  D0 03     BNE $F83A                       A:69 X:78 Y:59 P:27 SP:F9 CYC:290 SL:92\nF837  70 01     BVS $F83A                       A:69 X:78 Y:59 P:27 SP:F9 CYC:296 SL:92\nF839  60        RTS                             A:69 X:78 Y:59 P:27 SP:F9 CYC:302 SL:92\nE26B  C8        INY                             A:69 X:78 Y:59 P:27 SP:FB CYC:320 SL:92\nE26C  20 3D F8  JSR $F83D                       A:69 X:78 Y:5A P:25 SP:FB CYC:326 SL:92\nF83D  38        SEC                             A:69 X:78 Y:5A P:25 SP:F9 CYC:  3 SL:93\nF83E  24 01     BIT $01 = FF                    A:69 X:78 Y:5A P:25 SP:F9 CYC:  9 SL:93\nF840  A9 00     LDA #$00                        A:69 X:78 Y:5A P:E5 SP:F9 CYC: 18 SL:93\nF842  60        RTS                             A:00 X:78 Y:5A P:67 SP:F9 CYC: 24 SL:93\nE26F  7D 00 06  ADC $0600,X @ 0678 = 69         A:00 X:78 Y:5A P:67 SP:FB CYC: 42 SL:93\nE272  20 43 F8  JSR $F843                       A:6A X:78 Y:5A P:24 SP:FB CYC: 54 SL:93\nF843  30 09     BMI $F84E                       A:6A X:78 Y:5A P:24 SP:F9 CYC: 72 SL:93\nF845  B0 07     BCS $F84E                       A:6A X:78 Y:5A P:24 SP:F9 CYC: 78 SL:93\nF847  C9 6A     CMP #$6A                        A:6A X:78 Y:5A P:24 SP:F9 CYC: 84 SL:93\nF849  D0 03     BNE $F84E                       A:6A X:78 Y:5A P:27 SP:F9 CYC: 90 SL:93\nF84B  70 01     BVS $F84E                       A:6A X:78 Y:5A P:27 SP:F9 CYC: 96 SL:93\nF84D  60        RTS                             A:6A X:78 Y:5A P:27 SP:F9 CYC:102 SL:93\nE275  C8        INY                             A:6A X:78 Y:5A P:27 SP:FB CYC:120 SL:93\nE276  A9 7F     LDA #$7F                        A:6A X:78 Y:5B P:25 SP:FB CYC:126 SL:93\nE278  8D 78 06  STA $0678 = 69                  A:7F X:78 Y:5B P:25 SP:FB CYC:132 SL:93\nE27B  20 51 F8  JSR $F851                       A:7F X:78 Y:5B P:25 SP:FB CYC:144 SL:93\nF851  38        SEC                             A:7F X:78 Y:5B P:25 SP:F9 CYC:162 SL:93\nF852  B8        CLV                             A:7F X:78 Y:5B P:25 SP:F9 CYC:168 SL:93\nF853  A9 7F     LDA #$7F                        A:7F X:78 Y:5B P:25 SP:F9 CYC:174 SL:93\nF855  60        RTS                             A:7F X:78 Y:5B P:25 SP:F9 CYC:180 SL:93\nE27E  7D 00 06  ADC $0600,X @ 0678 = 7F         A:7F X:78 Y:5B P:25 SP:FB CYC:198 SL:93\nE281  20 56 F8  JSR $F856                       A:FF X:78 Y:5B P:E4 SP:FB CYC:210 SL:93\nF856  10 09     BPL $F861                       A:FF X:78 Y:5B P:E4 SP:F9 CYC:228 SL:93\nF858  B0 07     BCS $F861                       A:FF X:78 Y:5B P:E4 SP:F9 CYC:234 SL:93\nF85A  C9 FF     CMP #$FF                        A:FF X:78 Y:5B P:E4 SP:F9 CYC:240 SL:93\nF85C  D0 03     BNE $F861                       A:FF X:78 Y:5B P:67 SP:F9 CYC:246 SL:93\nF85E  50 01     BVC $F861                       A:FF X:78 Y:5B P:67 SP:F9 CYC:252 SL:93\nF860  60        RTS                             A:FF X:78 Y:5B P:67 SP:F9 CYC:258 SL:93\nE284  C8        INY                             A:FF X:78 Y:5B P:67 SP:FB CYC:276 SL:93\nE285  A9 80     LDA #$80                        A:FF X:78 Y:5C P:65 SP:FB CYC:282 SL:93\nE287  8D 78 06  STA $0678 = 7F                  A:80 X:78 Y:5C P:E5 SP:FB CYC:288 SL:93\nE28A  20 64 F8  JSR $F864                       A:80 X:78 Y:5C P:E5 SP:FB CYC:300 SL:93\nF864  18        CLC                             A:80 X:78 Y:5C P:E5 SP:F9 CYC:318 SL:93\nF865  24 01     BIT $01 = FF                    A:80 X:78 Y:5C P:E4 SP:F9 CYC:324 SL:93\nF867  A9 7F     LDA #$7F                        A:80 X:78 Y:5C P:E4 SP:F9 CYC:333 SL:93\nF869  60        RTS                             A:7F X:78 Y:5C P:64 SP:F9 CYC:339 SL:93\nE28D  7D 00 06  ADC $0600,X @ 0678 = 80         A:7F X:78 Y:5C P:64 SP:FB CYC: 16 SL:94\nE290  20 6A F8  JSR $F86A                       A:FF X:78 Y:5C P:A4 SP:FB CYC: 28 SL:94\nF86A  10 09     BPL $F875                       A:FF X:78 Y:5C P:A4 SP:F9 CYC: 46 SL:94\nF86C  B0 07     BCS $F875                       A:FF X:78 Y:5C P:A4 SP:F9 CYC: 52 SL:94\nF86E  C9 FF     CMP #$FF                        A:FF X:78 Y:5C P:A4 SP:F9 CYC: 58 SL:94\nF870  D0 03     BNE $F875                       A:FF X:78 Y:5C P:27 SP:F9 CYC: 64 SL:94\nF872  70 01     BVS $F875                       A:FF X:78 Y:5C P:27 SP:F9 CYC: 70 SL:94\nF874  60        RTS                             A:FF X:78 Y:5C P:27 SP:F9 CYC: 76 SL:94\nE293  C8        INY                             A:FF X:78 Y:5C P:27 SP:FB CYC: 94 SL:94\nE294  20 78 F8  JSR $F878                       A:FF X:78 Y:5D P:25 SP:FB CYC:100 SL:94\nF878  38        SEC                             A:FF X:78 Y:5D P:25 SP:F9 CYC:118 SL:94\nF879  B8        CLV                             A:FF X:78 Y:5D P:25 SP:F9 CYC:124 SL:94\nF87A  A9 7F     LDA #$7F                        A:FF X:78 Y:5D P:25 SP:F9 CYC:130 SL:94\nF87C  60        RTS                             A:7F X:78 Y:5D P:25 SP:F9 CYC:136 SL:94\nE297  7D 00 06  ADC $0600,X @ 0678 = 80         A:7F X:78 Y:5D P:25 SP:FB CYC:154 SL:94\nE29A  20 7D F8  JSR $F87D                       A:00 X:78 Y:5D P:27 SP:FB CYC:166 SL:94\nF87D  D0 07     BNE $F886                       A:00 X:78 Y:5D P:27 SP:F9 CYC:184 SL:94\nF87F  30 05     BMI $F886                       A:00 X:78 Y:5D P:27 SP:F9 CYC:190 SL:94\nF881  70 03     BVS $F886                       A:00 X:78 Y:5D P:27 SP:F9 CYC:196 SL:94\nF883  90 01     BCC $F886                       A:00 X:78 Y:5D P:27 SP:F9 CYC:202 SL:94\nF885  60        RTS                             A:00 X:78 Y:5D P:27 SP:F9 CYC:208 SL:94\nE29D  C8        INY                             A:00 X:78 Y:5D P:27 SP:FB CYC:226 SL:94\nE29E  A9 40     LDA #$40                        A:00 X:78 Y:5E P:25 SP:FB CYC:232 SL:94\nE2A0  8D 78 06  STA $0678 = 80                  A:40 X:78 Y:5E P:25 SP:FB CYC:238 SL:94\nE2A3  20 89 F8  JSR $F889                       A:40 X:78 Y:5E P:25 SP:FB CYC:250 SL:94\nF889  24 01     BIT $01 = FF                    A:40 X:78 Y:5E P:25 SP:F9 CYC:268 SL:94\nF88B  A9 40     LDA #$40                        A:40 X:78 Y:5E P:E5 SP:F9 CYC:277 SL:94\nF88D  60        RTS                             A:40 X:78 Y:5E P:65 SP:F9 CYC:283 SL:94\nE2A6  DD 00 06  CMP $0600,X @ 0678 = 40         A:40 X:78 Y:5E P:65 SP:FB CYC:301 SL:94\nE2A9  20 8E F8  JSR $F88E                       A:40 X:78 Y:5E P:67 SP:FB CYC:313 SL:94\nF88E  30 07     BMI $F897                       A:40 X:78 Y:5E P:67 SP:F9 CYC:331 SL:94\nF890  90 05     BCC $F897                       A:40 X:78 Y:5E P:67 SP:F9 CYC:337 SL:94\nF892  D0 03     BNE $F897                       A:40 X:78 Y:5E P:67 SP:F9 CYC:  2 SL:95\nF894  50 01     BVC $F897                       A:40 X:78 Y:5E P:67 SP:F9 CYC:  8 SL:95\nF896  60        RTS                             A:40 X:78 Y:5E P:67 SP:F9 CYC: 14 SL:95\nE2AC  C8        INY                             A:40 X:78 Y:5E P:67 SP:FB CYC: 32 SL:95\nE2AD  48        PHA                             A:40 X:78 Y:5F P:65 SP:FB CYC: 38 SL:95\nE2AE  A9 3F     LDA #$3F                        A:40 X:78 Y:5F P:65 SP:FA CYC: 47 SL:95\nE2B0  8D 78 06  STA $0678 = 40                  A:3F X:78 Y:5F P:65 SP:FA CYC: 53 SL:95\nE2B3  68        PLA                             A:3F X:78 Y:5F P:65 SP:FA CYC: 65 SL:95\nE2B4  20 9A F8  JSR $F89A                       A:40 X:78 Y:5F P:65 SP:FB CYC: 77 SL:95\nF89A  B8        CLV                             A:40 X:78 Y:5F P:65 SP:F9 CYC: 95 SL:95\nF89B  60        RTS                             A:40 X:78 Y:5F P:25 SP:F9 CYC:101 SL:95\nE2B7  DD 00 06  CMP $0600,X @ 0678 = 3F         A:40 X:78 Y:5F P:25 SP:FB CYC:119 SL:95\nE2BA  20 9C F8  JSR $F89C                       A:40 X:78 Y:5F P:25 SP:FB CYC:131 SL:95\nF89C  F0 07     BEQ $F8A5                       A:40 X:78 Y:5F P:25 SP:F9 CYC:149 SL:95\nF89E  30 05     BMI $F8A5                       A:40 X:78 Y:5F P:25 SP:F9 CYC:155 SL:95\nF8A0  90 03     BCC $F8A5                       A:40 X:78 Y:5F P:25 SP:F9 CYC:161 SL:95\nF8A2  70 01     BVS $F8A5                       A:40 X:78 Y:5F P:25 SP:F9 CYC:167 SL:95\nF8A4  60        RTS                             A:40 X:78 Y:5F P:25 SP:F9 CYC:173 SL:95\nE2BD  C8        INY                             A:40 X:78 Y:5F P:25 SP:FB CYC:191 SL:95\nE2BE  48        PHA                             A:40 X:78 Y:60 P:25 SP:FB CYC:197 SL:95\nE2BF  A9 41     LDA #$41                        A:40 X:78 Y:60 P:25 SP:FA CYC:206 SL:95\nE2C1  8D 78 06  STA $0678 = 3F                  A:41 X:78 Y:60 P:25 SP:FA CYC:212 SL:95\nE2C4  68        PLA                             A:41 X:78 Y:60 P:25 SP:FA CYC:224 SL:95\nE2C5  DD 00 06  CMP $0600,X @ 0678 = 41         A:40 X:78 Y:60 P:25 SP:FB CYC:236 SL:95\nE2C8  20 A8 F8  JSR $F8A8                       A:40 X:78 Y:60 P:A4 SP:FB CYC:248 SL:95\nF8A8  F0 05     BEQ $F8AF                       A:40 X:78 Y:60 P:A4 SP:F9 CYC:266 SL:95\nF8AA  10 03     BPL $F8AF                       A:40 X:78 Y:60 P:A4 SP:F9 CYC:272 SL:95\nF8AC  10 01     BPL $F8AF                       A:40 X:78 Y:60 P:A4 SP:F9 CYC:278 SL:95\nF8AE  60        RTS                             A:40 X:78 Y:60 P:A4 SP:F9 CYC:284 SL:95\nE2CB  C8        INY                             A:40 X:78 Y:60 P:A4 SP:FB CYC:302 SL:95\nE2CC  48        PHA                             A:40 X:78 Y:61 P:24 SP:FB CYC:308 SL:95\nE2CD  A9 00     LDA #$00                        A:40 X:78 Y:61 P:24 SP:FA CYC:317 SL:95\nE2CF  8D 78 06  STA $0678 = 41                  A:00 X:78 Y:61 P:26 SP:FA CYC:323 SL:95\nE2D2  68        PLA                             A:00 X:78 Y:61 P:26 SP:FA CYC:335 SL:95\nE2D3  20 B2 F8  JSR $F8B2                       A:40 X:78 Y:61 P:24 SP:FB CYC:  6 SL:96\nF8B2  A9 80     LDA #$80                        A:40 X:78 Y:61 P:24 SP:F9 CYC: 24 SL:96\nF8B4  60        RTS                             A:80 X:78 Y:61 P:A4 SP:F9 CYC: 30 SL:96\nE2D6  DD 00 06  CMP $0600,X @ 0678 = 00         A:80 X:78 Y:61 P:A4 SP:FB CYC: 48 SL:96\nE2D9  20 B5 F8  JSR $F8B5                       A:80 X:78 Y:61 P:A5 SP:FB CYC: 60 SL:96\nF8B5  F0 05     BEQ $F8BC                       A:80 X:78 Y:61 P:A5 SP:F9 CYC: 78 SL:96\nF8B7  10 03     BPL $F8BC                       A:80 X:78 Y:61 P:A5 SP:F9 CYC: 84 SL:96\nF8B9  90 01     BCC $F8BC                       A:80 X:78 Y:61 P:A5 SP:F9 CYC: 90 SL:96\nF8BB  60        RTS                             A:80 X:78 Y:61 P:A5 SP:F9 CYC: 96 SL:96\nE2DC  C8        INY                             A:80 X:78 Y:61 P:A5 SP:FB CYC:114 SL:96\nE2DD  48        PHA                             A:80 X:78 Y:62 P:25 SP:FB CYC:120 SL:96\nE2DE  A9 80     LDA #$80                        A:80 X:78 Y:62 P:25 SP:FA CYC:129 SL:96\nE2E0  8D 78 06  STA $0678 = 00                  A:80 X:78 Y:62 P:A5 SP:FA CYC:135 SL:96\nE2E3  68        PLA                             A:80 X:78 Y:62 P:A5 SP:FA CYC:147 SL:96\nE2E4  DD 00 06  CMP $0600,X @ 0678 = 80         A:80 X:78 Y:62 P:A5 SP:FB CYC:159 SL:96\nE2E7  20 BF F8  JSR $F8BF                       A:80 X:78 Y:62 P:27 SP:FB CYC:171 SL:96\nF8BF  D0 05     BNE $F8C6                       A:80 X:78 Y:62 P:27 SP:F9 CYC:189 SL:96\nF8C1  30 03     BMI $F8C6                       A:80 X:78 Y:62 P:27 SP:F9 CYC:195 SL:96\nF8C3  90 01     BCC $F8C6                       A:80 X:78 Y:62 P:27 SP:F9 CYC:201 SL:96\nF8C5  60        RTS                             A:80 X:78 Y:62 P:27 SP:F9 CYC:207 SL:96\nE2EA  C8        INY                             A:80 X:78 Y:62 P:27 SP:FB CYC:225 SL:96\nE2EB  48        PHA                             A:80 X:78 Y:63 P:25 SP:FB CYC:231 SL:96\nE2EC  A9 81     LDA #$81                        A:80 X:78 Y:63 P:25 SP:FA CYC:240 SL:96\nE2EE  8D 78 06  STA $0678 = 80                  A:81 X:78 Y:63 P:A5 SP:FA CYC:246 SL:96\nE2F1  68        PLA                             A:81 X:78 Y:63 P:A5 SP:FA CYC:258 SL:96\nE2F2  DD 00 06  CMP $0600,X @ 0678 = 81         A:80 X:78 Y:63 P:A5 SP:FB CYC:270 SL:96\nE2F5  20 C9 F8  JSR $F8C9                       A:80 X:78 Y:63 P:A4 SP:FB CYC:282 SL:96\nF8C9  B0 05     BCS $F8D0                       A:80 X:78 Y:63 P:A4 SP:F9 CYC:300 SL:96\nF8CB  F0 03     BEQ $F8D0                       A:80 X:78 Y:63 P:A4 SP:F9 CYC:306 SL:96\nF8CD  10 01     BPL $F8D0                       A:80 X:78 Y:63 P:A4 SP:F9 CYC:312 SL:96\nF8CF  60        RTS                             A:80 X:78 Y:63 P:A4 SP:F9 CYC:318 SL:96\nE2F8  C8        INY                             A:80 X:78 Y:63 P:A4 SP:FB CYC:336 SL:96\nE2F9  48        PHA                             A:80 X:78 Y:64 P:24 SP:FB CYC:  1 SL:97\nE2FA  A9 7F     LDA #$7F                        A:80 X:78 Y:64 P:24 SP:FA CYC: 10 SL:97\nE2FC  8D 78 06  STA $0678 = 81                  A:7F X:78 Y:64 P:24 SP:FA CYC: 16 SL:97\nE2FF  68        PLA                             A:7F X:78 Y:64 P:24 SP:FA CYC: 28 SL:97\nE300  DD 00 06  CMP $0600,X @ 0678 = 7F         A:80 X:78 Y:64 P:A4 SP:FB CYC: 40 SL:97\nE303  20 D3 F8  JSR $F8D3                       A:80 X:78 Y:64 P:25 SP:FB CYC: 52 SL:97\nF8D3  90 05     BCC $F8DA                       A:80 X:78 Y:64 P:25 SP:F9 CYC: 70 SL:97\nF8D5  F0 03     BEQ $F8DA                       A:80 X:78 Y:64 P:25 SP:F9 CYC: 76 SL:97\nF8D7  30 01     BMI $F8DA                       A:80 X:78 Y:64 P:25 SP:F9 CYC: 82 SL:97\nF8D9  60        RTS                             A:80 X:78 Y:64 P:25 SP:F9 CYC: 88 SL:97\nE306  C8        INY                             A:80 X:78 Y:64 P:25 SP:FB CYC:106 SL:97\nE307  A9 40     LDA #$40                        A:80 X:78 Y:65 P:25 SP:FB CYC:112 SL:97\nE309  8D 78 06  STA $0678 = 7F                  A:40 X:78 Y:65 P:25 SP:FB CYC:118 SL:97\nE30C  20 31 F9  JSR $F931                       A:40 X:78 Y:65 P:25 SP:FB CYC:130 SL:97\nF931  24 01     BIT $01 = FF                    A:40 X:78 Y:65 P:25 SP:F9 CYC:148 SL:97\nF933  A9 40     LDA #$40                        A:40 X:78 Y:65 P:E5 SP:F9 CYC:157 SL:97\nF935  38        SEC                             A:40 X:78 Y:65 P:65 SP:F9 CYC:163 SL:97\nF936  60        RTS                             A:40 X:78 Y:65 P:65 SP:F9 CYC:169 SL:97\nE30F  FD 00 06  SBC $0600,X @ 0678 = 40         A:40 X:78 Y:65 P:65 SP:FB CYC:187 SL:97\nE312  20 37 F9  JSR $F937                       A:00 X:78 Y:65 P:27 SP:FB CYC:199 SL:97\nF937  30 0B     BMI $F944                       A:00 X:78 Y:65 P:27 SP:F9 CYC:217 SL:97\nF939  90 09     BCC $F944                       A:00 X:78 Y:65 P:27 SP:F9 CYC:223 SL:97\nF93B  D0 07     BNE $F944                       A:00 X:78 Y:65 P:27 SP:F9 CYC:229 SL:97\nF93D  70 05     BVS $F944                       A:00 X:78 Y:65 P:27 SP:F9 CYC:235 SL:97\nF93F  C9 00     CMP #$00                        A:00 X:78 Y:65 P:27 SP:F9 CYC:241 SL:97\nF941  D0 01     BNE $F944                       A:00 X:78 Y:65 P:27 SP:F9 CYC:247 SL:97\nF943  60        RTS                             A:00 X:78 Y:65 P:27 SP:F9 CYC:253 SL:97\nE315  C8        INY                             A:00 X:78 Y:65 P:27 SP:FB CYC:271 SL:97\nE316  A9 3F     LDA #$3F                        A:00 X:78 Y:66 P:25 SP:FB CYC:277 SL:97\nE318  8D 78 06  STA $0678 = 40                  A:3F X:78 Y:66 P:25 SP:FB CYC:283 SL:97\nE31B  20 47 F9  JSR $F947                       A:3F X:78 Y:66 P:25 SP:FB CYC:295 SL:97\nF947  B8        CLV                             A:3F X:78 Y:66 P:25 SP:F9 CYC:313 SL:97\nF948  38        SEC                             A:3F X:78 Y:66 P:25 SP:F9 CYC:319 SL:97\nF949  A9 40     LDA #$40                        A:3F X:78 Y:66 P:25 SP:F9 CYC:325 SL:97\nF94B  60        RTS                             A:40 X:78 Y:66 P:25 SP:F9 CYC:331 SL:97\nE31E  FD 00 06  SBC $0600,X @ 0678 = 3F         A:40 X:78 Y:66 P:25 SP:FB CYC:  8 SL:98\nE321  20 4C F9  JSR $F94C                       A:01 X:78 Y:66 P:25 SP:FB CYC: 20 SL:98\nF94C  F0 0B     BEQ $F959                       A:01 X:78 Y:66 P:25 SP:F9 CYC: 38 SL:98\nF94E  30 09     BMI $F959                       A:01 X:78 Y:66 P:25 SP:F9 CYC: 44 SL:98\nF950  90 07     BCC $F959                       A:01 X:78 Y:66 P:25 SP:F9 CYC: 50 SL:98\nF952  70 05     BVS $F959                       A:01 X:78 Y:66 P:25 SP:F9 CYC: 56 SL:98\nF954  C9 01     CMP #$01                        A:01 X:78 Y:66 P:25 SP:F9 CYC: 62 SL:98\nF956  D0 01     BNE $F959                       A:01 X:78 Y:66 P:27 SP:F9 CYC: 68 SL:98\nF958  60        RTS                             A:01 X:78 Y:66 P:27 SP:F9 CYC: 74 SL:98\nE324  C8        INY                             A:01 X:78 Y:66 P:27 SP:FB CYC: 92 SL:98\nE325  A9 41     LDA #$41                        A:01 X:78 Y:67 P:25 SP:FB CYC: 98 SL:98\nE327  8D 78 06  STA $0678 = 3F                  A:41 X:78 Y:67 P:25 SP:FB CYC:104 SL:98\nE32A  20 5C F9  JSR $F95C                       A:41 X:78 Y:67 P:25 SP:FB CYC:116 SL:98\nF95C  A9 40     LDA #$40                        A:41 X:78 Y:67 P:25 SP:F9 CYC:134 SL:98\nF95E  38        SEC                             A:40 X:78 Y:67 P:25 SP:F9 CYC:140 SL:98\nF95F  24 01     BIT $01 = FF                    A:40 X:78 Y:67 P:25 SP:F9 CYC:146 SL:98\nF961  60        RTS                             A:40 X:78 Y:67 P:E5 SP:F9 CYC:155 SL:98\nE32D  FD 00 06  SBC $0600,X @ 0678 = 41         A:40 X:78 Y:67 P:E5 SP:FB CYC:173 SL:98\nE330  20 62 F9  JSR $F962                       A:FF X:78 Y:67 P:A4 SP:FB CYC:185 SL:98\nF962  B0 0B     BCS $F96F                       A:FF X:78 Y:67 P:A4 SP:F9 CYC:203 SL:98\nF964  F0 09     BEQ $F96F                       A:FF X:78 Y:67 P:A4 SP:F9 CYC:209 SL:98\nF966  10 07     BPL $F96F                       A:FF X:78 Y:67 P:A4 SP:F9 CYC:215 SL:98\nF968  70 05     BVS $F96F                       A:FF X:78 Y:67 P:A4 SP:F9 CYC:221 SL:98\nF96A  C9 FF     CMP #$FF                        A:FF X:78 Y:67 P:A4 SP:F9 CYC:227 SL:98\nF96C  D0 01     BNE $F96F                       A:FF X:78 Y:67 P:27 SP:F9 CYC:233 SL:98\nF96E  60        RTS                             A:FF X:78 Y:67 P:27 SP:F9 CYC:239 SL:98\nE333  C8        INY                             A:FF X:78 Y:67 P:27 SP:FB CYC:257 SL:98\nE334  A9 00     LDA #$00                        A:FF X:78 Y:68 P:25 SP:FB CYC:263 SL:98\nE336  8D 78 06  STA $0678 = 41                  A:00 X:78 Y:68 P:27 SP:FB CYC:269 SL:98\nE339  20 72 F9  JSR $F972                       A:00 X:78 Y:68 P:27 SP:FB CYC:281 SL:98\nF972  18        CLC                             A:00 X:78 Y:68 P:27 SP:F9 CYC:299 SL:98\nF973  A9 80     LDA #$80                        A:00 X:78 Y:68 P:26 SP:F9 CYC:305 SL:98\nF975  60        RTS                             A:80 X:78 Y:68 P:A4 SP:F9 CYC:311 SL:98\nE33C  FD 00 06  SBC $0600,X @ 0678 = 00         A:80 X:78 Y:68 P:A4 SP:FB CYC:329 SL:98\nE33F  20 76 F9  JSR $F976                       A:7F X:78 Y:68 P:65 SP:FB CYC:  0 SL:99\nF976  90 05     BCC $F97D                       A:7F X:78 Y:68 P:65 SP:F9 CYC: 18 SL:99\nF978  C9 7F     CMP #$7F                        A:7F X:78 Y:68 P:65 SP:F9 CYC: 24 SL:99\nF97A  D0 01     BNE $F97D                       A:7F X:78 Y:68 P:67 SP:F9 CYC: 30 SL:99\nF97C  60        RTS                             A:7F X:78 Y:68 P:67 SP:F9 CYC: 36 SL:99\nE342  C8        INY                             A:7F X:78 Y:68 P:67 SP:FB CYC: 54 SL:99\nE343  A9 7F     LDA #$7F                        A:7F X:78 Y:69 P:65 SP:FB CYC: 60 SL:99\nE345  8D 78 06  STA $0678 = 00                  A:7F X:78 Y:69 P:65 SP:FB CYC: 66 SL:99\nE348  20 80 F9  JSR $F980                       A:7F X:78 Y:69 P:65 SP:FB CYC: 78 SL:99\nF980  38        SEC                             A:7F X:78 Y:69 P:65 SP:F9 CYC: 96 SL:99\nF981  A9 81     LDA #$81                        A:7F X:78 Y:69 P:65 SP:F9 CYC:102 SL:99\nF983  60        RTS                             A:81 X:78 Y:69 P:E5 SP:F9 CYC:108 SL:99\nE34B  FD 00 06  SBC $0600,X @ 0678 = 7F         A:81 X:78 Y:69 P:E5 SP:FB CYC:126 SL:99\nE34E  20 84 F9  JSR $F984                       A:02 X:78 Y:69 P:65 SP:FB CYC:138 SL:99\nF984  50 07     BVC $F98D                       A:02 X:78 Y:69 P:65 SP:F9 CYC:156 SL:99\nF986  90 05     BCC $F98D                       A:02 X:78 Y:69 P:65 SP:F9 CYC:162 SL:99\nF988  C9 02     CMP #$02                        A:02 X:78 Y:69 P:65 SP:F9 CYC:168 SL:99\nF98A  D0 01     BNE $F98D                       A:02 X:78 Y:69 P:67 SP:F9 CYC:174 SL:99\nF98C  60        RTS                             A:02 X:78 Y:69 P:67 SP:F9 CYC:180 SL:99\nE351  A9 AA     LDA #$AA                        A:02 X:78 Y:69 P:67 SP:FB CYC:198 SL:99\nE353  8D 33 06  STA $0633 = AA                  A:AA X:78 Y:69 P:E5 SP:FB CYC:204 SL:99\nE356  A9 BB     LDA #$BB                        A:AA X:78 Y:69 P:E5 SP:FB CYC:216 SL:99\nE358  8D 89 06  STA $0689 = BB                  A:BB X:78 Y:69 P:E5 SP:FB CYC:222 SL:99\nE35B  A2 00     LDX #$00                        A:BB X:78 Y:69 P:E5 SP:FB CYC:234 SL:99\nE35D  A0 66     LDY #$66                        A:BB X:00 Y:69 P:67 SP:FB CYC:240 SL:99\nE35F  24 01     BIT $01 = FF                    A:BB X:00 Y:66 P:65 SP:FB CYC:246 SL:99\nE361  38        SEC                             A:BB X:00 Y:66 P:E5 SP:FB CYC:255 SL:99\nE362  A9 00     LDA #$00                        A:BB X:00 Y:66 P:E5 SP:FB CYC:261 SL:99\nE364  BD 33 06  LDA $0633,X @ 0633 = AA         A:00 X:00 Y:66 P:67 SP:FB CYC:267 SL:99\nE367  10 12     BPL $E37B                       A:AA X:00 Y:66 P:E5 SP:FB CYC:279 SL:99\nE369  F0 10     BEQ $E37B                       A:AA X:00 Y:66 P:E5 SP:FB CYC:285 SL:99\nE36B  50 0E     BVC $E37B                       A:AA X:00 Y:66 P:E5 SP:FB CYC:291 SL:99\nE36D  90 0C     BCC $E37B                       A:AA X:00 Y:66 P:E5 SP:FB CYC:297 SL:99\nE36F  C0 66     CPY #$66                        A:AA X:00 Y:66 P:E5 SP:FB CYC:303 SL:99\nE371  D0 08     BNE $E37B                       A:AA X:00 Y:66 P:67 SP:FB CYC:309 SL:99\nE373  E0 00     CPX #$00                        A:AA X:00 Y:66 P:67 SP:FB CYC:315 SL:99\nE375  D0 04     BNE $E37B                       A:AA X:00 Y:66 P:67 SP:FB CYC:321 SL:99\nE377  C9 AA     CMP #$AA                        A:AA X:00 Y:66 P:67 SP:FB CYC:327 SL:99\nE379  F0 04     BEQ $E37F                       A:AA X:00 Y:66 P:67 SP:FB CYC:333 SL:99\nE37F  A2 8A     LDX #$8A                        A:AA X:00 Y:66 P:67 SP:FB CYC:  1 SL:100\nE381  A0 66     LDY #$66                        A:AA X:8A Y:66 P:E5 SP:FB CYC:  7 SL:100\nE383  B8        CLV                             A:AA X:8A Y:66 P:65 SP:FB CYC: 13 SL:100\nE384  18        CLC                             A:AA X:8A Y:66 P:25 SP:FB CYC: 19 SL:100\nE385  A9 00     LDA #$00                        A:AA X:8A Y:66 P:24 SP:FB CYC: 25 SL:100\nE387  BD FF 05  LDA $05FF,X @ 0689 = BB         A:00 X:8A Y:66 P:26 SP:FB CYC: 31 SL:100\nE38A  10 12     BPL $E39E                       A:BB X:8A Y:66 P:A4 SP:FB CYC: 46 SL:100\nE38C  F0 10     BEQ $E39E                       A:BB X:8A Y:66 P:A4 SP:FB CYC: 52 SL:100\nE38E  70 0E     BVS $E39E                       A:BB X:8A Y:66 P:A4 SP:FB CYC: 58 SL:100\nE390  B0 0C     BCS $E39E                       A:BB X:8A Y:66 P:A4 SP:FB CYC: 64 SL:100\nE392  C9 BB     CMP #$BB                        A:BB X:8A Y:66 P:A4 SP:FB CYC: 70 SL:100\nE394  D0 08     BNE $E39E                       A:BB X:8A Y:66 P:27 SP:FB CYC: 76 SL:100\nE396  C0 66     CPY #$66                        A:BB X:8A Y:66 P:27 SP:FB CYC: 82 SL:100\nE398  D0 04     BNE $E39E                       A:BB X:8A Y:66 P:27 SP:FB CYC: 88 SL:100\nE39A  E0 8A     CPX #$8A                        A:BB X:8A Y:66 P:27 SP:FB CYC: 94 SL:100\nE39C  F0 04     BEQ $E3A2                       A:BB X:8A Y:66 P:27 SP:FB CYC:100 SL:100\nE3A2  24 01     BIT $01 = FF                    A:BB X:8A Y:66 P:27 SP:FB CYC:109 SL:100\nE3A4  38        SEC                             A:BB X:8A Y:66 P:E5 SP:FB CYC:118 SL:100\nE3A5  A9 44     LDA #$44                        A:BB X:8A Y:66 P:E5 SP:FB CYC:124 SL:100\nE3A7  A2 00     LDX #$00                        A:44 X:8A Y:66 P:65 SP:FB CYC:130 SL:100\nE3A9  9D 33 06  STA $0633,X @ 0633 = AA         A:44 X:00 Y:66 P:67 SP:FB CYC:136 SL:100\nE3AC  AD 33 06  LDA $0633 = 44                  A:44 X:00 Y:66 P:67 SP:FB CYC:151 SL:100\nE3AF  90 1A     BCC $E3CB                       A:44 X:00 Y:66 P:65 SP:FB CYC:163 SL:100\nE3B1  C9 44     CMP #$44                        A:44 X:00 Y:66 P:65 SP:FB CYC:169 SL:100\nE3B3  D0 16     BNE $E3CB                       A:44 X:00 Y:66 P:67 SP:FB CYC:175 SL:100\nE3B5  50 14     BVC $E3CB                       A:44 X:00 Y:66 P:67 SP:FB CYC:181 SL:100\nE3B7  18        CLC                             A:44 X:00 Y:66 P:67 SP:FB CYC:187 SL:100\nE3B8  B8        CLV                             A:44 X:00 Y:66 P:66 SP:FB CYC:193 SL:100\nE3B9  A9 99     LDA #$99                        A:44 X:00 Y:66 P:26 SP:FB CYC:199 SL:100\nE3BB  A2 80     LDX #$80                        A:99 X:00 Y:66 P:A4 SP:FB CYC:205 SL:100\nE3BD  9D 85 05  STA $0585,X @ 0605 = 00         A:99 X:80 Y:66 P:A4 SP:FB CYC:211 SL:100\nE3C0  AD 05 06  LDA $0605 = 99                  A:99 X:80 Y:66 P:A4 SP:FB CYC:226 SL:100\nE3C3  B0 06     BCS $E3CB                       A:99 X:80 Y:66 P:A4 SP:FB CYC:238 SL:100\nE3C5  C9 99     CMP #$99                        A:99 X:80 Y:66 P:A4 SP:FB CYC:244 SL:100\nE3C7  D0 02     BNE $E3CB                       A:99 X:80 Y:66 P:27 SP:FB CYC:250 SL:100\nE3C9  50 04     BVC $E3CF                       A:99 X:80 Y:66 P:27 SP:FB CYC:256 SL:100\nE3CF  A0 6D     LDY #$6D                        A:99 X:80 Y:66 P:27 SP:FB CYC:265 SL:100\nE3D1  A2 6D     LDX #$6D                        A:99 X:80 Y:6D P:25 SP:FB CYC:271 SL:100\nE3D3  20 90 F9  JSR $F990                       A:99 X:6D Y:6D P:25 SP:FB CYC:277 SL:100\nF990  A2 55     LDX #$55                        A:99 X:6D Y:6D P:25 SP:F9 CYC:295 SL:100\nF992  A9 FF     LDA #$FF                        A:99 X:55 Y:6D P:25 SP:F9 CYC:301 SL:100\nF994  85 01     STA $01 = FF                    A:FF X:55 Y:6D P:A5 SP:F9 CYC:307 SL:100\nF996  EA        NOP                             A:FF X:55 Y:6D P:A5 SP:F9 CYC:316 SL:100\nF997  24 01     BIT $01 = FF                    A:FF X:55 Y:6D P:A5 SP:F9 CYC:322 SL:100\nF999  38        SEC                             A:FF X:55 Y:6D P:E5 SP:F9 CYC:331 SL:100\nF99A  A9 01     LDA #$01                        A:FF X:55 Y:6D P:E5 SP:F9 CYC:337 SL:100\nF99C  60        RTS                             A:01 X:55 Y:6D P:65 SP:F9 CYC:  2 SL:101\nE3D6  9D 00 06  STA $0600,X @ 0655 = 00         A:01 X:55 Y:6D P:65 SP:FB CYC: 20 SL:101\nE3D9  5E 00 06  LSR $0600,X @ 0655 = 01         A:01 X:55 Y:6D P:65 SP:FB CYC: 35 SL:101\nE3DC  BD 00 06  LDA $0600,X @ 0655 = 00         A:01 X:55 Y:6D P:67 SP:FB CYC: 56 SL:101\nE3DF  20 9D F9  JSR $F99D                       A:00 X:55 Y:6D P:67 SP:FB CYC: 68 SL:101\nF99D  90 1B     BCC $F9BA                       A:00 X:55 Y:6D P:67 SP:F9 CYC: 86 SL:101\nF99F  D0 19     BNE $F9BA                       A:00 X:55 Y:6D P:67 SP:F9 CYC: 92 SL:101\nF9A1  30 17     BMI $F9BA                       A:00 X:55 Y:6D P:67 SP:F9 CYC: 98 SL:101\nF9A3  50 15     BVC $F9BA                       A:00 X:55 Y:6D P:67 SP:F9 CYC:104 SL:101\nF9A5  C9 00     CMP #$00                        A:00 X:55 Y:6D P:67 SP:F9 CYC:110 SL:101\nF9A7  D0 11     BNE $F9BA                       A:00 X:55 Y:6D P:67 SP:F9 CYC:116 SL:101\nF9A9  B8        CLV                             A:00 X:55 Y:6D P:67 SP:F9 CYC:122 SL:101\nF9AA  A9 AA     LDA #$AA                        A:00 X:55 Y:6D P:27 SP:F9 CYC:128 SL:101\nF9AC  60        RTS                             A:AA X:55 Y:6D P:A5 SP:F9 CYC:134 SL:101\nE3E2  C8        INY                             A:AA X:55 Y:6D P:A5 SP:FB CYC:152 SL:101\nE3E3  9D 00 06  STA $0600,X @ 0655 = 00         A:AA X:55 Y:6E P:25 SP:FB CYC:158 SL:101\nE3E6  5E 00 06  LSR $0600,X @ 0655 = AA         A:AA X:55 Y:6E P:25 SP:FB CYC:173 SL:101\nE3E9  BD 00 06  LDA $0600,X @ 0655 = 55         A:AA X:55 Y:6E P:24 SP:FB CYC:194 SL:101\nE3EC  20 AD F9  JSR $F9AD                       A:55 X:55 Y:6E P:24 SP:FB CYC:206 SL:101\nF9AD  B0 0B     BCS $F9BA                       A:55 X:55 Y:6E P:24 SP:F9 CYC:224 SL:101\nF9AF  F0 09     BEQ $F9BA                       A:55 X:55 Y:6E P:24 SP:F9 CYC:230 SL:101\nF9B1  30 07     BMI $F9BA                       A:55 X:55 Y:6E P:24 SP:F9 CYC:236 SL:101\nF9B3  70 05     BVS $F9BA                       A:55 X:55 Y:6E P:24 SP:F9 CYC:242 SL:101\nF9B5  C9 55     CMP #$55                        A:55 X:55 Y:6E P:24 SP:F9 CYC:248 SL:101\nF9B7  D0 01     BNE $F9BA                       A:55 X:55 Y:6E P:27 SP:F9 CYC:254 SL:101\nF9B9  60        RTS                             A:55 X:55 Y:6E P:27 SP:F9 CYC:260 SL:101\nE3EF  C8        INY                             A:55 X:55 Y:6E P:27 SP:FB CYC:278 SL:101\nE3F0  20 BD F9  JSR $F9BD                       A:55 X:55 Y:6F P:25 SP:FB CYC:284 SL:101\nF9BD  24 01     BIT $01 = FF                    A:55 X:55 Y:6F P:25 SP:F9 CYC:302 SL:101\nF9BF  38        SEC                             A:55 X:55 Y:6F P:E5 SP:F9 CYC:311 SL:101\nF9C0  A9 80     LDA #$80                        A:55 X:55 Y:6F P:E5 SP:F9 CYC:317 SL:101\nF9C2  60        RTS                             A:80 X:55 Y:6F P:E5 SP:F9 CYC:323 SL:101\nE3F3  9D 00 06  STA $0600,X @ 0655 = 55         A:80 X:55 Y:6F P:E5 SP:FB CYC:  0 SL:102\nE3F6  1E 00 06  ASL $0600,X @ 0655 = 80         A:80 X:55 Y:6F P:E5 SP:FB CYC: 15 SL:102\nE3F9  BD 00 06  LDA $0600,X @ 0655 = 00         A:80 X:55 Y:6F P:67 SP:FB CYC: 36 SL:102\nE3FC  20 C3 F9  JSR $F9C3                       A:00 X:55 Y:6F P:67 SP:FB CYC: 48 SL:102\nF9C3  90 1C     BCC $F9E1                       A:00 X:55 Y:6F P:67 SP:F9 CYC: 66 SL:102\nF9C5  D0 1A     BNE $F9E1                       A:00 X:55 Y:6F P:67 SP:F9 CYC: 72 SL:102\nF9C7  30 18     BMI $F9E1                       A:00 X:55 Y:6F P:67 SP:F9 CYC: 78 SL:102\nF9C9  50 16     BVC $F9E1                       A:00 X:55 Y:6F P:67 SP:F9 CYC: 84 SL:102\nF9CB  C9 00     CMP #$00                        A:00 X:55 Y:6F P:67 SP:F9 CYC: 90 SL:102\nF9CD  D0 12     BNE $F9E1                       A:00 X:55 Y:6F P:67 SP:F9 CYC: 96 SL:102\nF9CF  B8        CLV                             A:00 X:55 Y:6F P:67 SP:F9 CYC:102 SL:102\nF9D0  A9 55     LDA #$55                        A:00 X:55 Y:6F P:27 SP:F9 CYC:108 SL:102\nF9D2  38        SEC                             A:55 X:55 Y:6F P:25 SP:F9 CYC:114 SL:102\nF9D3  60        RTS                             A:55 X:55 Y:6F P:25 SP:F9 CYC:120 SL:102\nE3FF  C8        INY                             A:55 X:55 Y:6F P:25 SP:FB CYC:138 SL:102\nE400  9D 00 06  STA $0600,X @ 0655 = 00         A:55 X:55 Y:70 P:25 SP:FB CYC:144 SL:102\nE403  1E 00 06  ASL $0600,X @ 0655 = 55         A:55 X:55 Y:70 P:25 SP:FB CYC:159 SL:102\nE406  BD 00 06  LDA $0600,X @ 0655 = AA         A:55 X:55 Y:70 P:A4 SP:FB CYC:180 SL:102\nE409  20 D4 F9  JSR $F9D4                       A:AA X:55 Y:70 P:A4 SP:FB CYC:192 SL:102\nF9D4  B0 0B     BCS $F9E1                       A:AA X:55 Y:70 P:A4 SP:F9 CYC:210 SL:102\nF9D6  F0 09     BEQ $F9E1                       A:AA X:55 Y:70 P:A4 SP:F9 CYC:216 SL:102\nF9D8  10 07     BPL $F9E1                       A:AA X:55 Y:70 P:A4 SP:F9 CYC:222 SL:102\nF9DA  70 05     BVS $F9E1                       A:AA X:55 Y:70 P:A4 SP:F9 CYC:228 SL:102\nF9DC  C9 AA     CMP #$AA                        A:AA X:55 Y:70 P:A4 SP:F9 CYC:234 SL:102\nF9DE  D0 01     BNE $F9E1                       A:AA X:55 Y:70 P:27 SP:F9 CYC:240 SL:102\nF9E0  60        RTS                             A:AA X:55 Y:70 P:27 SP:F9 CYC:246 SL:102\nE40C  C8        INY                             A:AA X:55 Y:70 P:27 SP:FB CYC:264 SL:102\nE40D  20 E4 F9  JSR $F9E4                       A:AA X:55 Y:71 P:25 SP:FB CYC:270 SL:102\nF9E4  24 01     BIT $01 = FF                    A:AA X:55 Y:71 P:25 SP:F9 CYC:288 SL:102\nF9E6  38        SEC                             A:AA X:55 Y:71 P:E5 SP:F9 CYC:297 SL:102\nF9E7  A9 01     LDA #$01                        A:AA X:55 Y:71 P:E5 SP:F9 CYC:303 SL:102\nF9E9  60        RTS                             A:01 X:55 Y:71 P:65 SP:F9 CYC:309 SL:102\nE410  9D 00 06  STA $0600,X @ 0655 = AA         A:01 X:55 Y:71 P:65 SP:FB CYC:327 SL:102\nE413  7E 00 06  ROR $0600,X @ 0655 = 01         A:01 X:55 Y:71 P:65 SP:FB CYC:  1 SL:103\nE416  BD 00 06  LDA $0600,X @ 0655 = 80         A:01 X:55 Y:71 P:E5 SP:FB CYC: 22 SL:103\nE419  20 EA F9  JSR $F9EA                       A:80 X:55 Y:71 P:E5 SP:FB CYC: 34 SL:103\nF9EA  90 1C     BCC $FA08                       A:80 X:55 Y:71 P:E5 SP:F9 CYC: 52 SL:103\nF9EC  F0 1A     BEQ $FA08                       A:80 X:55 Y:71 P:E5 SP:F9 CYC: 58 SL:103\nF9EE  10 18     BPL $FA08                       A:80 X:55 Y:71 P:E5 SP:F9 CYC: 64 SL:103\nF9F0  50 16     BVC $FA08                       A:80 X:55 Y:71 P:E5 SP:F9 CYC: 70 SL:103\nF9F2  C9 80     CMP #$80                        A:80 X:55 Y:71 P:E5 SP:F9 CYC: 76 SL:103\nF9F4  D0 12     BNE $FA08                       A:80 X:55 Y:71 P:67 SP:F9 CYC: 82 SL:103\nF9F6  B8        CLV                             A:80 X:55 Y:71 P:67 SP:F9 CYC: 88 SL:103\nF9F7  18        CLC                             A:80 X:55 Y:71 P:27 SP:F9 CYC: 94 SL:103\nF9F8  A9 55     LDA #$55                        A:80 X:55 Y:71 P:26 SP:F9 CYC:100 SL:103\nF9FA  60        RTS                             A:55 X:55 Y:71 P:24 SP:F9 CYC:106 SL:103\nE41C  C8        INY                             A:55 X:55 Y:71 P:24 SP:FB CYC:124 SL:103\nE41D  9D 00 06  STA $0600,X @ 0655 = 80         A:55 X:55 Y:72 P:24 SP:FB CYC:130 SL:103\nE420  7E 00 06  ROR $0600,X @ 0655 = 55         A:55 X:55 Y:72 P:24 SP:FB CYC:145 SL:103\nE423  BD 00 06  LDA $0600,X @ 0655 = 2A         A:55 X:55 Y:72 P:25 SP:FB CYC:166 SL:103\nE426  20 FB F9  JSR $F9FB                       A:2A X:55 Y:72 P:25 SP:FB CYC:178 SL:103\nF9FB  90 0B     BCC $FA08                       A:2A X:55 Y:72 P:25 SP:F9 CYC:196 SL:103\nF9FD  F0 09     BEQ $FA08                       A:2A X:55 Y:72 P:25 SP:F9 CYC:202 SL:103\nF9FF  30 07     BMI $FA08                       A:2A X:55 Y:72 P:25 SP:F9 CYC:208 SL:103\nFA01  70 05     BVS $FA08                       A:2A X:55 Y:72 P:25 SP:F9 CYC:214 SL:103\nFA03  C9 2A     CMP #$2A                        A:2A X:55 Y:72 P:25 SP:F9 CYC:220 SL:103\nFA05  D0 01     BNE $FA08                       A:2A X:55 Y:72 P:27 SP:F9 CYC:226 SL:103\nFA07  60        RTS                             A:2A X:55 Y:72 P:27 SP:F9 CYC:232 SL:103\nE429  C8        INY                             A:2A X:55 Y:72 P:27 SP:FB CYC:250 SL:103\nE42A  20 0A FA  JSR $FA0A                       A:2A X:55 Y:73 P:25 SP:FB CYC:256 SL:103\nFA0A  24 01     BIT $01 = FF                    A:2A X:55 Y:73 P:25 SP:F9 CYC:274 SL:103\nFA0C  38        SEC                             A:2A X:55 Y:73 P:E5 SP:F9 CYC:283 SL:103\nFA0D  A9 80     LDA #$80                        A:2A X:55 Y:73 P:E5 SP:F9 CYC:289 SL:103\nFA0F  60        RTS                             A:80 X:55 Y:73 P:E5 SP:F9 CYC:295 SL:103\nE42D  9D 00 06  STA $0600,X @ 0655 = 2A         A:80 X:55 Y:73 P:E5 SP:FB CYC:313 SL:103\nE430  3E 00 06  ROL $0600,X @ 0655 = 80         A:80 X:55 Y:73 P:E5 SP:FB CYC:328 SL:103\nE433  BD 00 06  LDA $0600,X @ 0655 = 01         A:80 X:55 Y:73 P:65 SP:FB CYC:  8 SL:104\nE436  20 10 FA  JSR $FA10                       A:01 X:55 Y:73 P:65 SP:FB CYC: 20 SL:104\nFA10  90 1C     BCC $FA2E                       A:01 X:55 Y:73 P:65 SP:F9 CYC: 38 SL:104\nFA12  F0 1A     BEQ $FA2E                       A:01 X:55 Y:73 P:65 SP:F9 CYC: 44 SL:104\nFA14  30 18     BMI $FA2E                       A:01 X:55 Y:73 P:65 SP:F9 CYC: 50 SL:104\nFA16  50 16     BVC $FA2E                       A:01 X:55 Y:73 P:65 SP:F9 CYC: 56 SL:104\nFA18  C9 01     CMP #$01                        A:01 X:55 Y:73 P:65 SP:F9 CYC: 62 SL:104\nFA1A  D0 12     BNE $FA2E                       A:01 X:55 Y:73 P:67 SP:F9 CYC: 68 SL:104\nFA1C  B8        CLV                             A:01 X:55 Y:73 P:67 SP:F9 CYC: 74 SL:104\nFA1D  18        CLC                             A:01 X:55 Y:73 P:27 SP:F9 CYC: 80 SL:104\nFA1E  A9 55     LDA #$55                        A:01 X:55 Y:73 P:26 SP:F9 CYC: 86 SL:104\nFA20  60        RTS                             A:55 X:55 Y:73 P:24 SP:F9 CYC: 92 SL:104\nE439  C8        INY                             A:55 X:55 Y:73 P:24 SP:FB CYC:110 SL:104\nE43A  9D 00 06  STA $0600,X @ 0655 = 01         A:55 X:55 Y:74 P:24 SP:FB CYC:116 SL:104\nE43D  3E 00 06  ROL $0600,X @ 0655 = 55         A:55 X:55 Y:74 P:24 SP:FB CYC:131 SL:104\nE440  BD 00 06  LDA $0600,X @ 0655 = AA         A:55 X:55 Y:74 P:A4 SP:FB CYC:152 SL:104\nE443  20 21 FA  JSR $FA21                       A:AA X:55 Y:74 P:A4 SP:FB CYC:164 SL:104\nFA21  B0 0B     BCS $FA2E                       A:AA X:55 Y:74 P:A4 SP:F9 CYC:182 SL:104\nFA23  F0 09     BEQ $FA2E                       A:AA X:55 Y:74 P:A4 SP:F9 CYC:188 SL:104\nFA25  10 07     BPL $FA2E                       A:AA X:55 Y:74 P:A4 SP:F9 CYC:194 SL:104\nFA27  70 05     BVS $FA2E                       A:AA X:55 Y:74 P:A4 SP:F9 CYC:200 SL:104\nFA29  C9 AA     CMP #$AA                        A:AA X:55 Y:74 P:A4 SP:F9 CYC:206 SL:104\nFA2B  D0 01     BNE $FA2E                       A:AA X:55 Y:74 P:27 SP:F9 CYC:212 SL:104\nFA2D  60        RTS                             A:AA X:55 Y:74 P:27 SP:F9 CYC:218 SL:104\nE446  A9 FF     LDA #$FF                        A:AA X:55 Y:74 P:27 SP:FB CYC:236 SL:104\nE448  9D 00 06  STA $0600,X @ 0655 = AA         A:FF X:55 Y:74 P:A5 SP:FB CYC:242 SL:104\nE44B  85 01     STA $01 = FF                    A:FF X:55 Y:74 P:A5 SP:FB CYC:257 SL:104\nE44D  24 01     BIT $01 = FF                    A:FF X:55 Y:74 P:A5 SP:FB CYC:266 SL:104\nE44F  38        SEC                             A:FF X:55 Y:74 P:E5 SP:FB CYC:275 SL:104\nE450  FE 00 06  INC $0600,X @ 0655 = FF         A:FF X:55 Y:74 P:E5 SP:FB CYC:281 SL:104\nE453  D0 0D     BNE $E462                       A:FF X:55 Y:74 P:67 SP:FB CYC:302 SL:104\nE455  30 0B     BMI $E462                       A:FF X:55 Y:74 P:67 SP:FB CYC:308 SL:104\nE457  50 09     BVC $E462                       A:FF X:55 Y:74 P:67 SP:FB CYC:314 SL:104\nE459  90 07     BCC $E462                       A:FF X:55 Y:74 P:67 SP:FB CYC:320 SL:104\nE45B  BD 00 06  LDA $0600,X @ 0655 = 00         A:FF X:55 Y:74 P:67 SP:FB CYC:326 SL:104\nE45E  C9 00     CMP #$00                        A:00 X:55 Y:74 P:67 SP:FB CYC:338 SL:104\nE460  F0 04     BEQ $E466                       A:00 X:55 Y:74 P:67 SP:FB CYC:  3 SL:105\nE466  A9 7F     LDA #$7F                        A:00 X:55 Y:74 P:67 SP:FB CYC: 12 SL:105\nE468  9D 00 06  STA $0600,X @ 0655 = 00         A:7F X:55 Y:74 P:65 SP:FB CYC: 18 SL:105\nE46B  B8        CLV                             A:7F X:55 Y:74 P:65 SP:FB CYC: 33 SL:105\nE46C  18        CLC                             A:7F X:55 Y:74 P:25 SP:FB CYC: 39 SL:105\nE46D  FE 00 06  INC $0600,X @ 0655 = 7F         A:7F X:55 Y:74 P:24 SP:FB CYC: 45 SL:105\nE470  F0 0D     BEQ $E47F                       A:7F X:55 Y:74 P:A4 SP:FB CYC: 66 SL:105\nE472  10 0B     BPL $E47F                       A:7F X:55 Y:74 P:A4 SP:FB CYC: 72 SL:105\nE474  70 09     BVS $E47F                       A:7F X:55 Y:74 P:A4 SP:FB CYC: 78 SL:105\nE476  B0 07     BCS $E47F                       A:7F X:55 Y:74 P:A4 SP:FB CYC: 84 SL:105\nE478  BD 00 06  LDA $0600,X @ 0655 = 80         A:7F X:55 Y:74 P:A4 SP:FB CYC: 90 SL:105\nE47B  C9 80     CMP #$80                        A:80 X:55 Y:74 P:A4 SP:FB CYC:102 SL:105\nE47D  F0 04     BEQ $E483                       A:80 X:55 Y:74 P:27 SP:FB CYC:108 SL:105\nE483  A9 00     LDA #$00                        A:80 X:55 Y:74 P:27 SP:FB CYC:117 SL:105\nE485  9D 00 06  STA $0600,X @ 0655 = 80         A:00 X:55 Y:74 P:27 SP:FB CYC:123 SL:105\nE488  24 01     BIT $01 = FF                    A:00 X:55 Y:74 P:27 SP:FB CYC:138 SL:105\nE48A  38        SEC                             A:00 X:55 Y:74 P:E7 SP:FB CYC:147 SL:105\nE48B  DE 00 06  DEC $0600,X @ 0655 = 00         A:00 X:55 Y:74 P:E7 SP:FB CYC:153 SL:105\nE48E  F0 0D     BEQ $E49D                       A:00 X:55 Y:74 P:E5 SP:FB CYC:174 SL:105\nE490  10 0B     BPL $E49D                       A:00 X:55 Y:74 P:E5 SP:FB CYC:180 SL:105\nE492  50 09     BVC $E49D                       A:00 X:55 Y:74 P:E5 SP:FB CYC:186 SL:105\nE494  90 07     BCC $E49D                       A:00 X:55 Y:74 P:E5 SP:FB CYC:192 SL:105\nE496  BD 00 06  LDA $0600,X @ 0655 = FF         A:00 X:55 Y:74 P:E5 SP:FB CYC:198 SL:105\nE499  C9 FF     CMP #$FF                        A:FF X:55 Y:74 P:E5 SP:FB CYC:210 SL:105\nE49B  F0 04     BEQ $E4A1                       A:FF X:55 Y:74 P:67 SP:FB CYC:216 SL:105\nE4A1  A9 80     LDA #$80                        A:FF X:55 Y:74 P:67 SP:FB CYC:225 SL:105\nE4A3  9D 00 06  STA $0600,X @ 0655 = FF         A:80 X:55 Y:74 P:E5 SP:FB CYC:231 SL:105\nE4A6  B8        CLV                             A:80 X:55 Y:74 P:E5 SP:FB CYC:246 SL:105\nE4A7  18        CLC                             A:80 X:55 Y:74 P:A5 SP:FB CYC:252 SL:105\nE4A8  DE 00 06  DEC $0600,X @ 0655 = 80         A:80 X:55 Y:74 P:A4 SP:FB CYC:258 SL:105\nE4AB  F0 0D     BEQ $E4BA                       A:80 X:55 Y:74 P:24 SP:FB CYC:279 SL:105\nE4AD  30 0B     BMI $E4BA                       A:80 X:55 Y:74 P:24 SP:FB CYC:285 SL:105\nE4AF  70 09     BVS $E4BA                       A:80 X:55 Y:74 P:24 SP:FB CYC:291 SL:105\nE4B1  B0 07     BCS $E4BA                       A:80 X:55 Y:74 P:24 SP:FB CYC:297 SL:105\nE4B3  BD 00 06  LDA $0600,X @ 0655 = 7F         A:80 X:55 Y:74 P:24 SP:FB CYC:303 SL:105\nE4B6  C9 7F     CMP #$7F                        A:7F X:55 Y:74 P:24 SP:FB CYC:315 SL:105\nE4B8  F0 04     BEQ $E4BE                       A:7F X:55 Y:74 P:27 SP:FB CYC:321 SL:105\nE4BE  A9 01     LDA #$01                        A:7F X:55 Y:74 P:27 SP:FB CYC:330 SL:105\nE4C0  9D 00 06  STA $0600,X @ 0655 = 7F         A:01 X:55 Y:74 P:25 SP:FB CYC:336 SL:105\nE4C3  DE 00 06  DEC $0600,X @ 0655 = 01         A:01 X:55 Y:74 P:25 SP:FB CYC: 10 SL:106\nE4C6  F0 04     BEQ $E4CC                       A:01 X:55 Y:74 P:27 SP:FB CYC: 31 SL:106\nE4CC  A9 33     LDA #$33                        A:01 X:55 Y:74 P:27 SP:FB CYC: 40 SL:106\nE4CE  8D 78 06  STA $0678 = 7F                  A:33 X:55 Y:74 P:25 SP:FB CYC: 46 SL:106\nE4D1  A9 44     LDA #$44                        A:33 X:55 Y:74 P:25 SP:FB CYC: 58 SL:106\nE4D3  A0 78     LDY #$78                        A:44 X:55 Y:74 P:25 SP:FB CYC: 64 SL:106\nE4D5  A2 00     LDX #$00                        A:44 X:55 Y:78 P:25 SP:FB CYC: 70 SL:106\nE4D7  38        SEC                             A:44 X:00 Y:78 P:27 SP:FB CYC: 76 SL:106\nE4D8  24 01     BIT $01 = FF                    A:44 X:00 Y:78 P:27 SP:FB CYC: 82 SL:106\nE4DA  BE 00 06  LDX $0600,Y @ 0678 = 33         A:44 X:00 Y:78 P:E5 SP:FB CYC: 91 SL:106\nE4DD  90 12     BCC $E4F1                       A:44 X:33 Y:78 P:65 SP:FB CYC:103 SL:106\nE4DF  50 10     BVC $E4F1                       A:44 X:33 Y:78 P:65 SP:FB CYC:109 SL:106\nE4E1  30 0E     BMI $E4F1                       A:44 X:33 Y:78 P:65 SP:FB CYC:115 SL:106\nE4E3  F0 0C     BEQ $E4F1                       A:44 X:33 Y:78 P:65 SP:FB CYC:121 SL:106\nE4E5  E0 33     CPX #$33                        A:44 X:33 Y:78 P:65 SP:FB CYC:127 SL:106\nE4E7  D0 08     BNE $E4F1                       A:44 X:33 Y:78 P:67 SP:FB CYC:133 SL:106\nE4E9  C0 78     CPY #$78                        A:44 X:33 Y:78 P:67 SP:FB CYC:139 SL:106\nE4EB  D0 04     BNE $E4F1                       A:44 X:33 Y:78 P:67 SP:FB CYC:145 SL:106\nE4ED  C9 44     CMP #$44                        A:44 X:33 Y:78 P:67 SP:FB CYC:151 SL:106\nE4EF  F0 04     BEQ $E4F5                       A:44 X:33 Y:78 P:67 SP:FB CYC:157 SL:106\nE4F5  A9 97     LDA #$97                        A:44 X:33 Y:78 P:67 SP:FB CYC:166 SL:106\nE4F7  8D 7F 06  STA $067F = 00                  A:97 X:33 Y:78 P:E5 SP:FB CYC:172 SL:106\nE4FA  A9 47     LDA #$47                        A:97 X:33 Y:78 P:E5 SP:FB CYC:184 SL:106\nE4FC  A0 FF     LDY #$FF                        A:47 X:33 Y:78 P:65 SP:FB CYC:190 SL:106\nE4FE  A2 00     LDX #$00                        A:47 X:33 Y:FF P:E5 SP:FB CYC:196 SL:106\nE500  18        CLC                             A:47 X:00 Y:FF P:67 SP:FB CYC:202 SL:106\nE501  B8        CLV                             A:47 X:00 Y:FF P:66 SP:FB CYC:208 SL:106\nE502  BE 80 05  LDX $0580,Y @ 067F = 97         A:47 X:00 Y:FF P:26 SP:FB CYC:214 SL:106\nE505  B0 12     BCS $E519                       A:47 X:97 Y:FF P:A4 SP:FB CYC:229 SL:106\nE507  70 10     BVS $E519                       A:47 X:97 Y:FF P:A4 SP:FB CYC:235 SL:106\nE509  10 0E     BPL $E519                       A:47 X:97 Y:FF P:A4 SP:FB CYC:241 SL:106\nE50B  F0 0C     BEQ $E519                       A:47 X:97 Y:FF P:A4 SP:FB CYC:247 SL:106\nE50D  E0 97     CPX #$97                        A:47 X:97 Y:FF P:A4 SP:FB CYC:253 SL:106\nE50F  D0 08     BNE $E519                       A:47 X:97 Y:FF P:27 SP:FB CYC:259 SL:106\nE511  C0 FF     CPY #$FF                        A:47 X:97 Y:FF P:27 SP:FB CYC:265 SL:106\nE513  D0 04     BNE $E519                       A:47 X:97 Y:FF P:27 SP:FB CYC:271 SL:106\nE515  C9 47     CMP #$47                        A:47 X:97 Y:FF P:27 SP:FB CYC:277 SL:106\nE517  F0 04     BEQ $E51D                       A:47 X:97 Y:FF P:27 SP:FB CYC:283 SL:106\nE51D  60        RTS                             A:47 X:97 Y:FF P:27 SP:FB CYC:292 SL:106\nC62F  20 A3 C6  JSR $C6A3                       A:47 X:97 Y:FF P:27 SP:FD CYC:310 SL:106\nC6A3  A0 4E     LDY #$4E                        A:47 X:97 Y:FF P:27 SP:FB CYC:328 SL:106\nC6A5  A9 FF     LDA #$FF                        A:47 X:97 Y:4E P:25 SP:FB CYC:334 SL:106\nC6A7  85 01     STA $01 = FF                    A:FF X:97 Y:4E P:A5 SP:FB CYC:340 SL:106\nC6A9  20 B0 C6  JSR $C6B0                       A:FF X:97 Y:4E P:A5 SP:FB CYC:  8 SL:107\nC6B0  A9 FF     LDA #$FF                        A:FF X:97 Y:4E P:A5 SP:F9 CYC: 26 SL:107\nC6B2  48        PHA                             A:FF X:97 Y:4E P:A5 SP:F9 CYC: 32 SL:107\nC6B3  A9 AA     LDA #$AA                        A:FF X:97 Y:4E P:A5 SP:F8 CYC: 41 SL:107\nC6B5  D0 05     BNE $C6BC                       A:AA X:97 Y:4E P:A5 SP:F8 CYC: 47 SL:107\nC6BC  28        PLP                             A:AA X:97 Y:4E P:A5 SP:F8 CYC: 56 SL:107\nC6BD  04 A9    *NOP $A9 = 00                    A:AA X:97 Y:4E P:EF SP:F9 CYC: 68 SL:107\nC6BF  44 A9    *NOP $A9 = 00                    A:AA X:97 Y:4E P:EF SP:F9 CYC: 77 SL:107\nC6C1  64 A9    *NOP $A9 = 00                    A:AA X:97 Y:4E P:EF SP:F9 CYC: 86 SL:107\nC6C3  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F9 CYC: 95 SL:107\nC6C4  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F9 CYC:101 SL:107\nC6C5  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F9 CYC:107 SL:107\nC6C6  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F9 CYC:113 SL:107\nC6C7  08        PHP                             A:AA X:97 Y:4E P:EF SP:F9 CYC:119 SL:107\nC6C8  48        PHA                             A:AA X:97 Y:4E P:EF SP:F8 CYC:128 SL:107\nC6C9  0C A9 A9 *NOP $A9A9 = A9                  A:AA X:97 Y:4E P:EF SP:F7 CYC:137 SL:107\nC6CC  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F7 CYC:149 SL:107\nC6CD  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F7 CYC:155 SL:107\nC6CE  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F7 CYC:161 SL:107\nC6CF  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F7 CYC:167 SL:107\nC6D0  08        PHP                             A:AA X:97 Y:4E P:EF SP:F7 CYC:173 SL:107\nC6D1  48        PHA                             A:AA X:97 Y:4E P:EF SP:F6 CYC:182 SL:107\nC6D2  14 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:191 SL:107\nC6D4  34 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:203 SL:107\nC6D6  54 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:215 SL:107\nC6D8  74 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:227 SL:107\nC6DA  D4 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:239 SL:107\nC6DC  F4 A9    *NOP $A9,X @ 40 = 00             A:AA X:97 Y:4E P:EF SP:F5 CYC:251 SL:107\nC6DE  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F5 CYC:263 SL:107\nC6DF  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F5 CYC:269 SL:107\nC6E0  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F5 CYC:275 SL:107\nC6E1  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F5 CYC:281 SL:107\nC6E2  08        PHP                             A:AA X:97 Y:4E P:EF SP:F5 CYC:287 SL:107\nC6E3  48        PHA                             A:AA X:97 Y:4E P:EF SP:F4 CYC:296 SL:107\nC6E4  1A       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:305 SL:107\nC6E5  3A       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:311 SL:107\nC6E6  5A       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:317 SL:107\nC6E7  7A       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:323 SL:107\nC6E8  DA       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:329 SL:107\nC6E9  FA       *NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:335 SL:107\nC6EA  80 89    *NOP #$89                        A:AA X:97 Y:4E P:EF SP:F3 CYC:  0 SL:108\nC6EC  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC:  6 SL:108\nC6ED  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC: 12 SL:108\nC6EE  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC: 18 SL:108\nC6EF  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F3 CYC: 24 SL:108\nC6F0  08        PHP                             A:AA X:97 Y:4E P:EF SP:F3 CYC: 30 SL:108\nC6F1  48        PHA                             A:AA X:97 Y:4E P:EF SP:F2 CYC: 39 SL:108\nC6F2  1C A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC: 48 SL:108\nC6F5  3C A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC: 63 SL:108\nC6F8  5C A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC: 78 SL:108\nC6FB  7C A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC: 93 SL:108\nC6FE  DC A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC:108 SL:108\nC701  FC A9 A9 *NOP $A9A9,X @ AA40 = 00         A:AA X:97 Y:4E P:EF SP:F1 CYC:123 SL:108\nC704  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F1 CYC:138 SL:108\nC705  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F1 CYC:144 SL:108\nC706  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F1 CYC:150 SL:108\nC707  EA        NOP                             A:AA X:97 Y:4E P:EF SP:F1 CYC:156 SL:108\nC708  08        PHP                             A:AA X:97 Y:4E P:EF SP:F1 CYC:162 SL:108\nC709  48        PHA                             A:AA X:97 Y:4E P:EF SP:F0 CYC:171 SL:108\nC70A  A2 05     LDX #$05                        A:AA X:97 Y:4E P:EF SP:EF CYC:180 SL:108\nC70C  68        PLA                             A:AA X:05 Y:4E P:6D SP:EF CYC:186 SL:108\nC70D  C9 55     CMP #$55                        A:AA X:05 Y:4E P:ED SP:F0 CYC:198 SL:108\nC70F  F0 0A     BEQ $C71B                       A:AA X:05 Y:4E P:6D SP:F0 CYC:204 SL:108\nC711  C9 AA     CMP #$AA                        A:AA X:05 Y:4E P:6D SP:F0 CYC:210 SL:108\nC713  F0 06     BEQ $C71B                       A:AA X:05 Y:4E P:6F SP:F0 CYC:216 SL:108\nC71B  68        PLA                             A:AA X:05 Y:4E P:6F SP:F0 CYC:225 SL:108\nC71C  29 CB     AND #$CB                        A:FF X:05 Y:4E P:ED SP:F1 CYC:237 SL:108\nC71E  C9 00     CMP #$00                        A:CB X:05 Y:4E P:ED SP:F1 CYC:243 SL:108\nC720  F0 06     BEQ $C728                       A:CB X:05 Y:4E P:ED SP:F1 CYC:249 SL:108\nC722  C9 CB     CMP #$CB                        A:CB X:05 Y:4E P:ED SP:F1 CYC:255 SL:108\nC724  F0 02     BEQ $C728                       A:CB X:05 Y:4E P:6F SP:F1 CYC:261 SL:108\nC728  C8        INY                             A:CB X:05 Y:4E P:6F SP:F1 CYC:270 SL:108\nC729  CA        DEX                             A:CB X:05 Y:4F P:6D SP:F1 CYC:276 SL:108\nC72A  D0 E0     BNE $C70C                       A:CB X:04 Y:4F P:6D SP:F1 CYC:282 SL:108\nC70C  68        PLA                             A:CB X:04 Y:4F P:6D SP:F1 CYC:291 SL:108\nC70D  C9 55     CMP #$55                        A:AA X:04 Y:4F P:ED SP:F2 CYC:303 SL:108\nC70F  F0 0A     BEQ $C71B                       A:AA X:04 Y:4F P:6D SP:F2 CYC:309 SL:108\nC711  C9 AA     CMP #$AA                        A:AA X:04 Y:4F P:6D SP:F2 CYC:315 SL:108\nC713  F0 06     BEQ $C71B                       A:AA X:04 Y:4F P:6F SP:F2 CYC:321 SL:108\nC71B  68        PLA                             A:AA X:04 Y:4F P:6F SP:F2 CYC:330 SL:108\nC71C  29 CB     AND #$CB                        A:FF X:04 Y:4F P:ED SP:F3 CYC:  1 SL:109\nC71E  C9 00     CMP #$00                        A:CB X:04 Y:4F P:ED SP:F3 CYC:  7 SL:109\nC720  F0 06     BEQ $C728                       A:CB X:04 Y:4F P:ED SP:F3 CYC: 13 SL:109\nC722  C9 CB     CMP #$CB                        A:CB X:04 Y:4F P:ED SP:F3 CYC: 19 SL:109\nC724  F0 02     BEQ $C728                       A:CB X:04 Y:4F P:6F SP:F3 CYC: 25 SL:109\nC728  C8        INY                             A:CB X:04 Y:4F P:6F SP:F3 CYC: 34 SL:109\nC729  CA        DEX                             A:CB X:04 Y:50 P:6D SP:F3 CYC: 40 SL:109\nC72A  D0 E0     BNE $C70C                       A:CB X:03 Y:50 P:6D SP:F3 CYC: 46 SL:109\nC70C  68        PLA                             A:CB X:03 Y:50 P:6D SP:F3 CYC: 55 SL:109\nC70D  C9 55     CMP #$55                        A:AA X:03 Y:50 P:ED SP:F4 CYC: 67 SL:109\nC70F  F0 0A     BEQ $C71B                       A:AA X:03 Y:50 P:6D SP:F4 CYC: 73 SL:109\nC711  C9 AA     CMP #$AA                        A:AA X:03 Y:50 P:6D SP:F4 CYC: 79 SL:109\nC713  F0 06     BEQ $C71B                       A:AA X:03 Y:50 P:6F SP:F4 CYC: 85 SL:109\nC71B  68        PLA                             A:AA X:03 Y:50 P:6F SP:F4 CYC: 94 SL:109\nC71C  29 CB     AND #$CB                        A:FF X:03 Y:50 P:ED SP:F5 CYC:106 SL:109\nC71E  C9 00     CMP #$00                        A:CB X:03 Y:50 P:ED SP:F5 CYC:112 SL:109\nC720  F0 06     BEQ $C728                       A:CB X:03 Y:50 P:ED SP:F5 CYC:118 SL:109\nC722  C9 CB     CMP #$CB                        A:CB X:03 Y:50 P:ED SP:F5 CYC:124 SL:109\nC724  F0 02     BEQ $C728                       A:CB X:03 Y:50 P:6F SP:F5 CYC:130 SL:109\nC728  C8        INY                             A:CB X:03 Y:50 P:6F SP:F5 CYC:139 SL:109\nC729  CA        DEX                             A:CB X:03 Y:51 P:6D SP:F5 CYC:145 SL:109\nC72A  D0 E0     BNE $C70C                       A:CB X:02 Y:51 P:6D SP:F5 CYC:151 SL:109\nC70C  68        PLA                             A:CB X:02 Y:51 P:6D SP:F5 CYC:160 SL:109\nC70D  C9 55     CMP #$55                        A:AA X:02 Y:51 P:ED SP:F6 CYC:172 SL:109\nC70F  F0 0A     BEQ $C71B                       A:AA X:02 Y:51 P:6D SP:F6 CYC:178 SL:109\nC711  C9 AA     CMP #$AA                        A:AA X:02 Y:51 P:6D SP:F6 CYC:184 SL:109\nC713  F0 06     BEQ $C71B                       A:AA X:02 Y:51 P:6F SP:F6 CYC:190 SL:109\nC71B  68        PLA                             A:AA X:02 Y:51 P:6F SP:F6 CYC:199 SL:109\nC71C  29 CB     AND #$CB                        A:FF X:02 Y:51 P:ED SP:F7 CYC:211 SL:109\nC71E  C9 00     CMP #$00                        A:CB X:02 Y:51 P:ED SP:F7 CYC:217 SL:109\nC720  F0 06     BEQ $C728                       A:CB X:02 Y:51 P:ED SP:F7 CYC:223 SL:109\nC722  C9 CB     CMP #$CB                        A:CB X:02 Y:51 P:ED SP:F7 CYC:229 SL:109\nC724  F0 02     BEQ $C728                       A:CB X:02 Y:51 P:6F SP:F7 CYC:235 SL:109\nC728  C8        INY                             A:CB X:02 Y:51 P:6F SP:F7 CYC:244 SL:109\nC729  CA        DEX                             A:CB X:02 Y:52 P:6D SP:F7 CYC:250 SL:109\nC72A  D0 E0     BNE $C70C                       A:CB X:01 Y:52 P:6D SP:F7 CYC:256 SL:109\nC70C  68        PLA                             A:CB X:01 Y:52 P:6D SP:F7 CYC:265 SL:109\nC70D  C9 55     CMP #$55                        A:AA X:01 Y:52 P:ED SP:F8 CYC:277 SL:109\nC70F  F0 0A     BEQ $C71B                       A:AA X:01 Y:52 P:6D SP:F8 CYC:283 SL:109\nC711  C9 AA     CMP #$AA                        A:AA X:01 Y:52 P:6D SP:F8 CYC:289 SL:109\nC713  F0 06     BEQ $C71B                       A:AA X:01 Y:52 P:6F SP:F8 CYC:295 SL:109\nC71B  68        PLA                             A:AA X:01 Y:52 P:6F SP:F8 CYC:304 SL:109\nC71C  29 CB     AND #$CB                        A:FF X:01 Y:52 P:ED SP:F9 CYC:316 SL:109\nC71E  C9 00     CMP #$00                        A:CB X:01 Y:52 P:ED SP:F9 CYC:322 SL:109\nC720  F0 06     BEQ $C728                       A:CB X:01 Y:52 P:ED SP:F9 CYC:328 SL:109\nC722  C9 CB     CMP #$CB                        A:CB X:01 Y:52 P:ED SP:F9 CYC:334 SL:109\nC724  F0 02     BEQ $C728                       A:CB X:01 Y:52 P:6F SP:F9 CYC:340 SL:109\nC728  C8        INY                             A:CB X:01 Y:52 P:6F SP:F9 CYC:  8 SL:110\nC729  CA        DEX                             A:CB X:01 Y:53 P:6D SP:F9 CYC: 14 SL:110\nC72A  D0 E0     BNE $C70C                       A:CB X:00 Y:53 P:6F SP:F9 CYC: 20 SL:110\nC72C  60        RTS                             A:CB X:00 Y:53 P:6F SP:F9 CYC: 26 SL:110\nC6AC  20 B7 C6  JSR $C6B7                       A:CB X:00 Y:53 P:6F SP:FB CYC: 44 SL:110\nC6B7  A9 34     LDA #$34                        A:CB X:00 Y:53 P:6F SP:F9 CYC: 62 SL:110\nC6B9  48        PHA                             A:34 X:00 Y:53 P:6D SP:F9 CYC: 68 SL:110\nC6BA  A9 55     LDA #$55                        A:34 X:00 Y:53 P:6D SP:F8 CYC: 77 SL:110\nC6BC  28        PLP                             A:55 X:00 Y:53 P:6D SP:F8 CYC: 83 SL:110\nC6BD  04 A9    *NOP $A9 = 00                    A:55 X:00 Y:53 P:24 SP:F9 CYC: 95 SL:110\nC6BF  44 A9    *NOP $A9 = 00                    A:55 X:00 Y:53 P:24 SP:F9 CYC:104 SL:110\nC6C1  64 A9    *NOP $A9 = 00                    A:55 X:00 Y:53 P:24 SP:F9 CYC:113 SL:110\nC6C3  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F9 CYC:122 SL:110\nC6C4  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F9 CYC:128 SL:110\nC6C5  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F9 CYC:134 SL:110\nC6C6  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F9 CYC:140 SL:110\nC6C7  08        PHP                             A:55 X:00 Y:53 P:24 SP:F9 CYC:146 SL:110\nC6C8  48        PHA                             A:55 X:00 Y:53 P:24 SP:F8 CYC:155 SL:110\nC6C9  0C A9 A9 *NOP $A9A9 = A9                  A:55 X:00 Y:53 P:24 SP:F7 CYC:164 SL:110\nC6CC  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F7 CYC:176 SL:110\nC6CD  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F7 CYC:182 SL:110\nC6CE  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F7 CYC:188 SL:110\nC6CF  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F7 CYC:194 SL:110\nC6D0  08        PHP                             A:55 X:00 Y:53 P:24 SP:F7 CYC:200 SL:110\nC6D1  48        PHA                             A:55 X:00 Y:53 P:24 SP:F6 CYC:209 SL:110\nC6D2  14 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:218 SL:110\nC6D4  34 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:230 SL:110\nC6D6  54 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:242 SL:110\nC6D8  74 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:254 SL:110\nC6DA  D4 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:266 SL:110\nC6DC  F4 A9    *NOP $A9,X @ A9 = 00             A:55 X:00 Y:53 P:24 SP:F5 CYC:278 SL:110\nC6DE  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F5 CYC:290 SL:110\nC6DF  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F5 CYC:296 SL:110\nC6E0  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F5 CYC:302 SL:110\nC6E1  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F5 CYC:308 SL:110\nC6E2  08        PHP                             A:55 X:00 Y:53 P:24 SP:F5 CYC:314 SL:110\nC6E3  48        PHA                             A:55 X:00 Y:53 P:24 SP:F4 CYC:323 SL:110\nC6E4  1A       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC:332 SL:110\nC6E5  3A       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC:338 SL:110\nC6E6  5A       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC:  3 SL:111\nC6E7  7A       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC:  9 SL:111\nC6E8  DA       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 15 SL:111\nC6E9  FA       *NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 21 SL:111\nC6EA  80 89    *NOP #$89                        A:55 X:00 Y:53 P:24 SP:F3 CYC: 27 SL:111\nC6EC  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 33 SL:111\nC6ED  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 39 SL:111\nC6EE  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 45 SL:111\nC6EF  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 51 SL:111\nC6F0  08        PHP                             A:55 X:00 Y:53 P:24 SP:F3 CYC: 57 SL:111\nC6F1  48        PHA                             A:55 X:00 Y:53 P:24 SP:F2 CYC: 66 SL:111\nC6F2  1C A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC: 75 SL:111\nC6F5  3C A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC: 87 SL:111\nC6F8  5C A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC: 99 SL:111\nC6FB  7C A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC:111 SL:111\nC6FE  DC A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC:123 SL:111\nC701  FC A9 A9 *NOP $A9A9,X @ A9A9 = A9         A:55 X:00 Y:53 P:24 SP:F1 CYC:135 SL:111\nC704  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F1 CYC:147 SL:111\nC705  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F1 CYC:153 SL:111\nC706  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F1 CYC:159 SL:111\nC707  EA        NOP                             A:55 X:00 Y:53 P:24 SP:F1 CYC:165 SL:111\nC708  08        PHP                             A:55 X:00 Y:53 P:24 SP:F1 CYC:171 SL:111\nC709  48        PHA                             A:55 X:00 Y:53 P:24 SP:F0 CYC:180 SL:111\nC70A  A2 05     LDX #$05                        A:55 X:00 Y:53 P:24 SP:EF CYC:189 SL:111\nC70C  68        PLA                             A:55 X:05 Y:53 P:24 SP:EF CYC:195 SL:111\nC70D  C9 55     CMP #$55                        A:55 X:05 Y:53 P:24 SP:F0 CYC:207 SL:111\nC70F  F0 0A     BEQ $C71B                       A:55 X:05 Y:53 P:27 SP:F0 CYC:213 SL:111\nC71B  68        PLA                             A:55 X:05 Y:53 P:27 SP:F0 CYC:222 SL:111\nC71C  29 CB     AND #$CB                        A:34 X:05 Y:53 P:25 SP:F1 CYC:234 SL:111\nC71E  C9 00     CMP #$00                        A:00 X:05 Y:53 P:27 SP:F1 CYC:240 SL:111\nC720  F0 06     BEQ $C728                       A:00 X:05 Y:53 P:27 SP:F1 CYC:246 SL:111\nC728  C8        INY                             A:00 X:05 Y:53 P:27 SP:F1 CYC:255 SL:111\nC729  CA        DEX                             A:00 X:05 Y:54 P:25 SP:F1 CYC:261 SL:111\nC72A  D0 E0     BNE $C70C                       A:00 X:04 Y:54 P:25 SP:F1 CYC:267 SL:111\nC70C  68        PLA                             A:00 X:04 Y:54 P:25 SP:F1 CYC:276 SL:111\nC70D  C9 55     CMP #$55                        A:55 X:04 Y:54 P:25 SP:F2 CYC:288 SL:111\nC70F  F0 0A     BEQ $C71B                       A:55 X:04 Y:54 P:27 SP:F2 CYC:294 SL:111\nC71B  68        PLA                             A:55 X:04 Y:54 P:27 SP:F2 CYC:303 SL:111\nC71C  29 CB     AND #$CB                        A:34 X:04 Y:54 P:25 SP:F3 CYC:315 SL:111\nC71E  C9 00     CMP #$00                        A:00 X:04 Y:54 P:27 SP:F3 CYC:321 SL:111\nC720  F0 06     BEQ $C728                       A:00 X:04 Y:54 P:27 SP:F3 CYC:327 SL:111\nC728  C8        INY                             A:00 X:04 Y:54 P:27 SP:F3 CYC:336 SL:111\nC729  CA        DEX                             A:00 X:04 Y:55 P:25 SP:F3 CYC:  1 SL:112\nC72A  D0 E0     BNE $C70C                       A:00 X:03 Y:55 P:25 SP:F3 CYC:  7 SL:112\nC70C  68        PLA                             A:00 X:03 Y:55 P:25 SP:F3 CYC: 16 SL:112\nC70D  C9 55     CMP #$55                        A:55 X:03 Y:55 P:25 SP:F4 CYC: 28 SL:112\nC70F  F0 0A     BEQ $C71B                       A:55 X:03 Y:55 P:27 SP:F4 CYC: 34 SL:112\nC71B  68        PLA                             A:55 X:03 Y:55 P:27 SP:F4 CYC: 43 SL:112\nC71C  29 CB     AND #$CB                        A:34 X:03 Y:55 P:25 SP:F5 CYC: 55 SL:112\nC71E  C9 00     CMP #$00                        A:00 X:03 Y:55 P:27 SP:F5 CYC: 61 SL:112\nC720  F0 06     BEQ $C728                       A:00 X:03 Y:55 P:27 SP:F5 CYC: 67 SL:112\nC728  C8        INY                             A:00 X:03 Y:55 P:27 SP:F5 CYC: 76 SL:112\nC729  CA        DEX                             A:00 X:03 Y:56 P:25 SP:F5 CYC: 82 SL:112\nC72A  D0 E0     BNE $C70C                       A:00 X:02 Y:56 P:25 SP:F5 CYC: 88 SL:112\nC70C  68        PLA                             A:00 X:02 Y:56 P:25 SP:F5 CYC: 97 SL:112\nC70D  C9 55     CMP #$55                        A:55 X:02 Y:56 P:25 SP:F6 CYC:109 SL:112\nC70F  F0 0A     BEQ $C71B                       A:55 X:02 Y:56 P:27 SP:F6 CYC:115 SL:112\nC71B  68        PLA                             A:55 X:02 Y:56 P:27 SP:F6 CYC:124 SL:112\nC71C  29 CB     AND #$CB                        A:34 X:02 Y:56 P:25 SP:F7 CYC:136 SL:112\nC71E  C9 00     CMP #$00                        A:00 X:02 Y:56 P:27 SP:F7 CYC:142 SL:112\nC720  F0 06     BEQ $C728                       A:00 X:02 Y:56 P:27 SP:F7 CYC:148 SL:112\nC728  C8        INY                             A:00 X:02 Y:56 P:27 SP:F7 CYC:157 SL:112\nC729  CA        DEX                             A:00 X:02 Y:57 P:25 SP:F7 CYC:163 SL:112\nC72A  D0 E0     BNE $C70C                       A:00 X:01 Y:57 P:25 SP:F7 CYC:169 SL:112\nC70C  68        PLA                             A:00 X:01 Y:57 P:25 SP:F7 CYC:178 SL:112\nC70D  C9 55     CMP #$55                        A:55 X:01 Y:57 P:25 SP:F8 CYC:190 SL:112\nC70F  F0 0A     BEQ $C71B                       A:55 X:01 Y:57 P:27 SP:F8 CYC:196 SL:112\nC71B  68        PLA                             A:55 X:01 Y:57 P:27 SP:F8 CYC:205 SL:112\nC71C  29 CB     AND #$CB                        A:34 X:01 Y:57 P:25 SP:F9 CYC:217 SL:112\nC71E  C9 00     CMP #$00                        A:00 X:01 Y:57 P:27 SP:F9 CYC:223 SL:112\nC720  F0 06     BEQ $C728                       A:00 X:01 Y:57 P:27 SP:F9 CYC:229 SL:112\nC728  C8        INY                             A:00 X:01 Y:57 P:27 SP:F9 CYC:238 SL:112\nC729  CA        DEX                             A:00 X:01 Y:58 P:25 SP:F9 CYC:244 SL:112\nC72A  D0 E0     BNE $C70C                       A:00 X:00 Y:58 P:27 SP:F9 CYC:250 SL:112\nC72C  60        RTS                             A:00 X:00 Y:58 P:27 SP:F9 CYC:256 SL:112\nC6AF  60        RTS                             A:00 X:00 Y:58 P:27 SP:FB CYC:274 SL:112\nC632  20 1E E5  JSR $E51E                       A:00 X:00 Y:58 P:27 SP:FD CYC:292 SL:112\nE51E  A9 55     LDA #$55                        A:00 X:00 Y:58 P:27 SP:FB CYC:310 SL:112\nE520  8D 80 05  STA $0580 = 00                  A:55 X:00 Y:58 P:25 SP:FB CYC:316 SL:112\nE523  A9 AA     LDA #$AA                        A:55 X:00 Y:58 P:25 SP:FB CYC:328 SL:112\nE525  8D 32 04  STA $0432 = 00                  A:AA X:00 Y:58 P:A5 SP:FB CYC:334 SL:112\nE528  A9 80     LDA #$80                        A:AA X:00 Y:58 P:A5 SP:FB CYC:  5 SL:113\nE52A  85 43     STA $43 = 00                    A:80 X:00 Y:58 P:A5 SP:FB CYC: 11 SL:113\nE52C  A9 05     LDA #$05                        A:80 X:00 Y:58 P:A5 SP:FB CYC: 20 SL:113\nE52E  85 44     STA $44 = 00                    A:05 X:00 Y:58 P:25 SP:FB CYC: 26 SL:113\nE530  A9 32     LDA #$32                        A:05 X:00 Y:58 P:25 SP:FB CYC: 35 SL:113\nE532  85 45     STA $45 = 00                    A:32 X:00 Y:58 P:25 SP:FB CYC: 41 SL:113\nE534  A9 04     LDA #$04                        A:32 X:00 Y:58 P:25 SP:FB CYC: 50 SL:113\nE536  85 46     STA $46 = 00                    A:04 X:00 Y:58 P:25 SP:FB CYC: 56 SL:113\nE538  A2 03     LDX #$03                        A:04 X:00 Y:58 P:25 SP:FB CYC: 65 SL:113\nE53A  A0 77     LDY #$77                        A:04 X:03 Y:58 P:25 SP:FB CYC: 71 SL:113\nE53C  A9 FF     LDA #$FF                        A:04 X:03 Y:77 P:25 SP:FB CYC: 77 SL:113\nE53E  85 01     STA $01 = FF                    A:FF X:03 Y:77 P:A5 SP:FB CYC: 83 SL:113\nE540  24 01     BIT $01 = FF                    A:FF X:03 Y:77 P:A5 SP:FB CYC: 92 SL:113\nE542  38        SEC                             A:FF X:03 Y:77 P:E5 SP:FB CYC:101 SL:113\nE543  A9 00     LDA #$00                        A:FF X:03 Y:77 P:E5 SP:FB CYC:107 SL:113\nE545  A3 40    *LAX ($40,X) @ 43 = 0580 = 55    A:00 X:03 Y:77 P:67 SP:FB CYC:113 SL:113\nE547  EA        NOP                             A:55 X:55 Y:77 P:65 SP:FB CYC:131 SL:113\nE548  EA        NOP                             A:55 X:55 Y:77 P:65 SP:FB CYC:137 SL:113\nE549  EA        NOP                             A:55 X:55 Y:77 P:65 SP:FB CYC:143 SL:113\nE54A  EA        NOP                             A:55 X:55 Y:77 P:65 SP:FB CYC:149 SL:113\nE54B  F0 12     BEQ $E55F                       A:55 X:55 Y:77 P:65 SP:FB CYC:155 SL:113\nE54D  30 10     BMI $E55F                       A:55 X:55 Y:77 P:65 SP:FB CYC:161 SL:113\nE54F  50 0E     BVC $E55F                       A:55 X:55 Y:77 P:65 SP:FB CYC:167 SL:113\nE551  90 0C     BCC $E55F                       A:55 X:55 Y:77 P:65 SP:FB CYC:173 SL:113\nE553  C9 55     CMP #$55                        A:55 X:55 Y:77 P:65 SP:FB CYC:179 SL:113\nE555  D0 08     BNE $E55F                       A:55 X:55 Y:77 P:67 SP:FB CYC:185 SL:113\nE557  E0 55     CPX #$55                        A:55 X:55 Y:77 P:67 SP:FB CYC:191 SL:113\nE559  D0 04     BNE $E55F                       A:55 X:55 Y:77 P:67 SP:FB CYC:197 SL:113\nE55B  C0 77     CPY #$77                        A:55 X:55 Y:77 P:67 SP:FB CYC:203 SL:113\nE55D  F0 04     BEQ $E563                       A:55 X:55 Y:77 P:67 SP:FB CYC:209 SL:113\nE563  A2 05     LDX #$05                        A:55 X:55 Y:77 P:67 SP:FB CYC:218 SL:113\nE565  A0 33     LDY #$33                        A:55 X:05 Y:77 P:65 SP:FB CYC:224 SL:113\nE567  B8        CLV                             A:55 X:05 Y:33 P:65 SP:FB CYC:230 SL:113\nE568  18        CLC                             A:55 X:05 Y:33 P:25 SP:FB CYC:236 SL:113\nE569  A9 00     LDA #$00                        A:55 X:05 Y:33 P:24 SP:FB CYC:242 SL:113\nE56B  A3 40    *LAX ($40,X) @ 45 = 0432 = AA    A:00 X:05 Y:33 P:26 SP:FB CYC:248 SL:113\nE56D  EA        NOP                             A:AA X:AA Y:33 P:A4 SP:FB CYC:266 SL:113\nE56E  EA        NOP                             A:AA X:AA Y:33 P:A4 SP:FB CYC:272 SL:113\nE56F  EA        NOP                             A:AA X:AA Y:33 P:A4 SP:FB CYC:278 SL:113\nE570  EA        NOP                             A:AA X:AA Y:33 P:A4 SP:FB CYC:284 SL:113\nE571  F0 12     BEQ $E585                       A:AA X:AA Y:33 P:A4 SP:FB CYC:290 SL:113\nE573  10 10     BPL $E585                       A:AA X:AA Y:33 P:A4 SP:FB CYC:296 SL:113\nE575  70 0E     BVS $E585                       A:AA X:AA Y:33 P:A4 SP:FB CYC:302 SL:113\nE577  B0 0C     BCS $E585                       A:AA X:AA Y:33 P:A4 SP:FB CYC:308 SL:113\nE579  C9 AA     CMP #$AA                        A:AA X:AA Y:33 P:A4 SP:FB CYC:314 SL:113\nE57B  D0 08     BNE $E585                       A:AA X:AA Y:33 P:27 SP:FB CYC:320 SL:113\nE57D  E0 AA     CPX #$AA                        A:AA X:AA Y:33 P:27 SP:FB CYC:326 SL:113\nE57F  D0 04     BNE $E585                       A:AA X:AA Y:33 P:27 SP:FB CYC:332 SL:113\nE581  C0 33     CPY #$33                        A:AA X:AA Y:33 P:27 SP:FB CYC:338 SL:113\nE583  F0 04     BEQ $E589                       A:AA X:AA Y:33 P:27 SP:FB CYC:  3 SL:114\nE589  A9 87     LDA #$87                        A:AA X:AA Y:33 P:27 SP:FB CYC: 12 SL:114\nE58B  85 67     STA $67 = 00                    A:87 X:AA Y:33 P:A5 SP:FB CYC: 18 SL:114\nE58D  A9 32     LDA #$32                        A:87 X:AA Y:33 P:A5 SP:FB CYC: 27 SL:114\nE58F  85 68     STA $68 = 00                    A:32 X:AA Y:33 P:25 SP:FB CYC: 33 SL:114\nE591  A0 57     LDY #$57                        A:32 X:AA Y:33 P:25 SP:FB CYC: 42 SL:114\nE593  24 01     BIT $01 = FF                    A:32 X:AA Y:57 P:25 SP:FB CYC: 48 SL:114\nE595  38        SEC                             A:32 X:AA Y:57 P:E5 SP:FB CYC: 57 SL:114\nE596  A9 00     LDA #$00                        A:32 X:AA Y:57 P:E5 SP:FB CYC: 63 SL:114\nE598  A7 67    *LAX $67 = 87                    A:00 X:AA Y:57 P:67 SP:FB CYC: 69 SL:114\nE59A  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 78 SL:114\nE59B  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 84 SL:114\nE59C  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 90 SL:114\nE59D  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 96 SL:114\nE59E  F0 12     BEQ $E5B2                       A:87 X:87 Y:57 P:E5 SP:FB CYC:102 SL:114\nE5A0  10 10     BPL $E5B2                       A:87 X:87 Y:57 P:E5 SP:FB CYC:108 SL:114\nE5A2  50 0E     BVC $E5B2                       A:87 X:87 Y:57 P:E5 SP:FB CYC:114 SL:114\nE5A4  90 0C     BCC $E5B2                       A:87 X:87 Y:57 P:E5 SP:FB CYC:120 SL:114\nE5A6  C9 87     CMP #$87                        A:87 X:87 Y:57 P:E5 SP:FB CYC:126 SL:114\nE5A8  D0 08     BNE $E5B2                       A:87 X:87 Y:57 P:67 SP:FB CYC:132 SL:114\nE5AA  E0 87     CPX #$87                        A:87 X:87 Y:57 P:67 SP:FB CYC:138 SL:114\nE5AC  D0 04     BNE $E5B2                       A:87 X:87 Y:57 P:67 SP:FB CYC:144 SL:114\nE5AE  C0 57     CPY #$57                        A:87 X:87 Y:57 P:67 SP:FB CYC:150 SL:114\nE5B0  F0 04     BEQ $E5B6                       A:87 X:87 Y:57 P:67 SP:FB CYC:156 SL:114\nE5B6  A0 53     LDY #$53                        A:87 X:87 Y:57 P:67 SP:FB CYC:165 SL:114\nE5B8  B8        CLV                             A:87 X:87 Y:53 P:65 SP:FB CYC:171 SL:114\nE5B9  18        CLC                             A:87 X:87 Y:53 P:25 SP:FB CYC:177 SL:114\nE5BA  A9 00     LDA #$00                        A:87 X:87 Y:53 P:24 SP:FB CYC:183 SL:114\nE5BC  A7 68    *LAX $68 = 32                    A:00 X:87 Y:53 P:26 SP:FB CYC:189 SL:114\nE5BE  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:198 SL:114\nE5BF  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:204 SL:114\nE5C0  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:210 SL:114\nE5C1  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:216 SL:114\nE5C2  F0 12     BEQ $E5D6                       A:32 X:32 Y:53 P:24 SP:FB CYC:222 SL:114\nE5C4  30 10     BMI $E5D6                       A:32 X:32 Y:53 P:24 SP:FB CYC:228 SL:114\nE5C6  70 0E     BVS $E5D6                       A:32 X:32 Y:53 P:24 SP:FB CYC:234 SL:114\nE5C8  B0 0C     BCS $E5D6                       A:32 X:32 Y:53 P:24 SP:FB CYC:240 SL:114\nE5CA  C9 32     CMP #$32                        A:32 X:32 Y:53 P:24 SP:FB CYC:246 SL:114\nE5CC  D0 08     BNE $E5D6                       A:32 X:32 Y:53 P:27 SP:FB CYC:252 SL:114\nE5CE  E0 32     CPX #$32                        A:32 X:32 Y:53 P:27 SP:FB CYC:258 SL:114\nE5D0  D0 04     BNE $E5D6                       A:32 X:32 Y:53 P:27 SP:FB CYC:264 SL:114\nE5D2  C0 53     CPY #$53                        A:32 X:32 Y:53 P:27 SP:FB CYC:270 SL:114\nE5D4  F0 04     BEQ $E5DA                       A:32 X:32 Y:53 P:27 SP:FB CYC:276 SL:114\nE5DA  A9 87     LDA #$87                        A:32 X:32 Y:53 P:27 SP:FB CYC:285 SL:114\nE5DC  8D 77 05  STA $0577 = 00                  A:87 X:32 Y:53 P:A5 SP:FB CYC:291 SL:114\nE5DF  A9 32     LDA #$32                        A:87 X:32 Y:53 P:A5 SP:FB CYC:303 SL:114\nE5E1  8D 78 05  STA $0578 = 00                  A:32 X:32 Y:53 P:25 SP:FB CYC:309 SL:114\nE5E4  A0 57     LDY #$57                        A:32 X:32 Y:53 P:25 SP:FB CYC:321 SL:114\nE5E6  24 01     BIT $01 = FF                    A:32 X:32 Y:57 P:25 SP:FB CYC:327 SL:114\nE5E8  38        SEC                             A:32 X:32 Y:57 P:E5 SP:FB CYC:336 SL:114\nE5E9  A9 00     LDA #$00                        A:32 X:32 Y:57 P:E5 SP:FB CYC:  1 SL:115\nE5EB  AF 77 05 *LAX $0577 = 87                  A:00 X:32 Y:57 P:67 SP:FB CYC:  7 SL:115\nE5EE  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 19 SL:115\nE5EF  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 25 SL:115\nE5F0  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 31 SL:115\nE5F1  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC: 37 SL:115\nE5F2  F0 12     BEQ $E606                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 43 SL:115\nE5F4  10 10     BPL $E606                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 49 SL:115\nE5F6  50 0E     BVC $E606                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 55 SL:115\nE5F8  90 0C     BCC $E606                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 61 SL:115\nE5FA  C9 87     CMP #$87                        A:87 X:87 Y:57 P:E5 SP:FB CYC: 67 SL:115\nE5FC  D0 08     BNE $E606                       A:87 X:87 Y:57 P:67 SP:FB CYC: 73 SL:115\nE5FE  E0 87     CPX #$87                        A:87 X:87 Y:57 P:67 SP:FB CYC: 79 SL:115\nE600  D0 04     BNE $E606                       A:87 X:87 Y:57 P:67 SP:FB CYC: 85 SL:115\nE602  C0 57     CPY #$57                        A:87 X:87 Y:57 P:67 SP:FB CYC: 91 SL:115\nE604  F0 04     BEQ $E60A                       A:87 X:87 Y:57 P:67 SP:FB CYC: 97 SL:115\nE60A  A0 53     LDY #$53                        A:87 X:87 Y:57 P:67 SP:FB CYC:106 SL:115\nE60C  B8        CLV                             A:87 X:87 Y:53 P:65 SP:FB CYC:112 SL:115\nE60D  18        CLC                             A:87 X:87 Y:53 P:25 SP:FB CYC:118 SL:115\nE60E  A9 00     LDA #$00                        A:87 X:87 Y:53 P:24 SP:FB CYC:124 SL:115\nE610  AF 78 05 *LAX $0578 = 32                  A:00 X:87 Y:53 P:26 SP:FB CYC:130 SL:115\nE613  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:142 SL:115\nE614  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:148 SL:115\nE615  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:154 SL:115\nE616  EA        NOP                             A:32 X:32 Y:53 P:24 SP:FB CYC:160 SL:115\nE617  F0 12     BEQ $E62B                       A:32 X:32 Y:53 P:24 SP:FB CYC:166 SL:115\nE619  30 10     BMI $E62B                       A:32 X:32 Y:53 P:24 SP:FB CYC:172 SL:115\nE61B  70 0E     BVS $E62B                       A:32 X:32 Y:53 P:24 SP:FB CYC:178 SL:115\nE61D  B0 0C     BCS $E62B                       A:32 X:32 Y:53 P:24 SP:FB CYC:184 SL:115\nE61F  C9 32     CMP #$32                        A:32 X:32 Y:53 P:24 SP:FB CYC:190 SL:115\nE621  D0 08     BNE $E62B                       A:32 X:32 Y:53 P:27 SP:FB CYC:196 SL:115\nE623  E0 32     CPX #$32                        A:32 X:32 Y:53 P:27 SP:FB CYC:202 SL:115\nE625  D0 04     BNE $E62B                       A:32 X:32 Y:53 P:27 SP:FB CYC:208 SL:115\nE627  C0 53     CPY #$53                        A:32 X:32 Y:53 P:27 SP:FB CYC:214 SL:115\nE629  F0 04     BEQ $E62F                       A:32 X:32 Y:53 P:27 SP:FB CYC:220 SL:115\nE62F  A9 FF     LDA #$FF                        A:32 X:32 Y:53 P:27 SP:FB CYC:229 SL:115\nE631  85 43     STA $43 = 80                    A:FF X:32 Y:53 P:A5 SP:FB CYC:235 SL:115\nE633  A9 04     LDA #$04                        A:FF X:32 Y:53 P:A5 SP:FB CYC:244 SL:115\nE635  85 44     STA $44 = 05                    A:04 X:32 Y:53 P:25 SP:FB CYC:250 SL:115\nE637  A9 32     LDA #$32                        A:04 X:32 Y:53 P:25 SP:FB CYC:259 SL:115\nE639  85 45     STA $45 = 32                    A:32 X:32 Y:53 P:25 SP:FB CYC:265 SL:115\nE63B  A9 04     LDA #$04                        A:32 X:32 Y:53 P:25 SP:FB CYC:274 SL:115\nE63D  85 46     STA $46 = 04                    A:04 X:32 Y:53 P:25 SP:FB CYC:280 SL:115\nE63F  A9 55     LDA #$55                        A:04 X:32 Y:53 P:25 SP:FB CYC:289 SL:115\nE641  8D 80 05  STA $0580 = 55                  A:55 X:32 Y:53 P:25 SP:FB CYC:295 SL:115\nE644  A9 AA     LDA #$AA                        A:55 X:32 Y:53 P:25 SP:FB CYC:307 SL:115\nE646  8D 32 04  STA $0432 = AA                  A:AA X:32 Y:53 P:A5 SP:FB CYC:313 SL:115\nE649  A2 03     LDX #$03                        A:AA X:32 Y:53 P:A5 SP:FB CYC:325 SL:115\nE64B  A0 81     LDY #$81                        A:AA X:03 Y:53 P:25 SP:FB CYC:331 SL:115\nE64D  24 01     BIT $01 = FF                    A:AA X:03 Y:81 P:A5 SP:FB CYC:337 SL:115\nE64F  38        SEC                             A:AA X:03 Y:81 P:E5 SP:FB CYC:  5 SL:116\nE650  A9 00     LDA #$00                        A:AA X:03 Y:81 P:E5 SP:FB CYC: 11 SL:116\nE652  B3 43    *LAX ($43),Y = 04FF @ 0580 = 55  A:00 X:03 Y:81 P:67 SP:FB CYC: 17 SL:116\nE654  EA        NOP                             A:55 X:55 Y:81 P:65 SP:FB CYC: 35 SL:116\nE655  EA        NOP                             A:55 X:55 Y:81 P:65 SP:FB CYC: 41 SL:116\nE656  EA        NOP                             A:55 X:55 Y:81 P:65 SP:FB CYC: 47 SL:116\nE657  EA        NOP                             A:55 X:55 Y:81 P:65 SP:FB CYC: 53 SL:116\nE658  F0 12     BEQ $E66C                       A:55 X:55 Y:81 P:65 SP:FB CYC: 59 SL:116\nE65A  30 10     BMI $E66C                       A:55 X:55 Y:81 P:65 SP:FB CYC: 65 SL:116\nE65C  50 0E     BVC $E66C                       A:55 X:55 Y:81 P:65 SP:FB CYC: 71 SL:116\nE65E  90 0C     BCC $E66C                       A:55 X:55 Y:81 P:65 SP:FB CYC: 77 SL:116\nE660  C9 55     CMP #$55                        A:55 X:55 Y:81 P:65 SP:FB CYC: 83 SL:116\nE662  D0 08     BNE $E66C                       A:55 X:55 Y:81 P:67 SP:FB CYC: 89 SL:116\nE664  E0 55     CPX #$55                        A:55 X:55 Y:81 P:67 SP:FB CYC: 95 SL:116\nE666  D0 04     BNE $E66C                       A:55 X:55 Y:81 P:67 SP:FB CYC:101 SL:116\nE668  C0 81     CPY #$81                        A:55 X:55 Y:81 P:67 SP:FB CYC:107 SL:116\nE66A  F0 04     BEQ $E670                       A:55 X:55 Y:81 P:67 SP:FB CYC:113 SL:116\nE670  A2 05     LDX #$05                        A:55 X:55 Y:81 P:67 SP:FB CYC:122 SL:116\nE672  A0 00     LDY #$00                        A:55 X:05 Y:81 P:65 SP:FB CYC:128 SL:116\nE674  B8        CLV                             A:55 X:05 Y:00 P:67 SP:FB CYC:134 SL:116\nE675  18        CLC                             A:55 X:05 Y:00 P:27 SP:FB CYC:140 SL:116\nE676  A9 00     LDA #$00                        A:55 X:05 Y:00 P:26 SP:FB CYC:146 SL:116\nE678  B3 45    *LAX ($45),Y = 0432 @ 0432 = AA  A:00 X:05 Y:00 P:26 SP:FB CYC:152 SL:116\nE67A  EA        NOP                             A:AA X:AA Y:00 P:A4 SP:FB CYC:167 SL:116\nE67B  EA        NOP                             A:AA X:AA Y:00 P:A4 SP:FB CYC:173 SL:116\nE67C  EA        NOP                             A:AA X:AA Y:00 P:A4 SP:FB CYC:179 SL:116\nE67D  EA        NOP                             A:AA X:AA Y:00 P:A4 SP:FB CYC:185 SL:116\nE67E  F0 12     BEQ $E692                       A:AA X:AA Y:00 P:A4 SP:FB CYC:191 SL:116\nE680  10 10     BPL $E692                       A:AA X:AA Y:00 P:A4 SP:FB CYC:197 SL:116\nE682  70 0E     BVS $E692                       A:AA X:AA Y:00 P:A4 SP:FB CYC:203 SL:116\nE684  B0 0C     BCS $E692                       A:AA X:AA Y:00 P:A4 SP:FB CYC:209 SL:116\nE686  C9 AA     CMP #$AA                        A:AA X:AA Y:00 P:A4 SP:FB CYC:215 SL:116\nE688  D0 08     BNE $E692                       A:AA X:AA Y:00 P:27 SP:FB CYC:221 SL:116\nE68A  E0 AA     CPX #$AA                        A:AA X:AA Y:00 P:27 SP:FB CYC:227 SL:116\nE68C  D0 04     BNE $E692                       A:AA X:AA Y:00 P:27 SP:FB CYC:233 SL:116\nE68E  C0 00     CPY #$00                        A:AA X:AA Y:00 P:27 SP:FB CYC:239 SL:116\nE690  F0 04     BEQ $E696                       A:AA X:AA Y:00 P:27 SP:FB CYC:245 SL:116\nE696  A9 87     LDA #$87                        A:AA X:AA Y:00 P:27 SP:FB CYC:254 SL:116\nE698  85 67     STA $67 = 87                    A:87 X:AA Y:00 P:A5 SP:FB CYC:260 SL:116\nE69A  A9 32     LDA #$32                        A:87 X:AA Y:00 P:A5 SP:FB CYC:269 SL:116\nE69C  85 68     STA $68 = 32                    A:32 X:AA Y:00 P:25 SP:FB CYC:275 SL:116\nE69E  A0 57     LDY #$57                        A:32 X:AA Y:00 P:25 SP:FB CYC:284 SL:116\nE6A0  24 01     BIT $01 = FF                    A:32 X:AA Y:57 P:25 SP:FB CYC:290 SL:116\nE6A2  38        SEC                             A:32 X:AA Y:57 P:E5 SP:FB CYC:299 SL:116\nE6A3  A9 00     LDA #$00                        A:32 X:AA Y:57 P:E5 SP:FB CYC:305 SL:116\nE6A5  B7 10    *LAX $10,Y @ 67 = 87             A:00 X:AA Y:57 P:67 SP:FB CYC:311 SL:116\nE6A7  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC:323 SL:116\nE6A8  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC:329 SL:116\nE6A9  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC:335 SL:116\nE6AA  EA        NOP                             A:87 X:87 Y:57 P:E5 SP:FB CYC:  0 SL:117\nE6AB  F0 12     BEQ $E6BF                       A:87 X:87 Y:57 P:E5 SP:FB CYC:  6 SL:117\nE6AD  10 10     BPL $E6BF                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 12 SL:117\nE6AF  50 0E     BVC $E6BF                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 18 SL:117\nE6B1  90 0C     BCC $E6BF                       A:87 X:87 Y:57 P:E5 SP:FB CYC: 24 SL:117\nE6B3  C9 87     CMP #$87                        A:87 X:87 Y:57 P:E5 SP:FB CYC: 30 SL:117\nE6B5  D0 08     BNE $E6BF                       A:87 X:87 Y:57 P:67 SP:FB CYC: 36 SL:117\nE6B7  E0 87     CPX #$87                        A:87 X:87 Y:57 P:67 SP:FB CYC: 42 SL:117\nE6B9  D0 04     BNE $E6BF                       A:87 X:87 Y:57 P:67 SP:FB CYC: 48 SL:117\nE6BB  C0 57     CPY #$57                        A:87 X:87 Y:57 P:67 SP:FB CYC: 54 SL:117\nE6BD  F0 04     BEQ $E6C3                       A:87 X:87 Y:57 P:67 SP:FB CYC: 60 SL:117\nE6C3  A0 FF     LDY #$FF                        A:87 X:87 Y:57 P:67 SP:FB CYC: 69 SL:117\nE6C5  B8        CLV                             A:87 X:87 Y:FF P:E5 SP:FB CYC: 75 SL:117\nE6C6  18        CLC                             A:87 X:87 Y:FF P:A5 SP:FB CYC: 81 SL:117\nE6C7  A9 00     LDA #$00                        A:87 X:87 Y:FF P:A4 SP:FB CYC: 87 SL:117\nE6C9  B7 69    *LAX $69,Y @ 68 = 32             A:00 X:87 Y:FF P:26 SP:FB CYC: 93 SL:117\nE6CB  EA        NOP                             A:32 X:32 Y:FF P:24 SP:FB CYC:105 SL:117\nE6CC  EA        NOP                             A:32 X:32 Y:FF P:24 SP:FB CYC:111 SL:117\nE6CD  EA        NOP                             A:32 X:32 Y:FF P:24 SP:FB CYC:117 SL:117\nE6CE  EA        NOP                             A:32 X:32 Y:FF P:24 SP:FB CYC:123 SL:117\nE6CF  F0 12     BEQ $E6E3                       A:32 X:32 Y:FF P:24 SP:FB CYC:129 SL:117\nE6D1  30 10     BMI $E6E3                       A:32 X:32 Y:FF P:24 SP:FB CYC:135 SL:117\nE6D3  70 0E     BVS $E6E3                       A:32 X:32 Y:FF P:24 SP:FB CYC:141 SL:117\nE6D5  B0 0C     BCS $E6E3                       A:32 X:32 Y:FF P:24 SP:FB CYC:147 SL:117\nE6D7  C9 32     CMP #$32                        A:32 X:32 Y:FF P:24 SP:FB CYC:153 SL:117\nE6D9  D0 08     BNE $E6E3                       A:32 X:32 Y:FF P:27 SP:FB CYC:159 SL:117\nE6DB  E0 32     CPX #$32                        A:32 X:32 Y:FF P:27 SP:FB CYC:165 SL:117\nE6DD  D0 04     BNE $E6E3                       A:32 X:32 Y:FF P:27 SP:FB CYC:171 SL:117\nE6DF  C0 FF     CPY #$FF                        A:32 X:32 Y:FF P:27 SP:FB CYC:177 SL:117\nE6E1  F0 04     BEQ $E6E7                       A:32 X:32 Y:FF P:27 SP:FB CYC:183 SL:117\nE6E7  A9 87     LDA #$87                        A:32 X:32 Y:FF P:27 SP:FB CYC:192 SL:117\nE6E9  8D 87 05  STA $0587 = 00                  A:87 X:32 Y:FF P:A5 SP:FB CYC:198 SL:117\nE6EC  A9 32     LDA #$32                        A:87 X:32 Y:FF P:A5 SP:FB CYC:210 SL:117\nE6EE  8D 88 05  STA $0588 = 00                  A:32 X:32 Y:FF P:25 SP:FB CYC:216 SL:117\nE6F1  A0 30     LDY #$30                        A:32 X:32 Y:FF P:25 SP:FB CYC:228 SL:117\nE6F3  24 01     BIT $01 = FF                    A:32 X:32 Y:30 P:25 SP:FB CYC:234 SL:117\nE6F5  38        SEC                             A:32 X:32 Y:30 P:E5 SP:FB CYC:243 SL:117\nE6F6  A9 00     LDA #$00                        A:32 X:32 Y:30 P:E5 SP:FB CYC:249 SL:117\nE6F8  BF 57 05 *LAX $0557,Y @ 0587 = 87         A:00 X:32 Y:30 P:67 SP:FB CYC:255 SL:117\nE6FB  EA        NOP                             A:87 X:87 Y:30 P:E5 SP:FB CYC:267 SL:117\nE6FC  EA        NOP                             A:87 X:87 Y:30 P:E5 SP:FB CYC:273 SL:117\nE6FD  EA        NOP                             A:87 X:87 Y:30 P:E5 SP:FB CYC:279 SL:117\nE6FE  EA        NOP                             A:87 X:87 Y:30 P:E5 SP:FB CYC:285 SL:117\nE6FF  F0 12     BEQ $E713                       A:87 X:87 Y:30 P:E5 SP:FB CYC:291 SL:117\nE701  10 10     BPL $E713                       A:87 X:87 Y:30 P:E5 SP:FB CYC:297 SL:117\nE703  50 0E     BVC $E713                       A:87 X:87 Y:30 P:E5 SP:FB CYC:303 SL:117\nE705  90 0C     BCC $E713                       A:87 X:87 Y:30 P:E5 SP:FB CYC:309 SL:117\nE707  C9 87     CMP #$87                        A:87 X:87 Y:30 P:E5 SP:FB CYC:315 SL:117\nE709  D0 08     BNE $E713                       A:87 X:87 Y:30 P:67 SP:FB CYC:321 SL:117\nE70B  E0 87     CPX #$87                        A:87 X:87 Y:30 P:67 SP:FB CYC:327 SL:117\nE70D  D0 04     BNE $E713                       A:87 X:87 Y:30 P:67 SP:FB CYC:333 SL:117\nE70F  C0 30     CPY #$30                        A:87 X:87 Y:30 P:67 SP:FB CYC:339 SL:117\nE711  F0 04     BEQ $E717                       A:87 X:87 Y:30 P:67 SP:FB CYC:  4 SL:118\nE717  A0 40     LDY #$40                        A:87 X:87 Y:30 P:67 SP:FB CYC: 13 SL:118\nE719  B8        CLV                             A:87 X:87 Y:40 P:65 SP:FB CYC: 19 SL:118\nE71A  18        CLC                             A:87 X:87 Y:40 P:25 SP:FB CYC: 25 SL:118\nE71B  A9 00     LDA #$00                        A:87 X:87 Y:40 P:24 SP:FB CYC: 31 SL:118\nE71D  BF 48 05 *LAX $0548,Y @ 0588 = 32         A:00 X:87 Y:40 P:26 SP:FB CYC: 37 SL:118\nE720  EA        NOP                             A:32 X:32 Y:40 P:24 SP:FB CYC: 49 SL:118\nE721  EA        NOP                             A:32 X:32 Y:40 P:24 SP:FB CYC: 55 SL:118\nE722  EA        NOP                             A:32 X:32 Y:40 P:24 SP:FB CYC: 61 SL:118\nE723  EA        NOP                             A:32 X:32 Y:40 P:24 SP:FB CYC: 67 SL:118\nE724  F0 12     BEQ $E738                       A:32 X:32 Y:40 P:24 SP:FB CYC: 73 SL:118\nE726  30 10     BMI $E738                       A:32 X:32 Y:40 P:24 SP:FB CYC: 79 SL:118\nE728  70 0E     BVS $E738                       A:32 X:32 Y:40 P:24 SP:FB CYC: 85 SL:118\nE72A  B0 0C     BCS $E738                       A:32 X:32 Y:40 P:24 SP:FB CYC: 91 SL:118\nE72C  C9 32     CMP #$32                        A:32 X:32 Y:40 P:24 SP:FB CYC: 97 SL:118\nE72E  D0 08     BNE $E738                       A:32 X:32 Y:40 P:27 SP:FB CYC:103 SL:118\nE730  E0 32     CPX #$32                        A:32 X:32 Y:40 P:27 SP:FB CYC:109 SL:118\nE732  D0 04     BNE $E738                       A:32 X:32 Y:40 P:27 SP:FB CYC:115 SL:118\nE734  C0 40     CPY #$40                        A:32 X:32 Y:40 P:27 SP:FB CYC:121 SL:118\nE736  F0 04     BEQ $E73C                       A:32 X:32 Y:40 P:27 SP:FB CYC:127 SL:118\nE73C  60        RTS                             A:32 X:32 Y:40 P:27 SP:FB CYC:136 SL:118\nC635  20 3D E7  JSR $E73D                       A:32 X:32 Y:40 P:27 SP:FD CYC:154 SL:118\nE73D  A9 C0     LDA #$C0                        A:32 X:32 Y:40 P:27 SP:FB CYC:172 SL:118\nE73F  85 01     STA $01 = FF                    A:C0 X:32 Y:40 P:A5 SP:FB CYC:178 SL:118\nE741  A9 00     LDA #$00                        A:C0 X:32 Y:40 P:A5 SP:FB CYC:187 SL:118\nE743  8D 89 04  STA $0489 = 00                  A:00 X:32 Y:40 P:27 SP:FB CYC:193 SL:118\nE746  A9 89     LDA #$89                        A:00 X:32 Y:40 P:27 SP:FB CYC:205 SL:118\nE748  85 60     STA $60 = 00                    A:89 X:32 Y:40 P:A5 SP:FB CYC:211 SL:118\nE74A  A9 04     LDA #$04                        A:89 X:32 Y:40 P:A5 SP:FB CYC:220 SL:118\nE74C  85 61     STA $61 = 00                    A:04 X:32 Y:40 P:25 SP:FB CYC:226 SL:118\nE74E  A0 44     LDY #$44                        A:04 X:32 Y:40 P:25 SP:FB CYC:235 SL:118\nE750  A2 17     LDX #$17                        A:04 X:32 Y:44 P:25 SP:FB CYC:241 SL:118\nE752  A9 3E     LDA #$3E                        A:04 X:17 Y:44 P:25 SP:FB CYC:247 SL:118\nE754  24 01     BIT $01 = C0                    A:3E X:17 Y:44 P:25 SP:FB CYC:253 SL:118\nE756  18        CLC                             A:3E X:17 Y:44 P:E7 SP:FB CYC:262 SL:118\nE757  83 49    *SAX ($49,X) @ 60 = 0489 = 00    A:3E X:17 Y:44 P:E6 SP:FB CYC:268 SL:118\nE759  EA        NOP                             A:3E X:17 Y:44 P:E6 SP:FB CYC:286 SL:118\nE75A  EA        NOP                             A:3E X:17 Y:44 P:E6 SP:FB CYC:292 SL:118\nE75B  EA        NOP                             A:3E X:17 Y:44 P:E6 SP:FB CYC:298 SL:118\nE75C  EA        NOP                             A:3E X:17 Y:44 P:E6 SP:FB CYC:304 SL:118\nE75D  D0 19     BNE $E778                       A:3E X:17 Y:44 P:E6 SP:FB CYC:310 SL:118\nE75F  B0 17     BCS $E778                       A:3E X:17 Y:44 P:E6 SP:FB CYC:316 SL:118\nE761  50 15     BVC $E778                       A:3E X:17 Y:44 P:E6 SP:FB CYC:322 SL:118\nE763  10 13     BPL $E778                       A:3E X:17 Y:44 P:E6 SP:FB CYC:328 SL:118\nE765  C9 3E     CMP #$3E                        A:3E X:17 Y:44 P:E6 SP:FB CYC:334 SL:118\nE767  D0 0F     BNE $E778                       A:3E X:17 Y:44 P:67 SP:FB CYC:340 SL:118\nE769  C0 44     CPY #$44                        A:3E X:17 Y:44 P:67 SP:FB CYC:  5 SL:119\nE76B  D0 0B     BNE $E778                       A:3E X:17 Y:44 P:67 SP:FB CYC: 11 SL:119\nE76D  E0 17     CPX #$17                        A:3E X:17 Y:44 P:67 SP:FB CYC: 17 SL:119\nE76F  D0 07     BNE $E778                       A:3E X:17 Y:44 P:67 SP:FB CYC: 23 SL:119\nE771  AD 89 04  LDA $0489 = 16                  A:3E X:17 Y:44 P:67 SP:FB CYC: 29 SL:119\nE774  C9 16     CMP #$16                        A:16 X:17 Y:44 P:65 SP:FB CYC: 41 SL:119\nE776  F0 04     BEQ $E77C                       A:16 X:17 Y:44 P:67 SP:FB CYC: 47 SL:119\nE77C  A0 44     LDY #$44                        A:16 X:17 Y:44 P:67 SP:FB CYC: 56 SL:119\nE77E  A2 7A     LDX #$7A                        A:16 X:17 Y:44 P:65 SP:FB CYC: 62 SL:119\nE780  A9 66     LDA #$66                        A:16 X:7A Y:44 P:65 SP:FB CYC: 68 SL:119\nE782  38        SEC                             A:66 X:7A Y:44 P:65 SP:FB CYC: 74 SL:119\nE783  B8        CLV                             A:66 X:7A Y:44 P:65 SP:FB CYC: 80 SL:119\nE784  83 E6    *SAX ($E6,X) @ 60 = 0489 = 16    A:66 X:7A Y:44 P:25 SP:FB CYC: 86 SL:119\nE786  EA        NOP                             A:66 X:7A Y:44 P:25 SP:FB CYC:104 SL:119\nE787  EA        NOP                             A:66 X:7A Y:44 P:25 SP:FB CYC:110 SL:119\nE788  EA        NOP                             A:66 X:7A Y:44 P:25 SP:FB CYC:116 SL:119\nE789  EA        NOP                             A:66 X:7A Y:44 P:25 SP:FB CYC:122 SL:119\nE78A  F0 19     BEQ $E7A5                       A:66 X:7A Y:44 P:25 SP:FB CYC:128 SL:119\nE78C  90 17     BCC $E7A5                       A:66 X:7A Y:44 P:25 SP:FB CYC:134 SL:119\nE78E  70 15     BVS $E7A5                       A:66 X:7A Y:44 P:25 SP:FB CYC:140 SL:119\nE790  30 13     BMI $E7A5                       A:66 X:7A Y:44 P:25 SP:FB CYC:146 SL:119\nE792  C9 66     CMP #$66                        A:66 X:7A Y:44 P:25 SP:FB CYC:152 SL:119\nE794  D0 0F     BNE $E7A5                       A:66 X:7A Y:44 P:27 SP:FB CYC:158 SL:119\nE796  C0 44     CPY #$44                        A:66 X:7A Y:44 P:27 SP:FB CYC:164 SL:119\nE798  D0 0B     BNE $E7A5                       A:66 X:7A Y:44 P:27 SP:FB CYC:170 SL:119\nE79A  E0 7A     CPX #$7A                        A:66 X:7A Y:44 P:27 SP:FB CYC:176 SL:119\nE79C  D0 07     BNE $E7A5                       A:66 X:7A Y:44 P:27 SP:FB CYC:182 SL:119\nE79E  AD 89 04  LDA $0489 = 62                  A:66 X:7A Y:44 P:27 SP:FB CYC:188 SL:119\nE7A1  C9 62     CMP #$62                        A:62 X:7A Y:44 P:25 SP:FB CYC:200 SL:119\nE7A3  F0 04     BEQ $E7A9                       A:62 X:7A Y:44 P:27 SP:FB CYC:206 SL:119\nE7A9  A9 FF     LDA #$FF                        A:62 X:7A Y:44 P:27 SP:FB CYC:215 SL:119\nE7AB  85 49     STA $49 = 00                    A:FF X:7A Y:44 P:A5 SP:FB CYC:221 SL:119\nE7AD  A0 44     LDY #$44                        A:FF X:7A Y:44 P:A5 SP:FB CYC:230 SL:119\nE7AF  A2 AA     LDX #$AA                        A:FF X:7A Y:44 P:25 SP:FB CYC:236 SL:119\nE7B1  A9 55     LDA #$55                        A:FF X:AA Y:44 P:A5 SP:FB CYC:242 SL:119\nE7B3  24 01     BIT $01 = C0                    A:55 X:AA Y:44 P:25 SP:FB CYC:248 SL:119\nE7B5  18        CLC                             A:55 X:AA Y:44 P:E5 SP:FB CYC:257 SL:119\nE7B6  87 49    *SAX $49 = FF                    A:55 X:AA Y:44 P:E4 SP:FB CYC:263 SL:119\nE7B8  EA        NOP                             A:55 X:AA Y:44 P:E4 SP:FB CYC:272 SL:119\nE7B9  EA        NOP                             A:55 X:AA Y:44 P:E4 SP:FB CYC:278 SL:119\nE7BA  EA        NOP                             A:55 X:AA Y:44 P:E4 SP:FB CYC:284 SL:119\nE7BB  EA        NOP                             A:55 X:AA Y:44 P:E4 SP:FB CYC:290 SL:119\nE7BC  F0 18     BEQ $E7D6                       A:55 X:AA Y:44 P:E4 SP:FB CYC:296 SL:119\nE7BE  B0 16     BCS $E7D6                       A:55 X:AA Y:44 P:E4 SP:FB CYC:302 SL:119\nE7C0  50 14     BVC $E7D6                       A:55 X:AA Y:44 P:E4 SP:FB CYC:308 SL:119\nE7C2  10 12     BPL $E7D6                       A:55 X:AA Y:44 P:E4 SP:FB CYC:314 SL:119\nE7C4  C9 55     CMP #$55                        A:55 X:AA Y:44 P:E4 SP:FB CYC:320 SL:119\nE7C6  D0 0E     BNE $E7D6                       A:55 X:AA Y:44 P:67 SP:FB CYC:326 SL:119\nE7C8  C0 44     CPY #$44                        A:55 X:AA Y:44 P:67 SP:FB CYC:332 SL:119\nE7CA  D0 0A     BNE $E7D6                       A:55 X:AA Y:44 P:67 SP:FB CYC:338 SL:119\nE7CC  E0 AA     CPX #$AA                        A:55 X:AA Y:44 P:67 SP:FB CYC:  3 SL:120\nE7CE  D0 06     BNE $E7D6                       A:55 X:AA Y:44 P:67 SP:FB CYC:  9 SL:120\nE7D0  A5 49     LDA $49 = 00                    A:55 X:AA Y:44 P:67 SP:FB CYC: 15 SL:120\nE7D2  C9 00     CMP #$00                        A:00 X:AA Y:44 P:67 SP:FB CYC: 24 SL:120\nE7D4  F0 04     BEQ $E7DA                       A:00 X:AA Y:44 P:67 SP:FB CYC: 30 SL:120\nE7DA  A9 00     LDA #$00                        A:00 X:AA Y:44 P:67 SP:FB CYC: 39 SL:120\nE7DC  85 56     STA $56 = 00                    A:00 X:AA Y:44 P:67 SP:FB CYC: 45 SL:120\nE7DE  A0 58     LDY #$58                        A:00 X:AA Y:44 P:67 SP:FB CYC: 54 SL:120\nE7E0  A2 EF     LDX #$EF                        A:00 X:AA Y:58 P:65 SP:FB CYC: 60 SL:120\nE7E2  A9 66     LDA #$66                        A:00 X:EF Y:58 P:E5 SP:FB CYC: 66 SL:120\nE7E4  38        SEC                             A:66 X:EF Y:58 P:65 SP:FB CYC: 72 SL:120\nE7E5  B8        CLV                             A:66 X:EF Y:58 P:65 SP:FB CYC: 78 SL:120\nE7E6  87 56    *SAX $56 = 00                    A:66 X:EF Y:58 P:25 SP:FB CYC: 84 SL:120\nE7E8  EA        NOP                             A:66 X:EF Y:58 P:25 SP:FB CYC: 93 SL:120\nE7E9  EA        NOP                             A:66 X:EF Y:58 P:25 SP:FB CYC: 99 SL:120\nE7EA  EA        NOP                             A:66 X:EF Y:58 P:25 SP:FB CYC:105 SL:120\nE7EB  EA        NOP                             A:66 X:EF Y:58 P:25 SP:FB CYC:111 SL:120\nE7EC  F0 18     BEQ $E806                       A:66 X:EF Y:58 P:25 SP:FB CYC:117 SL:120\nE7EE  90 16     BCC $E806                       A:66 X:EF Y:58 P:25 SP:FB CYC:123 SL:120\nE7F0  70 14     BVS $E806                       A:66 X:EF Y:58 P:25 SP:FB CYC:129 SL:120\nE7F2  30 12     BMI $E806                       A:66 X:EF Y:58 P:25 SP:FB CYC:135 SL:120\nE7F4  C9 66     CMP #$66                        A:66 X:EF Y:58 P:25 SP:FB CYC:141 SL:120\nE7F6  D0 0E     BNE $E806                       A:66 X:EF Y:58 P:27 SP:FB CYC:147 SL:120\nE7F8  C0 58     CPY #$58                        A:66 X:EF Y:58 P:27 SP:FB CYC:153 SL:120\nE7FA  D0 0A     BNE $E806                       A:66 X:EF Y:58 P:27 SP:FB CYC:159 SL:120\nE7FC  E0 EF     CPX #$EF                        A:66 X:EF Y:58 P:27 SP:FB CYC:165 SL:120\nE7FE  D0 06     BNE $E806                       A:66 X:EF Y:58 P:27 SP:FB CYC:171 SL:120\nE800  A5 56     LDA $56 = 66                    A:66 X:EF Y:58 P:27 SP:FB CYC:177 SL:120\nE802  C9 66     CMP #$66                        A:66 X:EF Y:58 P:25 SP:FB CYC:186 SL:120\nE804  F0 04     BEQ $E80A                       A:66 X:EF Y:58 P:27 SP:FB CYC:192 SL:120\nE80A  A9 FF     LDA #$FF                        A:66 X:EF Y:58 P:27 SP:FB CYC:201 SL:120\nE80C  8D 49 05  STA $0549 = 00                  A:FF X:EF Y:58 P:A5 SP:FB CYC:207 SL:120\nE80F  A0 E5     LDY #$E5                        A:FF X:EF Y:58 P:A5 SP:FB CYC:219 SL:120\nE811  A2 AF     LDX #$AF                        A:FF X:EF Y:E5 P:A5 SP:FB CYC:225 SL:120\nE813  A9 F5     LDA #$F5                        A:FF X:AF Y:E5 P:A5 SP:FB CYC:231 SL:120\nE815  24 01     BIT $01 = C0                    A:F5 X:AF Y:E5 P:A5 SP:FB CYC:237 SL:120\nE817  18        CLC                             A:F5 X:AF Y:E5 P:E5 SP:FB CYC:246 SL:120\nE818  8F 49 05 *SAX $0549 = FF                  A:F5 X:AF Y:E5 P:E4 SP:FB CYC:252 SL:120\nE81B  EA        NOP                             A:F5 X:AF Y:E5 P:E4 SP:FB CYC:264 SL:120\nE81C  EA        NOP                             A:F5 X:AF Y:E5 P:E4 SP:FB CYC:270 SL:120\nE81D  EA        NOP                             A:F5 X:AF Y:E5 P:E4 SP:FB CYC:276 SL:120\nE81E  EA        NOP                             A:F5 X:AF Y:E5 P:E4 SP:FB CYC:282 SL:120\nE81F  F0 19     BEQ $E83A                       A:F5 X:AF Y:E5 P:E4 SP:FB CYC:288 SL:120\nE821  B0 17     BCS $E83A                       A:F5 X:AF Y:E5 P:E4 SP:FB CYC:294 SL:120\nE823  50 15     BVC $E83A                       A:F5 X:AF Y:E5 P:E4 SP:FB CYC:300 SL:120\nE825  10 13     BPL $E83A                       A:F5 X:AF Y:E5 P:E4 SP:FB CYC:306 SL:120\nE827  C9 F5     CMP #$F5                        A:F5 X:AF Y:E5 P:E4 SP:FB CYC:312 SL:120\nE829  D0 0F     BNE $E83A                       A:F5 X:AF Y:E5 P:67 SP:FB CYC:318 SL:120\nE82B  C0 E5     CPY #$E5                        A:F5 X:AF Y:E5 P:67 SP:FB CYC:324 SL:120\nE82D  D0 0B     BNE $E83A                       A:F5 X:AF Y:E5 P:67 SP:FB CYC:330 SL:120\nE82F  E0 AF     CPX #$AF                        A:F5 X:AF Y:E5 P:67 SP:FB CYC:336 SL:120\nE831  D0 07     BNE $E83A                       A:F5 X:AF Y:E5 P:67 SP:FB CYC:  1 SL:121\nE833  AD 49 05  LDA $0549 = A5                  A:F5 X:AF Y:E5 P:67 SP:FB CYC:  7 SL:121\nE836  C9 A5     CMP #$A5                        A:A5 X:AF Y:E5 P:E5 SP:FB CYC: 19 SL:121\nE838  F0 04     BEQ $E83E                       A:A5 X:AF Y:E5 P:67 SP:FB CYC: 25 SL:121\nE83E  A9 00     LDA #$00                        A:A5 X:AF Y:E5 P:67 SP:FB CYC: 34 SL:121\nE840  8D 56 05  STA $0556 = 00                  A:00 X:AF Y:E5 P:67 SP:FB CYC: 40 SL:121\nE843  A0 58     LDY #$58                        A:00 X:AF Y:E5 P:67 SP:FB CYC: 52 SL:121\nE845  A2 B3     LDX #$B3                        A:00 X:AF Y:58 P:65 SP:FB CYC: 58 SL:121\nE847  A9 97     LDA #$97                        A:00 X:B3 Y:58 P:E5 SP:FB CYC: 64 SL:121\nE849  38        SEC                             A:97 X:B3 Y:58 P:E5 SP:FB CYC: 70 SL:121\nE84A  B8        CLV                             A:97 X:B3 Y:58 P:E5 SP:FB CYC: 76 SL:121\nE84B  8F 56 05 *SAX $0556 = 00                  A:97 X:B3 Y:58 P:A5 SP:FB CYC: 82 SL:121\nE84E  EA        NOP                             A:97 X:B3 Y:58 P:A5 SP:FB CYC: 94 SL:121\nE84F  EA        NOP                             A:97 X:B3 Y:58 P:A5 SP:FB CYC:100 SL:121\nE850  EA        NOP                             A:97 X:B3 Y:58 P:A5 SP:FB CYC:106 SL:121\nE851  EA        NOP                             A:97 X:B3 Y:58 P:A5 SP:FB CYC:112 SL:121\nE852  F0 19     BEQ $E86D                       A:97 X:B3 Y:58 P:A5 SP:FB CYC:118 SL:121\nE854  90 17     BCC $E86D                       A:97 X:B3 Y:58 P:A5 SP:FB CYC:124 SL:121\nE856  70 15     BVS $E86D                       A:97 X:B3 Y:58 P:A5 SP:FB CYC:130 SL:121\nE858  10 13     BPL $E86D                       A:97 X:B3 Y:58 P:A5 SP:FB CYC:136 SL:121\nE85A  C9 97     CMP #$97                        A:97 X:B3 Y:58 P:A5 SP:FB CYC:142 SL:121\nE85C  D0 0F     BNE $E86D                       A:97 X:B3 Y:58 P:27 SP:FB CYC:148 SL:121\nE85E  C0 58     CPY #$58                        A:97 X:B3 Y:58 P:27 SP:FB CYC:154 SL:121\nE860  D0 0B     BNE $E86D                       A:97 X:B3 Y:58 P:27 SP:FB CYC:160 SL:121\nE862  E0 B3     CPX #$B3                        A:97 X:B3 Y:58 P:27 SP:FB CYC:166 SL:121\nE864  D0 07     BNE $E86D                       A:97 X:B3 Y:58 P:27 SP:FB CYC:172 SL:121\nE866  AD 56 05  LDA $0556 = 93                  A:97 X:B3 Y:58 P:27 SP:FB CYC:178 SL:121\nE869  C9 93     CMP #$93                        A:93 X:B3 Y:58 P:A5 SP:FB CYC:190 SL:121\nE86B  F0 04     BEQ $E871                       A:93 X:B3 Y:58 P:27 SP:FB CYC:196 SL:121\nE871  A9 FF     LDA #$FF                        A:93 X:B3 Y:58 P:27 SP:FB CYC:205 SL:121\nE873  85 49     STA $49 = 00                    A:FF X:B3 Y:58 P:A5 SP:FB CYC:211 SL:121\nE875  A0 FF     LDY #$FF                        A:FF X:B3 Y:58 P:A5 SP:FB CYC:220 SL:121\nE877  A2 AA     LDX #$AA                        A:FF X:B3 Y:FF P:A5 SP:FB CYC:226 SL:121\nE879  A9 55     LDA #$55                        A:FF X:AA Y:FF P:A5 SP:FB CYC:232 SL:121\nE87B  24 01     BIT $01 = C0                    A:55 X:AA Y:FF P:25 SP:FB CYC:238 SL:121\nE87D  18        CLC                             A:55 X:AA Y:FF P:E5 SP:FB CYC:247 SL:121\nE87E  97 4A    *SAX $4A,Y @ 49 = FF             A:55 X:AA Y:FF P:E4 SP:FB CYC:253 SL:121\nE880  EA        NOP                             A:55 X:AA Y:FF P:E4 SP:FB CYC:265 SL:121\nE881  EA        NOP                             A:55 X:AA Y:FF P:E4 SP:FB CYC:271 SL:121\nE882  EA        NOP                             A:55 X:AA Y:FF P:E4 SP:FB CYC:277 SL:121\nE883  EA        NOP                             A:55 X:AA Y:FF P:E4 SP:FB CYC:283 SL:121\nE884  F0 18     BEQ $E89E                       A:55 X:AA Y:FF P:E4 SP:FB CYC:289 SL:121\nE886  B0 16     BCS $E89E                       A:55 X:AA Y:FF P:E4 SP:FB CYC:295 SL:121\nE888  50 14     BVC $E89E                       A:55 X:AA Y:FF P:E4 SP:FB CYC:301 SL:121\nE88A  10 12     BPL $E89E                       A:55 X:AA Y:FF P:E4 SP:FB CYC:307 SL:121\nE88C  C9 55     CMP #$55                        A:55 X:AA Y:FF P:E4 SP:FB CYC:313 SL:121\nE88E  D0 0E     BNE $E89E                       A:55 X:AA Y:FF P:67 SP:FB CYC:319 SL:121\nE890  C0 FF     CPY #$FF                        A:55 X:AA Y:FF P:67 SP:FB CYC:325 SL:121\nE892  D0 0A     BNE $E89E                       A:55 X:AA Y:FF P:67 SP:FB CYC:331 SL:121\nE894  E0 AA     CPX #$AA                        A:55 X:AA Y:FF P:67 SP:FB CYC:337 SL:121\nE896  D0 06     BNE $E89E                       A:55 X:AA Y:FF P:67 SP:FB CYC:  2 SL:122\nE898  A5 49     LDA $49 = 00                    A:55 X:AA Y:FF P:67 SP:FB CYC:  8 SL:122\nE89A  C9 00     CMP #$00                        A:00 X:AA Y:FF P:67 SP:FB CYC: 17 SL:122\nE89C  F0 04     BEQ $E8A2                       A:00 X:AA Y:FF P:67 SP:FB CYC: 23 SL:122\nE8A2  A9 00     LDA #$00                        A:00 X:AA Y:FF P:67 SP:FB CYC: 32 SL:122\nE8A4  85 56     STA $56 = 66                    A:00 X:AA Y:FF P:67 SP:FB CYC: 38 SL:122\nE8A6  A0 06     LDY #$06                        A:00 X:AA Y:FF P:67 SP:FB CYC: 47 SL:122\nE8A8  A2 EF     LDX #$EF                        A:00 X:AA Y:06 P:65 SP:FB CYC: 53 SL:122\nE8AA  A9 66     LDA #$66                        A:00 X:EF Y:06 P:E5 SP:FB CYC: 59 SL:122\nE8AC  38        SEC                             A:66 X:EF Y:06 P:65 SP:FB CYC: 65 SL:122\nE8AD  B8        CLV                             A:66 X:EF Y:06 P:65 SP:FB CYC: 71 SL:122\nE8AE  97 50    *SAX $50,Y @ 56 = 00             A:66 X:EF Y:06 P:25 SP:FB CYC: 77 SL:122\nE8B0  EA        NOP                             A:66 X:EF Y:06 P:25 SP:FB CYC: 89 SL:122\nE8B1  EA        NOP                             A:66 X:EF Y:06 P:25 SP:FB CYC: 95 SL:122\nE8B2  EA        NOP                             A:66 X:EF Y:06 P:25 SP:FB CYC:101 SL:122\nE8B3  EA        NOP                             A:66 X:EF Y:06 P:25 SP:FB CYC:107 SL:122\nE8B4  F0 18     BEQ $E8CE                       A:66 X:EF Y:06 P:25 SP:FB CYC:113 SL:122\nE8B6  90 16     BCC $E8CE                       A:66 X:EF Y:06 P:25 SP:FB CYC:119 SL:122\nE8B8  70 14     BVS $E8CE                       A:66 X:EF Y:06 P:25 SP:FB CYC:125 SL:122\nE8BA  30 12     BMI $E8CE                       A:66 X:EF Y:06 P:25 SP:FB CYC:131 SL:122\nE8BC  C9 66     CMP #$66                        A:66 X:EF Y:06 P:25 SP:FB CYC:137 SL:122\nE8BE  D0 0E     BNE $E8CE                       A:66 X:EF Y:06 P:27 SP:FB CYC:143 SL:122\nE8C0  C0 06     CPY #$06                        A:66 X:EF Y:06 P:27 SP:FB CYC:149 SL:122\nE8C2  D0 0A     BNE $E8CE                       A:66 X:EF Y:06 P:27 SP:FB CYC:155 SL:122\nE8C4  E0 EF     CPX #$EF                        A:66 X:EF Y:06 P:27 SP:FB CYC:161 SL:122\nE8C6  D0 06     BNE $E8CE                       A:66 X:EF Y:06 P:27 SP:FB CYC:167 SL:122\nE8C8  A5 56     LDA $56 = 66                    A:66 X:EF Y:06 P:27 SP:FB CYC:173 SL:122\nE8CA  C9 66     CMP #$66                        A:66 X:EF Y:06 P:25 SP:FB CYC:182 SL:122\nE8CC  F0 04     BEQ $E8D2                       A:66 X:EF Y:06 P:27 SP:FB CYC:188 SL:122\nE8D2  60        RTS                             A:66 X:EF Y:06 P:27 SP:FB CYC:197 SL:122\nC638  20 D3 E8  JSR $E8D3                       A:66 X:EF Y:06 P:27 SP:FD CYC:215 SL:122\nE8D3  A0 90     LDY #$90                        A:66 X:EF Y:06 P:27 SP:FB CYC:233 SL:122\nE8D5  20 31 F9  JSR $F931                       A:66 X:EF Y:90 P:A5 SP:FB CYC:239 SL:122\nF931  24 01     BIT $01 = C0                    A:66 X:EF Y:90 P:A5 SP:F9 CYC:257 SL:122\nF933  A9 40     LDA #$40                        A:66 X:EF Y:90 P:E5 SP:F9 CYC:266 SL:122\nF935  38        SEC                             A:40 X:EF Y:90 P:65 SP:F9 CYC:272 SL:122\nF936  60        RTS                             A:40 X:EF Y:90 P:65 SP:F9 CYC:278 SL:122\nE8D8  EB 40    *SBC #$40                        A:40 X:EF Y:90 P:65 SP:FB CYC:296 SL:122\nE8DA  EA        NOP                             A:00 X:EF Y:90 P:27 SP:FB CYC:302 SL:122\nE8DB  EA        NOP                             A:00 X:EF Y:90 P:27 SP:FB CYC:308 SL:122\nE8DC  EA        NOP                             A:00 X:EF Y:90 P:27 SP:FB CYC:314 SL:122\nE8DD  EA        NOP                             A:00 X:EF Y:90 P:27 SP:FB CYC:320 SL:122\nE8DE  20 37 F9  JSR $F937                       A:00 X:EF Y:90 P:27 SP:FB CYC:326 SL:122\nF937  30 0B     BMI $F944                       A:00 X:EF Y:90 P:27 SP:F9 CYC:  3 SL:123\nF939  90 09     BCC $F944                       A:00 X:EF Y:90 P:27 SP:F9 CYC:  9 SL:123\nF93B  D0 07     BNE $F944                       A:00 X:EF Y:90 P:27 SP:F9 CYC: 15 SL:123\nF93D  70 05     BVS $F944                       A:00 X:EF Y:90 P:27 SP:F9 CYC: 21 SL:123\nF93F  C9 00     CMP #$00                        A:00 X:EF Y:90 P:27 SP:F9 CYC: 27 SL:123\nF941  D0 01     BNE $F944                       A:00 X:EF Y:90 P:27 SP:F9 CYC: 33 SL:123\nF943  60        RTS                             A:00 X:EF Y:90 P:27 SP:F9 CYC: 39 SL:123\nE8E1  C8        INY                             A:00 X:EF Y:90 P:27 SP:FB CYC: 57 SL:123\nE8E2  20 47 F9  JSR $F947                       A:00 X:EF Y:91 P:A5 SP:FB CYC: 63 SL:123\nF947  B8        CLV                             A:00 X:EF Y:91 P:A5 SP:F9 CYC: 81 SL:123\nF948  38        SEC                             A:00 X:EF Y:91 P:A5 SP:F9 CYC: 87 SL:123\nF949  A9 40     LDA #$40                        A:00 X:EF Y:91 P:A5 SP:F9 CYC: 93 SL:123\nF94B  60        RTS                             A:40 X:EF Y:91 P:25 SP:F9 CYC: 99 SL:123\nE8E5  EB 3F    *SBC #$3F                        A:40 X:EF Y:91 P:25 SP:FB CYC:117 SL:123\nE8E7  EA        NOP                             A:01 X:EF Y:91 P:25 SP:FB CYC:123 SL:123\nE8E8  EA        NOP                             A:01 X:EF Y:91 P:25 SP:FB CYC:129 SL:123\nE8E9  EA        NOP                             A:01 X:EF Y:91 P:25 SP:FB CYC:135 SL:123\nE8EA  EA        NOP                             A:01 X:EF Y:91 P:25 SP:FB CYC:141 SL:123\nE8EB  20 4C F9  JSR $F94C                       A:01 X:EF Y:91 P:25 SP:FB CYC:147 SL:123\nF94C  F0 0B     BEQ $F959                       A:01 X:EF Y:91 P:25 SP:F9 CYC:165 SL:123\nF94E  30 09     BMI $F959                       A:01 X:EF Y:91 P:25 SP:F9 CYC:171 SL:123\nF950  90 07     BCC $F959                       A:01 X:EF Y:91 P:25 SP:F9 CYC:177 SL:123\nF952  70 05     BVS $F959                       A:01 X:EF Y:91 P:25 SP:F9 CYC:183 SL:123\nF954  C9 01     CMP #$01                        A:01 X:EF Y:91 P:25 SP:F9 CYC:189 SL:123\nF956  D0 01     BNE $F959                       A:01 X:EF Y:91 P:27 SP:F9 CYC:195 SL:123\nF958  60        RTS                             A:01 X:EF Y:91 P:27 SP:F9 CYC:201 SL:123\nE8EE  C8        INY                             A:01 X:EF Y:91 P:27 SP:FB CYC:219 SL:123\nE8EF  20 5C F9  JSR $F95C                       A:01 X:EF Y:92 P:A5 SP:FB CYC:225 SL:123\nF95C  A9 40     LDA #$40                        A:01 X:EF Y:92 P:A5 SP:F9 CYC:243 SL:123\nF95E  38        SEC                             A:40 X:EF Y:92 P:25 SP:F9 CYC:249 SL:123\nF95F  24 01     BIT $01 = C0                    A:40 X:EF Y:92 P:25 SP:F9 CYC:255 SL:123\nF961  60        RTS                             A:40 X:EF Y:92 P:E5 SP:F9 CYC:264 SL:123\nE8F2  EB 41    *SBC #$41                        A:40 X:EF Y:92 P:E5 SP:FB CYC:282 SL:123\nE8F4  EA        NOP                             A:FF X:EF Y:92 P:A4 SP:FB CYC:288 SL:123\nE8F5  EA        NOP                             A:FF X:EF Y:92 P:A4 SP:FB CYC:294 SL:123\nE8F6  EA        NOP                             A:FF X:EF Y:92 P:A4 SP:FB CYC:300 SL:123\nE8F7  EA        NOP                             A:FF X:EF Y:92 P:A4 SP:FB CYC:306 SL:123\nE8F8  20 62 F9  JSR $F962                       A:FF X:EF Y:92 P:A4 SP:FB CYC:312 SL:123\nF962  B0 0B     BCS $F96F                       A:FF X:EF Y:92 P:A4 SP:F9 CYC:330 SL:123\nF964  F0 09     BEQ $F96F                       A:FF X:EF Y:92 P:A4 SP:F9 CYC:336 SL:123\nF966  10 07     BPL $F96F                       A:FF X:EF Y:92 P:A4 SP:F9 CYC:  1 SL:124\nF968  70 05     BVS $F96F                       A:FF X:EF Y:92 P:A4 SP:F9 CYC:  7 SL:124\nF96A  C9 FF     CMP #$FF                        A:FF X:EF Y:92 P:A4 SP:F9 CYC: 13 SL:124\nF96C  D0 01     BNE $F96F                       A:FF X:EF Y:92 P:27 SP:F9 CYC: 19 SL:124\nF96E  60        RTS                             A:FF X:EF Y:92 P:27 SP:F9 CYC: 25 SL:124\nE8FB  C8        INY                             A:FF X:EF Y:92 P:27 SP:FB CYC: 43 SL:124\nE8FC  20 72 F9  JSR $F972                       A:FF X:EF Y:93 P:A5 SP:FB CYC: 49 SL:124\nF972  18        CLC                             A:FF X:EF Y:93 P:A5 SP:F9 CYC: 67 SL:124\nF973  A9 80     LDA #$80                        A:FF X:EF Y:93 P:A4 SP:F9 CYC: 73 SL:124\nF975  60        RTS                             A:80 X:EF Y:93 P:A4 SP:F9 CYC: 79 SL:124\nE8FF  EB 00    *SBC #$00                        A:80 X:EF Y:93 P:A4 SP:FB CYC: 97 SL:124\nE901  EA        NOP                             A:7F X:EF Y:93 P:65 SP:FB CYC:103 SL:124\nE902  EA        NOP                             A:7F X:EF Y:93 P:65 SP:FB CYC:109 SL:124\nE903  EA        NOP                             A:7F X:EF Y:93 P:65 SP:FB CYC:115 SL:124\nE904  EA        NOP                             A:7F X:EF Y:93 P:65 SP:FB CYC:121 SL:124\nE905  20 76 F9  JSR $F976                       A:7F X:EF Y:93 P:65 SP:FB CYC:127 SL:124\nF976  90 05     BCC $F97D                       A:7F X:EF Y:93 P:65 SP:F9 CYC:145 SL:124\nF978  C9 7F     CMP #$7F                        A:7F X:EF Y:93 P:65 SP:F9 CYC:151 SL:124\nF97A  D0 01     BNE $F97D                       A:7F X:EF Y:93 P:67 SP:F9 CYC:157 SL:124\nF97C  60        RTS                             A:7F X:EF Y:93 P:67 SP:F9 CYC:163 SL:124\nE908  C8        INY                             A:7F X:EF Y:93 P:67 SP:FB CYC:181 SL:124\nE909  20 80 F9  JSR $F980                       A:7F X:EF Y:94 P:E5 SP:FB CYC:187 SL:124\nF980  38        SEC                             A:7F X:EF Y:94 P:E5 SP:F9 CYC:205 SL:124\nF981  A9 81     LDA #$81                        A:7F X:EF Y:94 P:E5 SP:F9 CYC:211 SL:124\nF983  60        RTS                             A:81 X:EF Y:94 P:E5 SP:F9 CYC:217 SL:124\nE90C  EB 7F    *SBC #$7F                        A:81 X:EF Y:94 P:E5 SP:FB CYC:235 SL:124\nE90E  EA        NOP                             A:02 X:EF Y:94 P:65 SP:FB CYC:241 SL:124\nE90F  EA        NOP                             A:02 X:EF Y:94 P:65 SP:FB CYC:247 SL:124\nE910  EA        NOP                             A:02 X:EF Y:94 P:65 SP:FB CYC:253 SL:124\nE911  EA        NOP                             A:02 X:EF Y:94 P:65 SP:FB CYC:259 SL:124\nE912  20 84 F9  JSR $F984                       A:02 X:EF Y:94 P:65 SP:FB CYC:265 SL:124\nF984  50 07     BVC $F98D                       A:02 X:EF Y:94 P:65 SP:F9 CYC:283 SL:124\nF986  90 05     BCC $F98D                       A:02 X:EF Y:94 P:65 SP:F9 CYC:289 SL:124\nF988  C9 02     CMP #$02                        A:02 X:EF Y:94 P:65 SP:F9 CYC:295 SL:124\nF98A  D0 01     BNE $F98D                       A:02 X:EF Y:94 P:67 SP:F9 CYC:301 SL:124\nF98C  60        RTS                             A:02 X:EF Y:94 P:67 SP:F9 CYC:307 SL:124\nE915  60        RTS                             A:02 X:EF Y:94 P:67 SP:FB CYC:325 SL:124\nC63B  20 16 E9  JSR $E916                       A:02 X:EF Y:94 P:67 SP:FD CYC:  2 SL:125\nE916  A9 FF     LDA #$FF                        A:02 X:EF Y:94 P:67 SP:FB CYC: 20 SL:125\nE918  85 01     STA $01 = C0                    A:FF X:EF Y:94 P:E5 SP:FB CYC: 26 SL:125\nE91A  A0 95     LDY #$95                        A:FF X:EF Y:94 P:E5 SP:FB CYC: 35 SL:125\nE91C  A2 02     LDX #$02                        A:FF X:EF Y:95 P:E5 SP:FB CYC: 41 SL:125\nE91E  A9 47     LDA #$47                        A:FF X:02 Y:95 P:65 SP:FB CYC: 47 SL:125\nE920  85 47     STA $47 = 00                    A:47 X:02 Y:95 P:65 SP:FB CYC: 53 SL:125\nE922  A9 06     LDA #$06                        A:47 X:02 Y:95 P:65 SP:FB CYC: 62 SL:125\nE924  85 48     STA $48 = 00                    A:06 X:02 Y:95 P:65 SP:FB CYC: 68 SL:125\nE926  A9 EB     LDA #$EB                        A:06 X:02 Y:95 P:65 SP:FB CYC: 77 SL:125\nE928  8D 47 06  STA $0647 = 00                  A:EB X:02 Y:95 P:E5 SP:FB CYC: 83 SL:125\nE92B  20 31 FA  JSR $FA31                       A:EB X:02 Y:95 P:E5 SP:FB CYC: 95 SL:125\nFA31  24 01     BIT $01 = FF                    A:EB X:02 Y:95 P:E5 SP:F9 CYC:113 SL:125\nFA33  18        CLC                             A:EB X:02 Y:95 P:E5 SP:F9 CYC:122 SL:125\nFA34  A9 40     LDA #$40                        A:EB X:02 Y:95 P:E4 SP:F9 CYC:128 SL:125\nFA36  60        RTS                             A:40 X:02 Y:95 P:64 SP:F9 CYC:134 SL:125\nE92E  C3 45    *DCP ($45,X) @ 47 = 0647 = EB    A:40 X:02 Y:95 P:64 SP:FB CYC:152 SL:125\nE930  EA        NOP                             A:40 X:02 Y:95 P:64 SP:FB CYC:176 SL:125\nE931  EA        NOP                             A:40 X:02 Y:95 P:64 SP:FB CYC:182 SL:125\nE932  EA        NOP                             A:40 X:02 Y:95 P:64 SP:FB CYC:188 SL:125\nE933  EA        NOP                             A:40 X:02 Y:95 P:64 SP:FB CYC:194 SL:125\nE934  20 37 FA  JSR $FA37                       A:40 X:02 Y:95 P:64 SP:FB CYC:200 SL:125\nFA37  50 2C     BVC $FA65                       A:40 X:02 Y:95 P:64 SP:F9 CYC:218 SL:125\nFA39  B0 2A     BCS $FA65                       A:40 X:02 Y:95 P:64 SP:F9 CYC:224 SL:125\nFA3B  30 28     BMI $FA65                       A:40 X:02 Y:95 P:64 SP:F9 CYC:230 SL:125\nFA3D  C9 40     CMP #$40                        A:40 X:02 Y:95 P:64 SP:F9 CYC:236 SL:125\nFA3F  D0 24     BNE $FA65                       A:40 X:02 Y:95 P:67 SP:F9 CYC:242 SL:125\nFA41  60        RTS                             A:40 X:02 Y:95 P:67 SP:F9 CYC:248 SL:125\nE937  AD 47 06  LDA $0647 = EA                  A:40 X:02 Y:95 P:67 SP:FB CYC:266 SL:125\nE93A  C9 EA     CMP #$EA                        A:EA X:02 Y:95 P:E5 SP:FB CYC:278 SL:125\nE93C  F0 02     BEQ $E940                       A:EA X:02 Y:95 P:67 SP:FB CYC:284 SL:125\nE940  C8        INY                             A:EA X:02 Y:95 P:67 SP:FB CYC:293 SL:125\nE941  A9 00     LDA #$00                        A:EA X:02 Y:96 P:E5 SP:FB CYC:299 SL:125\nE943  8D 47 06  STA $0647 = EA                  A:00 X:02 Y:96 P:67 SP:FB CYC:305 SL:125\nE946  20 42 FA  JSR $FA42                       A:00 X:02 Y:96 P:67 SP:FB CYC:317 SL:125\nFA42  B8        CLV                             A:00 X:02 Y:96 P:67 SP:F9 CYC:335 SL:125\nFA43  38        SEC                             A:00 X:02 Y:96 P:27 SP:F9 CYC:  0 SL:126\nFA44  A9 FF     LDA #$FF                        A:00 X:02 Y:96 P:27 SP:F9 CYC:  6 SL:126\nFA46  60        RTS                             A:FF X:02 Y:96 P:A5 SP:F9 CYC: 12 SL:126\nE949  C3 45    *DCP ($45,X) @ 47 = 0647 = 00    A:FF X:02 Y:96 P:A5 SP:FB CYC: 30 SL:126\nE94B  EA        NOP                             A:FF X:02 Y:96 P:27 SP:FB CYC: 54 SL:126\nE94C  EA        NOP                             A:FF X:02 Y:96 P:27 SP:FB CYC: 60 SL:126\nE94D  EA        NOP                             A:FF X:02 Y:96 P:27 SP:FB CYC: 66 SL:126\nE94E  EA        NOP                             A:FF X:02 Y:96 P:27 SP:FB CYC: 72 SL:126\nE94F  20 47 FA  JSR $FA47                       A:FF X:02 Y:96 P:27 SP:FB CYC: 78 SL:126\nFA47  70 1C     BVS $FA65                       A:FF X:02 Y:96 P:27 SP:F9 CYC: 96 SL:126\nFA49  D0 1A     BNE $FA65                       A:FF X:02 Y:96 P:27 SP:F9 CYC:102 SL:126\nFA4B  30 18     BMI $FA65                       A:FF X:02 Y:96 P:27 SP:F9 CYC:108 SL:126\nFA4D  90 16     BCC $FA65                       A:FF X:02 Y:96 P:27 SP:F9 CYC:114 SL:126\nFA4F  C9 FF     CMP #$FF                        A:FF X:02 Y:96 P:27 SP:F9 CYC:120 SL:126\nFA51  D0 12     BNE $FA65                       A:FF X:02 Y:96 P:27 SP:F9 CYC:126 SL:126\nFA53  60        RTS                             A:FF X:02 Y:96 P:27 SP:F9 CYC:132 SL:126\nE952  AD 47 06  LDA $0647 = FF                  A:FF X:02 Y:96 P:27 SP:FB CYC:150 SL:126\nE955  C9 FF     CMP #$FF                        A:FF X:02 Y:96 P:A5 SP:FB CYC:162 SL:126\nE957  F0 02     BEQ $E95B                       A:FF X:02 Y:96 P:27 SP:FB CYC:168 SL:126\nE95B  C8        INY                             A:FF X:02 Y:96 P:27 SP:FB CYC:177 SL:126\nE95C  A9 37     LDA #$37                        A:FF X:02 Y:97 P:A5 SP:FB CYC:183 SL:126\nE95E  8D 47 06  STA $0647 = FF                  A:37 X:02 Y:97 P:25 SP:FB CYC:189 SL:126\nE961  20 54 FA  JSR $FA54                       A:37 X:02 Y:97 P:25 SP:FB CYC:201 SL:126\nFA54  24 01     BIT $01 = FF                    A:37 X:02 Y:97 P:25 SP:F9 CYC:219 SL:126\nFA56  A9 F0     LDA #$F0                        A:37 X:02 Y:97 P:E5 SP:F9 CYC:228 SL:126\nFA58  60        RTS                             A:F0 X:02 Y:97 P:E5 SP:F9 CYC:234 SL:126\nE964  C3 45    *DCP ($45,X) @ 47 = 0647 = 37    A:F0 X:02 Y:97 P:E5 SP:FB CYC:252 SL:126\nE966  EA        NOP                             A:F0 X:02 Y:97 P:E5 SP:FB CYC:276 SL:126\nE967  EA        NOP                             A:F0 X:02 Y:97 P:E5 SP:FB CYC:282 SL:126\nE968  EA        NOP                             A:F0 X:02 Y:97 P:E5 SP:FB CYC:288 SL:126\nE969  EA        NOP                             A:F0 X:02 Y:97 P:E5 SP:FB CYC:294 SL:126\nE96A  20 59 FA  JSR $FA59                       A:F0 X:02 Y:97 P:E5 SP:FB CYC:300 SL:126\nFA59  50 0A     BVC $FA65                       A:F0 X:02 Y:97 P:E5 SP:F9 CYC:318 SL:126\nFA5B  F0 08     BEQ $FA65                       A:F0 X:02 Y:97 P:E5 SP:F9 CYC:324 SL:126\nFA5D  10 06     BPL $FA65                       A:F0 X:02 Y:97 P:E5 SP:F9 CYC:330 SL:126\nFA5F  90 04     BCC $FA65                       A:F0 X:02 Y:97 P:E5 SP:F9 CYC:336 SL:126\nFA61  C9 F0     CMP #$F0                        A:F0 X:02 Y:97 P:E5 SP:F9 CYC:  1 SL:127\nFA63  F0 02     BEQ $FA67                       A:F0 X:02 Y:97 P:67 SP:F9 CYC:  7 SL:127\nFA67  60        RTS                             A:F0 X:02 Y:97 P:67 SP:F9 CYC: 16 SL:127\nE96D  AD 47 06  LDA $0647 = 36                  A:F0 X:02 Y:97 P:67 SP:FB CYC: 34 SL:127\nE970  C9 36     CMP #$36                        A:36 X:02 Y:97 P:65 SP:FB CYC: 46 SL:127\nE972  F0 02     BEQ $E976                       A:36 X:02 Y:97 P:67 SP:FB CYC: 52 SL:127\nE976  C8        INY                             A:36 X:02 Y:97 P:67 SP:FB CYC: 61 SL:127\nE977  A9 EB     LDA #$EB                        A:36 X:02 Y:98 P:E5 SP:FB CYC: 67 SL:127\nE979  85 47     STA $47 = 47                    A:EB X:02 Y:98 P:E5 SP:FB CYC: 73 SL:127\nE97B  20 31 FA  JSR $FA31                       A:EB X:02 Y:98 P:E5 SP:FB CYC: 82 SL:127\nFA31  24 01     BIT $01 = FF                    A:EB X:02 Y:98 P:E5 SP:F9 CYC:100 SL:127\nFA33  18        CLC                             A:EB X:02 Y:98 P:E5 SP:F9 CYC:109 SL:127\nFA34  A9 40     LDA #$40                        A:EB X:02 Y:98 P:E4 SP:F9 CYC:115 SL:127\nFA36  60        RTS                             A:40 X:02 Y:98 P:64 SP:F9 CYC:121 SL:127\nE97E  C7 47    *DCP $47 = EB                    A:40 X:02 Y:98 P:64 SP:FB CYC:139 SL:127\nE980  EA        NOP                             A:40 X:02 Y:98 P:64 SP:FB CYC:154 SL:127\nE981  EA        NOP                             A:40 X:02 Y:98 P:64 SP:FB CYC:160 SL:127\nE982  EA        NOP                             A:40 X:02 Y:98 P:64 SP:FB CYC:166 SL:127\nE983  EA        NOP                             A:40 X:02 Y:98 P:64 SP:FB CYC:172 SL:127\nE984  20 37 FA  JSR $FA37                       A:40 X:02 Y:98 P:64 SP:FB CYC:178 SL:127\nFA37  50 2C     BVC $FA65                       A:40 X:02 Y:98 P:64 SP:F9 CYC:196 SL:127\nFA39  B0 2A     BCS $FA65                       A:40 X:02 Y:98 P:64 SP:F9 CYC:202 SL:127\nFA3B  30 28     BMI $FA65                       A:40 X:02 Y:98 P:64 SP:F9 CYC:208 SL:127\nFA3D  C9 40     CMP #$40                        A:40 X:02 Y:98 P:64 SP:F9 CYC:214 SL:127\nFA3F  D0 24     BNE $FA65                       A:40 X:02 Y:98 P:67 SP:F9 CYC:220 SL:127\nFA41  60        RTS                             A:40 X:02 Y:98 P:67 SP:F9 CYC:226 SL:127\nE987  A5 47     LDA $47 = EA                    A:40 X:02 Y:98 P:67 SP:FB CYC:244 SL:127\nE989  C9 EA     CMP #$EA                        A:EA X:02 Y:98 P:E5 SP:FB CYC:253 SL:127\nE98B  F0 02     BEQ $E98F                       A:EA X:02 Y:98 P:67 SP:FB CYC:259 SL:127\nE98F  C8        INY                             A:EA X:02 Y:98 P:67 SP:FB CYC:268 SL:127\nE990  A9 00     LDA #$00                        A:EA X:02 Y:99 P:E5 SP:FB CYC:274 SL:127\nE992  85 47     STA $47 = EA                    A:00 X:02 Y:99 P:67 SP:FB CYC:280 SL:127\nE994  20 42 FA  JSR $FA42                       A:00 X:02 Y:99 P:67 SP:FB CYC:289 SL:127\nFA42  B8        CLV                             A:00 X:02 Y:99 P:67 SP:F9 CYC:307 SL:127\nFA43  38        SEC                             A:00 X:02 Y:99 P:27 SP:F9 CYC:313 SL:127\nFA44  A9 FF     LDA #$FF                        A:00 X:02 Y:99 P:27 SP:F9 CYC:319 SL:127\nFA46  60        RTS                             A:FF X:02 Y:99 P:A5 SP:F9 CYC:325 SL:127\nE997  C7 47    *DCP $47 = 00                    A:FF X:02 Y:99 P:A5 SP:FB CYC:  2 SL:128\nE999  EA        NOP                             A:FF X:02 Y:99 P:27 SP:FB CYC: 17 SL:128\nE99A  EA        NOP                             A:FF X:02 Y:99 P:27 SP:FB CYC: 23 SL:128\nE99B  EA        NOP                             A:FF X:02 Y:99 P:27 SP:FB CYC: 29 SL:128\nE99C  EA        NOP                             A:FF X:02 Y:99 P:27 SP:FB CYC: 35 SL:128\nE99D  20 47 FA  JSR $FA47                       A:FF X:02 Y:99 P:27 SP:FB CYC: 41 SL:128\nFA47  70 1C     BVS $FA65                       A:FF X:02 Y:99 P:27 SP:F9 CYC: 59 SL:128\nFA49  D0 1A     BNE $FA65                       A:FF X:02 Y:99 P:27 SP:F9 CYC: 65 SL:128\nFA4B  30 18     BMI $FA65                       A:FF X:02 Y:99 P:27 SP:F9 CYC: 71 SL:128\nFA4D  90 16     BCC $FA65                       A:FF X:02 Y:99 P:27 SP:F9 CYC: 77 SL:128\nFA4F  C9 FF     CMP #$FF                        A:FF X:02 Y:99 P:27 SP:F9 CYC: 83 SL:128\nFA51  D0 12     BNE $FA65                       A:FF X:02 Y:99 P:27 SP:F9 CYC: 89 SL:128\nFA53  60        RTS                             A:FF X:02 Y:99 P:27 SP:F9 CYC: 95 SL:128\nE9A0  A5 47     LDA $47 = FF                    A:FF X:02 Y:99 P:27 SP:FB CYC:113 SL:128\nE9A2  C9 FF     CMP #$FF                        A:FF X:02 Y:99 P:A5 SP:FB CYC:122 SL:128\nE9A4  F0 02     BEQ $E9A8                       A:FF X:02 Y:99 P:27 SP:FB CYC:128 SL:128\nE9A8  C8        INY                             A:FF X:02 Y:99 P:27 SP:FB CYC:137 SL:128\nE9A9  A9 37     LDA #$37                        A:FF X:02 Y:9A P:A5 SP:FB CYC:143 SL:128\nE9AB  85 47     STA $47 = FF                    A:37 X:02 Y:9A P:25 SP:FB CYC:149 SL:128\nE9AD  20 54 FA  JSR $FA54                       A:37 X:02 Y:9A P:25 SP:FB CYC:158 SL:128\nFA54  24 01     BIT $01 = FF                    A:37 X:02 Y:9A P:25 SP:F9 CYC:176 SL:128\nFA56  A9 F0     LDA #$F0                        A:37 X:02 Y:9A P:E5 SP:F9 CYC:185 SL:128\nFA58  60        RTS                             A:F0 X:02 Y:9A P:E5 SP:F9 CYC:191 SL:128\nE9B0  C7 47    *DCP $47 = 37                    A:F0 X:02 Y:9A P:E5 SP:FB CYC:209 SL:128\nE9B2  EA        NOP                             A:F0 X:02 Y:9A P:E5 SP:FB CYC:224 SL:128\nE9B3  EA        NOP                             A:F0 X:02 Y:9A P:E5 SP:FB CYC:230 SL:128\nE9B4  EA        NOP                             A:F0 X:02 Y:9A P:E5 SP:FB CYC:236 SL:128\nE9B5  EA        NOP                             A:F0 X:02 Y:9A P:E5 SP:FB CYC:242 SL:128\nE9B6  20 59 FA  JSR $FA59                       A:F0 X:02 Y:9A P:E5 SP:FB CYC:248 SL:128\nFA59  50 0A     BVC $FA65                       A:F0 X:02 Y:9A P:E5 SP:F9 CYC:266 SL:128\nFA5B  F0 08     BEQ $FA65                       A:F0 X:02 Y:9A P:E5 SP:F9 CYC:272 SL:128\nFA5D  10 06     BPL $FA65                       A:F0 X:02 Y:9A P:E5 SP:F9 CYC:278 SL:128\nFA5F  90 04     BCC $FA65                       A:F0 X:02 Y:9A P:E5 SP:F9 CYC:284 SL:128\nFA61  C9 F0     CMP #$F0                        A:F0 X:02 Y:9A P:E5 SP:F9 CYC:290 SL:128\nFA63  F0 02     BEQ $FA67                       A:F0 X:02 Y:9A P:67 SP:F9 CYC:296 SL:128\nFA67  60        RTS                             A:F0 X:02 Y:9A P:67 SP:F9 CYC:305 SL:128\nE9B9  A5 47     LDA $47 = 36                    A:F0 X:02 Y:9A P:67 SP:FB CYC:323 SL:128\nE9BB  C9 36     CMP #$36                        A:36 X:02 Y:9A P:65 SP:FB CYC:332 SL:128\nE9BD  F0 02     BEQ $E9C1                       A:36 X:02 Y:9A P:67 SP:FB CYC:338 SL:128\nE9C1  C8        INY                             A:36 X:02 Y:9A P:67 SP:FB CYC:  6 SL:129\nE9C2  A9 EB     LDA #$EB                        A:36 X:02 Y:9B P:E5 SP:FB CYC: 12 SL:129\nE9C4  8D 47 06  STA $0647 = 36                  A:EB X:02 Y:9B P:E5 SP:FB CYC: 18 SL:129\nE9C7  20 31 FA  JSR $FA31                       A:EB X:02 Y:9B P:E5 SP:FB CYC: 30 SL:129\nFA31  24 01     BIT $01 = FF                    A:EB X:02 Y:9B P:E5 SP:F9 CYC: 48 SL:129\nFA33  18        CLC                             A:EB X:02 Y:9B P:E5 SP:F9 CYC: 57 SL:129\nFA34  A9 40     LDA #$40                        A:EB X:02 Y:9B P:E4 SP:F9 CYC: 63 SL:129\nFA36  60        RTS                             A:40 X:02 Y:9B P:64 SP:F9 CYC: 69 SL:129\nE9CA  CF 47 06 *DCP $0647 = EB                  A:40 X:02 Y:9B P:64 SP:FB CYC: 87 SL:129\nE9CD  EA        NOP                             A:40 X:02 Y:9B P:64 SP:FB CYC:105 SL:129\nE9CE  EA        NOP                             A:40 X:02 Y:9B P:64 SP:FB CYC:111 SL:129\nE9CF  EA        NOP                             A:40 X:02 Y:9B P:64 SP:FB CYC:117 SL:129\nE9D0  EA        NOP                             A:40 X:02 Y:9B P:64 SP:FB CYC:123 SL:129\nE9D1  20 37 FA  JSR $FA37                       A:40 X:02 Y:9B P:64 SP:FB CYC:129 SL:129\nFA37  50 2C     BVC $FA65                       A:40 X:02 Y:9B P:64 SP:F9 CYC:147 SL:129\nFA39  B0 2A     BCS $FA65                       A:40 X:02 Y:9B P:64 SP:F9 CYC:153 SL:129\nFA3B  30 28     BMI $FA65                       A:40 X:02 Y:9B P:64 SP:F9 CYC:159 SL:129\nFA3D  C9 40     CMP #$40                        A:40 X:02 Y:9B P:64 SP:F9 CYC:165 SL:129\nFA3F  D0 24     BNE $FA65                       A:40 X:02 Y:9B P:67 SP:F9 CYC:171 SL:129\nFA41  60        RTS                             A:40 X:02 Y:9B P:67 SP:F9 CYC:177 SL:129\nE9D4  AD 47 06  LDA $0647 = EA                  A:40 X:02 Y:9B P:67 SP:FB CYC:195 SL:129\nE9D7  C9 EA     CMP #$EA                        A:EA X:02 Y:9B P:E5 SP:FB CYC:207 SL:129\nE9D9  F0 02     BEQ $E9DD                       A:EA X:02 Y:9B P:67 SP:FB CYC:213 SL:129\nE9DD  C8        INY                             A:EA X:02 Y:9B P:67 SP:FB CYC:222 SL:129\nE9DE  A9 00     LDA #$00                        A:EA X:02 Y:9C P:E5 SP:FB CYC:228 SL:129\nE9E0  8D 47 06  STA $0647 = EA                  A:00 X:02 Y:9C P:67 SP:FB CYC:234 SL:129\nE9E3  20 42 FA  JSR $FA42                       A:00 X:02 Y:9C P:67 SP:FB CYC:246 SL:129\nFA42  B8        CLV                             A:00 X:02 Y:9C P:67 SP:F9 CYC:264 SL:129\nFA43  38        SEC                             A:00 X:02 Y:9C P:27 SP:F9 CYC:270 SL:129\nFA44  A9 FF     LDA #$FF                        A:00 X:02 Y:9C P:27 SP:F9 CYC:276 SL:129\nFA46  60        RTS                             A:FF X:02 Y:9C P:A5 SP:F9 CYC:282 SL:129\nE9E6  CF 47 06 *DCP $0647 = 00                  A:FF X:02 Y:9C P:A5 SP:FB CYC:300 SL:129\nE9E9  EA        NOP                             A:FF X:02 Y:9C P:27 SP:FB CYC:318 SL:129\nE9EA  EA        NOP                             A:FF X:02 Y:9C P:27 SP:FB CYC:324 SL:129\nE9EB  EA        NOP                             A:FF X:02 Y:9C P:27 SP:FB CYC:330 SL:129\nE9EC  EA        NOP                             A:FF X:02 Y:9C P:27 SP:FB CYC:336 SL:129\nE9ED  20 47 FA  JSR $FA47                       A:FF X:02 Y:9C P:27 SP:FB CYC:  1 SL:130\nFA47  70 1C     BVS $FA65                       A:FF X:02 Y:9C P:27 SP:F9 CYC: 19 SL:130\nFA49  D0 1A     BNE $FA65                       A:FF X:02 Y:9C P:27 SP:F9 CYC: 25 SL:130\nFA4B  30 18     BMI $FA65                       A:FF X:02 Y:9C P:27 SP:F9 CYC: 31 SL:130\nFA4D  90 16     BCC $FA65                       A:FF X:02 Y:9C P:27 SP:F9 CYC: 37 SL:130\nFA4F  C9 FF     CMP #$FF                        A:FF X:02 Y:9C P:27 SP:F9 CYC: 43 SL:130\nFA51  D0 12     BNE $FA65                       A:FF X:02 Y:9C P:27 SP:F9 CYC: 49 SL:130\nFA53  60        RTS                             A:FF X:02 Y:9C P:27 SP:F9 CYC: 55 SL:130\nE9F0  AD 47 06  LDA $0647 = FF                  A:FF X:02 Y:9C P:27 SP:FB CYC: 73 SL:130\nE9F3  C9 FF     CMP #$FF                        A:FF X:02 Y:9C P:A5 SP:FB CYC: 85 SL:130\nE9F5  F0 02     BEQ $E9F9                       A:FF X:02 Y:9C P:27 SP:FB CYC: 91 SL:130\nE9F9  C8        INY                             A:FF X:02 Y:9C P:27 SP:FB CYC:100 SL:130\nE9FA  A9 37     LDA #$37                        A:FF X:02 Y:9D P:A5 SP:FB CYC:106 SL:130\nE9FC  8D 47 06  STA $0647 = FF                  A:37 X:02 Y:9D P:25 SP:FB CYC:112 SL:130\nE9FF  20 54 FA  JSR $FA54                       A:37 X:02 Y:9D P:25 SP:FB CYC:124 SL:130\nFA54  24 01     BIT $01 = FF                    A:37 X:02 Y:9D P:25 SP:F9 CYC:142 SL:130\nFA56  A9 F0     LDA #$F0                        A:37 X:02 Y:9D P:E5 SP:F9 CYC:151 SL:130\nFA58  60        RTS                             A:F0 X:02 Y:9D P:E5 SP:F9 CYC:157 SL:130\nEA02  CF 47 06 *DCP $0647 = 37                  A:F0 X:02 Y:9D P:E5 SP:FB CYC:175 SL:130\nEA05  EA        NOP                             A:F0 X:02 Y:9D P:E5 SP:FB CYC:193 SL:130\nEA06  EA        NOP                             A:F0 X:02 Y:9D P:E5 SP:FB CYC:199 SL:130\nEA07  EA        NOP                             A:F0 X:02 Y:9D P:E5 SP:FB CYC:205 SL:130\nEA08  EA        NOP                             A:F0 X:02 Y:9D P:E5 SP:FB CYC:211 SL:130\nEA09  20 59 FA  JSR $FA59                       A:F0 X:02 Y:9D P:E5 SP:FB CYC:217 SL:130\nFA59  50 0A     BVC $FA65                       A:F0 X:02 Y:9D P:E5 SP:F9 CYC:235 SL:130\nFA5B  F0 08     BEQ $FA65                       A:F0 X:02 Y:9D P:E5 SP:F9 CYC:241 SL:130\nFA5D  10 06     BPL $FA65                       A:F0 X:02 Y:9D P:E5 SP:F9 CYC:247 SL:130\nFA5F  90 04     BCC $FA65                       A:F0 X:02 Y:9D P:E5 SP:F9 CYC:253 SL:130\nFA61  C9 F0     CMP #$F0                        A:F0 X:02 Y:9D P:E5 SP:F9 CYC:259 SL:130\nFA63  F0 02     BEQ $FA67                       A:F0 X:02 Y:9D P:67 SP:F9 CYC:265 SL:130\nFA67  60        RTS                             A:F0 X:02 Y:9D P:67 SP:F9 CYC:274 SL:130\nEA0C  AD 47 06  LDA $0647 = 36                  A:F0 X:02 Y:9D P:67 SP:FB CYC:292 SL:130\nEA0F  C9 36     CMP #$36                        A:36 X:02 Y:9D P:65 SP:FB CYC:304 SL:130\nEA11  F0 02     BEQ $EA15                       A:36 X:02 Y:9D P:67 SP:FB CYC:310 SL:130\nEA15  A9 EB     LDA #$EB                        A:36 X:02 Y:9D P:67 SP:FB CYC:319 SL:130\nEA17  8D 47 06  STA $0647 = 36                  A:EB X:02 Y:9D P:E5 SP:FB CYC:325 SL:130\nEA1A  A9 48     LDA #$48                        A:EB X:02 Y:9D P:E5 SP:FB CYC:337 SL:130\nEA1C  85 45     STA $45 = 32                    A:48 X:02 Y:9D P:65 SP:FB CYC:  2 SL:131\nEA1E  A9 05     LDA #$05                        A:48 X:02 Y:9D P:65 SP:FB CYC: 11 SL:131\nEA20  85 46     STA $46 = 04                    A:05 X:02 Y:9D P:65 SP:FB CYC: 17 SL:131\nEA22  A0 FF     LDY #$FF                        A:05 X:02 Y:9D P:65 SP:FB CYC: 26 SL:131\nEA24  20 31 FA  JSR $FA31                       A:05 X:02 Y:FF P:E5 SP:FB CYC: 32 SL:131\nFA31  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:E5 SP:F9 CYC: 50 SL:131\nFA33  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC: 59 SL:131\nFA34  A9 40     LDA #$40                        A:05 X:02 Y:FF P:E4 SP:F9 CYC: 65 SL:131\nFA36  60        RTS                             A:40 X:02 Y:FF P:64 SP:F9 CYC: 71 SL:131\nEA27  D3 45    *DCP ($45),Y = 0548 @ 0647 = EB  A:40 X:02 Y:FF P:64 SP:FB CYC: 89 SL:131\nEA29  EA        NOP                             A:40 X:02 Y:FF P:64 SP:FB CYC:113 SL:131\nEA2A  EA        NOP                             A:40 X:02 Y:FF P:64 SP:FB CYC:119 SL:131\nEA2B  08        PHP                             A:40 X:02 Y:FF P:64 SP:FB CYC:125 SL:131\nEA2C  48        PHA                             A:40 X:02 Y:FF P:64 SP:FA CYC:134 SL:131\nEA2D  A0 9E     LDY #$9E                        A:40 X:02 Y:FF P:64 SP:F9 CYC:143 SL:131\nEA2F  68        PLA                             A:40 X:02 Y:9E P:E4 SP:F9 CYC:149 SL:131\nEA30  28        PLP                             A:40 X:02 Y:9E P:64 SP:FA CYC:161 SL:131\nEA31  20 37 FA  JSR $FA37                       A:40 X:02 Y:9E P:64 SP:FB CYC:173 SL:131\nFA37  50 2C     BVC $FA65                       A:40 X:02 Y:9E P:64 SP:F9 CYC:191 SL:131\nFA39  B0 2A     BCS $FA65                       A:40 X:02 Y:9E P:64 SP:F9 CYC:197 SL:131\nFA3B  30 28     BMI $FA65                       A:40 X:02 Y:9E P:64 SP:F9 CYC:203 SL:131\nFA3D  C9 40     CMP #$40                        A:40 X:02 Y:9E P:64 SP:F9 CYC:209 SL:131\nFA3F  D0 24     BNE $FA65                       A:40 X:02 Y:9E P:67 SP:F9 CYC:215 SL:131\nFA41  60        RTS                             A:40 X:02 Y:9E P:67 SP:F9 CYC:221 SL:131\nEA34  AD 47 06  LDA $0647 = EA                  A:40 X:02 Y:9E P:67 SP:FB CYC:239 SL:131\nEA37  C9 EA     CMP #$EA                        A:EA X:02 Y:9E P:E5 SP:FB CYC:251 SL:131\nEA39  F0 02     BEQ $EA3D                       A:EA X:02 Y:9E P:67 SP:FB CYC:257 SL:131\nEA3D  A0 FF     LDY #$FF                        A:EA X:02 Y:9E P:67 SP:FB CYC:266 SL:131\nEA3F  A9 00     LDA #$00                        A:EA X:02 Y:FF P:E5 SP:FB CYC:272 SL:131\nEA41  8D 47 06  STA $0647 = EA                  A:00 X:02 Y:FF P:67 SP:FB CYC:278 SL:131\nEA44  20 42 FA  JSR $FA42                       A:00 X:02 Y:FF P:67 SP:FB CYC:290 SL:131\nFA42  B8        CLV                             A:00 X:02 Y:FF P:67 SP:F9 CYC:308 SL:131\nFA43  38        SEC                             A:00 X:02 Y:FF P:27 SP:F9 CYC:314 SL:131\nFA44  A9 FF     LDA #$FF                        A:00 X:02 Y:FF P:27 SP:F9 CYC:320 SL:131\nFA46  60        RTS                             A:FF X:02 Y:FF P:A5 SP:F9 CYC:326 SL:131\nEA47  D3 45    *DCP ($45),Y = 0548 @ 0647 = 00  A:FF X:02 Y:FF P:A5 SP:FB CYC:  3 SL:132\nEA49  EA        NOP                             A:FF X:02 Y:FF P:27 SP:FB CYC: 27 SL:132\nEA4A  EA        NOP                             A:FF X:02 Y:FF P:27 SP:FB CYC: 33 SL:132\nEA4B  08        PHP                             A:FF X:02 Y:FF P:27 SP:FB CYC: 39 SL:132\nEA4C  48        PHA                             A:FF X:02 Y:FF P:27 SP:FA CYC: 48 SL:132\nEA4D  A0 9F     LDY #$9F                        A:FF X:02 Y:FF P:27 SP:F9 CYC: 57 SL:132\nEA4F  68        PLA                             A:FF X:02 Y:9F P:A5 SP:F9 CYC: 63 SL:132\nEA50  28        PLP                             A:FF X:02 Y:9F P:A5 SP:FA CYC: 75 SL:132\nEA51  20 47 FA  JSR $FA47                       A:FF X:02 Y:9F P:27 SP:FB CYC: 87 SL:132\nFA47  70 1C     BVS $FA65                       A:FF X:02 Y:9F P:27 SP:F9 CYC:105 SL:132\nFA49  D0 1A     BNE $FA65                       A:FF X:02 Y:9F P:27 SP:F9 CYC:111 SL:132\nFA4B  30 18     BMI $FA65                       A:FF X:02 Y:9F P:27 SP:F9 CYC:117 SL:132\nFA4D  90 16     BCC $FA65                       A:FF X:02 Y:9F P:27 SP:F9 CYC:123 SL:132\nFA4F  C9 FF     CMP #$FF                        A:FF X:02 Y:9F P:27 SP:F9 CYC:129 SL:132\nFA51  D0 12     BNE $FA65                       A:FF X:02 Y:9F P:27 SP:F9 CYC:135 SL:132\nFA53  60        RTS                             A:FF X:02 Y:9F P:27 SP:F9 CYC:141 SL:132\nEA54  AD 47 06  LDA $0647 = FF                  A:FF X:02 Y:9F P:27 SP:FB CYC:159 SL:132\nEA57  C9 FF     CMP #$FF                        A:FF X:02 Y:9F P:A5 SP:FB CYC:171 SL:132\nEA59  F0 02     BEQ $EA5D                       A:FF X:02 Y:9F P:27 SP:FB CYC:177 SL:132\nEA5D  A0 FF     LDY #$FF                        A:FF X:02 Y:9F P:27 SP:FB CYC:186 SL:132\nEA5F  A9 37     LDA #$37                        A:FF X:02 Y:FF P:A5 SP:FB CYC:192 SL:132\nEA61  8D 47 06  STA $0647 = FF                  A:37 X:02 Y:FF P:25 SP:FB CYC:198 SL:132\nEA64  20 54 FA  JSR $FA54                       A:37 X:02 Y:FF P:25 SP:FB CYC:210 SL:132\nFA54  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC:228 SL:132\nFA56  A9 F0     LDA #$F0                        A:37 X:02 Y:FF P:E5 SP:F9 CYC:237 SL:132\nFA58  60        RTS                             A:F0 X:02 Y:FF P:E5 SP:F9 CYC:243 SL:132\nEA67  D3 45    *DCP ($45),Y = 0548 @ 0647 = 37  A:F0 X:02 Y:FF P:E5 SP:FB CYC:261 SL:132\nEA69  EA        NOP                             A:F0 X:02 Y:FF P:E5 SP:FB CYC:285 SL:132\nEA6A  EA        NOP                             A:F0 X:02 Y:FF P:E5 SP:FB CYC:291 SL:132\nEA6B  08        PHP                             A:F0 X:02 Y:FF P:E5 SP:FB CYC:297 SL:132\nEA6C  48        PHA                             A:F0 X:02 Y:FF P:E5 SP:FA CYC:306 SL:132\nEA6D  A0 A0     LDY #$A0                        A:F0 X:02 Y:FF P:E5 SP:F9 CYC:315 SL:132\nEA6F  68        PLA                             A:F0 X:02 Y:A0 P:E5 SP:F9 CYC:321 SL:132\nEA70  28        PLP                             A:F0 X:02 Y:A0 P:E5 SP:FA CYC:333 SL:132\nEA71  20 59 FA  JSR $FA59                       A:F0 X:02 Y:A0 P:E5 SP:FB CYC:  4 SL:133\nFA59  50 0A     BVC $FA65                       A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 22 SL:133\nFA5B  F0 08     BEQ $FA65                       A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 28 SL:133\nFA5D  10 06     BPL $FA65                       A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 34 SL:133\nFA5F  90 04     BCC $FA65                       A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 40 SL:133\nFA61  C9 F0     CMP #$F0                        A:F0 X:02 Y:A0 P:E5 SP:F9 CYC: 46 SL:133\nFA63  F0 02     BEQ $FA67                       A:F0 X:02 Y:A0 P:67 SP:F9 CYC: 52 SL:133\nFA67  60        RTS                             A:F0 X:02 Y:A0 P:67 SP:F9 CYC: 61 SL:133\nEA74  AD 47 06  LDA $0647 = 36                  A:F0 X:02 Y:A0 P:67 SP:FB CYC: 79 SL:133\nEA77  C9 36     CMP #$36                        A:36 X:02 Y:A0 P:65 SP:FB CYC: 91 SL:133\nEA79  F0 02     BEQ $EA7D                       A:36 X:02 Y:A0 P:67 SP:FB CYC: 97 SL:133\nEA7D  A0 A1     LDY #$A1                        A:36 X:02 Y:A0 P:67 SP:FB CYC:106 SL:133\nEA7F  A2 FF     LDX #$FF                        A:36 X:02 Y:A1 P:E5 SP:FB CYC:112 SL:133\nEA81  A9 EB     LDA #$EB                        A:36 X:FF Y:A1 P:E5 SP:FB CYC:118 SL:133\nEA83  85 47     STA $47 = 36                    A:EB X:FF Y:A1 P:E5 SP:FB CYC:124 SL:133\nEA85  20 31 FA  JSR $FA31                       A:EB X:FF Y:A1 P:E5 SP:FB CYC:133 SL:133\nFA31  24 01     BIT $01 = FF                    A:EB X:FF Y:A1 P:E5 SP:F9 CYC:151 SL:133\nFA33  18        CLC                             A:EB X:FF Y:A1 P:E5 SP:F9 CYC:160 SL:133\nFA34  A9 40     LDA #$40                        A:EB X:FF Y:A1 P:E4 SP:F9 CYC:166 SL:133\nFA36  60        RTS                             A:40 X:FF Y:A1 P:64 SP:F9 CYC:172 SL:133\nEA88  D7 48    *DCP $48,X @ 47 = EB             A:40 X:FF Y:A1 P:64 SP:FB CYC:190 SL:133\nEA8A  EA        NOP                             A:40 X:FF Y:A1 P:64 SP:FB CYC:208 SL:133\nEA8B  EA        NOP                             A:40 X:FF Y:A1 P:64 SP:FB CYC:214 SL:133\nEA8C  EA        NOP                             A:40 X:FF Y:A1 P:64 SP:FB CYC:220 SL:133\nEA8D  EA        NOP                             A:40 X:FF Y:A1 P:64 SP:FB CYC:226 SL:133\nEA8E  20 37 FA  JSR $FA37                       A:40 X:FF Y:A1 P:64 SP:FB CYC:232 SL:133\nFA37  50 2C     BVC $FA65                       A:40 X:FF Y:A1 P:64 SP:F9 CYC:250 SL:133\nFA39  B0 2A     BCS $FA65                       A:40 X:FF Y:A1 P:64 SP:F9 CYC:256 SL:133\nFA3B  30 28     BMI $FA65                       A:40 X:FF Y:A1 P:64 SP:F9 CYC:262 SL:133\nFA3D  C9 40     CMP #$40                        A:40 X:FF Y:A1 P:64 SP:F9 CYC:268 SL:133\nFA3F  D0 24     BNE $FA65                       A:40 X:FF Y:A1 P:67 SP:F9 CYC:274 SL:133\nFA41  60        RTS                             A:40 X:FF Y:A1 P:67 SP:F9 CYC:280 SL:133\nEA91  A5 47     LDA $47 = EA                    A:40 X:FF Y:A1 P:67 SP:FB CYC:298 SL:133\nEA93  C9 EA     CMP #$EA                        A:EA X:FF Y:A1 P:E5 SP:FB CYC:307 SL:133\nEA95  F0 02     BEQ $EA99                       A:EA X:FF Y:A1 P:67 SP:FB CYC:313 SL:133\nEA99  C8        INY                             A:EA X:FF Y:A1 P:67 SP:FB CYC:322 SL:133\nEA9A  A9 00     LDA #$00                        A:EA X:FF Y:A2 P:E5 SP:FB CYC:328 SL:133\nEA9C  85 47     STA $47 = EA                    A:00 X:FF Y:A2 P:67 SP:FB CYC:334 SL:133\nEA9E  20 42 FA  JSR $FA42                       A:00 X:FF Y:A2 P:67 SP:FB CYC:  2 SL:134\nFA42  B8        CLV                             A:00 X:FF Y:A2 P:67 SP:F9 CYC: 20 SL:134\nFA43  38        SEC                             A:00 X:FF Y:A2 P:27 SP:F9 CYC: 26 SL:134\nFA44  A9 FF     LDA #$FF                        A:00 X:FF Y:A2 P:27 SP:F9 CYC: 32 SL:134\nFA46  60        RTS                             A:FF X:FF Y:A2 P:A5 SP:F9 CYC: 38 SL:134\nEAA1  D7 48    *DCP $48,X @ 47 = 00             A:FF X:FF Y:A2 P:A5 SP:FB CYC: 56 SL:134\nEAA3  EA        NOP                             A:FF X:FF Y:A2 P:27 SP:FB CYC: 74 SL:134\nEAA4  EA        NOP                             A:FF X:FF Y:A2 P:27 SP:FB CYC: 80 SL:134\nEAA5  EA        NOP                             A:FF X:FF Y:A2 P:27 SP:FB CYC: 86 SL:134\nEAA6  EA        NOP                             A:FF X:FF Y:A2 P:27 SP:FB CYC: 92 SL:134\nEAA7  20 47 FA  JSR $FA47                       A:FF X:FF Y:A2 P:27 SP:FB CYC: 98 SL:134\nFA47  70 1C     BVS $FA65                       A:FF X:FF Y:A2 P:27 SP:F9 CYC:116 SL:134\nFA49  D0 1A     BNE $FA65                       A:FF X:FF Y:A2 P:27 SP:F9 CYC:122 SL:134\nFA4B  30 18     BMI $FA65                       A:FF X:FF Y:A2 P:27 SP:F9 CYC:128 SL:134\nFA4D  90 16     BCC $FA65                       A:FF X:FF Y:A2 P:27 SP:F9 CYC:134 SL:134\nFA4F  C9 FF     CMP #$FF                        A:FF X:FF Y:A2 P:27 SP:F9 CYC:140 SL:134\nFA51  D0 12     BNE $FA65                       A:FF X:FF Y:A2 P:27 SP:F9 CYC:146 SL:134\nFA53  60        RTS                             A:FF X:FF Y:A2 P:27 SP:F9 CYC:152 SL:134\nEAAA  A5 47     LDA $47 = FF                    A:FF X:FF Y:A2 P:27 SP:FB CYC:170 SL:134\nEAAC  C9 FF     CMP #$FF                        A:FF X:FF Y:A2 P:A5 SP:FB CYC:179 SL:134\nEAAE  F0 02     BEQ $EAB2                       A:FF X:FF Y:A2 P:27 SP:FB CYC:185 SL:134\nEAB2  C8        INY                             A:FF X:FF Y:A2 P:27 SP:FB CYC:194 SL:134\nEAB3  A9 37     LDA #$37                        A:FF X:FF Y:A3 P:A5 SP:FB CYC:200 SL:134\nEAB5  85 47     STA $47 = FF                    A:37 X:FF Y:A3 P:25 SP:FB CYC:206 SL:134\nEAB7  20 54 FA  JSR $FA54                       A:37 X:FF Y:A3 P:25 SP:FB CYC:215 SL:134\nFA54  24 01     BIT $01 = FF                    A:37 X:FF Y:A3 P:25 SP:F9 CYC:233 SL:134\nFA56  A9 F0     LDA #$F0                        A:37 X:FF Y:A3 P:E5 SP:F9 CYC:242 SL:134\nFA58  60        RTS                             A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:248 SL:134\nEABA  D7 48    *DCP $48,X @ 47 = 37             A:F0 X:FF Y:A3 P:E5 SP:FB CYC:266 SL:134\nEABC  EA        NOP                             A:F0 X:FF Y:A3 P:E5 SP:FB CYC:284 SL:134\nEABD  EA        NOP                             A:F0 X:FF Y:A3 P:E5 SP:FB CYC:290 SL:134\nEABE  EA        NOP                             A:F0 X:FF Y:A3 P:E5 SP:FB CYC:296 SL:134\nEABF  EA        NOP                             A:F0 X:FF Y:A3 P:E5 SP:FB CYC:302 SL:134\nEAC0  20 59 FA  JSR $FA59                       A:F0 X:FF Y:A3 P:E5 SP:FB CYC:308 SL:134\nFA59  50 0A     BVC $FA65                       A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:326 SL:134\nFA5B  F0 08     BEQ $FA65                       A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:332 SL:134\nFA5D  10 06     BPL $FA65                       A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:338 SL:134\nFA5F  90 04     BCC $FA65                       A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:  3 SL:135\nFA61  C9 F0     CMP #$F0                        A:F0 X:FF Y:A3 P:E5 SP:F9 CYC:  9 SL:135\nFA63  F0 02     BEQ $FA67                       A:F0 X:FF Y:A3 P:67 SP:F9 CYC: 15 SL:135\nFA67  60        RTS                             A:F0 X:FF Y:A3 P:67 SP:F9 CYC: 24 SL:135\nEAC3  A5 47     LDA $47 = 36                    A:F0 X:FF Y:A3 P:67 SP:FB CYC: 42 SL:135\nEAC5  C9 36     CMP #$36                        A:36 X:FF Y:A3 P:65 SP:FB CYC: 51 SL:135\nEAC7  F0 02     BEQ $EACB                       A:36 X:FF Y:A3 P:67 SP:FB CYC: 57 SL:135\nEACB  A9 EB     LDA #$EB                        A:36 X:FF Y:A3 P:67 SP:FB CYC: 66 SL:135\nEACD  8D 47 06  STA $0647 = 36                  A:EB X:FF Y:A3 P:E5 SP:FB CYC: 72 SL:135\nEAD0  A0 FF     LDY #$FF                        A:EB X:FF Y:A3 P:E5 SP:FB CYC: 84 SL:135\nEAD2  20 31 FA  JSR $FA31                       A:EB X:FF Y:FF P:E5 SP:FB CYC: 90 SL:135\nFA31  24 01     BIT $01 = FF                    A:EB X:FF Y:FF P:E5 SP:F9 CYC:108 SL:135\nFA33  18        CLC                             A:EB X:FF Y:FF P:E5 SP:F9 CYC:117 SL:135\nFA34  A9 40     LDA #$40                        A:EB X:FF Y:FF P:E4 SP:F9 CYC:123 SL:135\nFA36  60        RTS                             A:40 X:FF Y:FF P:64 SP:F9 CYC:129 SL:135\nEAD5  DB 48 05 *DCP $0548,Y @ 0647 = EB         A:40 X:FF Y:FF P:64 SP:FB CYC:147 SL:135\nEAD8  EA        NOP                             A:40 X:FF Y:FF P:64 SP:FB CYC:168 SL:135\nEAD9  EA        NOP                             A:40 X:FF Y:FF P:64 SP:FB CYC:174 SL:135\nEADA  08        PHP                             A:40 X:FF Y:FF P:64 SP:FB CYC:180 SL:135\nEADB  48        PHA                             A:40 X:FF Y:FF P:64 SP:FA CYC:189 SL:135\nEADC  A0 A4     LDY #$A4                        A:40 X:FF Y:FF P:64 SP:F9 CYC:198 SL:135\nEADE  68        PLA                             A:40 X:FF Y:A4 P:E4 SP:F9 CYC:204 SL:135\nEADF  28        PLP                             A:40 X:FF Y:A4 P:64 SP:FA CYC:216 SL:135\nEAE0  20 37 FA  JSR $FA37                       A:40 X:FF Y:A4 P:64 SP:FB CYC:228 SL:135\nFA37  50 2C     BVC $FA65                       A:40 X:FF Y:A4 P:64 SP:F9 CYC:246 SL:135\nFA39  B0 2A     BCS $FA65                       A:40 X:FF Y:A4 P:64 SP:F9 CYC:252 SL:135\nFA3B  30 28     BMI $FA65                       A:40 X:FF Y:A4 P:64 SP:F9 CYC:258 SL:135\nFA3D  C9 40     CMP #$40                        A:40 X:FF Y:A4 P:64 SP:F9 CYC:264 SL:135\nFA3F  D0 24     BNE $FA65                       A:40 X:FF Y:A4 P:67 SP:F9 CYC:270 SL:135\nFA41  60        RTS                             A:40 X:FF Y:A4 P:67 SP:F9 CYC:276 SL:135\nEAE3  AD 47 06  LDA $0647 = EA                  A:40 X:FF Y:A4 P:67 SP:FB CYC:294 SL:135\nEAE6  C9 EA     CMP #$EA                        A:EA X:FF Y:A4 P:E5 SP:FB CYC:306 SL:135\nEAE8  F0 02     BEQ $EAEC                       A:EA X:FF Y:A4 P:67 SP:FB CYC:312 SL:135\nEAEC  A0 FF     LDY #$FF                        A:EA X:FF Y:A4 P:67 SP:FB CYC:321 SL:135\nEAEE  A9 00     LDA #$00                        A:EA X:FF Y:FF P:E5 SP:FB CYC:327 SL:135\nEAF0  8D 47 06  STA $0647 = EA                  A:00 X:FF Y:FF P:67 SP:FB CYC:333 SL:135\nEAF3  20 42 FA  JSR $FA42                       A:00 X:FF Y:FF P:67 SP:FB CYC:  4 SL:136\nFA42  B8        CLV                             A:00 X:FF Y:FF P:67 SP:F9 CYC: 22 SL:136\nFA43  38        SEC                             A:00 X:FF Y:FF P:27 SP:F9 CYC: 28 SL:136\nFA44  A9 FF     LDA #$FF                        A:00 X:FF Y:FF P:27 SP:F9 CYC: 34 SL:136\nFA46  60        RTS                             A:FF X:FF Y:FF P:A5 SP:F9 CYC: 40 SL:136\nEAF6  DB 48 05 *DCP $0548,Y @ 0647 = 00         A:FF X:FF Y:FF P:A5 SP:FB CYC: 58 SL:136\nEAF9  EA        NOP                             A:FF X:FF Y:FF P:27 SP:FB CYC: 79 SL:136\nEAFA  EA        NOP                             A:FF X:FF Y:FF P:27 SP:FB CYC: 85 SL:136\nEAFB  08        PHP                             A:FF X:FF Y:FF P:27 SP:FB CYC: 91 SL:136\nEAFC  48        PHA                             A:FF X:FF Y:FF P:27 SP:FA CYC:100 SL:136\nEAFD  A0 A5     LDY #$A5                        A:FF X:FF Y:FF P:27 SP:F9 CYC:109 SL:136\nEAFF  68        PLA                             A:FF X:FF Y:A5 P:A5 SP:F9 CYC:115 SL:136\nEB00  28        PLP                             A:FF X:FF Y:A5 P:A5 SP:FA CYC:127 SL:136\nEB01  20 47 FA  JSR $FA47                       A:FF X:FF Y:A5 P:27 SP:FB CYC:139 SL:136\nFA47  70 1C     BVS $FA65                       A:FF X:FF Y:A5 P:27 SP:F9 CYC:157 SL:136\nFA49  D0 1A     BNE $FA65                       A:FF X:FF Y:A5 P:27 SP:F9 CYC:163 SL:136\nFA4B  30 18     BMI $FA65                       A:FF X:FF Y:A5 P:27 SP:F9 CYC:169 SL:136\nFA4D  90 16     BCC $FA65                       A:FF X:FF Y:A5 P:27 SP:F9 CYC:175 SL:136\nFA4F  C9 FF     CMP #$FF                        A:FF X:FF Y:A5 P:27 SP:F9 CYC:181 SL:136\nFA51  D0 12     BNE $FA65                       A:FF X:FF Y:A5 P:27 SP:F9 CYC:187 SL:136\nFA53  60        RTS                             A:FF X:FF Y:A5 P:27 SP:F9 CYC:193 SL:136\nEB04  AD 47 06  LDA $0647 = FF                  A:FF X:FF Y:A5 P:27 SP:FB CYC:211 SL:136\nEB07  C9 FF     CMP #$FF                        A:FF X:FF Y:A5 P:A5 SP:FB CYC:223 SL:136\nEB09  F0 02     BEQ $EB0D                       A:FF X:FF Y:A5 P:27 SP:FB CYC:229 SL:136\nEB0D  A0 FF     LDY #$FF                        A:FF X:FF Y:A5 P:27 SP:FB CYC:238 SL:136\nEB0F  A9 37     LDA #$37                        A:FF X:FF Y:FF P:A5 SP:FB CYC:244 SL:136\nEB11  8D 47 06  STA $0647 = FF                  A:37 X:FF Y:FF P:25 SP:FB CYC:250 SL:136\nEB14  20 54 FA  JSR $FA54                       A:37 X:FF Y:FF P:25 SP:FB CYC:262 SL:136\nFA54  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC:280 SL:136\nFA56  A9 F0     LDA #$F0                        A:37 X:FF Y:FF P:E5 SP:F9 CYC:289 SL:136\nFA58  60        RTS                             A:F0 X:FF Y:FF P:E5 SP:F9 CYC:295 SL:136\nEB17  DB 48 05 *DCP $0548,Y @ 0647 = 37         A:F0 X:FF Y:FF P:E5 SP:FB CYC:313 SL:136\nEB1A  EA        NOP                             A:F0 X:FF Y:FF P:E5 SP:FB CYC:334 SL:136\nEB1B  EA        NOP                             A:F0 X:FF Y:FF P:E5 SP:FB CYC:340 SL:136\nEB1C  08        PHP                             A:F0 X:FF Y:FF P:E5 SP:FB CYC:  5 SL:137\nEB1D  48        PHA                             A:F0 X:FF Y:FF P:E5 SP:FA CYC: 14 SL:137\nEB1E  A0 A6     LDY #$A6                        A:F0 X:FF Y:FF P:E5 SP:F9 CYC: 23 SL:137\nEB20  68        PLA                             A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 29 SL:137\nEB21  28        PLP                             A:F0 X:FF Y:A6 P:E5 SP:FA CYC: 41 SL:137\nEB22  20 59 FA  JSR $FA59                       A:F0 X:FF Y:A6 P:E5 SP:FB CYC: 53 SL:137\nFA59  50 0A     BVC $FA65                       A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 71 SL:137\nFA5B  F0 08     BEQ $FA65                       A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 77 SL:137\nFA5D  10 06     BPL $FA65                       A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 83 SL:137\nFA5F  90 04     BCC $FA65                       A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 89 SL:137\nFA61  C9 F0     CMP #$F0                        A:F0 X:FF Y:A6 P:E5 SP:F9 CYC: 95 SL:137\nFA63  F0 02     BEQ $FA67                       A:F0 X:FF Y:A6 P:67 SP:F9 CYC:101 SL:137\nFA67  60        RTS                             A:F0 X:FF Y:A6 P:67 SP:F9 CYC:110 SL:137\nEB25  AD 47 06  LDA $0647 = 36                  A:F0 X:FF Y:A6 P:67 SP:FB CYC:128 SL:137\nEB28  C9 36     CMP #$36                        A:36 X:FF Y:A6 P:65 SP:FB CYC:140 SL:137\nEB2A  F0 02     BEQ $EB2E                       A:36 X:FF Y:A6 P:67 SP:FB CYC:146 SL:137\nEB2E  A0 A7     LDY #$A7                        A:36 X:FF Y:A6 P:67 SP:FB CYC:155 SL:137\nEB30  A2 FF     LDX #$FF                        A:36 X:FF Y:A7 P:E5 SP:FB CYC:161 SL:137\nEB32  A9 EB     LDA #$EB                        A:36 X:FF Y:A7 P:E5 SP:FB CYC:167 SL:137\nEB34  8D 47 06  STA $0647 = 36                  A:EB X:FF Y:A7 P:E5 SP:FB CYC:173 SL:137\nEB37  20 31 FA  JSR $FA31                       A:EB X:FF Y:A7 P:E5 SP:FB CYC:185 SL:137\nFA31  24 01     BIT $01 = FF                    A:EB X:FF Y:A7 P:E5 SP:F9 CYC:203 SL:137\nFA33  18        CLC                             A:EB X:FF Y:A7 P:E5 SP:F9 CYC:212 SL:137\nFA34  A9 40     LDA #$40                        A:EB X:FF Y:A7 P:E4 SP:F9 CYC:218 SL:137\nFA36  60        RTS                             A:40 X:FF Y:A7 P:64 SP:F9 CYC:224 SL:137\nEB3A  DF 48 05 *DCP $0548,X @ 0647 = EB         A:40 X:FF Y:A7 P:64 SP:FB CYC:242 SL:137\nEB3D  EA        NOP                             A:40 X:FF Y:A7 P:64 SP:FB CYC:263 SL:137\nEB3E  EA        NOP                             A:40 X:FF Y:A7 P:64 SP:FB CYC:269 SL:137\nEB3F  EA        NOP                             A:40 X:FF Y:A7 P:64 SP:FB CYC:275 SL:137\nEB40  EA        NOP                             A:40 X:FF Y:A7 P:64 SP:FB CYC:281 SL:137\nEB41  20 37 FA  JSR $FA37                       A:40 X:FF Y:A7 P:64 SP:FB CYC:287 SL:137\nFA37  50 2C     BVC $FA65                       A:40 X:FF Y:A7 P:64 SP:F9 CYC:305 SL:137\nFA39  B0 2A     BCS $FA65                       A:40 X:FF Y:A7 P:64 SP:F9 CYC:311 SL:137\nFA3B  30 28     BMI $FA65                       A:40 X:FF Y:A7 P:64 SP:F9 CYC:317 SL:137\nFA3D  C9 40     CMP #$40                        A:40 X:FF Y:A7 P:64 SP:F9 CYC:323 SL:137\nFA3F  D0 24     BNE $FA65                       A:40 X:FF Y:A7 P:67 SP:F9 CYC:329 SL:137\nFA41  60        RTS                             A:40 X:FF Y:A7 P:67 SP:F9 CYC:335 SL:137\nEB44  AD 47 06  LDA $0647 = EA                  A:40 X:FF Y:A7 P:67 SP:FB CYC: 12 SL:138\nEB47  C9 EA     CMP #$EA                        A:EA X:FF Y:A7 P:E5 SP:FB CYC: 24 SL:138\nEB49  F0 02     BEQ $EB4D                       A:EA X:FF Y:A7 P:67 SP:FB CYC: 30 SL:138\nEB4D  C8        INY                             A:EA X:FF Y:A7 P:67 SP:FB CYC: 39 SL:138\nEB4E  A9 00     LDA #$00                        A:EA X:FF Y:A8 P:E5 SP:FB CYC: 45 SL:138\nEB50  8D 47 06  STA $0647 = EA                  A:00 X:FF Y:A8 P:67 SP:FB CYC: 51 SL:138\nEB53  20 42 FA  JSR $FA42                       A:00 X:FF Y:A8 P:67 SP:FB CYC: 63 SL:138\nFA42  B8        CLV                             A:00 X:FF Y:A8 P:67 SP:F9 CYC: 81 SL:138\nFA43  38        SEC                             A:00 X:FF Y:A8 P:27 SP:F9 CYC: 87 SL:138\nFA44  A9 FF     LDA #$FF                        A:00 X:FF Y:A8 P:27 SP:F9 CYC: 93 SL:138\nFA46  60        RTS                             A:FF X:FF Y:A8 P:A5 SP:F9 CYC: 99 SL:138\nEB56  DF 48 05 *DCP $0548,X @ 0647 = 00         A:FF X:FF Y:A8 P:A5 SP:FB CYC:117 SL:138\nEB59  EA        NOP                             A:FF X:FF Y:A8 P:27 SP:FB CYC:138 SL:138\nEB5A  EA        NOP                             A:FF X:FF Y:A8 P:27 SP:FB CYC:144 SL:138\nEB5B  EA        NOP                             A:FF X:FF Y:A8 P:27 SP:FB CYC:150 SL:138\nEB5C  EA        NOP                             A:FF X:FF Y:A8 P:27 SP:FB CYC:156 SL:138\nEB5D  20 47 FA  JSR $FA47                       A:FF X:FF Y:A8 P:27 SP:FB CYC:162 SL:138\nFA47  70 1C     BVS $FA65                       A:FF X:FF Y:A8 P:27 SP:F9 CYC:180 SL:138\nFA49  D0 1A     BNE $FA65                       A:FF X:FF Y:A8 P:27 SP:F9 CYC:186 SL:138\nFA4B  30 18     BMI $FA65                       A:FF X:FF Y:A8 P:27 SP:F9 CYC:192 SL:138\nFA4D  90 16     BCC $FA65                       A:FF X:FF Y:A8 P:27 SP:F9 CYC:198 SL:138\nFA4F  C9 FF     CMP #$FF                        A:FF X:FF Y:A8 P:27 SP:F9 CYC:204 SL:138\nFA51  D0 12     BNE $FA65                       A:FF X:FF Y:A8 P:27 SP:F9 CYC:210 SL:138\nFA53  60        RTS                             A:FF X:FF Y:A8 P:27 SP:F9 CYC:216 SL:138\nEB60  AD 47 06  LDA $0647 = FF                  A:FF X:FF Y:A8 P:27 SP:FB CYC:234 SL:138\nEB63  C9 FF     CMP #$FF                        A:FF X:FF Y:A8 P:A5 SP:FB CYC:246 SL:138\nEB65  F0 02     BEQ $EB69                       A:FF X:FF Y:A8 P:27 SP:FB CYC:252 SL:138\nEB69  C8        INY                             A:FF X:FF Y:A8 P:27 SP:FB CYC:261 SL:138\nEB6A  A9 37     LDA #$37                        A:FF X:FF Y:A9 P:A5 SP:FB CYC:267 SL:138\nEB6C  8D 47 06  STA $0647 = FF                  A:37 X:FF Y:A9 P:25 SP:FB CYC:273 SL:138\nEB6F  20 54 FA  JSR $FA54                       A:37 X:FF Y:A9 P:25 SP:FB CYC:285 SL:138\nFA54  24 01     BIT $01 = FF                    A:37 X:FF Y:A9 P:25 SP:F9 CYC:303 SL:138\nFA56  A9 F0     LDA #$F0                        A:37 X:FF Y:A9 P:E5 SP:F9 CYC:312 SL:138\nFA58  60        RTS                             A:F0 X:FF Y:A9 P:E5 SP:F9 CYC:318 SL:138\nEB72  DF 48 05 *DCP $0548,X @ 0647 = 37         A:F0 X:FF Y:A9 P:E5 SP:FB CYC:336 SL:138\nEB75  EA        NOP                             A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 16 SL:139\nEB76  EA        NOP                             A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 22 SL:139\nEB77  EA        NOP                             A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 28 SL:139\nEB78  EA        NOP                             A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 34 SL:139\nEB79  20 59 FA  JSR $FA59                       A:F0 X:FF Y:A9 P:E5 SP:FB CYC: 40 SL:139\nFA59  50 0A     BVC $FA65                       A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 58 SL:139\nFA5B  F0 08     BEQ $FA65                       A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 64 SL:139\nFA5D  10 06     BPL $FA65                       A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 70 SL:139\nFA5F  90 04     BCC $FA65                       A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 76 SL:139\nFA61  C9 F0     CMP #$F0                        A:F0 X:FF Y:A9 P:E5 SP:F9 CYC: 82 SL:139\nFA63  F0 02     BEQ $FA67                       A:F0 X:FF Y:A9 P:67 SP:F9 CYC: 88 SL:139\nFA67  60        RTS                             A:F0 X:FF Y:A9 P:67 SP:F9 CYC: 97 SL:139\nEB7C  AD 47 06  LDA $0647 = 36                  A:F0 X:FF Y:A9 P:67 SP:FB CYC:115 SL:139\nEB7F  C9 36     CMP #$36                        A:36 X:FF Y:A9 P:65 SP:FB CYC:127 SL:139\nEB81  F0 02     BEQ $EB85                       A:36 X:FF Y:A9 P:67 SP:FB CYC:133 SL:139\nEB85  60        RTS                             A:36 X:FF Y:A9 P:67 SP:FB CYC:142 SL:139\nC63E  20 86 EB  JSR $EB86                       A:36 X:FF Y:A9 P:67 SP:FD CYC:160 SL:139\nEB86  A9 FF     LDA #$FF                        A:36 X:FF Y:A9 P:67 SP:FB CYC:178 SL:139\nEB88  85 01     STA $01 = FF                    A:FF X:FF Y:A9 P:E5 SP:FB CYC:184 SL:139\nEB8A  A0 AA     LDY #$AA                        A:FF X:FF Y:A9 P:E5 SP:FB CYC:193 SL:139\nEB8C  A2 02     LDX #$02                        A:FF X:FF Y:AA P:E5 SP:FB CYC:199 SL:139\nEB8E  A9 47     LDA #$47                        A:FF X:02 Y:AA P:65 SP:FB CYC:205 SL:139\nEB90  85 47     STA $47 = 36                    A:47 X:02 Y:AA P:65 SP:FB CYC:211 SL:139\nEB92  A9 06     LDA #$06                        A:47 X:02 Y:AA P:65 SP:FB CYC:220 SL:139\nEB94  85 48     STA $48 = 06                    A:06 X:02 Y:AA P:65 SP:FB CYC:226 SL:139\nEB96  A9 EB     LDA #$EB                        A:06 X:02 Y:AA P:65 SP:FB CYC:235 SL:139\nEB98  8D 47 06  STA $0647 = 36                  A:EB X:02 Y:AA P:E5 SP:FB CYC:241 SL:139\nEB9B  20 B1 FA  JSR $FAB1                       A:EB X:02 Y:AA P:E5 SP:FB CYC:253 SL:139\nFAB1  24 01     BIT $01 = FF                    A:EB X:02 Y:AA P:E5 SP:F9 CYC:271 SL:139\nFAB3  18        CLC                             A:EB X:02 Y:AA P:E5 SP:F9 CYC:280 SL:139\nFAB4  A9 40     LDA #$40                        A:EB X:02 Y:AA P:E4 SP:F9 CYC:286 SL:139\nFAB6  60        RTS                             A:40 X:02 Y:AA P:64 SP:F9 CYC:292 SL:139\nEB9E  E3 45    *ISB ($45,X) @ 47 = 0647 = EB    A:40 X:02 Y:AA P:64 SP:FB CYC:310 SL:139\nEBA0  EA        NOP                             A:53 X:02 Y:AA P:24 SP:FB CYC:334 SL:139\nEBA1  EA        NOP                             A:53 X:02 Y:AA P:24 SP:FB CYC:340 SL:139\nEBA2  EA        NOP                             A:53 X:02 Y:AA P:24 SP:FB CYC:  5 SL:140\nEBA3  EA        NOP                             A:53 X:02 Y:AA P:24 SP:FB CYC: 11 SL:140\nEBA4  20 B7 FA  JSR $FAB7                       A:53 X:02 Y:AA P:24 SP:FB CYC: 17 SL:140\nFAB7  70 2D     BVS $FAE6                       A:53 X:02 Y:AA P:24 SP:F9 CYC: 35 SL:140\nFAB9  B0 2B     BCS $FAE6                       A:53 X:02 Y:AA P:24 SP:F9 CYC: 41 SL:140\nFABB  30 29     BMI $FAE6                       A:53 X:02 Y:AA P:24 SP:F9 CYC: 47 SL:140\nFABD  C9 53     CMP #$53                        A:53 X:02 Y:AA P:24 SP:F9 CYC: 53 SL:140\nFABF  D0 25     BNE $FAE6                       A:53 X:02 Y:AA P:27 SP:F9 CYC: 59 SL:140\nFAC1  60        RTS                             A:53 X:02 Y:AA P:27 SP:F9 CYC: 65 SL:140\nEBA7  AD 47 06  LDA $0647 = EC                  A:53 X:02 Y:AA P:27 SP:FB CYC: 83 SL:140\nEBAA  C9 EC     CMP #$EC                        A:EC X:02 Y:AA P:A5 SP:FB CYC: 95 SL:140\nEBAC  F0 02     BEQ $EBB0                       A:EC X:02 Y:AA P:27 SP:FB CYC:101 SL:140\nEBB0  C8        INY                             A:EC X:02 Y:AA P:27 SP:FB CYC:110 SL:140\nEBB1  A9 FF     LDA #$FF                        A:EC X:02 Y:AB P:A5 SP:FB CYC:116 SL:140\nEBB3  8D 47 06  STA $0647 = EC                  A:FF X:02 Y:AB P:A5 SP:FB CYC:122 SL:140\nEBB6  20 C2 FA  JSR $FAC2                       A:FF X:02 Y:AB P:A5 SP:FB CYC:134 SL:140\nFAC2  B8        CLV                             A:FF X:02 Y:AB P:A5 SP:F9 CYC:152 SL:140\nFAC3  38        SEC                             A:FF X:02 Y:AB P:A5 SP:F9 CYC:158 SL:140\nFAC4  A9 FF     LDA #$FF                        A:FF X:02 Y:AB P:A5 SP:F9 CYC:164 SL:140\nFAC6  60        RTS                             A:FF X:02 Y:AB P:A5 SP:F9 CYC:170 SL:140\nEBB9  E3 45    *ISB ($45,X) @ 47 = 0647 = FF    A:FF X:02 Y:AB P:A5 SP:FB CYC:188 SL:140\nEBBB  EA        NOP                             A:FF X:02 Y:AB P:A5 SP:FB CYC:212 SL:140\nEBBC  EA        NOP                             A:FF X:02 Y:AB P:A5 SP:FB CYC:218 SL:140\nEBBD  EA        NOP                             A:FF X:02 Y:AB P:A5 SP:FB CYC:224 SL:140\nEBBE  EA        NOP                             A:FF X:02 Y:AB P:A5 SP:FB CYC:230 SL:140\nEBBF  20 C7 FA  JSR $FAC7                       A:FF X:02 Y:AB P:A5 SP:FB CYC:236 SL:140\nFAC7  70 1D     BVS $FAE6                       A:FF X:02 Y:AB P:A5 SP:F9 CYC:254 SL:140\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:02 Y:AB P:A5 SP:F9 CYC:260 SL:140\nFACB  10 19     BPL $FAE6                       A:FF X:02 Y:AB P:A5 SP:F9 CYC:266 SL:140\nFACD  90 17     BCC $FAE6                       A:FF X:02 Y:AB P:A5 SP:F9 CYC:272 SL:140\nFACF  C9 FF     CMP #$FF                        A:FF X:02 Y:AB P:A5 SP:F9 CYC:278 SL:140\nFAD1  D0 13     BNE $FAE6                       A:FF X:02 Y:AB P:27 SP:F9 CYC:284 SL:140\nFAD3  60        RTS                             A:FF X:02 Y:AB P:27 SP:F9 CYC:290 SL:140\nEBC2  AD 47 06  LDA $0647 = 00                  A:FF X:02 Y:AB P:27 SP:FB CYC:308 SL:140\nEBC5  C9 00     CMP #$00                        A:00 X:02 Y:AB P:27 SP:FB CYC:320 SL:140\nEBC7  F0 02     BEQ $EBCB                       A:00 X:02 Y:AB P:27 SP:FB CYC:326 SL:140\nEBCB  C8        INY                             A:00 X:02 Y:AB P:27 SP:FB CYC:335 SL:140\nEBCC  A9 37     LDA #$37                        A:00 X:02 Y:AC P:A5 SP:FB CYC:  0 SL:141\nEBCE  8D 47 06  STA $0647 = 00                  A:37 X:02 Y:AC P:25 SP:FB CYC:  6 SL:141\nEBD1  20 D4 FA  JSR $FAD4                       A:37 X:02 Y:AC P:25 SP:FB CYC: 18 SL:141\nFAD4  24 01     BIT $01 = FF                    A:37 X:02 Y:AC P:25 SP:F9 CYC: 36 SL:141\nFAD6  38        SEC                             A:37 X:02 Y:AC P:E5 SP:F9 CYC: 45 SL:141\nFAD7  A9 F0     LDA #$F0                        A:37 X:02 Y:AC P:E5 SP:F9 CYC: 51 SL:141\nFAD9  60        RTS                             A:F0 X:02 Y:AC P:E5 SP:F9 CYC: 57 SL:141\nEBD4  E3 45    *ISB ($45,X) @ 47 = 0647 = 37    A:F0 X:02 Y:AC P:E5 SP:FB CYC: 75 SL:141\nEBD6  EA        NOP                             A:B8 X:02 Y:AC P:A5 SP:FB CYC: 99 SL:141\nEBD7  EA        NOP                             A:B8 X:02 Y:AC P:A5 SP:FB CYC:105 SL:141\nEBD8  EA        NOP                             A:B8 X:02 Y:AC P:A5 SP:FB CYC:111 SL:141\nEBD9  EA        NOP                             A:B8 X:02 Y:AC P:A5 SP:FB CYC:117 SL:141\nEBDA  20 DA FA  JSR $FADA                       A:B8 X:02 Y:AC P:A5 SP:FB CYC:123 SL:141\nFADA  70 0A     BVS $FAE6                       A:B8 X:02 Y:AC P:A5 SP:F9 CYC:141 SL:141\nFADC  F0 08     BEQ $FAE6                       A:B8 X:02 Y:AC P:A5 SP:F9 CYC:147 SL:141\nFADE  10 06     BPL $FAE6                       A:B8 X:02 Y:AC P:A5 SP:F9 CYC:153 SL:141\nFAE0  90 04     BCC $FAE6                       A:B8 X:02 Y:AC P:A5 SP:F9 CYC:159 SL:141\nFAE2  C9 B8     CMP #$B8                        A:B8 X:02 Y:AC P:A5 SP:F9 CYC:165 SL:141\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:02 Y:AC P:27 SP:F9 CYC:171 SL:141\nFAE8  60        RTS                             A:B8 X:02 Y:AC P:27 SP:F9 CYC:180 SL:141\nEBDD  AD 47 06  LDA $0647 = 38                  A:B8 X:02 Y:AC P:27 SP:FB CYC:198 SL:141\nEBE0  C9 38     CMP #$38                        A:38 X:02 Y:AC P:25 SP:FB CYC:210 SL:141\nEBE2  F0 02     BEQ $EBE6                       A:38 X:02 Y:AC P:27 SP:FB CYC:216 SL:141\nEBE6  C8        INY                             A:38 X:02 Y:AC P:27 SP:FB CYC:225 SL:141\nEBE7  A9 EB     LDA #$EB                        A:38 X:02 Y:AD P:A5 SP:FB CYC:231 SL:141\nEBE9  85 47     STA $47 = 47                    A:EB X:02 Y:AD P:A5 SP:FB CYC:237 SL:141\nEBEB  20 B1 FA  JSR $FAB1                       A:EB X:02 Y:AD P:A5 SP:FB CYC:246 SL:141\nFAB1  24 01     BIT $01 = FF                    A:EB X:02 Y:AD P:A5 SP:F9 CYC:264 SL:141\nFAB3  18        CLC                             A:EB X:02 Y:AD P:E5 SP:F9 CYC:273 SL:141\nFAB4  A9 40     LDA #$40                        A:EB X:02 Y:AD P:E4 SP:F9 CYC:279 SL:141\nFAB6  60        RTS                             A:40 X:02 Y:AD P:64 SP:F9 CYC:285 SL:141\nEBEE  E7 47    *ISB $47 = EB                    A:40 X:02 Y:AD P:64 SP:FB CYC:303 SL:141\nEBF0  EA        NOP                             A:53 X:02 Y:AD P:24 SP:FB CYC:318 SL:141\nEBF1  EA        NOP                             A:53 X:02 Y:AD P:24 SP:FB CYC:324 SL:141\nEBF2  EA        NOP                             A:53 X:02 Y:AD P:24 SP:FB CYC:330 SL:141\nEBF3  EA        NOP                             A:53 X:02 Y:AD P:24 SP:FB CYC:336 SL:141\nEBF4  20 B7 FA  JSR $FAB7                       A:53 X:02 Y:AD P:24 SP:FB CYC:  1 SL:142\nFAB7  70 2D     BVS $FAE6                       A:53 X:02 Y:AD P:24 SP:F9 CYC: 19 SL:142\nFAB9  B0 2B     BCS $FAE6                       A:53 X:02 Y:AD P:24 SP:F9 CYC: 25 SL:142\nFABB  30 29     BMI $FAE6                       A:53 X:02 Y:AD P:24 SP:F9 CYC: 31 SL:142\nFABD  C9 53     CMP #$53                        A:53 X:02 Y:AD P:24 SP:F9 CYC: 37 SL:142\nFABF  D0 25     BNE $FAE6                       A:53 X:02 Y:AD P:27 SP:F9 CYC: 43 SL:142\nFAC1  60        RTS                             A:53 X:02 Y:AD P:27 SP:F9 CYC: 49 SL:142\nEBF7  A5 47     LDA $47 = EC                    A:53 X:02 Y:AD P:27 SP:FB CYC: 67 SL:142\nEBF9  C9 EC     CMP #$EC                        A:EC X:02 Y:AD P:A5 SP:FB CYC: 76 SL:142\nEBFB  F0 02     BEQ $EBFF                       A:EC X:02 Y:AD P:27 SP:FB CYC: 82 SL:142\nEBFF  C8        INY                             A:EC X:02 Y:AD P:27 SP:FB CYC: 91 SL:142\nEC00  A9 FF     LDA #$FF                        A:EC X:02 Y:AE P:A5 SP:FB CYC: 97 SL:142\nEC02  85 47     STA $47 = EC                    A:FF X:02 Y:AE P:A5 SP:FB CYC:103 SL:142\nEC04  20 C2 FA  JSR $FAC2                       A:FF X:02 Y:AE P:A5 SP:FB CYC:112 SL:142\nFAC2  B8        CLV                             A:FF X:02 Y:AE P:A5 SP:F9 CYC:130 SL:142\nFAC3  38        SEC                             A:FF X:02 Y:AE P:A5 SP:F9 CYC:136 SL:142\nFAC4  A9 FF     LDA #$FF                        A:FF X:02 Y:AE P:A5 SP:F9 CYC:142 SL:142\nFAC6  60        RTS                             A:FF X:02 Y:AE P:A5 SP:F9 CYC:148 SL:142\nEC07  E7 47    *ISB $47 = FF                    A:FF X:02 Y:AE P:A5 SP:FB CYC:166 SL:142\nEC09  EA        NOP                             A:FF X:02 Y:AE P:A5 SP:FB CYC:181 SL:142\nEC0A  EA        NOP                             A:FF X:02 Y:AE P:A5 SP:FB CYC:187 SL:142\nEC0B  EA        NOP                             A:FF X:02 Y:AE P:A5 SP:FB CYC:193 SL:142\nEC0C  EA        NOP                             A:FF X:02 Y:AE P:A5 SP:FB CYC:199 SL:142\nEC0D  20 C7 FA  JSR $FAC7                       A:FF X:02 Y:AE P:A5 SP:FB CYC:205 SL:142\nFAC7  70 1D     BVS $FAE6                       A:FF X:02 Y:AE P:A5 SP:F9 CYC:223 SL:142\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:02 Y:AE P:A5 SP:F9 CYC:229 SL:142\nFACB  10 19     BPL $FAE6                       A:FF X:02 Y:AE P:A5 SP:F9 CYC:235 SL:142\nFACD  90 17     BCC $FAE6                       A:FF X:02 Y:AE P:A5 SP:F9 CYC:241 SL:142\nFACF  C9 FF     CMP #$FF                        A:FF X:02 Y:AE P:A5 SP:F9 CYC:247 SL:142\nFAD1  D0 13     BNE $FAE6                       A:FF X:02 Y:AE P:27 SP:F9 CYC:253 SL:142\nFAD3  60        RTS                             A:FF X:02 Y:AE P:27 SP:F9 CYC:259 SL:142\nEC10  A5 47     LDA $47 = 00                    A:FF X:02 Y:AE P:27 SP:FB CYC:277 SL:142\nEC12  C9 00     CMP #$00                        A:00 X:02 Y:AE P:27 SP:FB CYC:286 SL:142\nEC14  F0 02     BEQ $EC18                       A:00 X:02 Y:AE P:27 SP:FB CYC:292 SL:142\nEC18  C8        INY                             A:00 X:02 Y:AE P:27 SP:FB CYC:301 SL:142\nEC19  A9 37     LDA #$37                        A:00 X:02 Y:AF P:A5 SP:FB CYC:307 SL:142\nEC1B  85 47     STA $47 = 00                    A:37 X:02 Y:AF P:25 SP:FB CYC:313 SL:142\nEC1D  20 D4 FA  JSR $FAD4                       A:37 X:02 Y:AF P:25 SP:FB CYC:322 SL:142\nFAD4  24 01     BIT $01 = FF                    A:37 X:02 Y:AF P:25 SP:F9 CYC:340 SL:142\nFAD6  38        SEC                             A:37 X:02 Y:AF P:E5 SP:F9 CYC:  8 SL:143\nFAD7  A9 F0     LDA #$F0                        A:37 X:02 Y:AF P:E5 SP:F9 CYC: 14 SL:143\nFAD9  60        RTS                             A:F0 X:02 Y:AF P:E5 SP:F9 CYC: 20 SL:143\nEC20  E7 47    *ISB $47 = 37                    A:F0 X:02 Y:AF P:E5 SP:FB CYC: 38 SL:143\nEC22  EA        NOP                             A:B8 X:02 Y:AF P:A5 SP:FB CYC: 53 SL:143\nEC23  EA        NOP                             A:B8 X:02 Y:AF P:A5 SP:FB CYC: 59 SL:143\nEC24  EA        NOP                             A:B8 X:02 Y:AF P:A5 SP:FB CYC: 65 SL:143\nEC25  EA        NOP                             A:B8 X:02 Y:AF P:A5 SP:FB CYC: 71 SL:143\nEC26  20 DA FA  JSR $FADA                       A:B8 X:02 Y:AF P:A5 SP:FB CYC: 77 SL:143\nFADA  70 0A     BVS $FAE6                       A:B8 X:02 Y:AF P:A5 SP:F9 CYC: 95 SL:143\nFADC  F0 08     BEQ $FAE6                       A:B8 X:02 Y:AF P:A5 SP:F9 CYC:101 SL:143\nFADE  10 06     BPL $FAE6                       A:B8 X:02 Y:AF P:A5 SP:F9 CYC:107 SL:143\nFAE0  90 04     BCC $FAE6                       A:B8 X:02 Y:AF P:A5 SP:F9 CYC:113 SL:143\nFAE2  C9 B8     CMP #$B8                        A:B8 X:02 Y:AF P:A5 SP:F9 CYC:119 SL:143\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:02 Y:AF P:27 SP:F9 CYC:125 SL:143\nFAE8  60        RTS                             A:B8 X:02 Y:AF P:27 SP:F9 CYC:134 SL:143\nEC29  A5 47     LDA $47 = 38                    A:B8 X:02 Y:AF P:27 SP:FB CYC:152 SL:143\nEC2B  C9 38     CMP #$38                        A:38 X:02 Y:AF P:25 SP:FB CYC:161 SL:143\nEC2D  F0 02     BEQ $EC31                       A:38 X:02 Y:AF P:27 SP:FB CYC:167 SL:143\nEC31  C8        INY                             A:38 X:02 Y:AF P:27 SP:FB CYC:176 SL:143\nEC32  A9 EB     LDA #$EB                        A:38 X:02 Y:B0 P:A5 SP:FB CYC:182 SL:143\nEC34  8D 47 06  STA $0647 = 38                  A:EB X:02 Y:B0 P:A5 SP:FB CYC:188 SL:143\nEC37  20 B1 FA  JSR $FAB1                       A:EB X:02 Y:B0 P:A5 SP:FB CYC:200 SL:143\nFAB1  24 01     BIT $01 = FF                    A:EB X:02 Y:B0 P:A5 SP:F9 CYC:218 SL:143\nFAB3  18        CLC                             A:EB X:02 Y:B0 P:E5 SP:F9 CYC:227 SL:143\nFAB4  A9 40     LDA #$40                        A:EB X:02 Y:B0 P:E4 SP:F9 CYC:233 SL:143\nFAB6  60        RTS                             A:40 X:02 Y:B0 P:64 SP:F9 CYC:239 SL:143\nEC3A  EF 47 06 *ISB $0647 = EB                  A:40 X:02 Y:B0 P:64 SP:FB CYC:257 SL:143\nEC3D  EA        NOP                             A:53 X:02 Y:B0 P:24 SP:FB CYC:275 SL:143\nEC3E  EA        NOP                             A:53 X:02 Y:B0 P:24 SP:FB CYC:281 SL:143\nEC3F  EA        NOP                             A:53 X:02 Y:B0 P:24 SP:FB CYC:287 SL:143\nEC40  EA        NOP                             A:53 X:02 Y:B0 P:24 SP:FB CYC:293 SL:143\nEC41  20 B7 FA  JSR $FAB7                       A:53 X:02 Y:B0 P:24 SP:FB CYC:299 SL:143\nFAB7  70 2D     BVS $FAE6                       A:53 X:02 Y:B0 P:24 SP:F9 CYC:317 SL:143\nFAB9  B0 2B     BCS $FAE6                       A:53 X:02 Y:B0 P:24 SP:F9 CYC:323 SL:143\nFABB  30 29     BMI $FAE6                       A:53 X:02 Y:B0 P:24 SP:F9 CYC:329 SL:143\nFABD  C9 53     CMP #$53                        A:53 X:02 Y:B0 P:24 SP:F9 CYC:335 SL:143\nFABF  D0 25     BNE $FAE6                       A:53 X:02 Y:B0 P:27 SP:F9 CYC:  0 SL:144\nFAC1  60        RTS                             A:53 X:02 Y:B0 P:27 SP:F9 CYC:  6 SL:144\nEC44  AD 47 06  LDA $0647 = EC                  A:53 X:02 Y:B0 P:27 SP:FB CYC: 24 SL:144\nEC47  C9 EC     CMP #$EC                        A:EC X:02 Y:B0 P:A5 SP:FB CYC: 36 SL:144\nEC49  F0 02     BEQ $EC4D                       A:EC X:02 Y:B0 P:27 SP:FB CYC: 42 SL:144\nEC4D  C8        INY                             A:EC X:02 Y:B0 P:27 SP:FB CYC: 51 SL:144\nEC4E  A9 FF     LDA #$FF                        A:EC X:02 Y:B1 P:A5 SP:FB CYC: 57 SL:144\nEC50  8D 47 06  STA $0647 = EC                  A:FF X:02 Y:B1 P:A5 SP:FB CYC: 63 SL:144\nEC53  20 C2 FA  JSR $FAC2                       A:FF X:02 Y:B1 P:A5 SP:FB CYC: 75 SL:144\nFAC2  B8        CLV                             A:FF X:02 Y:B1 P:A5 SP:F9 CYC: 93 SL:144\nFAC3  38        SEC                             A:FF X:02 Y:B1 P:A5 SP:F9 CYC: 99 SL:144\nFAC4  A9 FF     LDA #$FF                        A:FF X:02 Y:B1 P:A5 SP:F9 CYC:105 SL:144\nFAC6  60        RTS                             A:FF X:02 Y:B1 P:A5 SP:F9 CYC:111 SL:144\nEC56  EF 47 06 *ISB $0647 = FF                  A:FF X:02 Y:B1 P:A5 SP:FB CYC:129 SL:144\nEC59  EA        NOP                             A:FF X:02 Y:B1 P:A5 SP:FB CYC:147 SL:144\nEC5A  EA        NOP                             A:FF X:02 Y:B1 P:A5 SP:FB CYC:153 SL:144\nEC5B  EA        NOP                             A:FF X:02 Y:B1 P:A5 SP:FB CYC:159 SL:144\nEC5C  EA        NOP                             A:FF X:02 Y:B1 P:A5 SP:FB CYC:165 SL:144\nEC5D  20 C7 FA  JSR $FAC7                       A:FF X:02 Y:B1 P:A5 SP:FB CYC:171 SL:144\nFAC7  70 1D     BVS $FAE6                       A:FF X:02 Y:B1 P:A5 SP:F9 CYC:189 SL:144\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:02 Y:B1 P:A5 SP:F9 CYC:195 SL:144\nFACB  10 19     BPL $FAE6                       A:FF X:02 Y:B1 P:A5 SP:F9 CYC:201 SL:144\nFACD  90 17     BCC $FAE6                       A:FF X:02 Y:B1 P:A5 SP:F9 CYC:207 SL:144\nFACF  C9 FF     CMP #$FF                        A:FF X:02 Y:B1 P:A5 SP:F9 CYC:213 SL:144\nFAD1  D0 13     BNE $FAE6                       A:FF X:02 Y:B1 P:27 SP:F9 CYC:219 SL:144\nFAD3  60        RTS                             A:FF X:02 Y:B1 P:27 SP:F9 CYC:225 SL:144\nEC60  AD 47 06  LDA $0647 = 00                  A:FF X:02 Y:B1 P:27 SP:FB CYC:243 SL:144\nEC63  C9 00     CMP #$00                        A:00 X:02 Y:B1 P:27 SP:FB CYC:255 SL:144\nEC65  F0 02     BEQ $EC69                       A:00 X:02 Y:B1 P:27 SP:FB CYC:261 SL:144\nEC69  C8        INY                             A:00 X:02 Y:B1 P:27 SP:FB CYC:270 SL:144\nEC6A  A9 37     LDA #$37                        A:00 X:02 Y:B2 P:A5 SP:FB CYC:276 SL:144\nEC6C  8D 47 06  STA $0647 = 00                  A:37 X:02 Y:B2 P:25 SP:FB CYC:282 SL:144\nEC6F  20 D4 FA  JSR $FAD4                       A:37 X:02 Y:B2 P:25 SP:FB CYC:294 SL:144\nFAD4  24 01     BIT $01 = FF                    A:37 X:02 Y:B2 P:25 SP:F9 CYC:312 SL:144\nFAD6  38        SEC                             A:37 X:02 Y:B2 P:E5 SP:F9 CYC:321 SL:144\nFAD7  A9 F0     LDA #$F0                        A:37 X:02 Y:B2 P:E5 SP:F9 CYC:327 SL:144\nFAD9  60        RTS                             A:F0 X:02 Y:B2 P:E5 SP:F9 CYC:333 SL:144\nEC72  EF 47 06 *ISB $0647 = 37                  A:F0 X:02 Y:B2 P:E5 SP:FB CYC: 10 SL:145\nEC75  EA        NOP                             A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 28 SL:145\nEC76  EA        NOP                             A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 34 SL:145\nEC77  EA        NOP                             A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 40 SL:145\nEC78  EA        NOP                             A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 46 SL:145\nEC79  20 DA FA  JSR $FADA                       A:B8 X:02 Y:B2 P:A5 SP:FB CYC: 52 SL:145\nFADA  70 0A     BVS $FAE6                       A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 70 SL:145\nFADC  F0 08     BEQ $FAE6                       A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 76 SL:145\nFADE  10 06     BPL $FAE6                       A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 82 SL:145\nFAE0  90 04     BCC $FAE6                       A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 88 SL:145\nFAE2  C9 B8     CMP #$B8                        A:B8 X:02 Y:B2 P:A5 SP:F9 CYC: 94 SL:145\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:02 Y:B2 P:27 SP:F9 CYC:100 SL:145\nFAE8  60        RTS                             A:B8 X:02 Y:B2 P:27 SP:F9 CYC:109 SL:145\nEC7C  AD 47 06  LDA $0647 = 38                  A:B8 X:02 Y:B2 P:27 SP:FB CYC:127 SL:145\nEC7F  C9 38     CMP #$38                        A:38 X:02 Y:B2 P:25 SP:FB CYC:139 SL:145\nEC81  F0 02     BEQ $EC85                       A:38 X:02 Y:B2 P:27 SP:FB CYC:145 SL:145\nEC85  A9 EB     LDA #$EB                        A:38 X:02 Y:B2 P:27 SP:FB CYC:154 SL:145\nEC87  8D 47 06  STA $0647 = 38                  A:EB X:02 Y:B2 P:A5 SP:FB CYC:160 SL:145\nEC8A  A9 48     LDA #$48                        A:EB X:02 Y:B2 P:A5 SP:FB CYC:172 SL:145\nEC8C  85 45     STA $45 = 48                    A:48 X:02 Y:B2 P:25 SP:FB CYC:178 SL:145\nEC8E  A9 05     LDA #$05                        A:48 X:02 Y:B2 P:25 SP:FB CYC:187 SL:145\nEC90  85 46     STA $46 = 05                    A:05 X:02 Y:B2 P:25 SP:FB CYC:193 SL:145\nEC92  A0 FF     LDY #$FF                        A:05 X:02 Y:B2 P:25 SP:FB CYC:202 SL:145\nEC94  20 B1 FA  JSR $FAB1                       A:05 X:02 Y:FF P:A5 SP:FB CYC:208 SL:145\nFAB1  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:A5 SP:F9 CYC:226 SL:145\nFAB3  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC:235 SL:145\nFAB4  A9 40     LDA #$40                        A:05 X:02 Y:FF P:E4 SP:F9 CYC:241 SL:145\nFAB6  60        RTS                             A:40 X:02 Y:FF P:64 SP:F9 CYC:247 SL:145\nEC97  F3 45    *ISB ($45),Y = 0548 @ 0647 = EB  A:40 X:02 Y:FF P:64 SP:FB CYC:265 SL:145\nEC99  EA        NOP                             A:53 X:02 Y:FF P:24 SP:FB CYC:289 SL:145\nEC9A  EA        NOP                             A:53 X:02 Y:FF P:24 SP:FB CYC:295 SL:145\nEC9B  08        PHP                             A:53 X:02 Y:FF P:24 SP:FB CYC:301 SL:145\nEC9C  48        PHA                             A:53 X:02 Y:FF P:24 SP:FA CYC:310 SL:145\nEC9D  A0 B3     LDY #$B3                        A:53 X:02 Y:FF P:24 SP:F9 CYC:319 SL:145\nEC9F  68        PLA                             A:53 X:02 Y:B3 P:A4 SP:F9 CYC:325 SL:145\nECA0  28        PLP                             A:53 X:02 Y:B3 P:24 SP:FA CYC:337 SL:145\nECA1  20 B7 FA  JSR $FAB7                       A:53 X:02 Y:B3 P:24 SP:FB CYC:  8 SL:146\nFAB7  70 2D     BVS $FAE6                       A:53 X:02 Y:B3 P:24 SP:F9 CYC: 26 SL:146\nFAB9  B0 2B     BCS $FAE6                       A:53 X:02 Y:B3 P:24 SP:F9 CYC: 32 SL:146\nFABB  30 29     BMI $FAE6                       A:53 X:02 Y:B3 P:24 SP:F9 CYC: 38 SL:146\nFABD  C9 53     CMP #$53                        A:53 X:02 Y:B3 P:24 SP:F9 CYC: 44 SL:146\nFABF  D0 25     BNE $FAE6                       A:53 X:02 Y:B3 P:27 SP:F9 CYC: 50 SL:146\nFAC1  60        RTS                             A:53 X:02 Y:B3 P:27 SP:F9 CYC: 56 SL:146\nECA4  AD 47 06  LDA $0647 = EC                  A:53 X:02 Y:B3 P:27 SP:FB CYC: 74 SL:146\nECA7  C9 EC     CMP #$EC                        A:EC X:02 Y:B3 P:A5 SP:FB CYC: 86 SL:146\nECA9  F0 02     BEQ $ECAD                       A:EC X:02 Y:B3 P:27 SP:FB CYC: 92 SL:146\nECAD  A0 FF     LDY #$FF                        A:EC X:02 Y:B3 P:27 SP:FB CYC:101 SL:146\nECAF  A9 FF     LDA #$FF                        A:EC X:02 Y:FF P:A5 SP:FB CYC:107 SL:146\nECB1  8D 47 06  STA $0647 = EC                  A:FF X:02 Y:FF P:A5 SP:FB CYC:113 SL:146\nECB4  20 C2 FA  JSR $FAC2                       A:FF X:02 Y:FF P:A5 SP:FB CYC:125 SL:146\nFAC2  B8        CLV                             A:FF X:02 Y:FF P:A5 SP:F9 CYC:143 SL:146\nFAC3  38        SEC                             A:FF X:02 Y:FF P:A5 SP:F9 CYC:149 SL:146\nFAC4  A9 FF     LDA #$FF                        A:FF X:02 Y:FF P:A5 SP:F9 CYC:155 SL:146\nFAC6  60        RTS                             A:FF X:02 Y:FF P:A5 SP:F9 CYC:161 SL:146\nECB7  F3 45    *ISB ($45),Y = 0548 @ 0647 = FF  A:FF X:02 Y:FF P:A5 SP:FB CYC:179 SL:146\nECB9  EA        NOP                             A:FF X:02 Y:FF P:A5 SP:FB CYC:203 SL:146\nECBA  EA        NOP                             A:FF X:02 Y:FF P:A5 SP:FB CYC:209 SL:146\nECBB  08        PHP                             A:FF X:02 Y:FF P:A5 SP:FB CYC:215 SL:146\nECBC  48        PHA                             A:FF X:02 Y:FF P:A5 SP:FA CYC:224 SL:146\nECBD  A0 B4     LDY #$B4                        A:FF X:02 Y:FF P:A5 SP:F9 CYC:233 SL:146\nECBF  68        PLA                             A:FF X:02 Y:B4 P:A5 SP:F9 CYC:239 SL:146\nECC0  28        PLP                             A:FF X:02 Y:B4 P:A5 SP:FA CYC:251 SL:146\nECC1  20 C7 FA  JSR $FAC7                       A:FF X:02 Y:B4 P:A5 SP:FB CYC:263 SL:146\nFAC7  70 1D     BVS $FAE6                       A:FF X:02 Y:B4 P:A5 SP:F9 CYC:281 SL:146\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:02 Y:B4 P:A5 SP:F9 CYC:287 SL:146\nFACB  10 19     BPL $FAE6                       A:FF X:02 Y:B4 P:A5 SP:F9 CYC:293 SL:146\nFACD  90 17     BCC $FAE6                       A:FF X:02 Y:B4 P:A5 SP:F9 CYC:299 SL:146\nFACF  C9 FF     CMP #$FF                        A:FF X:02 Y:B4 P:A5 SP:F9 CYC:305 SL:146\nFAD1  D0 13     BNE $FAE6                       A:FF X:02 Y:B4 P:27 SP:F9 CYC:311 SL:146\nFAD3  60        RTS                             A:FF X:02 Y:B4 P:27 SP:F9 CYC:317 SL:146\nECC4  AD 47 06  LDA $0647 = 00                  A:FF X:02 Y:B4 P:27 SP:FB CYC:335 SL:146\nECC7  C9 00     CMP #$00                        A:00 X:02 Y:B4 P:27 SP:FB CYC:  6 SL:147\nECC9  F0 02     BEQ $ECCD                       A:00 X:02 Y:B4 P:27 SP:FB CYC: 12 SL:147\nECCD  A0 FF     LDY #$FF                        A:00 X:02 Y:B4 P:27 SP:FB CYC: 21 SL:147\nECCF  A9 37     LDA #$37                        A:00 X:02 Y:FF P:A5 SP:FB CYC: 27 SL:147\nECD1  8D 47 06  STA $0647 = 00                  A:37 X:02 Y:FF P:25 SP:FB CYC: 33 SL:147\nECD4  20 D4 FA  JSR $FAD4                       A:37 X:02 Y:FF P:25 SP:FB CYC: 45 SL:147\nFAD4  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC: 63 SL:147\nFAD6  38        SEC                             A:37 X:02 Y:FF P:E5 SP:F9 CYC: 72 SL:147\nFAD7  A9 F0     LDA #$F0                        A:37 X:02 Y:FF P:E5 SP:F9 CYC: 78 SL:147\nFAD9  60        RTS                             A:F0 X:02 Y:FF P:E5 SP:F9 CYC: 84 SL:147\nECD7  F3 45    *ISB ($45),Y = 0548 @ 0647 = 37  A:F0 X:02 Y:FF P:E5 SP:FB CYC:102 SL:147\nECD9  EA        NOP                             A:B8 X:02 Y:FF P:A5 SP:FB CYC:126 SL:147\nECDA  EA        NOP                             A:B8 X:02 Y:FF P:A5 SP:FB CYC:132 SL:147\nECDB  08        PHP                             A:B8 X:02 Y:FF P:A5 SP:FB CYC:138 SL:147\nECDC  48        PHA                             A:B8 X:02 Y:FF P:A5 SP:FA CYC:147 SL:147\nECDD  A0 B5     LDY #$B5                        A:B8 X:02 Y:FF P:A5 SP:F9 CYC:156 SL:147\nECDF  68        PLA                             A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:162 SL:147\nECE0  28        PLP                             A:B8 X:02 Y:B5 P:A5 SP:FA CYC:174 SL:147\nECE1  20 DA FA  JSR $FADA                       A:B8 X:02 Y:B5 P:A5 SP:FB CYC:186 SL:147\nFADA  70 0A     BVS $FAE6                       A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:204 SL:147\nFADC  F0 08     BEQ $FAE6                       A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:210 SL:147\nFADE  10 06     BPL $FAE6                       A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:216 SL:147\nFAE0  90 04     BCC $FAE6                       A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:222 SL:147\nFAE2  C9 B8     CMP #$B8                        A:B8 X:02 Y:B5 P:A5 SP:F9 CYC:228 SL:147\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:02 Y:B5 P:27 SP:F9 CYC:234 SL:147\nFAE8  60        RTS                             A:B8 X:02 Y:B5 P:27 SP:F9 CYC:243 SL:147\nECE4  AD 47 06  LDA $0647 = 38                  A:B8 X:02 Y:B5 P:27 SP:FB CYC:261 SL:147\nECE7  C9 38     CMP #$38                        A:38 X:02 Y:B5 P:25 SP:FB CYC:273 SL:147\nECE9  F0 02     BEQ $ECED                       A:38 X:02 Y:B5 P:27 SP:FB CYC:279 SL:147\nECED  A0 B6     LDY #$B6                        A:38 X:02 Y:B5 P:27 SP:FB CYC:288 SL:147\nECEF  A2 FF     LDX #$FF                        A:38 X:02 Y:B6 P:A5 SP:FB CYC:294 SL:147\nECF1  A9 EB     LDA #$EB                        A:38 X:FF Y:B6 P:A5 SP:FB CYC:300 SL:147\nECF3  85 47     STA $47 = 38                    A:EB X:FF Y:B6 P:A5 SP:FB CYC:306 SL:147\nECF5  20 B1 FA  JSR $FAB1                       A:EB X:FF Y:B6 P:A5 SP:FB CYC:315 SL:147\nFAB1  24 01     BIT $01 = FF                    A:EB X:FF Y:B6 P:A5 SP:F9 CYC:333 SL:147\nFAB3  18        CLC                             A:EB X:FF Y:B6 P:E5 SP:F9 CYC:  1 SL:148\nFAB4  A9 40     LDA #$40                        A:EB X:FF Y:B6 P:E4 SP:F9 CYC:  7 SL:148\nFAB6  60        RTS                             A:40 X:FF Y:B6 P:64 SP:F9 CYC: 13 SL:148\nECF8  F7 48    *ISB $48,X @ 47 = EB             A:40 X:FF Y:B6 P:64 SP:FB CYC: 31 SL:148\nECFA  EA        NOP                             A:53 X:FF Y:B6 P:24 SP:FB CYC: 49 SL:148\nECFB  EA        NOP                             A:53 X:FF Y:B6 P:24 SP:FB CYC: 55 SL:148\nECFC  EA        NOP                             A:53 X:FF Y:B6 P:24 SP:FB CYC: 61 SL:148\nECFD  EA        NOP                             A:53 X:FF Y:B6 P:24 SP:FB CYC: 67 SL:148\nECFE  20 B7 FA  JSR $FAB7                       A:53 X:FF Y:B6 P:24 SP:FB CYC: 73 SL:148\nFAB7  70 2D     BVS $FAE6                       A:53 X:FF Y:B6 P:24 SP:F9 CYC: 91 SL:148\nFAB9  B0 2B     BCS $FAE6                       A:53 X:FF Y:B6 P:24 SP:F9 CYC: 97 SL:148\nFABB  30 29     BMI $FAE6                       A:53 X:FF Y:B6 P:24 SP:F9 CYC:103 SL:148\nFABD  C9 53     CMP #$53                        A:53 X:FF Y:B6 P:24 SP:F9 CYC:109 SL:148\nFABF  D0 25     BNE $FAE6                       A:53 X:FF Y:B6 P:27 SP:F9 CYC:115 SL:148\nFAC1  60        RTS                             A:53 X:FF Y:B6 P:27 SP:F9 CYC:121 SL:148\nED01  A5 47     LDA $47 = EC                    A:53 X:FF Y:B6 P:27 SP:FB CYC:139 SL:148\nED03  C9 EC     CMP #$EC                        A:EC X:FF Y:B6 P:A5 SP:FB CYC:148 SL:148\nED05  F0 02     BEQ $ED09                       A:EC X:FF Y:B6 P:27 SP:FB CYC:154 SL:148\nED09  C8        INY                             A:EC X:FF Y:B6 P:27 SP:FB CYC:163 SL:148\nED0A  A9 FF     LDA #$FF                        A:EC X:FF Y:B7 P:A5 SP:FB CYC:169 SL:148\nED0C  85 47     STA $47 = EC                    A:FF X:FF Y:B7 P:A5 SP:FB CYC:175 SL:148\nED0E  20 C2 FA  JSR $FAC2                       A:FF X:FF Y:B7 P:A5 SP:FB CYC:184 SL:148\nFAC2  B8        CLV                             A:FF X:FF Y:B7 P:A5 SP:F9 CYC:202 SL:148\nFAC3  38        SEC                             A:FF X:FF Y:B7 P:A5 SP:F9 CYC:208 SL:148\nFAC4  A9 FF     LDA #$FF                        A:FF X:FF Y:B7 P:A5 SP:F9 CYC:214 SL:148\nFAC6  60        RTS                             A:FF X:FF Y:B7 P:A5 SP:F9 CYC:220 SL:148\nED11  F7 48    *ISB $48,X @ 47 = FF             A:FF X:FF Y:B7 P:A5 SP:FB CYC:238 SL:148\nED13  EA        NOP                             A:FF X:FF Y:B7 P:A5 SP:FB CYC:256 SL:148\nED14  EA        NOP                             A:FF X:FF Y:B7 P:A5 SP:FB CYC:262 SL:148\nED15  EA        NOP                             A:FF X:FF Y:B7 P:A5 SP:FB CYC:268 SL:148\nED16  EA        NOP                             A:FF X:FF Y:B7 P:A5 SP:FB CYC:274 SL:148\nED17  20 C7 FA  JSR $FAC7                       A:FF X:FF Y:B7 P:A5 SP:FB CYC:280 SL:148\nFAC7  70 1D     BVS $FAE6                       A:FF X:FF Y:B7 P:A5 SP:F9 CYC:298 SL:148\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:FF Y:B7 P:A5 SP:F9 CYC:304 SL:148\nFACB  10 19     BPL $FAE6                       A:FF X:FF Y:B7 P:A5 SP:F9 CYC:310 SL:148\nFACD  90 17     BCC $FAE6                       A:FF X:FF Y:B7 P:A5 SP:F9 CYC:316 SL:148\nFACF  C9 FF     CMP #$FF                        A:FF X:FF Y:B7 P:A5 SP:F9 CYC:322 SL:148\nFAD1  D0 13     BNE $FAE6                       A:FF X:FF Y:B7 P:27 SP:F9 CYC:328 SL:148\nFAD3  60        RTS                             A:FF X:FF Y:B7 P:27 SP:F9 CYC:334 SL:148\nED1A  A5 47     LDA $47 = 00                    A:FF X:FF Y:B7 P:27 SP:FB CYC: 11 SL:149\nED1C  C9 00     CMP #$00                        A:00 X:FF Y:B7 P:27 SP:FB CYC: 20 SL:149\nED1E  F0 02     BEQ $ED22                       A:00 X:FF Y:B7 P:27 SP:FB CYC: 26 SL:149\nED22  C8        INY                             A:00 X:FF Y:B7 P:27 SP:FB CYC: 35 SL:149\nED23  A9 37     LDA #$37                        A:00 X:FF Y:B8 P:A5 SP:FB CYC: 41 SL:149\nED25  85 47     STA $47 = 00                    A:37 X:FF Y:B8 P:25 SP:FB CYC: 47 SL:149\nED27  20 D4 FA  JSR $FAD4                       A:37 X:FF Y:B8 P:25 SP:FB CYC: 56 SL:149\nFAD4  24 01     BIT $01 = FF                    A:37 X:FF Y:B8 P:25 SP:F9 CYC: 74 SL:149\nFAD6  38        SEC                             A:37 X:FF Y:B8 P:E5 SP:F9 CYC: 83 SL:149\nFAD7  A9 F0     LDA #$F0                        A:37 X:FF Y:B8 P:E5 SP:F9 CYC: 89 SL:149\nFAD9  60        RTS                             A:F0 X:FF Y:B8 P:E5 SP:F9 CYC: 95 SL:149\nED2A  F7 48    *ISB $48,X @ 47 = 37             A:F0 X:FF Y:B8 P:E5 SP:FB CYC:113 SL:149\nED2C  EA        NOP                             A:B8 X:FF Y:B8 P:A5 SP:FB CYC:131 SL:149\nED2D  EA        NOP                             A:B8 X:FF Y:B8 P:A5 SP:FB CYC:137 SL:149\nED2E  EA        NOP                             A:B8 X:FF Y:B8 P:A5 SP:FB CYC:143 SL:149\nED2F  EA        NOP                             A:B8 X:FF Y:B8 P:A5 SP:FB CYC:149 SL:149\nED30  20 DA FA  JSR $FADA                       A:B8 X:FF Y:B8 P:A5 SP:FB CYC:155 SL:149\nFADA  70 0A     BVS $FAE6                       A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:173 SL:149\nFADC  F0 08     BEQ $FAE6                       A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:179 SL:149\nFADE  10 06     BPL $FAE6                       A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:185 SL:149\nFAE0  90 04     BCC $FAE6                       A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:191 SL:149\nFAE2  C9 B8     CMP #$B8                        A:B8 X:FF Y:B8 P:A5 SP:F9 CYC:197 SL:149\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:FF Y:B8 P:27 SP:F9 CYC:203 SL:149\nFAE8  60        RTS                             A:B8 X:FF Y:B8 P:27 SP:F9 CYC:212 SL:149\nED33  A5 47     LDA $47 = 38                    A:B8 X:FF Y:B8 P:27 SP:FB CYC:230 SL:149\nED35  C9 38     CMP #$38                        A:38 X:FF Y:B8 P:25 SP:FB CYC:239 SL:149\nED37  F0 02     BEQ $ED3B                       A:38 X:FF Y:B8 P:27 SP:FB CYC:245 SL:149\nED3B  A9 EB     LDA #$EB                        A:38 X:FF Y:B8 P:27 SP:FB CYC:254 SL:149\nED3D  8D 47 06  STA $0647 = 38                  A:EB X:FF Y:B8 P:A5 SP:FB CYC:260 SL:149\nED40  A0 FF     LDY #$FF                        A:EB X:FF Y:B8 P:A5 SP:FB CYC:272 SL:149\nED42  20 B1 FA  JSR $FAB1                       A:EB X:FF Y:FF P:A5 SP:FB CYC:278 SL:149\nFAB1  24 01     BIT $01 = FF                    A:EB X:FF Y:FF P:A5 SP:F9 CYC:296 SL:149\nFAB3  18        CLC                             A:EB X:FF Y:FF P:E5 SP:F9 CYC:305 SL:149\nFAB4  A9 40     LDA #$40                        A:EB X:FF Y:FF P:E4 SP:F9 CYC:311 SL:149\nFAB6  60        RTS                             A:40 X:FF Y:FF P:64 SP:F9 CYC:317 SL:149\nED45  FB 48 05 *ISB $0548,Y @ 0647 = EB         A:40 X:FF Y:FF P:64 SP:FB CYC:335 SL:149\nED48  EA        NOP                             A:53 X:FF Y:FF P:24 SP:FB CYC: 15 SL:150\nED49  EA        NOP                             A:53 X:FF Y:FF P:24 SP:FB CYC: 21 SL:150\nED4A  08        PHP                             A:53 X:FF Y:FF P:24 SP:FB CYC: 27 SL:150\nED4B  48        PHA                             A:53 X:FF Y:FF P:24 SP:FA CYC: 36 SL:150\nED4C  A0 B9     LDY #$B9                        A:53 X:FF Y:FF P:24 SP:F9 CYC: 45 SL:150\nED4E  68        PLA                             A:53 X:FF Y:B9 P:A4 SP:F9 CYC: 51 SL:150\nED4F  28        PLP                             A:53 X:FF Y:B9 P:24 SP:FA CYC: 63 SL:150\nED50  20 B7 FA  JSR $FAB7                       A:53 X:FF Y:B9 P:24 SP:FB CYC: 75 SL:150\nFAB7  70 2D     BVS $FAE6                       A:53 X:FF Y:B9 P:24 SP:F9 CYC: 93 SL:150\nFAB9  B0 2B     BCS $FAE6                       A:53 X:FF Y:B9 P:24 SP:F9 CYC: 99 SL:150\nFABB  30 29     BMI $FAE6                       A:53 X:FF Y:B9 P:24 SP:F9 CYC:105 SL:150\nFABD  C9 53     CMP #$53                        A:53 X:FF Y:B9 P:24 SP:F9 CYC:111 SL:150\nFABF  D0 25     BNE $FAE6                       A:53 X:FF Y:B9 P:27 SP:F9 CYC:117 SL:150\nFAC1  60        RTS                             A:53 X:FF Y:B9 P:27 SP:F9 CYC:123 SL:150\nED53  AD 47 06  LDA $0647 = EC                  A:53 X:FF Y:B9 P:27 SP:FB CYC:141 SL:150\nED56  C9 EC     CMP #$EC                        A:EC X:FF Y:B9 P:A5 SP:FB CYC:153 SL:150\nED58  F0 02     BEQ $ED5C                       A:EC X:FF Y:B9 P:27 SP:FB CYC:159 SL:150\nED5C  A0 FF     LDY #$FF                        A:EC X:FF Y:B9 P:27 SP:FB CYC:168 SL:150\nED5E  A9 FF     LDA #$FF                        A:EC X:FF Y:FF P:A5 SP:FB CYC:174 SL:150\nED60  8D 47 06  STA $0647 = EC                  A:FF X:FF Y:FF P:A5 SP:FB CYC:180 SL:150\nED63  20 C2 FA  JSR $FAC2                       A:FF X:FF Y:FF P:A5 SP:FB CYC:192 SL:150\nFAC2  B8        CLV                             A:FF X:FF Y:FF P:A5 SP:F9 CYC:210 SL:150\nFAC3  38        SEC                             A:FF X:FF Y:FF P:A5 SP:F9 CYC:216 SL:150\nFAC4  A9 FF     LDA #$FF                        A:FF X:FF Y:FF P:A5 SP:F9 CYC:222 SL:150\nFAC6  60        RTS                             A:FF X:FF Y:FF P:A5 SP:F9 CYC:228 SL:150\nED66  FB 48 05 *ISB $0548,Y @ 0647 = FF         A:FF X:FF Y:FF P:A5 SP:FB CYC:246 SL:150\nED69  EA        NOP                             A:FF X:FF Y:FF P:A5 SP:FB CYC:267 SL:150\nED6A  EA        NOP                             A:FF X:FF Y:FF P:A5 SP:FB CYC:273 SL:150\nED6B  08        PHP                             A:FF X:FF Y:FF P:A5 SP:FB CYC:279 SL:150\nED6C  48        PHA                             A:FF X:FF Y:FF P:A5 SP:FA CYC:288 SL:150\nED6D  A0 BA     LDY #$BA                        A:FF X:FF Y:FF P:A5 SP:F9 CYC:297 SL:150\nED6F  68        PLA                             A:FF X:FF Y:BA P:A5 SP:F9 CYC:303 SL:150\nED70  28        PLP                             A:FF X:FF Y:BA P:A5 SP:FA CYC:315 SL:150\nED71  20 C7 FA  JSR $FAC7                       A:FF X:FF Y:BA P:A5 SP:FB CYC:327 SL:150\nFAC7  70 1D     BVS $FAE6                       A:FF X:FF Y:BA P:A5 SP:F9 CYC:  4 SL:151\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:FF Y:BA P:A5 SP:F9 CYC: 10 SL:151\nFACB  10 19     BPL $FAE6                       A:FF X:FF Y:BA P:A5 SP:F9 CYC: 16 SL:151\nFACD  90 17     BCC $FAE6                       A:FF X:FF Y:BA P:A5 SP:F9 CYC: 22 SL:151\nFACF  C9 FF     CMP #$FF                        A:FF X:FF Y:BA P:A5 SP:F9 CYC: 28 SL:151\nFAD1  D0 13     BNE $FAE6                       A:FF X:FF Y:BA P:27 SP:F9 CYC: 34 SL:151\nFAD3  60        RTS                             A:FF X:FF Y:BA P:27 SP:F9 CYC: 40 SL:151\nED74  AD 47 06  LDA $0647 = 00                  A:FF X:FF Y:BA P:27 SP:FB CYC: 58 SL:151\nED77  C9 00     CMP #$00                        A:00 X:FF Y:BA P:27 SP:FB CYC: 70 SL:151\nED79  F0 02     BEQ $ED7D                       A:00 X:FF Y:BA P:27 SP:FB CYC: 76 SL:151\nED7D  A0 FF     LDY #$FF                        A:00 X:FF Y:BA P:27 SP:FB CYC: 85 SL:151\nED7F  A9 37     LDA #$37                        A:00 X:FF Y:FF P:A5 SP:FB CYC: 91 SL:151\nED81  8D 47 06  STA $0647 = 00                  A:37 X:FF Y:FF P:25 SP:FB CYC: 97 SL:151\nED84  20 D4 FA  JSR $FAD4                       A:37 X:FF Y:FF P:25 SP:FB CYC:109 SL:151\nFAD4  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC:127 SL:151\nFAD6  38        SEC                             A:37 X:FF Y:FF P:E5 SP:F9 CYC:136 SL:151\nFAD7  A9 F0     LDA #$F0                        A:37 X:FF Y:FF P:E5 SP:F9 CYC:142 SL:151\nFAD9  60        RTS                             A:F0 X:FF Y:FF P:E5 SP:F9 CYC:148 SL:151\nED87  FB 48 05 *ISB $0548,Y @ 0647 = 37         A:F0 X:FF Y:FF P:E5 SP:FB CYC:166 SL:151\nED8A  EA        NOP                             A:B8 X:FF Y:FF P:A5 SP:FB CYC:187 SL:151\nED8B  EA        NOP                             A:B8 X:FF Y:FF P:A5 SP:FB CYC:193 SL:151\nED8C  08        PHP                             A:B8 X:FF Y:FF P:A5 SP:FB CYC:199 SL:151\nED8D  48        PHA                             A:B8 X:FF Y:FF P:A5 SP:FA CYC:208 SL:151\nED8E  A0 BB     LDY #$BB                        A:B8 X:FF Y:FF P:A5 SP:F9 CYC:217 SL:151\nED90  68        PLA                             A:B8 X:FF Y:BB P:A5 SP:F9 CYC:223 SL:151\nED91  28        PLP                             A:B8 X:FF Y:BB P:A5 SP:FA CYC:235 SL:151\nED92  20 DA FA  JSR $FADA                       A:B8 X:FF Y:BB P:A5 SP:FB CYC:247 SL:151\nFADA  70 0A     BVS $FAE6                       A:B8 X:FF Y:BB P:A5 SP:F9 CYC:265 SL:151\nFADC  F0 08     BEQ $FAE6                       A:B8 X:FF Y:BB P:A5 SP:F9 CYC:271 SL:151\nFADE  10 06     BPL $FAE6                       A:B8 X:FF Y:BB P:A5 SP:F9 CYC:277 SL:151\nFAE0  90 04     BCC $FAE6                       A:B8 X:FF Y:BB P:A5 SP:F9 CYC:283 SL:151\nFAE2  C9 B8     CMP #$B8                        A:B8 X:FF Y:BB P:A5 SP:F9 CYC:289 SL:151\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:FF Y:BB P:27 SP:F9 CYC:295 SL:151\nFAE8  60        RTS                             A:B8 X:FF Y:BB P:27 SP:F9 CYC:304 SL:151\nED95  AD 47 06  LDA $0647 = 38                  A:B8 X:FF Y:BB P:27 SP:FB CYC:322 SL:151\nED98  C9 38     CMP #$38                        A:38 X:FF Y:BB P:25 SP:FB CYC:334 SL:151\nED9A  F0 02     BEQ $ED9E                       A:38 X:FF Y:BB P:27 SP:FB CYC:340 SL:151\nED9E  A0 BC     LDY #$BC                        A:38 X:FF Y:BB P:27 SP:FB CYC:  8 SL:152\nEDA0  A2 FF     LDX #$FF                        A:38 X:FF Y:BC P:A5 SP:FB CYC: 14 SL:152\nEDA2  A9 EB     LDA #$EB                        A:38 X:FF Y:BC P:A5 SP:FB CYC: 20 SL:152\nEDA4  8D 47 06  STA $0647 = 38                  A:EB X:FF Y:BC P:A5 SP:FB CYC: 26 SL:152\nEDA7  20 B1 FA  JSR $FAB1                       A:EB X:FF Y:BC P:A5 SP:FB CYC: 38 SL:152\nFAB1  24 01     BIT $01 = FF                    A:EB X:FF Y:BC P:A5 SP:F9 CYC: 56 SL:152\nFAB3  18        CLC                             A:EB X:FF Y:BC P:E5 SP:F9 CYC: 65 SL:152\nFAB4  A9 40     LDA #$40                        A:EB X:FF Y:BC P:E4 SP:F9 CYC: 71 SL:152\nFAB6  60        RTS                             A:40 X:FF Y:BC P:64 SP:F9 CYC: 77 SL:152\nEDAA  FF 48 05 *ISB $0548,X @ 0647 = EB         A:40 X:FF Y:BC P:64 SP:FB CYC: 95 SL:152\nEDAD  EA        NOP                             A:53 X:FF Y:BC P:24 SP:FB CYC:116 SL:152\nEDAE  EA        NOP                             A:53 X:FF Y:BC P:24 SP:FB CYC:122 SL:152\nEDAF  EA        NOP                             A:53 X:FF Y:BC P:24 SP:FB CYC:128 SL:152\nEDB0  EA        NOP                             A:53 X:FF Y:BC P:24 SP:FB CYC:134 SL:152\nEDB1  20 B7 FA  JSR $FAB7                       A:53 X:FF Y:BC P:24 SP:FB CYC:140 SL:152\nFAB7  70 2D     BVS $FAE6                       A:53 X:FF Y:BC P:24 SP:F9 CYC:158 SL:152\nFAB9  B0 2B     BCS $FAE6                       A:53 X:FF Y:BC P:24 SP:F9 CYC:164 SL:152\nFABB  30 29     BMI $FAE6                       A:53 X:FF Y:BC P:24 SP:F9 CYC:170 SL:152\nFABD  C9 53     CMP #$53                        A:53 X:FF Y:BC P:24 SP:F9 CYC:176 SL:152\nFABF  D0 25     BNE $FAE6                       A:53 X:FF Y:BC P:27 SP:F9 CYC:182 SL:152\nFAC1  60        RTS                             A:53 X:FF Y:BC P:27 SP:F9 CYC:188 SL:152\nEDB4  AD 47 06  LDA $0647 = EC                  A:53 X:FF Y:BC P:27 SP:FB CYC:206 SL:152\nEDB7  C9 EC     CMP #$EC                        A:EC X:FF Y:BC P:A5 SP:FB CYC:218 SL:152\nEDB9  F0 02     BEQ $EDBD                       A:EC X:FF Y:BC P:27 SP:FB CYC:224 SL:152\nEDBD  C8        INY                             A:EC X:FF Y:BC P:27 SP:FB CYC:233 SL:152\nEDBE  A9 FF     LDA #$FF                        A:EC X:FF Y:BD P:A5 SP:FB CYC:239 SL:152\nEDC0  8D 47 06  STA $0647 = EC                  A:FF X:FF Y:BD P:A5 SP:FB CYC:245 SL:152\nEDC3  20 C2 FA  JSR $FAC2                       A:FF X:FF Y:BD P:A5 SP:FB CYC:257 SL:152\nFAC2  B8        CLV                             A:FF X:FF Y:BD P:A5 SP:F9 CYC:275 SL:152\nFAC3  38        SEC                             A:FF X:FF Y:BD P:A5 SP:F9 CYC:281 SL:152\nFAC4  A9 FF     LDA #$FF                        A:FF X:FF Y:BD P:A5 SP:F9 CYC:287 SL:152\nFAC6  60        RTS                             A:FF X:FF Y:BD P:A5 SP:F9 CYC:293 SL:152\nEDC6  FF 48 05 *ISB $0548,X @ 0647 = FF         A:FF X:FF Y:BD P:A5 SP:FB CYC:311 SL:152\nEDC9  EA        NOP                             A:FF X:FF Y:BD P:A5 SP:FB CYC:332 SL:152\nEDCA  EA        NOP                             A:FF X:FF Y:BD P:A5 SP:FB CYC:338 SL:152\nEDCB  EA        NOP                             A:FF X:FF Y:BD P:A5 SP:FB CYC:  3 SL:153\nEDCC  EA        NOP                             A:FF X:FF Y:BD P:A5 SP:FB CYC:  9 SL:153\nEDCD  20 C7 FA  JSR $FAC7                       A:FF X:FF Y:BD P:A5 SP:FB CYC: 15 SL:153\nFAC7  70 1D     BVS $FAE6                       A:FF X:FF Y:BD P:A5 SP:F9 CYC: 33 SL:153\nFAC9  F0 1B     BEQ $FAE6                       A:FF X:FF Y:BD P:A5 SP:F9 CYC: 39 SL:153\nFACB  10 19     BPL $FAE6                       A:FF X:FF Y:BD P:A5 SP:F9 CYC: 45 SL:153\nFACD  90 17     BCC $FAE6                       A:FF X:FF Y:BD P:A5 SP:F9 CYC: 51 SL:153\nFACF  C9 FF     CMP #$FF                        A:FF X:FF Y:BD P:A5 SP:F9 CYC: 57 SL:153\nFAD1  D0 13     BNE $FAE6                       A:FF X:FF Y:BD P:27 SP:F9 CYC: 63 SL:153\nFAD3  60        RTS                             A:FF X:FF Y:BD P:27 SP:F9 CYC: 69 SL:153\nEDD0  AD 47 06  LDA $0647 = 00                  A:FF X:FF Y:BD P:27 SP:FB CYC: 87 SL:153\nEDD3  C9 00     CMP #$00                        A:00 X:FF Y:BD P:27 SP:FB CYC: 99 SL:153\nEDD5  F0 02     BEQ $EDD9                       A:00 X:FF Y:BD P:27 SP:FB CYC:105 SL:153\nEDD9  C8        INY                             A:00 X:FF Y:BD P:27 SP:FB CYC:114 SL:153\nEDDA  A9 37     LDA #$37                        A:00 X:FF Y:BE P:A5 SP:FB CYC:120 SL:153\nEDDC  8D 47 06  STA $0647 = 00                  A:37 X:FF Y:BE P:25 SP:FB CYC:126 SL:153\nEDDF  20 D4 FA  JSR $FAD4                       A:37 X:FF Y:BE P:25 SP:FB CYC:138 SL:153\nFAD4  24 01     BIT $01 = FF                    A:37 X:FF Y:BE P:25 SP:F9 CYC:156 SL:153\nFAD6  38        SEC                             A:37 X:FF Y:BE P:E5 SP:F9 CYC:165 SL:153\nFAD7  A9 F0     LDA #$F0                        A:37 X:FF Y:BE P:E5 SP:F9 CYC:171 SL:153\nFAD9  60        RTS                             A:F0 X:FF Y:BE P:E5 SP:F9 CYC:177 SL:153\nEDE2  FF 48 05 *ISB $0548,X @ 0647 = 37         A:F0 X:FF Y:BE P:E5 SP:FB CYC:195 SL:153\nEDE5  EA        NOP                             A:B8 X:FF Y:BE P:A5 SP:FB CYC:216 SL:153\nEDE6  EA        NOP                             A:B8 X:FF Y:BE P:A5 SP:FB CYC:222 SL:153\nEDE7  EA        NOP                             A:B8 X:FF Y:BE P:A5 SP:FB CYC:228 SL:153\nEDE8  EA        NOP                             A:B8 X:FF Y:BE P:A5 SP:FB CYC:234 SL:153\nEDE9  20 DA FA  JSR $FADA                       A:B8 X:FF Y:BE P:A5 SP:FB CYC:240 SL:153\nFADA  70 0A     BVS $FAE6                       A:B8 X:FF Y:BE P:A5 SP:F9 CYC:258 SL:153\nFADC  F0 08     BEQ $FAE6                       A:B8 X:FF Y:BE P:A5 SP:F9 CYC:264 SL:153\nFADE  10 06     BPL $FAE6                       A:B8 X:FF Y:BE P:A5 SP:F9 CYC:270 SL:153\nFAE0  90 04     BCC $FAE6                       A:B8 X:FF Y:BE P:A5 SP:F9 CYC:276 SL:153\nFAE2  C9 B8     CMP #$B8                        A:B8 X:FF Y:BE P:A5 SP:F9 CYC:282 SL:153\nFAE4  F0 02     BEQ $FAE8                       A:B8 X:FF Y:BE P:27 SP:F9 CYC:288 SL:153\nFAE8  60        RTS                             A:B8 X:FF Y:BE P:27 SP:F9 CYC:297 SL:153\nEDEC  AD 47 06  LDA $0647 = 38                  A:B8 X:FF Y:BE P:27 SP:FB CYC:315 SL:153\nEDEF  C9 38     CMP #$38                        A:38 X:FF Y:BE P:25 SP:FB CYC:327 SL:153\nEDF1  F0 02     BEQ $EDF5                       A:38 X:FF Y:BE P:27 SP:FB CYC:333 SL:153\nEDF5  60        RTS                             A:38 X:FF Y:BE P:27 SP:FB CYC:  1 SL:154\nC641  20 F6 ED  JSR $EDF6                       A:38 X:FF Y:BE P:27 SP:FD CYC: 19 SL:154\nEDF6  A9 FF     LDA #$FF                        A:38 X:FF Y:BE P:27 SP:FB CYC: 37 SL:154\nEDF8  85 01     STA $01 = FF                    A:FF X:FF Y:BE P:A5 SP:FB CYC: 43 SL:154\nEDFA  A0 BF     LDY #$BF                        A:FF X:FF Y:BE P:A5 SP:FB CYC: 52 SL:154\nEDFC  A2 02     LDX #$02                        A:FF X:FF Y:BF P:A5 SP:FB CYC: 58 SL:154\nEDFE  A9 47     LDA #$47                        A:FF X:02 Y:BF P:25 SP:FB CYC: 64 SL:154\nEE00  85 47     STA $47 = 38                    A:47 X:02 Y:BF P:25 SP:FB CYC: 70 SL:154\nEE02  A9 06     LDA #$06                        A:47 X:02 Y:BF P:25 SP:FB CYC: 79 SL:154\nEE04  85 48     STA $48 = 06                    A:06 X:02 Y:BF P:25 SP:FB CYC: 85 SL:154\nEE06  A9 A5     LDA #$A5                        A:06 X:02 Y:BF P:25 SP:FB CYC: 94 SL:154\nEE08  8D 47 06  STA $0647 = 38                  A:A5 X:02 Y:BF P:A5 SP:FB CYC:100 SL:154\nEE0B  20 7B FA  JSR $FA7B                       A:A5 X:02 Y:BF P:A5 SP:FB CYC:112 SL:154\nFA7B  24 01     BIT $01 = FF                    A:A5 X:02 Y:BF P:A5 SP:F9 CYC:130 SL:154\nFA7D  18        CLC                             A:A5 X:02 Y:BF P:E5 SP:F9 CYC:139 SL:154\nFA7E  A9 B3     LDA #$B3                        A:A5 X:02 Y:BF P:E4 SP:F9 CYC:145 SL:154\nFA80  60        RTS                             A:B3 X:02 Y:BF P:E4 SP:F9 CYC:151 SL:154\nEE0E  03 45    *SLO ($45,X) @ 47 = 0647 = A5    A:B3 X:02 Y:BF P:E4 SP:FB CYC:169 SL:154\nEE10  EA        NOP                             A:FB X:02 Y:BF P:E5 SP:FB CYC:193 SL:154\nEE11  EA        NOP                             A:FB X:02 Y:BF P:E5 SP:FB CYC:199 SL:154\nEE12  EA        NOP                             A:FB X:02 Y:BF P:E5 SP:FB CYC:205 SL:154\nEE13  EA        NOP                             A:FB X:02 Y:BF P:E5 SP:FB CYC:211 SL:154\nEE14  20 81 FA  JSR $FA81                       A:FB X:02 Y:BF P:E5 SP:FB CYC:217 SL:154\nFA81  50 63     BVC $FAE6                       A:FB X:02 Y:BF P:E5 SP:F9 CYC:235 SL:154\nFA83  90 61     BCC $FAE6                       A:FB X:02 Y:BF P:E5 SP:F9 CYC:241 SL:154\nFA85  10 5F     BPL $FAE6                       A:FB X:02 Y:BF P:E5 SP:F9 CYC:247 SL:154\nFA87  C9 FB     CMP #$FB                        A:FB X:02 Y:BF P:E5 SP:F9 CYC:253 SL:154\nFA89  D0 5B     BNE $FAE6                       A:FB X:02 Y:BF P:67 SP:F9 CYC:259 SL:154\nFA8B  60        RTS                             A:FB X:02 Y:BF P:67 SP:F9 CYC:265 SL:154\nEE17  AD 47 06  LDA $0647 = 4A                  A:FB X:02 Y:BF P:67 SP:FB CYC:283 SL:154\nEE1A  C9 4A     CMP #$4A                        A:4A X:02 Y:BF P:65 SP:FB CYC:295 SL:154\nEE1C  F0 02     BEQ $EE20                       A:4A X:02 Y:BF P:67 SP:FB CYC:301 SL:154\nEE20  C8        INY                             A:4A X:02 Y:BF P:67 SP:FB CYC:310 SL:154\nEE21  A9 29     LDA #$29                        A:4A X:02 Y:C0 P:E5 SP:FB CYC:316 SL:154\nEE23  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:C0 P:65 SP:FB CYC:322 SL:154\nEE26  20 8C FA  JSR $FA8C                       A:29 X:02 Y:C0 P:65 SP:FB CYC:334 SL:154\nFA8C  B8        CLV                             A:29 X:02 Y:C0 P:65 SP:F9 CYC: 11 SL:155\nFA8D  18        CLC                             A:29 X:02 Y:C0 P:25 SP:F9 CYC: 17 SL:155\nFA8E  A9 C3     LDA #$C3                        A:29 X:02 Y:C0 P:24 SP:F9 CYC: 23 SL:155\nFA90  60        RTS                             A:C3 X:02 Y:C0 P:A4 SP:F9 CYC: 29 SL:155\nEE29  03 45    *SLO ($45,X) @ 47 = 0647 = 29    A:C3 X:02 Y:C0 P:A4 SP:FB CYC: 47 SL:155\nEE2B  EA        NOP                             A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 71 SL:155\nEE2C  EA        NOP                             A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 77 SL:155\nEE2D  EA        NOP                             A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 83 SL:155\nEE2E  EA        NOP                             A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 89 SL:155\nEE2F  20 91 FA  JSR $FA91                       A:D3 X:02 Y:C0 P:A4 SP:FB CYC: 95 SL:155\nFA91  70 53     BVS $FAE6                       A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:113 SL:155\nFA93  F0 51     BEQ $FAE6                       A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:119 SL:155\nFA95  10 4F     BPL $FAE6                       A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:125 SL:155\nFA97  B0 4D     BCS $FAE6                       A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:131 SL:155\nFA99  C9 D3     CMP #$D3                        A:D3 X:02 Y:C0 P:A4 SP:F9 CYC:137 SL:155\nFA9B  D0 49     BNE $FAE6                       A:D3 X:02 Y:C0 P:27 SP:F9 CYC:143 SL:155\nFA9D  60        RTS                             A:D3 X:02 Y:C0 P:27 SP:F9 CYC:149 SL:155\nEE32  AD 47 06  LDA $0647 = 52                  A:D3 X:02 Y:C0 P:27 SP:FB CYC:167 SL:155\nEE35  C9 52     CMP #$52                        A:52 X:02 Y:C0 P:25 SP:FB CYC:179 SL:155\nEE37  F0 02     BEQ $EE3B                       A:52 X:02 Y:C0 P:27 SP:FB CYC:185 SL:155\nEE3B  C8        INY                             A:52 X:02 Y:C0 P:27 SP:FB CYC:194 SL:155\nEE3C  A9 37     LDA #$37                        A:52 X:02 Y:C1 P:A5 SP:FB CYC:200 SL:155\nEE3E  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:C1 P:25 SP:FB CYC:206 SL:155\nEE41  20 9E FA  JSR $FA9E                       A:37 X:02 Y:C1 P:25 SP:FB CYC:218 SL:155\nFA9E  24 01     BIT $01 = FF                    A:37 X:02 Y:C1 P:25 SP:F9 CYC:236 SL:155\nFAA0  38        SEC                             A:37 X:02 Y:C1 P:E5 SP:F9 CYC:245 SL:155\nFAA1  A9 10     LDA #$10                        A:37 X:02 Y:C1 P:E5 SP:F9 CYC:251 SL:155\nFAA3  60        RTS                             A:10 X:02 Y:C1 P:65 SP:F9 CYC:257 SL:155\nEE44  03 45    *SLO ($45,X) @ 47 = 0647 = 37    A:10 X:02 Y:C1 P:65 SP:FB CYC:275 SL:155\nEE46  EA        NOP                             A:7E X:02 Y:C1 P:64 SP:FB CYC:299 SL:155\nEE47  EA        NOP                             A:7E X:02 Y:C1 P:64 SP:FB CYC:305 SL:155\nEE48  EA        NOP                             A:7E X:02 Y:C1 P:64 SP:FB CYC:311 SL:155\nEE49  EA        NOP                             A:7E X:02 Y:C1 P:64 SP:FB CYC:317 SL:155\nEE4A  20 A4 FA  JSR $FAA4                       A:7E X:02 Y:C1 P:64 SP:FB CYC:323 SL:155\nFAA4  50 40     BVC $FAE6                       A:7E X:02 Y:C1 P:64 SP:F9 CYC:  0 SL:156\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:02 Y:C1 P:64 SP:F9 CYC:  6 SL:156\nFAA8  30 3C     BMI $FAE6                       A:7E X:02 Y:C1 P:64 SP:F9 CYC: 12 SL:156\nFAAA  B0 3A     BCS $FAE6                       A:7E X:02 Y:C1 P:64 SP:F9 CYC: 18 SL:156\nFAAC  C9 7E     CMP #$7E                        A:7E X:02 Y:C1 P:64 SP:F9 CYC: 24 SL:156\nFAAE  D0 36     BNE $FAE6                       A:7E X:02 Y:C1 P:67 SP:F9 CYC: 30 SL:156\nFAB0  60        RTS                             A:7E X:02 Y:C1 P:67 SP:F9 CYC: 36 SL:156\nEE4D  AD 47 06  LDA $0647 = 6E                  A:7E X:02 Y:C1 P:67 SP:FB CYC: 54 SL:156\nEE50  C9 6E     CMP #$6E                        A:6E X:02 Y:C1 P:65 SP:FB CYC: 66 SL:156\nEE52  F0 02     BEQ $EE56                       A:6E X:02 Y:C1 P:67 SP:FB CYC: 72 SL:156\nEE56  C8        INY                             A:6E X:02 Y:C1 P:67 SP:FB CYC: 81 SL:156\nEE57  A9 A5     LDA #$A5                        A:6E X:02 Y:C2 P:E5 SP:FB CYC: 87 SL:156\nEE59  85 47     STA $47 = 47                    A:A5 X:02 Y:C2 P:E5 SP:FB CYC: 93 SL:156\nEE5B  20 7B FA  JSR $FA7B                       A:A5 X:02 Y:C2 P:E5 SP:FB CYC:102 SL:156\nFA7B  24 01     BIT $01 = FF                    A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:120 SL:156\nFA7D  18        CLC                             A:A5 X:02 Y:C2 P:E5 SP:F9 CYC:129 SL:156\nFA7E  A9 B3     LDA #$B3                        A:A5 X:02 Y:C2 P:E4 SP:F9 CYC:135 SL:156\nFA80  60        RTS                             A:B3 X:02 Y:C2 P:E4 SP:F9 CYC:141 SL:156\nEE5E  07 47    *SLO $47 = A5                    A:B3 X:02 Y:C2 P:E4 SP:FB CYC:159 SL:156\nEE60  EA        NOP                             A:FB X:02 Y:C2 P:E5 SP:FB CYC:174 SL:156\nEE61  EA        NOP                             A:FB X:02 Y:C2 P:E5 SP:FB CYC:180 SL:156\nEE62  EA        NOP                             A:FB X:02 Y:C2 P:E5 SP:FB CYC:186 SL:156\nEE63  EA        NOP                             A:FB X:02 Y:C2 P:E5 SP:FB CYC:192 SL:156\nEE64  20 81 FA  JSR $FA81                       A:FB X:02 Y:C2 P:E5 SP:FB CYC:198 SL:156\nFA81  50 63     BVC $FAE6                       A:FB X:02 Y:C2 P:E5 SP:F9 CYC:216 SL:156\nFA83  90 61     BCC $FAE6                       A:FB X:02 Y:C2 P:E5 SP:F9 CYC:222 SL:156\nFA85  10 5F     BPL $FAE6                       A:FB X:02 Y:C2 P:E5 SP:F9 CYC:228 SL:156\nFA87  C9 FB     CMP #$FB                        A:FB X:02 Y:C2 P:E5 SP:F9 CYC:234 SL:156\nFA89  D0 5B     BNE $FAE6                       A:FB X:02 Y:C2 P:67 SP:F9 CYC:240 SL:156\nFA8B  60        RTS                             A:FB X:02 Y:C2 P:67 SP:F9 CYC:246 SL:156\nEE67  A5 47     LDA $47 = 4A                    A:FB X:02 Y:C2 P:67 SP:FB CYC:264 SL:156\nEE69  C9 4A     CMP #$4A                        A:4A X:02 Y:C2 P:65 SP:FB CYC:273 SL:156\nEE6B  F0 02     BEQ $EE6F                       A:4A X:02 Y:C2 P:67 SP:FB CYC:279 SL:156\nEE6F  C8        INY                             A:4A X:02 Y:C2 P:67 SP:FB CYC:288 SL:156\nEE70  A9 29     LDA #$29                        A:4A X:02 Y:C3 P:E5 SP:FB CYC:294 SL:156\nEE72  85 47     STA $47 = 4A                    A:29 X:02 Y:C3 P:65 SP:FB CYC:300 SL:156\nEE74  20 8C FA  JSR $FA8C                       A:29 X:02 Y:C3 P:65 SP:FB CYC:309 SL:156\nFA8C  B8        CLV                             A:29 X:02 Y:C3 P:65 SP:F9 CYC:327 SL:156\nFA8D  18        CLC                             A:29 X:02 Y:C3 P:25 SP:F9 CYC:333 SL:156\nFA8E  A9 C3     LDA #$C3                        A:29 X:02 Y:C3 P:24 SP:F9 CYC:339 SL:156\nFA90  60        RTS                             A:C3 X:02 Y:C3 P:A4 SP:F9 CYC:  4 SL:157\nEE77  07 47    *SLO $47 = 29                    A:C3 X:02 Y:C3 P:A4 SP:FB CYC: 22 SL:157\nEE79  EA        NOP                             A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 37 SL:157\nEE7A  EA        NOP                             A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 43 SL:157\nEE7B  EA        NOP                             A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 49 SL:157\nEE7C  EA        NOP                             A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 55 SL:157\nEE7D  20 91 FA  JSR $FA91                       A:D3 X:02 Y:C3 P:A4 SP:FB CYC: 61 SL:157\nFA91  70 53     BVS $FAE6                       A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 79 SL:157\nFA93  F0 51     BEQ $FAE6                       A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 85 SL:157\nFA95  10 4F     BPL $FAE6                       A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 91 SL:157\nFA97  B0 4D     BCS $FAE6                       A:D3 X:02 Y:C3 P:A4 SP:F9 CYC: 97 SL:157\nFA99  C9 D3     CMP #$D3                        A:D3 X:02 Y:C3 P:A4 SP:F9 CYC:103 SL:157\nFA9B  D0 49     BNE $FAE6                       A:D3 X:02 Y:C3 P:27 SP:F9 CYC:109 SL:157\nFA9D  60        RTS                             A:D3 X:02 Y:C3 P:27 SP:F9 CYC:115 SL:157\nEE80  A5 47     LDA $47 = 52                    A:D3 X:02 Y:C3 P:27 SP:FB CYC:133 SL:157\nEE82  C9 52     CMP #$52                        A:52 X:02 Y:C3 P:25 SP:FB CYC:142 SL:157\nEE84  F0 02     BEQ $EE88                       A:52 X:02 Y:C3 P:27 SP:FB CYC:148 SL:157\nEE88  C8        INY                             A:52 X:02 Y:C3 P:27 SP:FB CYC:157 SL:157\nEE89  A9 37     LDA #$37                        A:52 X:02 Y:C4 P:A5 SP:FB CYC:163 SL:157\nEE8B  85 47     STA $47 = 52                    A:37 X:02 Y:C4 P:25 SP:FB CYC:169 SL:157\nEE8D  20 9E FA  JSR $FA9E                       A:37 X:02 Y:C4 P:25 SP:FB CYC:178 SL:157\nFA9E  24 01     BIT $01 = FF                    A:37 X:02 Y:C4 P:25 SP:F9 CYC:196 SL:157\nFAA0  38        SEC                             A:37 X:02 Y:C4 P:E5 SP:F9 CYC:205 SL:157\nFAA1  A9 10     LDA #$10                        A:37 X:02 Y:C4 P:E5 SP:F9 CYC:211 SL:157\nFAA3  60        RTS                             A:10 X:02 Y:C4 P:65 SP:F9 CYC:217 SL:157\nEE90  07 47    *SLO $47 = 37                    A:10 X:02 Y:C4 P:65 SP:FB CYC:235 SL:157\nEE92  EA        NOP                             A:7E X:02 Y:C4 P:64 SP:FB CYC:250 SL:157\nEE93  EA        NOP                             A:7E X:02 Y:C4 P:64 SP:FB CYC:256 SL:157\nEE94  EA        NOP                             A:7E X:02 Y:C4 P:64 SP:FB CYC:262 SL:157\nEE95  EA        NOP                             A:7E X:02 Y:C4 P:64 SP:FB CYC:268 SL:157\nEE96  20 A4 FA  JSR $FAA4                       A:7E X:02 Y:C4 P:64 SP:FB CYC:274 SL:157\nFAA4  50 40     BVC $FAE6                       A:7E X:02 Y:C4 P:64 SP:F9 CYC:292 SL:157\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:02 Y:C4 P:64 SP:F9 CYC:298 SL:157\nFAA8  30 3C     BMI $FAE6                       A:7E X:02 Y:C4 P:64 SP:F9 CYC:304 SL:157\nFAAA  B0 3A     BCS $FAE6                       A:7E X:02 Y:C4 P:64 SP:F9 CYC:310 SL:157\nFAAC  C9 7E     CMP #$7E                        A:7E X:02 Y:C4 P:64 SP:F9 CYC:316 SL:157\nFAAE  D0 36     BNE $FAE6                       A:7E X:02 Y:C4 P:67 SP:F9 CYC:322 SL:157\nFAB0  60        RTS                             A:7E X:02 Y:C4 P:67 SP:F9 CYC:328 SL:157\nEE99  A5 47     LDA $47 = 6E                    A:7E X:02 Y:C4 P:67 SP:FB CYC:  5 SL:158\nEE9B  C9 6E     CMP #$6E                        A:6E X:02 Y:C4 P:65 SP:FB CYC: 14 SL:158\nEE9D  F0 02     BEQ $EEA1                       A:6E X:02 Y:C4 P:67 SP:FB CYC: 20 SL:158\nEEA1  C8        INY                             A:6E X:02 Y:C4 P:67 SP:FB CYC: 29 SL:158\nEEA2  A9 A5     LDA #$A5                        A:6E X:02 Y:C5 P:E5 SP:FB CYC: 35 SL:158\nEEA4  8D 47 06  STA $0647 = 6E                  A:A5 X:02 Y:C5 P:E5 SP:FB CYC: 41 SL:158\nEEA7  20 7B FA  JSR $FA7B                       A:A5 X:02 Y:C5 P:E5 SP:FB CYC: 53 SL:158\nFA7B  24 01     BIT $01 = FF                    A:A5 X:02 Y:C5 P:E5 SP:F9 CYC: 71 SL:158\nFA7D  18        CLC                             A:A5 X:02 Y:C5 P:E5 SP:F9 CYC: 80 SL:158\nFA7E  A9 B3     LDA #$B3                        A:A5 X:02 Y:C5 P:E4 SP:F9 CYC: 86 SL:158\nFA80  60        RTS                             A:B3 X:02 Y:C5 P:E4 SP:F9 CYC: 92 SL:158\nEEAA  0F 47 06 *SLO $0647 = A5                  A:B3 X:02 Y:C5 P:E4 SP:FB CYC:110 SL:158\nEEAD  EA        NOP                             A:FB X:02 Y:C5 P:E5 SP:FB CYC:128 SL:158\nEEAE  EA        NOP                             A:FB X:02 Y:C5 P:E5 SP:FB CYC:134 SL:158\nEEAF  EA        NOP                             A:FB X:02 Y:C5 P:E5 SP:FB CYC:140 SL:158\nEEB0  EA        NOP                             A:FB X:02 Y:C5 P:E5 SP:FB CYC:146 SL:158\nEEB1  20 81 FA  JSR $FA81                       A:FB X:02 Y:C5 P:E5 SP:FB CYC:152 SL:158\nFA81  50 63     BVC $FAE6                       A:FB X:02 Y:C5 P:E5 SP:F9 CYC:170 SL:158\nFA83  90 61     BCC $FAE6                       A:FB X:02 Y:C5 P:E5 SP:F9 CYC:176 SL:158\nFA85  10 5F     BPL $FAE6                       A:FB X:02 Y:C5 P:E5 SP:F9 CYC:182 SL:158\nFA87  C9 FB     CMP #$FB                        A:FB X:02 Y:C5 P:E5 SP:F9 CYC:188 SL:158\nFA89  D0 5B     BNE $FAE6                       A:FB X:02 Y:C5 P:67 SP:F9 CYC:194 SL:158\nFA8B  60        RTS                             A:FB X:02 Y:C5 P:67 SP:F9 CYC:200 SL:158\nEEB4  AD 47 06  LDA $0647 = 4A                  A:FB X:02 Y:C5 P:67 SP:FB CYC:218 SL:158\nEEB7  C9 4A     CMP #$4A                        A:4A X:02 Y:C5 P:65 SP:FB CYC:230 SL:158\nEEB9  F0 02     BEQ $EEBD                       A:4A X:02 Y:C5 P:67 SP:FB CYC:236 SL:158\nEEBD  C8        INY                             A:4A X:02 Y:C5 P:67 SP:FB CYC:245 SL:158\nEEBE  A9 29     LDA #$29                        A:4A X:02 Y:C6 P:E5 SP:FB CYC:251 SL:158\nEEC0  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:C6 P:65 SP:FB CYC:257 SL:158\nEEC3  20 8C FA  JSR $FA8C                       A:29 X:02 Y:C6 P:65 SP:FB CYC:269 SL:158\nFA8C  B8        CLV                             A:29 X:02 Y:C6 P:65 SP:F9 CYC:287 SL:158\nFA8D  18        CLC                             A:29 X:02 Y:C6 P:25 SP:F9 CYC:293 SL:158\nFA8E  A9 C3     LDA #$C3                        A:29 X:02 Y:C6 P:24 SP:F9 CYC:299 SL:158\nFA90  60        RTS                             A:C3 X:02 Y:C6 P:A4 SP:F9 CYC:305 SL:158\nEEC6  0F 47 06 *SLO $0647 = 29                  A:C3 X:02 Y:C6 P:A4 SP:FB CYC:323 SL:158\nEEC9  EA        NOP                             A:D3 X:02 Y:C6 P:A4 SP:FB CYC:  0 SL:159\nEECA  EA        NOP                             A:D3 X:02 Y:C6 P:A4 SP:FB CYC:  6 SL:159\nEECB  EA        NOP                             A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 12 SL:159\nEECC  EA        NOP                             A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 18 SL:159\nEECD  20 91 FA  JSR $FA91                       A:D3 X:02 Y:C6 P:A4 SP:FB CYC: 24 SL:159\nFA91  70 53     BVS $FAE6                       A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 42 SL:159\nFA93  F0 51     BEQ $FAE6                       A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 48 SL:159\nFA95  10 4F     BPL $FAE6                       A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 54 SL:159\nFA97  B0 4D     BCS $FAE6                       A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 60 SL:159\nFA99  C9 D3     CMP #$D3                        A:D3 X:02 Y:C6 P:A4 SP:F9 CYC: 66 SL:159\nFA9B  D0 49     BNE $FAE6                       A:D3 X:02 Y:C6 P:27 SP:F9 CYC: 72 SL:159\nFA9D  60        RTS                             A:D3 X:02 Y:C6 P:27 SP:F9 CYC: 78 SL:159\nEED0  AD 47 06  LDA $0647 = 52                  A:D3 X:02 Y:C6 P:27 SP:FB CYC: 96 SL:159\nEED3  C9 52     CMP #$52                        A:52 X:02 Y:C6 P:25 SP:FB CYC:108 SL:159\nEED5  F0 02     BEQ $EED9                       A:52 X:02 Y:C6 P:27 SP:FB CYC:114 SL:159\nEED9  C8        INY                             A:52 X:02 Y:C6 P:27 SP:FB CYC:123 SL:159\nEEDA  A9 37     LDA #$37                        A:52 X:02 Y:C7 P:A5 SP:FB CYC:129 SL:159\nEEDC  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:C7 P:25 SP:FB CYC:135 SL:159\nEEDF  20 9E FA  JSR $FA9E                       A:37 X:02 Y:C7 P:25 SP:FB CYC:147 SL:159\nFA9E  24 01     BIT $01 = FF                    A:37 X:02 Y:C7 P:25 SP:F9 CYC:165 SL:159\nFAA0  38        SEC                             A:37 X:02 Y:C7 P:E5 SP:F9 CYC:174 SL:159\nFAA1  A9 10     LDA #$10                        A:37 X:02 Y:C7 P:E5 SP:F9 CYC:180 SL:159\nFAA3  60        RTS                             A:10 X:02 Y:C7 P:65 SP:F9 CYC:186 SL:159\nEEE2  0F 47 06 *SLO $0647 = 37                  A:10 X:02 Y:C7 P:65 SP:FB CYC:204 SL:159\nEEE5  EA        NOP                             A:7E X:02 Y:C7 P:64 SP:FB CYC:222 SL:159\nEEE6  EA        NOP                             A:7E X:02 Y:C7 P:64 SP:FB CYC:228 SL:159\nEEE7  EA        NOP                             A:7E X:02 Y:C7 P:64 SP:FB CYC:234 SL:159\nEEE8  EA        NOP                             A:7E X:02 Y:C7 P:64 SP:FB CYC:240 SL:159\nEEE9  20 A4 FA  JSR $FAA4                       A:7E X:02 Y:C7 P:64 SP:FB CYC:246 SL:159\nFAA4  50 40     BVC $FAE6                       A:7E X:02 Y:C7 P:64 SP:F9 CYC:264 SL:159\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:02 Y:C7 P:64 SP:F9 CYC:270 SL:159\nFAA8  30 3C     BMI $FAE6                       A:7E X:02 Y:C7 P:64 SP:F9 CYC:276 SL:159\nFAAA  B0 3A     BCS $FAE6                       A:7E X:02 Y:C7 P:64 SP:F9 CYC:282 SL:159\nFAAC  C9 7E     CMP #$7E                        A:7E X:02 Y:C7 P:64 SP:F9 CYC:288 SL:159\nFAAE  D0 36     BNE $FAE6                       A:7E X:02 Y:C7 P:67 SP:F9 CYC:294 SL:159\nFAB0  60        RTS                             A:7E X:02 Y:C7 P:67 SP:F9 CYC:300 SL:159\nEEEC  AD 47 06  LDA $0647 = 6E                  A:7E X:02 Y:C7 P:67 SP:FB CYC:318 SL:159\nEEEF  C9 6E     CMP #$6E                        A:6E X:02 Y:C7 P:65 SP:FB CYC:330 SL:159\nEEF1  F0 02     BEQ $EEF5                       A:6E X:02 Y:C7 P:67 SP:FB CYC:336 SL:159\nEEF5  A9 A5     LDA #$A5                        A:6E X:02 Y:C7 P:67 SP:FB CYC:  4 SL:160\nEEF7  8D 47 06  STA $0647 = 6E                  A:A5 X:02 Y:C7 P:E5 SP:FB CYC: 10 SL:160\nEEFA  A9 48     LDA #$48                        A:A5 X:02 Y:C7 P:E5 SP:FB CYC: 22 SL:160\nEEFC  85 45     STA $45 = 48                    A:48 X:02 Y:C7 P:65 SP:FB CYC: 28 SL:160\nEEFE  A9 05     LDA #$05                        A:48 X:02 Y:C7 P:65 SP:FB CYC: 37 SL:160\nEF00  85 46     STA $46 = 05                    A:05 X:02 Y:C7 P:65 SP:FB CYC: 43 SL:160\nEF02  A0 FF     LDY #$FF                        A:05 X:02 Y:C7 P:65 SP:FB CYC: 52 SL:160\nEF04  20 7B FA  JSR $FA7B                       A:05 X:02 Y:FF P:E5 SP:FB CYC: 58 SL:160\nFA7B  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:E5 SP:F9 CYC: 76 SL:160\nFA7D  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC: 85 SL:160\nFA7E  A9 B3     LDA #$B3                        A:05 X:02 Y:FF P:E4 SP:F9 CYC: 91 SL:160\nFA80  60        RTS                             A:B3 X:02 Y:FF P:E4 SP:F9 CYC: 97 SL:160\nEF07  13 45    *SLO ($45),Y = 0548 @ 0647 = A5  A:B3 X:02 Y:FF P:E4 SP:FB CYC:115 SL:160\nEF09  EA        NOP                             A:FB X:02 Y:FF P:E5 SP:FB CYC:139 SL:160\nEF0A  EA        NOP                             A:FB X:02 Y:FF P:E5 SP:FB CYC:145 SL:160\nEF0B  08        PHP                             A:FB X:02 Y:FF P:E5 SP:FB CYC:151 SL:160\nEF0C  48        PHA                             A:FB X:02 Y:FF P:E5 SP:FA CYC:160 SL:160\nEF0D  A0 C8     LDY #$C8                        A:FB X:02 Y:FF P:E5 SP:F9 CYC:169 SL:160\nEF0F  68        PLA                             A:FB X:02 Y:C8 P:E5 SP:F9 CYC:175 SL:160\nEF10  28        PLP                             A:FB X:02 Y:C8 P:E5 SP:FA CYC:187 SL:160\nEF11  20 81 FA  JSR $FA81                       A:FB X:02 Y:C8 P:E5 SP:FB CYC:199 SL:160\nFA81  50 63     BVC $FAE6                       A:FB X:02 Y:C8 P:E5 SP:F9 CYC:217 SL:160\nFA83  90 61     BCC $FAE6                       A:FB X:02 Y:C8 P:E5 SP:F9 CYC:223 SL:160\nFA85  10 5F     BPL $FAE6                       A:FB X:02 Y:C8 P:E5 SP:F9 CYC:229 SL:160\nFA87  C9 FB     CMP #$FB                        A:FB X:02 Y:C8 P:E5 SP:F9 CYC:235 SL:160\nFA89  D0 5B     BNE $FAE6                       A:FB X:02 Y:C8 P:67 SP:F9 CYC:241 SL:160\nFA8B  60        RTS                             A:FB X:02 Y:C8 P:67 SP:F9 CYC:247 SL:160\nEF14  AD 47 06  LDA $0647 = 4A                  A:FB X:02 Y:C8 P:67 SP:FB CYC:265 SL:160\nEF17  C9 4A     CMP #$4A                        A:4A X:02 Y:C8 P:65 SP:FB CYC:277 SL:160\nEF19  F0 02     BEQ $EF1D                       A:4A X:02 Y:C8 P:67 SP:FB CYC:283 SL:160\nEF1D  A0 FF     LDY #$FF                        A:4A X:02 Y:C8 P:67 SP:FB CYC:292 SL:160\nEF1F  A9 29     LDA #$29                        A:4A X:02 Y:FF P:E5 SP:FB CYC:298 SL:160\nEF21  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:FF P:65 SP:FB CYC:304 SL:160\nEF24  20 8C FA  JSR $FA8C                       A:29 X:02 Y:FF P:65 SP:FB CYC:316 SL:160\nFA8C  B8        CLV                             A:29 X:02 Y:FF P:65 SP:F9 CYC:334 SL:160\nFA8D  18        CLC                             A:29 X:02 Y:FF P:25 SP:F9 CYC:340 SL:160\nFA8E  A9 C3     LDA #$C3                        A:29 X:02 Y:FF P:24 SP:F9 CYC:  5 SL:161\nFA90  60        RTS                             A:C3 X:02 Y:FF P:A4 SP:F9 CYC: 11 SL:161\nEF27  13 45    *SLO ($45),Y = 0548 @ 0647 = 29  A:C3 X:02 Y:FF P:A4 SP:FB CYC: 29 SL:161\nEF29  EA        NOP                             A:D3 X:02 Y:FF P:A4 SP:FB CYC: 53 SL:161\nEF2A  EA        NOP                             A:D3 X:02 Y:FF P:A4 SP:FB CYC: 59 SL:161\nEF2B  08        PHP                             A:D3 X:02 Y:FF P:A4 SP:FB CYC: 65 SL:161\nEF2C  48        PHA                             A:D3 X:02 Y:FF P:A4 SP:FA CYC: 74 SL:161\nEF2D  A0 C9     LDY #$C9                        A:D3 X:02 Y:FF P:A4 SP:F9 CYC: 83 SL:161\nEF2F  68        PLA                             A:D3 X:02 Y:C9 P:A4 SP:F9 CYC: 89 SL:161\nEF30  28        PLP                             A:D3 X:02 Y:C9 P:A4 SP:FA CYC:101 SL:161\nEF31  20 91 FA  JSR $FA91                       A:D3 X:02 Y:C9 P:A4 SP:FB CYC:113 SL:161\nFA91  70 53     BVS $FAE6                       A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:131 SL:161\nFA93  F0 51     BEQ $FAE6                       A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:137 SL:161\nFA95  10 4F     BPL $FAE6                       A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:143 SL:161\nFA97  B0 4D     BCS $FAE6                       A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:149 SL:161\nFA99  C9 D3     CMP #$D3                        A:D3 X:02 Y:C9 P:A4 SP:F9 CYC:155 SL:161\nFA9B  D0 49     BNE $FAE6                       A:D3 X:02 Y:C9 P:27 SP:F9 CYC:161 SL:161\nFA9D  60        RTS                             A:D3 X:02 Y:C9 P:27 SP:F9 CYC:167 SL:161\nEF34  AD 47 06  LDA $0647 = 52                  A:D3 X:02 Y:C9 P:27 SP:FB CYC:185 SL:161\nEF37  C9 52     CMP #$52                        A:52 X:02 Y:C9 P:25 SP:FB CYC:197 SL:161\nEF39  F0 02     BEQ $EF3D                       A:52 X:02 Y:C9 P:27 SP:FB CYC:203 SL:161\nEF3D  A0 FF     LDY #$FF                        A:52 X:02 Y:C9 P:27 SP:FB CYC:212 SL:161\nEF3F  A9 37     LDA #$37                        A:52 X:02 Y:FF P:A5 SP:FB CYC:218 SL:161\nEF41  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:FF P:25 SP:FB CYC:224 SL:161\nEF44  20 9E FA  JSR $FA9E                       A:37 X:02 Y:FF P:25 SP:FB CYC:236 SL:161\nFA9E  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC:254 SL:161\nFAA0  38        SEC                             A:37 X:02 Y:FF P:E5 SP:F9 CYC:263 SL:161\nFAA1  A9 10     LDA #$10                        A:37 X:02 Y:FF P:E5 SP:F9 CYC:269 SL:161\nFAA3  60        RTS                             A:10 X:02 Y:FF P:65 SP:F9 CYC:275 SL:161\nEF47  13 45    *SLO ($45),Y = 0548 @ 0647 = 37  A:10 X:02 Y:FF P:65 SP:FB CYC:293 SL:161\nEF49  EA        NOP                             A:7E X:02 Y:FF P:64 SP:FB CYC:317 SL:161\nEF4A  EA        NOP                             A:7E X:02 Y:FF P:64 SP:FB CYC:323 SL:161\nEF4B  08        PHP                             A:7E X:02 Y:FF P:64 SP:FB CYC:329 SL:161\nEF4C  48        PHA                             A:7E X:02 Y:FF P:64 SP:FA CYC:338 SL:161\nEF4D  A0 CA     LDY #$CA                        A:7E X:02 Y:FF P:64 SP:F9 CYC:  6 SL:162\nEF4F  68        PLA                             A:7E X:02 Y:CA P:E4 SP:F9 CYC: 12 SL:162\nEF50  28        PLP                             A:7E X:02 Y:CA P:64 SP:FA CYC: 24 SL:162\nEF51  20 A4 FA  JSR $FAA4                       A:7E X:02 Y:CA P:64 SP:FB CYC: 36 SL:162\nFAA4  50 40     BVC $FAE6                       A:7E X:02 Y:CA P:64 SP:F9 CYC: 54 SL:162\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:02 Y:CA P:64 SP:F9 CYC: 60 SL:162\nFAA8  30 3C     BMI $FAE6                       A:7E X:02 Y:CA P:64 SP:F9 CYC: 66 SL:162\nFAAA  B0 3A     BCS $FAE6                       A:7E X:02 Y:CA P:64 SP:F9 CYC: 72 SL:162\nFAAC  C9 7E     CMP #$7E                        A:7E X:02 Y:CA P:64 SP:F9 CYC: 78 SL:162\nFAAE  D0 36     BNE $FAE6                       A:7E X:02 Y:CA P:67 SP:F9 CYC: 84 SL:162\nFAB0  60        RTS                             A:7E X:02 Y:CA P:67 SP:F9 CYC: 90 SL:162\nEF54  AD 47 06  LDA $0647 = 6E                  A:7E X:02 Y:CA P:67 SP:FB CYC:108 SL:162\nEF57  C9 6E     CMP #$6E                        A:6E X:02 Y:CA P:65 SP:FB CYC:120 SL:162\nEF59  F0 02     BEQ $EF5D                       A:6E X:02 Y:CA P:67 SP:FB CYC:126 SL:162\nEF5D  A0 CB     LDY #$CB                        A:6E X:02 Y:CA P:67 SP:FB CYC:135 SL:162\nEF5F  A2 FF     LDX #$FF                        A:6E X:02 Y:CB P:E5 SP:FB CYC:141 SL:162\nEF61  A9 A5     LDA #$A5                        A:6E X:FF Y:CB P:E5 SP:FB CYC:147 SL:162\nEF63  85 47     STA $47 = 6E                    A:A5 X:FF Y:CB P:E5 SP:FB CYC:153 SL:162\nEF65  20 7B FA  JSR $FA7B                       A:A5 X:FF Y:CB P:E5 SP:FB CYC:162 SL:162\nFA7B  24 01     BIT $01 = FF                    A:A5 X:FF Y:CB P:E5 SP:F9 CYC:180 SL:162\nFA7D  18        CLC                             A:A5 X:FF Y:CB P:E5 SP:F9 CYC:189 SL:162\nFA7E  A9 B3     LDA #$B3                        A:A5 X:FF Y:CB P:E4 SP:F9 CYC:195 SL:162\nFA80  60        RTS                             A:B3 X:FF Y:CB P:E4 SP:F9 CYC:201 SL:162\nEF68  17 48    *SLO $48,X @ 47 = A5             A:B3 X:FF Y:CB P:E4 SP:FB CYC:219 SL:162\nEF6A  EA        NOP                             A:FB X:FF Y:CB P:E5 SP:FB CYC:237 SL:162\nEF6B  EA        NOP                             A:FB X:FF Y:CB P:E5 SP:FB CYC:243 SL:162\nEF6C  EA        NOP                             A:FB X:FF Y:CB P:E5 SP:FB CYC:249 SL:162\nEF6D  EA        NOP                             A:FB X:FF Y:CB P:E5 SP:FB CYC:255 SL:162\nEF6E  20 81 FA  JSR $FA81                       A:FB X:FF Y:CB P:E5 SP:FB CYC:261 SL:162\nFA81  50 63     BVC $FAE6                       A:FB X:FF Y:CB P:E5 SP:F9 CYC:279 SL:162\nFA83  90 61     BCC $FAE6                       A:FB X:FF Y:CB P:E5 SP:F9 CYC:285 SL:162\nFA85  10 5F     BPL $FAE6                       A:FB X:FF Y:CB P:E5 SP:F9 CYC:291 SL:162\nFA87  C9 FB     CMP #$FB                        A:FB X:FF Y:CB P:E5 SP:F9 CYC:297 SL:162\nFA89  D0 5B     BNE $FAE6                       A:FB X:FF Y:CB P:67 SP:F9 CYC:303 SL:162\nFA8B  60        RTS                             A:FB X:FF Y:CB P:67 SP:F9 CYC:309 SL:162\nEF71  A5 47     LDA $47 = 4A                    A:FB X:FF Y:CB P:67 SP:FB CYC:327 SL:162\nEF73  C9 4A     CMP #$4A                        A:4A X:FF Y:CB P:65 SP:FB CYC:336 SL:162\nEF75  F0 02     BEQ $EF79                       A:4A X:FF Y:CB P:67 SP:FB CYC:  1 SL:163\nEF79  C8        INY                             A:4A X:FF Y:CB P:67 SP:FB CYC: 10 SL:163\nEF7A  A9 29     LDA #$29                        A:4A X:FF Y:CC P:E5 SP:FB CYC: 16 SL:163\nEF7C  85 47     STA $47 = 4A                    A:29 X:FF Y:CC P:65 SP:FB CYC: 22 SL:163\nEF7E  20 8C FA  JSR $FA8C                       A:29 X:FF Y:CC P:65 SP:FB CYC: 31 SL:163\nFA8C  B8        CLV                             A:29 X:FF Y:CC P:65 SP:F9 CYC: 49 SL:163\nFA8D  18        CLC                             A:29 X:FF Y:CC P:25 SP:F9 CYC: 55 SL:163\nFA8E  A9 C3     LDA #$C3                        A:29 X:FF Y:CC P:24 SP:F9 CYC: 61 SL:163\nFA90  60        RTS                             A:C3 X:FF Y:CC P:A4 SP:F9 CYC: 67 SL:163\nEF81  17 48    *SLO $48,X @ 47 = 29             A:C3 X:FF Y:CC P:A4 SP:FB CYC: 85 SL:163\nEF83  EA        NOP                             A:D3 X:FF Y:CC P:A4 SP:FB CYC:103 SL:163\nEF84  EA        NOP                             A:D3 X:FF Y:CC P:A4 SP:FB CYC:109 SL:163\nEF85  EA        NOP                             A:D3 X:FF Y:CC P:A4 SP:FB CYC:115 SL:163\nEF86  EA        NOP                             A:D3 X:FF Y:CC P:A4 SP:FB CYC:121 SL:163\nEF87  20 91 FA  JSR $FA91                       A:D3 X:FF Y:CC P:A4 SP:FB CYC:127 SL:163\nFA91  70 53     BVS $FAE6                       A:D3 X:FF Y:CC P:A4 SP:F9 CYC:145 SL:163\nFA93  F0 51     BEQ $FAE6                       A:D3 X:FF Y:CC P:A4 SP:F9 CYC:151 SL:163\nFA95  10 4F     BPL $FAE6                       A:D3 X:FF Y:CC P:A4 SP:F9 CYC:157 SL:163\nFA97  B0 4D     BCS $FAE6                       A:D3 X:FF Y:CC P:A4 SP:F9 CYC:163 SL:163\nFA99  C9 D3     CMP #$D3                        A:D3 X:FF Y:CC P:A4 SP:F9 CYC:169 SL:163\nFA9B  D0 49     BNE $FAE6                       A:D3 X:FF Y:CC P:27 SP:F9 CYC:175 SL:163\nFA9D  60        RTS                             A:D3 X:FF Y:CC P:27 SP:F9 CYC:181 SL:163\nEF8A  A5 47     LDA $47 = 52                    A:D3 X:FF Y:CC P:27 SP:FB CYC:199 SL:163\nEF8C  C9 52     CMP #$52                        A:52 X:FF Y:CC P:25 SP:FB CYC:208 SL:163\nEF8E  F0 02     BEQ $EF92                       A:52 X:FF Y:CC P:27 SP:FB CYC:214 SL:163\nEF92  C8        INY                             A:52 X:FF Y:CC P:27 SP:FB CYC:223 SL:163\nEF93  A9 37     LDA #$37                        A:52 X:FF Y:CD P:A5 SP:FB CYC:229 SL:163\nEF95  85 47     STA $47 = 52                    A:37 X:FF Y:CD P:25 SP:FB CYC:235 SL:163\nEF97  20 9E FA  JSR $FA9E                       A:37 X:FF Y:CD P:25 SP:FB CYC:244 SL:163\nFA9E  24 01     BIT $01 = FF                    A:37 X:FF Y:CD P:25 SP:F9 CYC:262 SL:163\nFAA0  38        SEC                             A:37 X:FF Y:CD P:E5 SP:F9 CYC:271 SL:163\nFAA1  A9 10     LDA #$10                        A:37 X:FF Y:CD P:E5 SP:F9 CYC:277 SL:163\nFAA3  60        RTS                             A:10 X:FF Y:CD P:65 SP:F9 CYC:283 SL:163\nEF9A  17 48    *SLO $48,X @ 47 = 37             A:10 X:FF Y:CD P:65 SP:FB CYC:301 SL:163\nEF9C  EA        NOP                             A:7E X:FF Y:CD P:64 SP:FB CYC:319 SL:163\nEF9D  EA        NOP                             A:7E X:FF Y:CD P:64 SP:FB CYC:325 SL:163\nEF9E  EA        NOP                             A:7E X:FF Y:CD P:64 SP:FB CYC:331 SL:163\nEF9F  EA        NOP                             A:7E X:FF Y:CD P:64 SP:FB CYC:337 SL:163\nEFA0  20 A4 FA  JSR $FAA4                       A:7E X:FF Y:CD P:64 SP:FB CYC:  2 SL:164\nFAA4  50 40     BVC $FAE6                       A:7E X:FF Y:CD P:64 SP:F9 CYC: 20 SL:164\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:FF Y:CD P:64 SP:F9 CYC: 26 SL:164\nFAA8  30 3C     BMI $FAE6                       A:7E X:FF Y:CD P:64 SP:F9 CYC: 32 SL:164\nFAAA  B0 3A     BCS $FAE6                       A:7E X:FF Y:CD P:64 SP:F9 CYC: 38 SL:164\nFAAC  C9 7E     CMP #$7E                        A:7E X:FF Y:CD P:64 SP:F9 CYC: 44 SL:164\nFAAE  D0 36     BNE $FAE6                       A:7E X:FF Y:CD P:67 SP:F9 CYC: 50 SL:164\nFAB0  60        RTS                             A:7E X:FF Y:CD P:67 SP:F9 CYC: 56 SL:164\nEFA3  A5 47     LDA $47 = 6E                    A:7E X:FF Y:CD P:67 SP:FB CYC: 74 SL:164\nEFA5  C9 6E     CMP #$6E                        A:6E X:FF Y:CD P:65 SP:FB CYC: 83 SL:164\nEFA7  F0 02     BEQ $EFAB                       A:6E X:FF Y:CD P:67 SP:FB CYC: 89 SL:164\nEFAB  A9 A5     LDA #$A5                        A:6E X:FF Y:CD P:67 SP:FB CYC: 98 SL:164\nEFAD  8D 47 06  STA $0647 = 6E                  A:A5 X:FF Y:CD P:E5 SP:FB CYC:104 SL:164\nEFB0  A0 FF     LDY #$FF                        A:A5 X:FF Y:CD P:E5 SP:FB CYC:116 SL:164\nEFB2  20 7B FA  JSR $FA7B                       A:A5 X:FF Y:FF P:E5 SP:FB CYC:122 SL:164\nFA7B  24 01     BIT $01 = FF                    A:A5 X:FF Y:FF P:E5 SP:F9 CYC:140 SL:164\nFA7D  18        CLC                             A:A5 X:FF Y:FF P:E5 SP:F9 CYC:149 SL:164\nFA7E  A9 B3     LDA #$B3                        A:A5 X:FF Y:FF P:E4 SP:F9 CYC:155 SL:164\nFA80  60        RTS                             A:B3 X:FF Y:FF P:E4 SP:F9 CYC:161 SL:164\nEFB5  1B 48 05 *SLO $0548,Y @ 0647 = A5         A:B3 X:FF Y:FF P:E4 SP:FB CYC:179 SL:164\nEFB8  EA        NOP                             A:FB X:FF Y:FF P:E5 SP:FB CYC:200 SL:164\nEFB9  EA        NOP                             A:FB X:FF Y:FF P:E5 SP:FB CYC:206 SL:164\nEFBA  08        PHP                             A:FB X:FF Y:FF P:E5 SP:FB CYC:212 SL:164\nEFBB  48        PHA                             A:FB X:FF Y:FF P:E5 SP:FA CYC:221 SL:164\nEFBC  A0 CE     LDY #$CE                        A:FB X:FF Y:FF P:E5 SP:F9 CYC:230 SL:164\nEFBE  68        PLA                             A:FB X:FF Y:CE P:E5 SP:F9 CYC:236 SL:164\nEFBF  28        PLP                             A:FB X:FF Y:CE P:E5 SP:FA CYC:248 SL:164\nEFC0  20 81 FA  JSR $FA81                       A:FB X:FF Y:CE P:E5 SP:FB CYC:260 SL:164\nFA81  50 63     BVC $FAE6                       A:FB X:FF Y:CE P:E5 SP:F9 CYC:278 SL:164\nFA83  90 61     BCC $FAE6                       A:FB X:FF Y:CE P:E5 SP:F9 CYC:284 SL:164\nFA85  10 5F     BPL $FAE6                       A:FB X:FF Y:CE P:E5 SP:F9 CYC:290 SL:164\nFA87  C9 FB     CMP #$FB                        A:FB X:FF Y:CE P:E5 SP:F9 CYC:296 SL:164\nFA89  D0 5B     BNE $FAE6                       A:FB X:FF Y:CE P:67 SP:F9 CYC:302 SL:164\nFA8B  60        RTS                             A:FB X:FF Y:CE P:67 SP:F9 CYC:308 SL:164\nEFC3  AD 47 06  LDA $0647 = 4A                  A:FB X:FF Y:CE P:67 SP:FB CYC:326 SL:164\nEFC6  C9 4A     CMP #$4A                        A:4A X:FF Y:CE P:65 SP:FB CYC:338 SL:164\nEFC8  F0 02     BEQ $EFCC                       A:4A X:FF Y:CE P:67 SP:FB CYC:  3 SL:165\nEFCC  A0 FF     LDY #$FF                        A:4A X:FF Y:CE P:67 SP:FB CYC: 12 SL:165\nEFCE  A9 29     LDA #$29                        A:4A X:FF Y:FF P:E5 SP:FB CYC: 18 SL:165\nEFD0  8D 47 06  STA $0647 = 4A                  A:29 X:FF Y:FF P:65 SP:FB CYC: 24 SL:165\nEFD3  20 8C FA  JSR $FA8C                       A:29 X:FF Y:FF P:65 SP:FB CYC: 36 SL:165\nFA8C  B8        CLV                             A:29 X:FF Y:FF P:65 SP:F9 CYC: 54 SL:165\nFA8D  18        CLC                             A:29 X:FF Y:FF P:25 SP:F9 CYC: 60 SL:165\nFA8E  A9 C3     LDA #$C3                        A:29 X:FF Y:FF P:24 SP:F9 CYC: 66 SL:165\nFA90  60        RTS                             A:C3 X:FF Y:FF P:A4 SP:F9 CYC: 72 SL:165\nEFD6  1B 48 05 *SLO $0548,Y @ 0647 = 29         A:C3 X:FF Y:FF P:A4 SP:FB CYC: 90 SL:165\nEFD9  EA        NOP                             A:D3 X:FF Y:FF P:A4 SP:FB CYC:111 SL:165\nEFDA  EA        NOP                             A:D3 X:FF Y:FF P:A4 SP:FB CYC:117 SL:165\nEFDB  08        PHP                             A:D3 X:FF Y:FF P:A4 SP:FB CYC:123 SL:165\nEFDC  48        PHA                             A:D3 X:FF Y:FF P:A4 SP:FA CYC:132 SL:165\nEFDD  A0 CF     LDY #$CF                        A:D3 X:FF Y:FF P:A4 SP:F9 CYC:141 SL:165\nEFDF  68        PLA                             A:D3 X:FF Y:CF P:A4 SP:F9 CYC:147 SL:165\nEFE0  28        PLP                             A:D3 X:FF Y:CF P:A4 SP:FA CYC:159 SL:165\nEFE1  20 91 FA  JSR $FA91                       A:D3 X:FF Y:CF P:A4 SP:FB CYC:171 SL:165\nFA91  70 53     BVS $FAE6                       A:D3 X:FF Y:CF P:A4 SP:F9 CYC:189 SL:165\nFA93  F0 51     BEQ $FAE6                       A:D3 X:FF Y:CF P:A4 SP:F9 CYC:195 SL:165\nFA95  10 4F     BPL $FAE6                       A:D3 X:FF Y:CF P:A4 SP:F9 CYC:201 SL:165\nFA97  B0 4D     BCS $FAE6                       A:D3 X:FF Y:CF P:A4 SP:F9 CYC:207 SL:165\nFA99  C9 D3     CMP #$D3                        A:D3 X:FF Y:CF P:A4 SP:F9 CYC:213 SL:165\nFA9B  D0 49     BNE $FAE6                       A:D3 X:FF Y:CF P:27 SP:F9 CYC:219 SL:165\nFA9D  60        RTS                             A:D3 X:FF Y:CF P:27 SP:F9 CYC:225 SL:165\nEFE4  AD 47 06  LDA $0647 = 52                  A:D3 X:FF Y:CF P:27 SP:FB CYC:243 SL:165\nEFE7  C9 52     CMP #$52                        A:52 X:FF Y:CF P:25 SP:FB CYC:255 SL:165\nEFE9  F0 02     BEQ $EFED                       A:52 X:FF Y:CF P:27 SP:FB CYC:261 SL:165\nEFED  A0 FF     LDY #$FF                        A:52 X:FF Y:CF P:27 SP:FB CYC:270 SL:165\nEFEF  A9 37     LDA #$37                        A:52 X:FF Y:FF P:A5 SP:FB CYC:276 SL:165\nEFF1  8D 47 06  STA $0647 = 52                  A:37 X:FF Y:FF P:25 SP:FB CYC:282 SL:165\nEFF4  20 9E FA  JSR $FA9E                       A:37 X:FF Y:FF P:25 SP:FB CYC:294 SL:165\nFA9E  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC:312 SL:165\nFAA0  38        SEC                             A:37 X:FF Y:FF P:E5 SP:F9 CYC:321 SL:165\nFAA1  A9 10     LDA #$10                        A:37 X:FF Y:FF P:E5 SP:F9 CYC:327 SL:165\nFAA3  60        RTS                             A:10 X:FF Y:FF P:65 SP:F9 CYC:333 SL:165\nEFF7  1B 48 05 *SLO $0548,Y @ 0647 = 37         A:10 X:FF Y:FF P:65 SP:FB CYC: 10 SL:166\nEFFA  EA        NOP                             A:7E X:FF Y:FF P:64 SP:FB CYC: 31 SL:166\nEFFB  EA        NOP                             A:7E X:FF Y:FF P:64 SP:FB CYC: 37 SL:166\nEFFC  08        PHP                             A:7E X:FF Y:FF P:64 SP:FB CYC: 43 SL:166\nEFFD  48        PHA                             A:7E X:FF Y:FF P:64 SP:FA CYC: 52 SL:166\nEFFE  A0 D0     LDY #$D0                        A:7E X:FF Y:FF P:64 SP:F9 CYC: 61 SL:166\nF000  68        PLA                             A:7E X:FF Y:D0 P:E4 SP:F9 CYC: 67 SL:166\nF001  28        PLP                             A:7E X:FF Y:D0 P:64 SP:FA CYC: 79 SL:166\nF002  20 A4 FA  JSR $FAA4                       A:7E X:FF Y:D0 P:64 SP:FB CYC: 91 SL:166\nFAA4  50 40     BVC $FAE6                       A:7E X:FF Y:D0 P:64 SP:F9 CYC:109 SL:166\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:FF Y:D0 P:64 SP:F9 CYC:115 SL:166\nFAA8  30 3C     BMI $FAE6                       A:7E X:FF Y:D0 P:64 SP:F9 CYC:121 SL:166\nFAAA  B0 3A     BCS $FAE6                       A:7E X:FF Y:D0 P:64 SP:F9 CYC:127 SL:166\nFAAC  C9 7E     CMP #$7E                        A:7E X:FF Y:D0 P:64 SP:F9 CYC:133 SL:166\nFAAE  D0 36     BNE $FAE6                       A:7E X:FF Y:D0 P:67 SP:F9 CYC:139 SL:166\nFAB0  60        RTS                             A:7E X:FF Y:D0 P:67 SP:F9 CYC:145 SL:166\nF005  AD 47 06  LDA $0647 = 6E                  A:7E X:FF Y:D0 P:67 SP:FB CYC:163 SL:166\nF008  C9 6E     CMP #$6E                        A:6E X:FF Y:D0 P:65 SP:FB CYC:175 SL:166\nF00A  F0 02     BEQ $F00E                       A:6E X:FF Y:D0 P:67 SP:FB CYC:181 SL:166\nF00E  A0 D1     LDY #$D1                        A:6E X:FF Y:D0 P:67 SP:FB CYC:190 SL:166\nF010  A2 FF     LDX #$FF                        A:6E X:FF Y:D1 P:E5 SP:FB CYC:196 SL:166\nF012  A9 A5     LDA #$A5                        A:6E X:FF Y:D1 P:E5 SP:FB CYC:202 SL:166\nF014  8D 47 06  STA $0647 = 6E                  A:A5 X:FF Y:D1 P:E5 SP:FB CYC:208 SL:166\nF017  20 7B FA  JSR $FA7B                       A:A5 X:FF Y:D1 P:E5 SP:FB CYC:220 SL:166\nFA7B  24 01     BIT $01 = FF                    A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:238 SL:166\nFA7D  18        CLC                             A:A5 X:FF Y:D1 P:E5 SP:F9 CYC:247 SL:166\nFA7E  A9 B3     LDA #$B3                        A:A5 X:FF Y:D1 P:E4 SP:F9 CYC:253 SL:166\nFA80  60        RTS                             A:B3 X:FF Y:D1 P:E4 SP:F9 CYC:259 SL:166\nF01A  1F 48 05 *SLO $0548,X @ 0647 = A5         A:B3 X:FF Y:D1 P:E4 SP:FB CYC:277 SL:166\nF01D  EA        NOP                             A:FB X:FF Y:D1 P:E5 SP:FB CYC:298 SL:166\nF01E  EA        NOP                             A:FB X:FF Y:D1 P:E5 SP:FB CYC:304 SL:166\nF01F  EA        NOP                             A:FB X:FF Y:D1 P:E5 SP:FB CYC:310 SL:166\nF020  EA        NOP                             A:FB X:FF Y:D1 P:E5 SP:FB CYC:316 SL:166\nF021  20 81 FA  JSR $FA81                       A:FB X:FF Y:D1 P:E5 SP:FB CYC:322 SL:166\nFA81  50 63     BVC $FAE6                       A:FB X:FF Y:D1 P:E5 SP:F9 CYC:340 SL:166\nFA83  90 61     BCC $FAE6                       A:FB X:FF Y:D1 P:E5 SP:F9 CYC:  5 SL:167\nFA85  10 5F     BPL $FAE6                       A:FB X:FF Y:D1 P:E5 SP:F9 CYC: 11 SL:167\nFA87  C9 FB     CMP #$FB                        A:FB X:FF Y:D1 P:E5 SP:F9 CYC: 17 SL:167\nFA89  D0 5B     BNE $FAE6                       A:FB X:FF Y:D1 P:67 SP:F9 CYC: 23 SL:167\nFA8B  60        RTS                             A:FB X:FF Y:D1 P:67 SP:F9 CYC: 29 SL:167\nF024  AD 47 06  LDA $0647 = 4A                  A:FB X:FF Y:D1 P:67 SP:FB CYC: 47 SL:167\nF027  C9 4A     CMP #$4A                        A:4A X:FF Y:D1 P:65 SP:FB CYC: 59 SL:167\nF029  F0 02     BEQ $F02D                       A:4A X:FF Y:D1 P:67 SP:FB CYC: 65 SL:167\nF02D  C8        INY                             A:4A X:FF Y:D1 P:67 SP:FB CYC: 74 SL:167\nF02E  A9 29     LDA #$29                        A:4A X:FF Y:D2 P:E5 SP:FB CYC: 80 SL:167\nF030  8D 47 06  STA $0647 = 4A                  A:29 X:FF Y:D2 P:65 SP:FB CYC: 86 SL:167\nF033  20 8C FA  JSR $FA8C                       A:29 X:FF Y:D2 P:65 SP:FB CYC: 98 SL:167\nFA8C  B8        CLV                             A:29 X:FF Y:D2 P:65 SP:F9 CYC:116 SL:167\nFA8D  18        CLC                             A:29 X:FF Y:D2 P:25 SP:F9 CYC:122 SL:167\nFA8E  A9 C3     LDA #$C3                        A:29 X:FF Y:D2 P:24 SP:F9 CYC:128 SL:167\nFA90  60        RTS                             A:C3 X:FF Y:D2 P:A4 SP:F9 CYC:134 SL:167\nF036  1F 48 05 *SLO $0548,X @ 0647 = 29         A:C3 X:FF Y:D2 P:A4 SP:FB CYC:152 SL:167\nF039  EA        NOP                             A:D3 X:FF Y:D2 P:A4 SP:FB CYC:173 SL:167\nF03A  EA        NOP                             A:D3 X:FF Y:D2 P:A4 SP:FB CYC:179 SL:167\nF03B  EA        NOP                             A:D3 X:FF Y:D2 P:A4 SP:FB CYC:185 SL:167\nF03C  EA        NOP                             A:D3 X:FF Y:D2 P:A4 SP:FB CYC:191 SL:167\nF03D  20 91 FA  JSR $FA91                       A:D3 X:FF Y:D2 P:A4 SP:FB CYC:197 SL:167\nFA91  70 53     BVS $FAE6                       A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:215 SL:167\nFA93  F0 51     BEQ $FAE6                       A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:221 SL:167\nFA95  10 4F     BPL $FAE6                       A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:227 SL:167\nFA97  B0 4D     BCS $FAE6                       A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:233 SL:167\nFA99  C9 D3     CMP #$D3                        A:D3 X:FF Y:D2 P:A4 SP:F9 CYC:239 SL:167\nFA9B  D0 49     BNE $FAE6                       A:D3 X:FF Y:D2 P:27 SP:F9 CYC:245 SL:167\nFA9D  60        RTS                             A:D3 X:FF Y:D2 P:27 SP:F9 CYC:251 SL:167\nF040  AD 47 06  LDA $0647 = 52                  A:D3 X:FF Y:D2 P:27 SP:FB CYC:269 SL:167\nF043  C9 52     CMP #$52                        A:52 X:FF Y:D2 P:25 SP:FB CYC:281 SL:167\nF045  F0 02     BEQ $F049                       A:52 X:FF Y:D2 P:27 SP:FB CYC:287 SL:167\nF049  C8        INY                             A:52 X:FF Y:D2 P:27 SP:FB CYC:296 SL:167\nF04A  A9 37     LDA #$37                        A:52 X:FF Y:D3 P:A5 SP:FB CYC:302 SL:167\nF04C  8D 47 06  STA $0647 = 52                  A:37 X:FF Y:D3 P:25 SP:FB CYC:308 SL:167\nF04F  20 9E FA  JSR $FA9E                       A:37 X:FF Y:D3 P:25 SP:FB CYC:320 SL:167\nFA9E  24 01     BIT $01 = FF                    A:37 X:FF Y:D3 P:25 SP:F9 CYC:338 SL:167\nFAA0  38        SEC                             A:37 X:FF Y:D3 P:E5 SP:F9 CYC:  6 SL:168\nFAA1  A9 10     LDA #$10                        A:37 X:FF Y:D3 P:E5 SP:F9 CYC: 12 SL:168\nFAA3  60        RTS                             A:10 X:FF Y:D3 P:65 SP:F9 CYC: 18 SL:168\nF052  1F 48 05 *SLO $0548,X @ 0647 = 37         A:10 X:FF Y:D3 P:65 SP:FB CYC: 36 SL:168\nF055  EA        NOP                             A:7E X:FF Y:D3 P:64 SP:FB CYC: 57 SL:168\nF056  EA        NOP                             A:7E X:FF Y:D3 P:64 SP:FB CYC: 63 SL:168\nF057  EA        NOP                             A:7E X:FF Y:D3 P:64 SP:FB CYC: 69 SL:168\nF058  EA        NOP                             A:7E X:FF Y:D3 P:64 SP:FB CYC: 75 SL:168\nF059  20 A4 FA  JSR $FAA4                       A:7E X:FF Y:D3 P:64 SP:FB CYC: 81 SL:168\nFAA4  50 40     BVC $FAE6                       A:7E X:FF Y:D3 P:64 SP:F9 CYC: 99 SL:168\nFAA6  F0 3E     BEQ $FAE6                       A:7E X:FF Y:D3 P:64 SP:F9 CYC:105 SL:168\nFAA8  30 3C     BMI $FAE6                       A:7E X:FF Y:D3 P:64 SP:F9 CYC:111 SL:168\nFAAA  B0 3A     BCS $FAE6                       A:7E X:FF Y:D3 P:64 SP:F9 CYC:117 SL:168\nFAAC  C9 7E     CMP #$7E                        A:7E X:FF Y:D3 P:64 SP:F9 CYC:123 SL:168\nFAAE  D0 36     BNE $FAE6                       A:7E X:FF Y:D3 P:67 SP:F9 CYC:129 SL:168\nFAB0  60        RTS                             A:7E X:FF Y:D3 P:67 SP:F9 CYC:135 SL:168\nF05C  AD 47 06  LDA $0647 = 6E                  A:7E X:FF Y:D3 P:67 SP:FB CYC:153 SL:168\nF05F  C9 6E     CMP #$6E                        A:6E X:FF Y:D3 P:65 SP:FB CYC:165 SL:168\nF061  F0 02     BEQ $F065                       A:6E X:FF Y:D3 P:67 SP:FB CYC:171 SL:168\nF065  60        RTS                             A:6E X:FF Y:D3 P:67 SP:FB CYC:180 SL:168\nC644  20 66 F0  JSR $F066                       A:6E X:FF Y:D3 P:67 SP:FD CYC:198 SL:168\nF066  A9 FF     LDA #$FF                        A:6E X:FF Y:D3 P:67 SP:FB CYC:216 SL:168\nF068  85 01     STA $01 = FF                    A:FF X:FF Y:D3 P:E5 SP:FB CYC:222 SL:168\nF06A  A0 D4     LDY #$D4                        A:FF X:FF Y:D3 P:E5 SP:FB CYC:231 SL:168\nF06C  A2 02     LDX #$02                        A:FF X:FF Y:D4 P:E5 SP:FB CYC:237 SL:168\nF06E  A9 47     LDA #$47                        A:FF X:02 Y:D4 P:65 SP:FB CYC:243 SL:168\nF070  85 47     STA $47 = 6E                    A:47 X:02 Y:D4 P:65 SP:FB CYC:249 SL:168\nF072  A9 06     LDA #$06                        A:47 X:02 Y:D4 P:65 SP:FB CYC:258 SL:168\nF074  85 48     STA $48 = 06                    A:06 X:02 Y:D4 P:65 SP:FB CYC:264 SL:168\nF076  A9 A5     LDA #$A5                        A:06 X:02 Y:D4 P:65 SP:FB CYC:273 SL:168\nF078  8D 47 06  STA $0647 = 6E                  A:A5 X:02 Y:D4 P:E5 SP:FB CYC:279 SL:168\nF07B  20 53 FB  JSR $FB53                       A:A5 X:02 Y:D4 P:E5 SP:FB CYC:291 SL:168\nFB53  24 01     BIT $01 = FF                    A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:309 SL:168\nFB55  18        CLC                             A:A5 X:02 Y:D4 P:E5 SP:F9 CYC:318 SL:168\nFB56  A9 B3     LDA #$B3                        A:A5 X:02 Y:D4 P:E4 SP:F9 CYC:324 SL:168\nFB58  60        RTS                             A:B3 X:02 Y:D4 P:E4 SP:F9 CYC:330 SL:168\nF07E  23 45    *RLA ($45,X) @ 47 = 0647 = A5    A:B3 X:02 Y:D4 P:E4 SP:FB CYC:  7 SL:169\nF080  EA        NOP                             A:02 X:02 Y:D4 P:65 SP:FB CYC: 31 SL:169\nF081  EA        NOP                             A:02 X:02 Y:D4 P:65 SP:FB CYC: 37 SL:169\nF082  EA        NOP                             A:02 X:02 Y:D4 P:65 SP:FB CYC: 43 SL:169\nF083  EA        NOP                             A:02 X:02 Y:D4 P:65 SP:FB CYC: 49 SL:169\nF084  20 59 FB  JSR $FB59                       A:02 X:02 Y:D4 P:65 SP:FB CYC: 55 SL:169\nFB59  50 1A     BVC $FB75                       A:02 X:02 Y:D4 P:65 SP:F9 CYC: 73 SL:169\nFB5B  90 18     BCC $FB75                       A:02 X:02 Y:D4 P:65 SP:F9 CYC: 79 SL:169\nFB5D  30 16     BMI $FB75                       A:02 X:02 Y:D4 P:65 SP:F9 CYC: 85 SL:169\nFB5F  C9 02     CMP #$02                        A:02 X:02 Y:D4 P:65 SP:F9 CYC: 91 SL:169\nFB61  D0 12     BNE $FB75                       A:02 X:02 Y:D4 P:67 SP:F9 CYC: 97 SL:169\nFB63  60        RTS                             A:02 X:02 Y:D4 P:67 SP:F9 CYC:103 SL:169\nF087  AD 47 06  LDA $0647 = 4A                  A:02 X:02 Y:D4 P:67 SP:FB CYC:121 SL:169\nF08A  C9 4A     CMP #$4A                        A:4A X:02 Y:D4 P:65 SP:FB CYC:133 SL:169\nF08C  F0 02     BEQ $F090                       A:4A X:02 Y:D4 P:67 SP:FB CYC:139 SL:169\nF090  C8        INY                             A:4A X:02 Y:D4 P:67 SP:FB CYC:148 SL:169\nF091  A9 29     LDA #$29                        A:4A X:02 Y:D5 P:E5 SP:FB CYC:154 SL:169\nF093  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:D5 P:65 SP:FB CYC:160 SL:169\nF096  20 64 FB  JSR $FB64                       A:29 X:02 Y:D5 P:65 SP:FB CYC:172 SL:169\nFB64  B8        CLV                             A:29 X:02 Y:D5 P:65 SP:F9 CYC:190 SL:169\nFB65  18        CLC                             A:29 X:02 Y:D5 P:25 SP:F9 CYC:196 SL:169\nFB66  A9 42     LDA #$42                        A:29 X:02 Y:D5 P:24 SP:F9 CYC:202 SL:169\nFB68  60        RTS                             A:42 X:02 Y:D5 P:24 SP:F9 CYC:208 SL:169\nF099  23 45    *RLA ($45,X) @ 47 = 0647 = 29    A:42 X:02 Y:D5 P:24 SP:FB CYC:226 SL:169\nF09B  EA        NOP                             A:42 X:02 Y:D5 P:24 SP:FB CYC:250 SL:169\nF09C  EA        NOP                             A:42 X:02 Y:D5 P:24 SP:FB CYC:256 SL:169\nF09D  EA        NOP                             A:42 X:02 Y:D5 P:24 SP:FB CYC:262 SL:169\nF09E  EA        NOP                             A:42 X:02 Y:D5 P:24 SP:FB CYC:268 SL:169\nF09F  20 69 FB  JSR $FB69                       A:42 X:02 Y:D5 P:24 SP:FB CYC:274 SL:169\nFB69  70 0A     BVS $FB75                       A:42 X:02 Y:D5 P:24 SP:F9 CYC:292 SL:169\nFB6B  F0 08     BEQ $FB75                       A:42 X:02 Y:D5 P:24 SP:F9 CYC:298 SL:169\nFB6D  30 06     BMI $FB75                       A:42 X:02 Y:D5 P:24 SP:F9 CYC:304 SL:169\nFB6F  B0 04     BCS $FB75                       A:42 X:02 Y:D5 P:24 SP:F9 CYC:310 SL:169\nFB71  C9 42     CMP #$42                        A:42 X:02 Y:D5 P:24 SP:F9 CYC:316 SL:169\nFB73  F0 02     BEQ $FB77                       A:42 X:02 Y:D5 P:27 SP:F9 CYC:322 SL:169\nFB77  60        RTS                             A:42 X:02 Y:D5 P:27 SP:F9 CYC:331 SL:169\nF0A2  AD 47 06  LDA $0647 = 52                  A:42 X:02 Y:D5 P:27 SP:FB CYC:  8 SL:170\nF0A5  C9 52     CMP #$52                        A:52 X:02 Y:D5 P:25 SP:FB CYC: 20 SL:170\nF0A7  F0 02     BEQ $F0AB                       A:52 X:02 Y:D5 P:27 SP:FB CYC: 26 SL:170\nF0AB  C8        INY                             A:52 X:02 Y:D5 P:27 SP:FB CYC: 35 SL:170\nF0AC  A9 37     LDA #$37                        A:52 X:02 Y:D6 P:A5 SP:FB CYC: 41 SL:170\nF0AE  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:D6 P:25 SP:FB CYC: 47 SL:170\nF0B1  20 68 FA  JSR $FA68                       A:37 X:02 Y:D6 P:25 SP:FB CYC: 59 SL:170\nFA68  24 01     BIT $01 = FF                    A:37 X:02 Y:D6 P:25 SP:F9 CYC: 77 SL:170\nFA6A  38        SEC                             A:37 X:02 Y:D6 P:E5 SP:F9 CYC: 86 SL:170\nFA6B  A9 75     LDA #$75                        A:37 X:02 Y:D6 P:E5 SP:F9 CYC: 92 SL:170\nFA6D  60        RTS                             A:75 X:02 Y:D6 P:65 SP:F9 CYC: 98 SL:170\nF0B4  23 45    *RLA ($45,X) @ 47 = 0647 = 37    A:75 X:02 Y:D6 P:65 SP:FB CYC:116 SL:170\nF0B6  EA        NOP                             A:65 X:02 Y:D6 P:64 SP:FB CYC:140 SL:170\nF0B7  EA        NOP                             A:65 X:02 Y:D6 P:64 SP:FB CYC:146 SL:170\nF0B8  EA        NOP                             A:65 X:02 Y:D6 P:64 SP:FB CYC:152 SL:170\nF0B9  EA        NOP                             A:65 X:02 Y:D6 P:64 SP:FB CYC:158 SL:170\nF0BA  20 6E FA  JSR $FA6E                       A:65 X:02 Y:D6 P:64 SP:FB CYC:164 SL:170\nFA6E  50 76     BVC $FAE6                       A:65 X:02 Y:D6 P:64 SP:F9 CYC:182 SL:170\nFA70  F0 74     BEQ $FAE6                       A:65 X:02 Y:D6 P:64 SP:F9 CYC:188 SL:170\nFA72  30 72     BMI $FAE6                       A:65 X:02 Y:D6 P:64 SP:F9 CYC:194 SL:170\nFA74  B0 70     BCS $FAE6                       A:65 X:02 Y:D6 P:64 SP:F9 CYC:200 SL:170\nFA76  C9 65     CMP #$65                        A:65 X:02 Y:D6 P:64 SP:F9 CYC:206 SL:170\nFA78  D0 6C     BNE $FAE6                       A:65 X:02 Y:D6 P:67 SP:F9 CYC:212 SL:170\nFA7A  60        RTS                             A:65 X:02 Y:D6 P:67 SP:F9 CYC:218 SL:170\nF0BD  AD 47 06  LDA $0647 = 6F                  A:65 X:02 Y:D6 P:67 SP:FB CYC:236 SL:170\nF0C0  C9 6F     CMP #$6F                        A:6F X:02 Y:D6 P:65 SP:FB CYC:248 SL:170\nF0C2  F0 02     BEQ $F0C6                       A:6F X:02 Y:D6 P:67 SP:FB CYC:254 SL:170\nF0C6  C8        INY                             A:6F X:02 Y:D6 P:67 SP:FB CYC:263 SL:170\nF0C7  A9 A5     LDA #$A5                        A:6F X:02 Y:D7 P:E5 SP:FB CYC:269 SL:170\nF0C9  85 47     STA $47 = 47                    A:A5 X:02 Y:D7 P:E5 SP:FB CYC:275 SL:170\nF0CB  20 53 FB  JSR $FB53                       A:A5 X:02 Y:D7 P:E5 SP:FB CYC:284 SL:170\nFB53  24 01     BIT $01 = FF                    A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:302 SL:170\nFB55  18        CLC                             A:A5 X:02 Y:D7 P:E5 SP:F9 CYC:311 SL:170\nFB56  A9 B3     LDA #$B3                        A:A5 X:02 Y:D7 P:E4 SP:F9 CYC:317 SL:170\nFB58  60        RTS                             A:B3 X:02 Y:D7 P:E4 SP:F9 CYC:323 SL:170\nF0CE  27 47    *RLA $47 = A5                    A:B3 X:02 Y:D7 P:E4 SP:FB CYC:  0 SL:171\nF0D0  EA        NOP                             A:02 X:02 Y:D7 P:65 SP:FB CYC: 15 SL:171\nF0D1  EA        NOP                             A:02 X:02 Y:D7 P:65 SP:FB CYC: 21 SL:171\nF0D2  EA        NOP                             A:02 X:02 Y:D7 P:65 SP:FB CYC: 27 SL:171\nF0D3  EA        NOP                             A:02 X:02 Y:D7 P:65 SP:FB CYC: 33 SL:171\nF0D4  20 59 FB  JSR $FB59                       A:02 X:02 Y:D7 P:65 SP:FB CYC: 39 SL:171\nFB59  50 1A     BVC $FB75                       A:02 X:02 Y:D7 P:65 SP:F9 CYC: 57 SL:171\nFB5B  90 18     BCC $FB75                       A:02 X:02 Y:D7 P:65 SP:F9 CYC: 63 SL:171\nFB5D  30 16     BMI $FB75                       A:02 X:02 Y:D7 P:65 SP:F9 CYC: 69 SL:171\nFB5F  C9 02     CMP #$02                        A:02 X:02 Y:D7 P:65 SP:F9 CYC: 75 SL:171\nFB61  D0 12     BNE $FB75                       A:02 X:02 Y:D7 P:67 SP:F9 CYC: 81 SL:171\nFB63  60        RTS                             A:02 X:02 Y:D7 P:67 SP:F9 CYC: 87 SL:171\nF0D7  A5 47     LDA $47 = 4A                    A:02 X:02 Y:D7 P:67 SP:FB CYC:105 SL:171\nF0D9  C9 4A     CMP #$4A                        A:4A X:02 Y:D7 P:65 SP:FB CYC:114 SL:171\nF0DB  F0 02     BEQ $F0DF                       A:4A X:02 Y:D7 P:67 SP:FB CYC:120 SL:171\nF0DF  C8        INY                             A:4A X:02 Y:D7 P:67 SP:FB CYC:129 SL:171\nF0E0  A9 29     LDA #$29                        A:4A X:02 Y:D8 P:E5 SP:FB CYC:135 SL:171\nF0E2  85 47     STA $47 = 4A                    A:29 X:02 Y:D8 P:65 SP:FB CYC:141 SL:171\nF0E4  20 64 FB  JSR $FB64                       A:29 X:02 Y:D8 P:65 SP:FB CYC:150 SL:171\nFB64  B8        CLV                             A:29 X:02 Y:D8 P:65 SP:F9 CYC:168 SL:171\nFB65  18        CLC                             A:29 X:02 Y:D8 P:25 SP:F9 CYC:174 SL:171\nFB66  A9 42     LDA #$42                        A:29 X:02 Y:D8 P:24 SP:F9 CYC:180 SL:171\nFB68  60        RTS                             A:42 X:02 Y:D8 P:24 SP:F9 CYC:186 SL:171\nF0E7  27 47    *RLA $47 = 29                    A:42 X:02 Y:D8 P:24 SP:FB CYC:204 SL:171\nF0E9  EA        NOP                             A:42 X:02 Y:D8 P:24 SP:FB CYC:219 SL:171\nF0EA  EA        NOP                             A:42 X:02 Y:D8 P:24 SP:FB CYC:225 SL:171\nF0EB  EA        NOP                             A:42 X:02 Y:D8 P:24 SP:FB CYC:231 SL:171\nF0EC  EA        NOP                             A:42 X:02 Y:D8 P:24 SP:FB CYC:237 SL:171\nF0ED  20 69 FB  JSR $FB69                       A:42 X:02 Y:D8 P:24 SP:FB CYC:243 SL:171\nFB69  70 0A     BVS $FB75                       A:42 X:02 Y:D8 P:24 SP:F9 CYC:261 SL:171\nFB6B  F0 08     BEQ $FB75                       A:42 X:02 Y:D8 P:24 SP:F9 CYC:267 SL:171\nFB6D  30 06     BMI $FB75                       A:42 X:02 Y:D8 P:24 SP:F9 CYC:273 SL:171\nFB6F  B0 04     BCS $FB75                       A:42 X:02 Y:D8 P:24 SP:F9 CYC:279 SL:171\nFB71  C9 42     CMP #$42                        A:42 X:02 Y:D8 P:24 SP:F9 CYC:285 SL:171\nFB73  F0 02     BEQ $FB77                       A:42 X:02 Y:D8 P:27 SP:F9 CYC:291 SL:171\nFB77  60        RTS                             A:42 X:02 Y:D8 P:27 SP:F9 CYC:300 SL:171\nF0F0  A5 47     LDA $47 = 52                    A:42 X:02 Y:D8 P:27 SP:FB CYC:318 SL:171\nF0F2  C9 52     CMP #$52                        A:52 X:02 Y:D8 P:25 SP:FB CYC:327 SL:171\nF0F4  F0 02     BEQ $F0F8                       A:52 X:02 Y:D8 P:27 SP:FB CYC:333 SL:171\nF0F8  C8        INY                             A:52 X:02 Y:D8 P:27 SP:FB CYC:  1 SL:172\nF0F9  A9 37     LDA #$37                        A:52 X:02 Y:D9 P:A5 SP:FB CYC:  7 SL:172\nF0FB  85 47     STA $47 = 52                    A:37 X:02 Y:D9 P:25 SP:FB CYC: 13 SL:172\nF0FD  20 68 FA  JSR $FA68                       A:37 X:02 Y:D9 P:25 SP:FB CYC: 22 SL:172\nFA68  24 01     BIT $01 = FF                    A:37 X:02 Y:D9 P:25 SP:F9 CYC: 40 SL:172\nFA6A  38        SEC                             A:37 X:02 Y:D9 P:E5 SP:F9 CYC: 49 SL:172\nFA6B  A9 75     LDA #$75                        A:37 X:02 Y:D9 P:E5 SP:F9 CYC: 55 SL:172\nFA6D  60        RTS                             A:75 X:02 Y:D9 P:65 SP:F9 CYC: 61 SL:172\nF100  27 47    *RLA $47 = 37                    A:75 X:02 Y:D9 P:65 SP:FB CYC: 79 SL:172\nF102  EA        NOP                             A:65 X:02 Y:D9 P:64 SP:FB CYC: 94 SL:172\nF103  EA        NOP                             A:65 X:02 Y:D9 P:64 SP:FB CYC:100 SL:172\nF104  EA        NOP                             A:65 X:02 Y:D9 P:64 SP:FB CYC:106 SL:172\nF105  EA        NOP                             A:65 X:02 Y:D9 P:64 SP:FB CYC:112 SL:172\nF106  20 6E FA  JSR $FA6E                       A:65 X:02 Y:D9 P:64 SP:FB CYC:118 SL:172\nFA6E  50 76     BVC $FAE6                       A:65 X:02 Y:D9 P:64 SP:F9 CYC:136 SL:172\nFA70  F0 74     BEQ $FAE6                       A:65 X:02 Y:D9 P:64 SP:F9 CYC:142 SL:172\nFA72  30 72     BMI $FAE6                       A:65 X:02 Y:D9 P:64 SP:F9 CYC:148 SL:172\nFA74  B0 70     BCS $FAE6                       A:65 X:02 Y:D9 P:64 SP:F9 CYC:154 SL:172\nFA76  C9 65     CMP #$65                        A:65 X:02 Y:D9 P:64 SP:F9 CYC:160 SL:172\nFA78  D0 6C     BNE $FAE6                       A:65 X:02 Y:D9 P:67 SP:F9 CYC:166 SL:172\nFA7A  60        RTS                             A:65 X:02 Y:D9 P:67 SP:F9 CYC:172 SL:172\nF109  A5 47     LDA $47 = 6F                    A:65 X:02 Y:D9 P:67 SP:FB CYC:190 SL:172\nF10B  C9 6F     CMP #$6F                        A:6F X:02 Y:D9 P:65 SP:FB CYC:199 SL:172\nF10D  F0 02     BEQ $F111                       A:6F X:02 Y:D9 P:67 SP:FB CYC:205 SL:172\nF111  C8        INY                             A:6F X:02 Y:D9 P:67 SP:FB CYC:214 SL:172\nF112  A9 A5     LDA #$A5                        A:6F X:02 Y:DA P:E5 SP:FB CYC:220 SL:172\nF114  8D 47 06  STA $0647 = 6F                  A:A5 X:02 Y:DA P:E5 SP:FB CYC:226 SL:172\nF117  20 53 FB  JSR $FB53                       A:A5 X:02 Y:DA P:E5 SP:FB CYC:238 SL:172\nFB53  24 01     BIT $01 = FF                    A:A5 X:02 Y:DA P:E5 SP:F9 CYC:256 SL:172\nFB55  18        CLC                             A:A5 X:02 Y:DA P:E5 SP:F9 CYC:265 SL:172\nFB56  A9 B3     LDA #$B3                        A:A5 X:02 Y:DA P:E4 SP:F9 CYC:271 SL:172\nFB58  60        RTS                             A:B3 X:02 Y:DA P:E4 SP:F9 CYC:277 SL:172\nF11A  2F 47 06 *RLA $0647 = A5                  A:B3 X:02 Y:DA P:E4 SP:FB CYC:295 SL:172\nF11D  EA        NOP                             A:02 X:02 Y:DA P:65 SP:FB CYC:313 SL:172\nF11E  EA        NOP                             A:02 X:02 Y:DA P:65 SP:FB CYC:319 SL:172\nF11F  EA        NOP                             A:02 X:02 Y:DA P:65 SP:FB CYC:325 SL:172\nF120  EA        NOP                             A:02 X:02 Y:DA P:65 SP:FB CYC:331 SL:172\nF121  20 59 FB  JSR $FB59                       A:02 X:02 Y:DA P:65 SP:FB CYC:337 SL:172\nFB59  50 1A     BVC $FB75                       A:02 X:02 Y:DA P:65 SP:F9 CYC: 14 SL:173\nFB5B  90 18     BCC $FB75                       A:02 X:02 Y:DA P:65 SP:F9 CYC: 20 SL:173\nFB5D  30 16     BMI $FB75                       A:02 X:02 Y:DA P:65 SP:F9 CYC: 26 SL:173\nFB5F  C9 02     CMP #$02                        A:02 X:02 Y:DA P:65 SP:F9 CYC: 32 SL:173\nFB61  D0 12     BNE $FB75                       A:02 X:02 Y:DA P:67 SP:F9 CYC: 38 SL:173\nFB63  60        RTS                             A:02 X:02 Y:DA P:67 SP:F9 CYC: 44 SL:173\nF124  AD 47 06  LDA $0647 = 4A                  A:02 X:02 Y:DA P:67 SP:FB CYC: 62 SL:173\nF127  C9 4A     CMP #$4A                        A:4A X:02 Y:DA P:65 SP:FB CYC: 74 SL:173\nF129  F0 02     BEQ $F12D                       A:4A X:02 Y:DA P:67 SP:FB CYC: 80 SL:173\nF12D  C8        INY                             A:4A X:02 Y:DA P:67 SP:FB CYC: 89 SL:173\nF12E  A9 29     LDA #$29                        A:4A X:02 Y:DB P:E5 SP:FB CYC: 95 SL:173\nF130  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:DB P:65 SP:FB CYC:101 SL:173\nF133  20 64 FB  JSR $FB64                       A:29 X:02 Y:DB P:65 SP:FB CYC:113 SL:173\nFB64  B8        CLV                             A:29 X:02 Y:DB P:65 SP:F9 CYC:131 SL:173\nFB65  18        CLC                             A:29 X:02 Y:DB P:25 SP:F9 CYC:137 SL:173\nFB66  A9 42     LDA #$42                        A:29 X:02 Y:DB P:24 SP:F9 CYC:143 SL:173\nFB68  60        RTS                             A:42 X:02 Y:DB P:24 SP:F9 CYC:149 SL:173\nF136  2F 47 06 *RLA $0647 = 29                  A:42 X:02 Y:DB P:24 SP:FB CYC:167 SL:173\nF139  EA        NOP                             A:42 X:02 Y:DB P:24 SP:FB CYC:185 SL:173\nF13A  EA        NOP                             A:42 X:02 Y:DB P:24 SP:FB CYC:191 SL:173\nF13B  EA        NOP                             A:42 X:02 Y:DB P:24 SP:FB CYC:197 SL:173\nF13C  EA        NOP                             A:42 X:02 Y:DB P:24 SP:FB CYC:203 SL:173\nF13D  20 69 FB  JSR $FB69                       A:42 X:02 Y:DB P:24 SP:FB CYC:209 SL:173\nFB69  70 0A     BVS $FB75                       A:42 X:02 Y:DB P:24 SP:F9 CYC:227 SL:173\nFB6B  F0 08     BEQ $FB75                       A:42 X:02 Y:DB P:24 SP:F9 CYC:233 SL:173\nFB6D  30 06     BMI $FB75                       A:42 X:02 Y:DB P:24 SP:F9 CYC:239 SL:173\nFB6F  B0 04     BCS $FB75                       A:42 X:02 Y:DB P:24 SP:F9 CYC:245 SL:173\nFB71  C9 42     CMP #$42                        A:42 X:02 Y:DB P:24 SP:F9 CYC:251 SL:173\nFB73  F0 02     BEQ $FB77                       A:42 X:02 Y:DB P:27 SP:F9 CYC:257 SL:173\nFB77  60        RTS                             A:42 X:02 Y:DB P:27 SP:F9 CYC:266 SL:173\nF140  AD 47 06  LDA $0647 = 52                  A:42 X:02 Y:DB P:27 SP:FB CYC:284 SL:173\nF143  C9 52     CMP #$52                        A:52 X:02 Y:DB P:25 SP:FB CYC:296 SL:173\nF145  F0 02     BEQ $F149                       A:52 X:02 Y:DB P:27 SP:FB CYC:302 SL:173\nF149  C8        INY                             A:52 X:02 Y:DB P:27 SP:FB CYC:311 SL:173\nF14A  A9 37     LDA #$37                        A:52 X:02 Y:DC P:A5 SP:FB CYC:317 SL:173\nF14C  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:DC P:25 SP:FB CYC:323 SL:173\nF14F  20 68 FA  JSR $FA68                       A:37 X:02 Y:DC P:25 SP:FB CYC:335 SL:173\nFA68  24 01     BIT $01 = FF                    A:37 X:02 Y:DC P:25 SP:F9 CYC: 12 SL:174\nFA6A  38        SEC                             A:37 X:02 Y:DC P:E5 SP:F9 CYC: 21 SL:174\nFA6B  A9 75     LDA #$75                        A:37 X:02 Y:DC P:E5 SP:F9 CYC: 27 SL:174\nFA6D  60        RTS                             A:75 X:02 Y:DC P:65 SP:F9 CYC: 33 SL:174\nF152  2F 47 06 *RLA $0647 = 37                  A:75 X:02 Y:DC P:65 SP:FB CYC: 51 SL:174\nF155  EA        NOP                             A:65 X:02 Y:DC P:64 SP:FB CYC: 69 SL:174\nF156  EA        NOP                             A:65 X:02 Y:DC P:64 SP:FB CYC: 75 SL:174\nF157  EA        NOP                             A:65 X:02 Y:DC P:64 SP:FB CYC: 81 SL:174\nF158  EA        NOP                             A:65 X:02 Y:DC P:64 SP:FB CYC: 87 SL:174\nF159  20 6E FA  JSR $FA6E                       A:65 X:02 Y:DC P:64 SP:FB CYC: 93 SL:174\nFA6E  50 76     BVC $FAE6                       A:65 X:02 Y:DC P:64 SP:F9 CYC:111 SL:174\nFA70  F0 74     BEQ $FAE6                       A:65 X:02 Y:DC P:64 SP:F9 CYC:117 SL:174\nFA72  30 72     BMI $FAE6                       A:65 X:02 Y:DC P:64 SP:F9 CYC:123 SL:174\nFA74  B0 70     BCS $FAE6                       A:65 X:02 Y:DC P:64 SP:F9 CYC:129 SL:174\nFA76  C9 65     CMP #$65                        A:65 X:02 Y:DC P:64 SP:F9 CYC:135 SL:174\nFA78  D0 6C     BNE $FAE6                       A:65 X:02 Y:DC P:67 SP:F9 CYC:141 SL:174\nFA7A  60        RTS                             A:65 X:02 Y:DC P:67 SP:F9 CYC:147 SL:174\nF15C  AD 47 06  LDA $0647 = 6F                  A:65 X:02 Y:DC P:67 SP:FB CYC:165 SL:174\nF15F  C9 6F     CMP #$6F                        A:6F X:02 Y:DC P:65 SP:FB CYC:177 SL:174\nF161  F0 02     BEQ $F165                       A:6F X:02 Y:DC P:67 SP:FB CYC:183 SL:174\nF165  A9 A5     LDA #$A5                        A:6F X:02 Y:DC P:67 SP:FB CYC:192 SL:174\nF167  8D 47 06  STA $0647 = 6F                  A:A5 X:02 Y:DC P:E5 SP:FB CYC:198 SL:174\nF16A  A9 48     LDA #$48                        A:A5 X:02 Y:DC P:E5 SP:FB CYC:210 SL:174\nF16C  85 45     STA $45 = 48                    A:48 X:02 Y:DC P:65 SP:FB CYC:216 SL:174\nF16E  A9 05     LDA #$05                        A:48 X:02 Y:DC P:65 SP:FB CYC:225 SL:174\nF170  85 46     STA $46 = 05                    A:05 X:02 Y:DC P:65 SP:FB CYC:231 SL:174\nF172  A0 FF     LDY #$FF                        A:05 X:02 Y:DC P:65 SP:FB CYC:240 SL:174\nF174  20 53 FB  JSR $FB53                       A:05 X:02 Y:FF P:E5 SP:FB CYC:246 SL:174\nFB53  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:E5 SP:F9 CYC:264 SL:174\nFB55  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC:273 SL:174\nFB56  A9 B3     LDA #$B3                        A:05 X:02 Y:FF P:E4 SP:F9 CYC:279 SL:174\nFB58  60        RTS                             A:B3 X:02 Y:FF P:E4 SP:F9 CYC:285 SL:174\nF177  33 45    *RLA ($45),Y = 0548 @ 0647 = A5  A:B3 X:02 Y:FF P:E4 SP:FB CYC:303 SL:174\nF179  EA        NOP                             A:02 X:02 Y:FF P:65 SP:FB CYC:327 SL:174\nF17A  EA        NOP                             A:02 X:02 Y:FF P:65 SP:FB CYC:333 SL:174\nF17B  08        PHP                             A:02 X:02 Y:FF P:65 SP:FB CYC:339 SL:174\nF17C  48        PHA                             A:02 X:02 Y:FF P:65 SP:FA CYC:  7 SL:175\nF17D  A0 DD     LDY #$DD                        A:02 X:02 Y:FF P:65 SP:F9 CYC: 16 SL:175\nF17F  68        PLA                             A:02 X:02 Y:DD P:E5 SP:F9 CYC: 22 SL:175\nF180  28        PLP                             A:02 X:02 Y:DD P:65 SP:FA CYC: 34 SL:175\nF181  20 59 FB  JSR $FB59                       A:02 X:02 Y:DD P:65 SP:FB CYC: 46 SL:175\nFB59  50 1A     BVC $FB75                       A:02 X:02 Y:DD P:65 SP:F9 CYC: 64 SL:175\nFB5B  90 18     BCC $FB75                       A:02 X:02 Y:DD P:65 SP:F9 CYC: 70 SL:175\nFB5D  30 16     BMI $FB75                       A:02 X:02 Y:DD P:65 SP:F9 CYC: 76 SL:175\nFB5F  C9 02     CMP #$02                        A:02 X:02 Y:DD P:65 SP:F9 CYC: 82 SL:175\nFB61  D0 12     BNE $FB75                       A:02 X:02 Y:DD P:67 SP:F9 CYC: 88 SL:175\nFB63  60        RTS                             A:02 X:02 Y:DD P:67 SP:F9 CYC: 94 SL:175\nF184  AD 47 06  LDA $0647 = 4A                  A:02 X:02 Y:DD P:67 SP:FB CYC:112 SL:175\nF187  C9 4A     CMP #$4A                        A:4A X:02 Y:DD P:65 SP:FB CYC:124 SL:175\nF189  F0 02     BEQ $F18D                       A:4A X:02 Y:DD P:67 SP:FB CYC:130 SL:175\nF18D  A0 FF     LDY #$FF                        A:4A X:02 Y:DD P:67 SP:FB CYC:139 SL:175\nF18F  A9 29     LDA #$29                        A:4A X:02 Y:FF P:E5 SP:FB CYC:145 SL:175\nF191  8D 47 06  STA $0647 = 4A                  A:29 X:02 Y:FF P:65 SP:FB CYC:151 SL:175\nF194  20 64 FB  JSR $FB64                       A:29 X:02 Y:FF P:65 SP:FB CYC:163 SL:175\nFB64  B8        CLV                             A:29 X:02 Y:FF P:65 SP:F9 CYC:181 SL:175\nFB65  18        CLC                             A:29 X:02 Y:FF P:25 SP:F9 CYC:187 SL:175\nFB66  A9 42     LDA #$42                        A:29 X:02 Y:FF P:24 SP:F9 CYC:193 SL:175\nFB68  60        RTS                             A:42 X:02 Y:FF P:24 SP:F9 CYC:199 SL:175\nF197  33 45    *RLA ($45),Y = 0548 @ 0647 = 29  A:42 X:02 Y:FF P:24 SP:FB CYC:217 SL:175\nF199  EA        NOP                             A:42 X:02 Y:FF P:24 SP:FB CYC:241 SL:175\nF19A  EA        NOP                             A:42 X:02 Y:FF P:24 SP:FB CYC:247 SL:175\nF19B  08        PHP                             A:42 X:02 Y:FF P:24 SP:FB CYC:253 SL:175\nF19C  48        PHA                             A:42 X:02 Y:FF P:24 SP:FA CYC:262 SL:175\nF19D  A0 DE     LDY #$DE                        A:42 X:02 Y:FF P:24 SP:F9 CYC:271 SL:175\nF19F  68        PLA                             A:42 X:02 Y:DE P:A4 SP:F9 CYC:277 SL:175\nF1A0  28        PLP                             A:42 X:02 Y:DE P:24 SP:FA CYC:289 SL:175\nF1A1  20 69 FB  JSR $FB69                       A:42 X:02 Y:DE P:24 SP:FB CYC:301 SL:175\nFB69  70 0A     BVS $FB75                       A:42 X:02 Y:DE P:24 SP:F9 CYC:319 SL:175\nFB6B  F0 08     BEQ $FB75                       A:42 X:02 Y:DE P:24 SP:F9 CYC:325 SL:175\nFB6D  30 06     BMI $FB75                       A:42 X:02 Y:DE P:24 SP:F9 CYC:331 SL:175\nFB6F  B0 04     BCS $FB75                       A:42 X:02 Y:DE P:24 SP:F9 CYC:337 SL:175\nFB71  C9 42     CMP #$42                        A:42 X:02 Y:DE P:24 SP:F9 CYC:  2 SL:176\nFB73  F0 02     BEQ $FB77                       A:42 X:02 Y:DE P:27 SP:F9 CYC:  8 SL:176\nFB77  60        RTS                             A:42 X:02 Y:DE P:27 SP:F9 CYC: 17 SL:176\nF1A4  AD 47 06  LDA $0647 = 52                  A:42 X:02 Y:DE P:27 SP:FB CYC: 35 SL:176\nF1A7  C9 52     CMP #$52                        A:52 X:02 Y:DE P:25 SP:FB CYC: 47 SL:176\nF1A9  F0 02     BEQ $F1AD                       A:52 X:02 Y:DE P:27 SP:FB CYC: 53 SL:176\nF1AD  A0 FF     LDY #$FF                        A:52 X:02 Y:DE P:27 SP:FB CYC: 62 SL:176\nF1AF  A9 37     LDA #$37                        A:52 X:02 Y:FF P:A5 SP:FB CYC: 68 SL:176\nF1B1  8D 47 06  STA $0647 = 52                  A:37 X:02 Y:FF P:25 SP:FB CYC: 74 SL:176\nF1B4  20 68 FA  JSR $FA68                       A:37 X:02 Y:FF P:25 SP:FB CYC: 86 SL:176\nFA68  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC:104 SL:176\nFA6A  38        SEC                             A:37 X:02 Y:FF P:E5 SP:F9 CYC:113 SL:176\nFA6B  A9 75     LDA #$75                        A:37 X:02 Y:FF P:E5 SP:F9 CYC:119 SL:176\nFA6D  60        RTS                             A:75 X:02 Y:FF P:65 SP:F9 CYC:125 SL:176\nF1B7  33 45    *RLA ($45),Y = 0548 @ 0647 = 37  A:75 X:02 Y:FF P:65 SP:FB CYC:143 SL:176\nF1B9  EA        NOP                             A:65 X:02 Y:FF P:64 SP:FB CYC:167 SL:176\nF1BA  EA        NOP                             A:65 X:02 Y:FF P:64 SP:FB CYC:173 SL:176\nF1BB  08        PHP                             A:65 X:02 Y:FF P:64 SP:FB CYC:179 SL:176\nF1BC  48        PHA                             A:65 X:02 Y:FF P:64 SP:FA CYC:188 SL:176\nF1BD  A0 DF     LDY #$DF                        A:65 X:02 Y:FF P:64 SP:F9 CYC:197 SL:176\nF1BF  68        PLA                             A:65 X:02 Y:DF P:E4 SP:F9 CYC:203 SL:176\nF1C0  28        PLP                             A:65 X:02 Y:DF P:64 SP:FA CYC:215 SL:176\nF1C1  20 6E FA  JSR $FA6E                       A:65 X:02 Y:DF P:64 SP:FB CYC:227 SL:176\nFA6E  50 76     BVC $FAE6                       A:65 X:02 Y:DF P:64 SP:F9 CYC:245 SL:176\nFA70  F0 74     BEQ $FAE6                       A:65 X:02 Y:DF P:64 SP:F9 CYC:251 SL:176\nFA72  30 72     BMI $FAE6                       A:65 X:02 Y:DF P:64 SP:F9 CYC:257 SL:176\nFA74  B0 70     BCS $FAE6                       A:65 X:02 Y:DF P:64 SP:F9 CYC:263 SL:176\nFA76  C9 65     CMP #$65                        A:65 X:02 Y:DF P:64 SP:F9 CYC:269 SL:176\nFA78  D0 6C     BNE $FAE6                       A:65 X:02 Y:DF P:67 SP:F9 CYC:275 SL:176\nFA7A  60        RTS                             A:65 X:02 Y:DF P:67 SP:F9 CYC:281 SL:176\nF1C4  AD 47 06  LDA $0647 = 6F                  A:65 X:02 Y:DF P:67 SP:FB CYC:299 SL:176\nF1C7  C9 6F     CMP #$6F                        A:6F X:02 Y:DF P:65 SP:FB CYC:311 SL:176\nF1C9  F0 02     BEQ $F1CD                       A:6F X:02 Y:DF P:67 SP:FB CYC:317 SL:176\nF1CD  A0 E0     LDY #$E0                        A:6F X:02 Y:DF P:67 SP:FB CYC:326 SL:176\nF1CF  A2 FF     LDX #$FF                        A:6F X:02 Y:E0 P:E5 SP:FB CYC:332 SL:176\nF1D1  A9 A5     LDA #$A5                        A:6F X:FF Y:E0 P:E5 SP:FB CYC:338 SL:176\nF1D3  85 47     STA $47 = 6F                    A:A5 X:FF Y:E0 P:E5 SP:FB CYC:  3 SL:177\nF1D5  20 53 FB  JSR $FB53                       A:A5 X:FF Y:E0 P:E5 SP:FB CYC: 12 SL:177\nFB53  24 01     BIT $01 = FF                    A:A5 X:FF Y:E0 P:E5 SP:F9 CYC: 30 SL:177\nFB55  18        CLC                             A:A5 X:FF Y:E0 P:E5 SP:F9 CYC: 39 SL:177\nFB56  A9 B3     LDA #$B3                        A:A5 X:FF Y:E0 P:E4 SP:F9 CYC: 45 SL:177\nFB58  60        RTS                             A:B3 X:FF Y:E0 P:E4 SP:F9 CYC: 51 SL:177\nF1D8  37 48    *RLA $48,X @ 47 = A5             A:B3 X:FF Y:E0 P:E4 SP:FB CYC: 69 SL:177\nF1DA  EA        NOP                             A:02 X:FF Y:E0 P:65 SP:FB CYC: 87 SL:177\nF1DB  EA        NOP                             A:02 X:FF Y:E0 P:65 SP:FB CYC: 93 SL:177\nF1DC  EA        NOP                             A:02 X:FF Y:E0 P:65 SP:FB CYC: 99 SL:177\nF1DD  EA        NOP                             A:02 X:FF Y:E0 P:65 SP:FB CYC:105 SL:177\nF1DE  20 59 FB  JSR $FB59                       A:02 X:FF Y:E0 P:65 SP:FB CYC:111 SL:177\nFB59  50 1A     BVC $FB75                       A:02 X:FF Y:E0 P:65 SP:F9 CYC:129 SL:177\nFB5B  90 18     BCC $FB75                       A:02 X:FF Y:E0 P:65 SP:F9 CYC:135 SL:177\nFB5D  30 16     BMI $FB75                       A:02 X:FF Y:E0 P:65 SP:F9 CYC:141 SL:177\nFB5F  C9 02     CMP #$02                        A:02 X:FF Y:E0 P:65 SP:F9 CYC:147 SL:177\nFB61  D0 12     BNE $FB75                       A:02 X:FF Y:E0 P:67 SP:F9 CYC:153 SL:177\nFB63  60        RTS                             A:02 X:FF Y:E0 P:67 SP:F9 CYC:159 SL:177\nF1E1  A5 47     LDA $47 = 4A                    A:02 X:FF Y:E0 P:67 SP:FB CYC:177 SL:177\nF1E3  C9 4A     CMP #$4A                        A:4A X:FF Y:E0 P:65 SP:FB CYC:186 SL:177\nF1E5  F0 02     BEQ $F1E9                       A:4A X:FF Y:E0 P:67 SP:FB CYC:192 SL:177\nF1E9  C8        INY                             A:4A X:FF Y:E0 P:67 SP:FB CYC:201 SL:177\nF1EA  A9 29     LDA #$29                        A:4A X:FF Y:E1 P:E5 SP:FB CYC:207 SL:177\nF1EC  85 47     STA $47 = 4A                    A:29 X:FF Y:E1 P:65 SP:FB CYC:213 SL:177\nF1EE  20 64 FB  JSR $FB64                       A:29 X:FF Y:E1 P:65 SP:FB CYC:222 SL:177\nFB64  B8        CLV                             A:29 X:FF Y:E1 P:65 SP:F9 CYC:240 SL:177\nFB65  18        CLC                             A:29 X:FF Y:E1 P:25 SP:F9 CYC:246 SL:177\nFB66  A9 42     LDA #$42                        A:29 X:FF Y:E1 P:24 SP:F9 CYC:252 SL:177\nFB68  60        RTS                             A:42 X:FF Y:E1 P:24 SP:F9 CYC:258 SL:177\nF1F1  37 48    *RLA $48,X @ 47 = 29             A:42 X:FF Y:E1 P:24 SP:FB CYC:276 SL:177\nF1F3  EA        NOP                             A:42 X:FF Y:E1 P:24 SP:FB CYC:294 SL:177\nF1F4  EA        NOP                             A:42 X:FF Y:E1 P:24 SP:FB CYC:300 SL:177\nF1F5  EA        NOP                             A:42 X:FF Y:E1 P:24 SP:FB CYC:306 SL:177\nF1F6  EA        NOP                             A:42 X:FF Y:E1 P:24 SP:FB CYC:312 SL:177\nF1F7  20 69 FB  JSR $FB69                       A:42 X:FF Y:E1 P:24 SP:FB CYC:318 SL:177\nFB69  70 0A     BVS $FB75                       A:42 X:FF Y:E1 P:24 SP:F9 CYC:336 SL:177\nFB6B  F0 08     BEQ $FB75                       A:42 X:FF Y:E1 P:24 SP:F9 CYC:  1 SL:178\nFB6D  30 06     BMI $FB75                       A:42 X:FF Y:E1 P:24 SP:F9 CYC:  7 SL:178\nFB6F  B0 04     BCS $FB75                       A:42 X:FF Y:E1 P:24 SP:F9 CYC: 13 SL:178\nFB71  C9 42     CMP #$42                        A:42 X:FF Y:E1 P:24 SP:F9 CYC: 19 SL:178\nFB73  F0 02     BEQ $FB77                       A:42 X:FF Y:E1 P:27 SP:F9 CYC: 25 SL:178\nFB77  60        RTS                             A:42 X:FF Y:E1 P:27 SP:F9 CYC: 34 SL:178\nF1FA  A5 47     LDA $47 = 52                    A:42 X:FF Y:E1 P:27 SP:FB CYC: 52 SL:178\nF1FC  C9 52     CMP #$52                        A:52 X:FF Y:E1 P:25 SP:FB CYC: 61 SL:178\nF1FE  F0 02     BEQ $F202                       A:52 X:FF Y:E1 P:27 SP:FB CYC: 67 SL:178\nF202  C8        INY                             A:52 X:FF Y:E1 P:27 SP:FB CYC: 76 SL:178\nF203  A9 37     LDA #$37                        A:52 X:FF Y:E2 P:A5 SP:FB CYC: 82 SL:178\nF205  85 47     STA $47 = 52                    A:37 X:FF Y:E2 P:25 SP:FB CYC: 88 SL:178\nF207  20 68 FA  JSR $FA68                       A:37 X:FF Y:E2 P:25 SP:FB CYC: 97 SL:178\nFA68  24 01     BIT $01 = FF                    A:37 X:FF Y:E2 P:25 SP:F9 CYC:115 SL:178\nFA6A  38        SEC                             A:37 X:FF Y:E2 P:E5 SP:F9 CYC:124 SL:178\nFA6B  A9 75     LDA #$75                        A:37 X:FF Y:E2 P:E5 SP:F9 CYC:130 SL:178\nFA6D  60        RTS                             A:75 X:FF Y:E2 P:65 SP:F9 CYC:136 SL:178\nF20A  37 48    *RLA $48,X @ 47 = 37             A:75 X:FF Y:E2 P:65 SP:FB CYC:154 SL:178\nF20C  EA        NOP                             A:65 X:FF Y:E2 P:64 SP:FB CYC:172 SL:178\nF20D  EA        NOP                             A:65 X:FF Y:E2 P:64 SP:FB CYC:178 SL:178\nF20E  EA        NOP                             A:65 X:FF Y:E2 P:64 SP:FB CYC:184 SL:178\nF20F  EA        NOP                             A:65 X:FF Y:E2 P:64 SP:FB CYC:190 SL:178\nF210  20 6E FA  JSR $FA6E                       A:65 X:FF Y:E2 P:64 SP:FB CYC:196 SL:178\nFA6E  50 76     BVC $FAE6                       A:65 X:FF Y:E2 P:64 SP:F9 CYC:214 SL:178\nFA70  F0 74     BEQ $FAE6                       A:65 X:FF Y:E2 P:64 SP:F9 CYC:220 SL:178\nFA72  30 72     BMI $FAE6                       A:65 X:FF Y:E2 P:64 SP:F9 CYC:226 SL:178\nFA74  B0 70     BCS $FAE6                       A:65 X:FF Y:E2 P:64 SP:F9 CYC:232 SL:178\nFA76  C9 65     CMP #$65                        A:65 X:FF Y:E2 P:64 SP:F9 CYC:238 SL:178\nFA78  D0 6C     BNE $FAE6                       A:65 X:FF Y:E2 P:67 SP:F9 CYC:244 SL:178\nFA7A  60        RTS                             A:65 X:FF Y:E2 P:67 SP:F9 CYC:250 SL:178\nF213  A5 47     LDA $47 = 6F                    A:65 X:FF Y:E2 P:67 SP:FB CYC:268 SL:178\nF215  C9 6F     CMP #$6F                        A:6F X:FF Y:E2 P:65 SP:FB CYC:277 SL:178\nF217  F0 02     BEQ $F21B                       A:6F X:FF Y:E2 P:67 SP:FB CYC:283 SL:178\nF21B  A9 A5     LDA #$A5                        A:6F X:FF Y:E2 P:67 SP:FB CYC:292 SL:178\nF21D  8D 47 06  STA $0647 = 6F                  A:A5 X:FF Y:E2 P:E5 SP:FB CYC:298 SL:178\nF220  A0 FF     LDY #$FF                        A:A5 X:FF Y:E2 P:E5 SP:FB CYC:310 SL:178\nF222  20 53 FB  JSR $FB53                       A:A5 X:FF Y:FF P:E5 SP:FB CYC:316 SL:178\nFB53  24 01     BIT $01 = FF                    A:A5 X:FF Y:FF P:E5 SP:F9 CYC:334 SL:178\nFB55  18        CLC                             A:A5 X:FF Y:FF P:E5 SP:F9 CYC:  2 SL:179\nFB56  A9 B3     LDA #$B3                        A:A5 X:FF Y:FF P:E4 SP:F9 CYC:  8 SL:179\nFB58  60        RTS                             A:B3 X:FF Y:FF P:E4 SP:F9 CYC: 14 SL:179\nF225  3B 48 05 *RLA $0548,Y @ 0647 = A5         A:B3 X:FF Y:FF P:E4 SP:FB CYC: 32 SL:179\nF228  EA        NOP                             A:02 X:FF Y:FF P:65 SP:FB CYC: 53 SL:179\nF229  EA        NOP                             A:02 X:FF Y:FF P:65 SP:FB CYC: 59 SL:179\nF22A  08        PHP                             A:02 X:FF Y:FF P:65 SP:FB CYC: 65 SL:179\nF22B  48        PHA                             A:02 X:FF Y:FF P:65 SP:FA CYC: 74 SL:179\nF22C  A0 E3     LDY #$E3                        A:02 X:FF Y:FF P:65 SP:F9 CYC: 83 SL:179\nF22E  68        PLA                             A:02 X:FF Y:E3 P:E5 SP:F9 CYC: 89 SL:179\nF22F  28        PLP                             A:02 X:FF Y:E3 P:65 SP:FA CYC:101 SL:179\nF230  20 59 FB  JSR $FB59                       A:02 X:FF Y:E3 P:65 SP:FB CYC:113 SL:179\nFB59  50 1A     BVC $FB75                       A:02 X:FF Y:E3 P:65 SP:F9 CYC:131 SL:179\nFB5B  90 18     BCC $FB75                       A:02 X:FF Y:E3 P:65 SP:F9 CYC:137 SL:179\nFB5D  30 16     BMI $FB75                       A:02 X:FF Y:E3 P:65 SP:F9 CYC:143 SL:179\nFB5F  C9 02     CMP #$02                        A:02 X:FF Y:E3 P:65 SP:F9 CYC:149 SL:179\nFB61  D0 12     BNE $FB75                       A:02 X:FF Y:E3 P:67 SP:F9 CYC:155 SL:179\nFB63  60        RTS                             A:02 X:FF Y:E3 P:67 SP:F9 CYC:161 SL:179\nF233  AD 47 06  LDA $0647 = 4A                  A:02 X:FF Y:E3 P:67 SP:FB CYC:179 SL:179\nF236  C9 4A     CMP #$4A                        A:4A X:FF Y:E3 P:65 SP:FB CYC:191 SL:179\nF238  F0 02     BEQ $F23C                       A:4A X:FF Y:E3 P:67 SP:FB CYC:197 SL:179\nF23C  A0 FF     LDY #$FF                        A:4A X:FF Y:E3 P:67 SP:FB CYC:206 SL:179\nF23E  A9 29     LDA #$29                        A:4A X:FF Y:FF P:E5 SP:FB CYC:212 SL:179\nF240  8D 47 06  STA $0647 = 4A                  A:29 X:FF Y:FF P:65 SP:FB CYC:218 SL:179\nF243  20 64 FB  JSR $FB64                       A:29 X:FF Y:FF P:65 SP:FB CYC:230 SL:179\nFB64  B8        CLV                             A:29 X:FF Y:FF P:65 SP:F9 CYC:248 SL:179\nFB65  18        CLC                             A:29 X:FF Y:FF P:25 SP:F9 CYC:254 SL:179\nFB66  A9 42     LDA #$42                        A:29 X:FF Y:FF P:24 SP:F9 CYC:260 SL:179\nFB68  60        RTS                             A:42 X:FF Y:FF P:24 SP:F9 CYC:266 SL:179\nF246  3B 48 05 *RLA $0548,Y @ 0647 = 29         A:42 X:FF Y:FF P:24 SP:FB CYC:284 SL:179\nF249  EA        NOP                             A:42 X:FF Y:FF P:24 SP:FB CYC:305 SL:179\nF24A  EA        NOP                             A:42 X:FF Y:FF P:24 SP:FB CYC:311 SL:179\nF24B  08        PHP                             A:42 X:FF Y:FF P:24 SP:FB CYC:317 SL:179\nF24C  48        PHA                             A:42 X:FF Y:FF P:24 SP:FA CYC:326 SL:179\nF24D  A0 E4     LDY #$E4                        A:42 X:FF Y:FF P:24 SP:F9 CYC:335 SL:179\nF24F  68        PLA                             A:42 X:FF Y:E4 P:A4 SP:F9 CYC:  0 SL:180\nF250  28        PLP                             A:42 X:FF Y:E4 P:24 SP:FA CYC: 12 SL:180\nF251  20 69 FB  JSR $FB69                       A:42 X:FF Y:E4 P:24 SP:FB CYC: 24 SL:180\nFB69  70 0A     BVS $FB75                       A:42 X:FF Y:E4 P:24 SP:F9 CYC: 42 SL:180\nFB6B  F0 08     BEQ $FB75                       A:42 X:FF Y:E4 P:24 SP:F9 CYC: 48 SL:180\nFB6D  30 06     BMI $FB75                       A:42 X:FF Y:E4 P:24 SP:F9 CYC: 54 SL:180\nFB6F  B0 04     BCS $FB75                       A:42 X:FF Y:E4 P:24 SP:F9 CYC: 60 SL:180\nFB71  C9 42     CMP #$42                        A:42 X:FF Y:E4 P:24 SP:F9 CYC: 66 SL:180\nFB73  F0 02     BEQ $FB77                       A:42 X:FF Y:E4 P:27 SP:F9 CYC: 72 SL:180\nFB77  60        RTS                             A:42 X:FF Y:E4 P:27 SP:F9 CYC: 81 SL:180\nF254  AD 47 06  LDA $0647 = 52                  A:42 X:FF Y:E4 P:27 SP:FB CYC: 99 SL:180\nF257  C9 52     CMP #$52                        A:52 X:FF Y:E4 P:25 SP:FB CYC:111 SL:180\nF259  F0 02     BEQ $F25D                       A:52 X:FF Y:E4 P:27 SP:FB CYC:117 SL:180\nF25D  A0 FF     LDY #$FF                        A:52 X:FF Y:E4 P:27 SP:FB CYC:126 SL:180\nF25F  A9 37     LDA #$37                        A:52 X:FF Y:FF P:A5 SP:FB CYC:132 SL:180\nF261  8D 47 06  STA $0647 = 52                  A:37 X:FF Y:FF P:25 SP:FB CYC:138 SL:180\nF264  20 68 FA  JSR $FA68                       A:37 X:FF Y:FF P:25 SP:FB CYC:150 SL:180\nFA68  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC:168 SL:180\nFA6A  38        SEC                             A:37 X:FF Y:FF P:E5 SP:F9 CYC:177 SL:180\nFA6B  A9 75     LDA #$75                        A:37 X:FF Y:FF P:E5 SP:F9 CYC:183 SL:180\nFA6D  60        RTS                             A:75 X:FF Y:FF P:65 SP:F9 CYC:189 SL:180\nF267  3B 48 05 *RLA $0548,Y @ 0647 = 37         A:75 X:FF Y:FF P:65 SP:FB CYC:207 SL:180\nF26A  EA        NOP                             A:65 X:FF Y:FF P:64 SP:FB CYC:228 SL:180\nF26B  EA        NOP                             A:65 X:FF Y:FF P:64 SP:FB CYC:234 SL:180\nF26C  08        PHP                             A:65 X:FF Y:FF P:64 SP:FB CYC:240 SL:180\nF26D  48        PHA                             A:65 X:FF Y:FF P:64 SP:FA CYC:249 SL:180\nF26E  A0 E5     LDY #$E5                        A:65 X:FF Y:FF P:64 SP:F9 CYC:258 SL:180\nF270  68        PLA                             A:65 X:FF Y:E5 P:E4 SP:F9 CYC:264 SL:180\nF271  28        PLP                             A:65 X:FF Y:E5 P:64 SP:FA CYC:276 SL:180\nF272  20 6E FA  JSR $FA6E                       A:65 X:FF Y:E5 P:64 SP:FB CYC:288 SL:180\nFA6E  50 76     BVC $FAE6                       A:65 X:FF Y:E5 P:64 SP:F9 CYC:306 SL:180\nFA70  F0 74     BEQ $FAE6                       A:65 X:FF Y:E5 P:64 SP:F9 CYC:312 SL:180\nFA72  30 72     BMI $FAE6                       A:65 X:FF Y:E5 P:64 SP:F9 CYC:318 SL:180\nFA74  B0 70     BCS $FAE6                       A:65 X:FF Y:E5 P:64 SP:F9 CYC:324 SL:180\nFA76  C9 65     CMP #$65                        A:65 X:FF Y:E5 P:64 SP:F9 CYC:330 SL:180\nFA78  D0 6C     BNE $FAE6                       A:65 X:FF Y:E5 P:67 SP:F9 CYC:336 SL:180\nFA7A  60        RTS                             A:65 X:FF Y:E5 P:67 SP:F9 CYC:  1 SL:181\nF275  AD 47 06  LDA $0647 = 6F                  A:65 X:FF Y:E5 P:67 SP:FB CYC: 19 SL:181\nF278  C9 6F     CMP #$6F                        A:6F X:FF Y:E5 P:65 SP:FB CYC: 31 SL:181\nF27A  F0 02     BEQ $F27E                       A:6F X:FF Y:E5 P:67 SP:FB CYC: 37 SL:181\nF27E  A0 E6     LDY #$E6                        A:6F X:FF Y:E5 P:67 SP:FB CYC: 46 SL:181\nF280  A2 FF     LDX #$FF                        A:6F X:FF Y:E6 P:E5 SP:FB CYC: 52 SL:181\nF282  A9 A5     LDA #$A5                        A:6F X:FF Y:E6 P:E5 SP:FB CYC: 58 SL:181\nF284  8D 47 06  STA $0647 = 6F                  A:A5 X:FF Y:E6 P:E5 SP:FB CYC: 64 SL:181\nF287  20 53 FB  JSR $FB53                       A:A5 X:FF Y:E6 P:E5 SP:FB CYC: 76 SL:181\nFB53  24 01     BIT $01 = FF                    A:A5 X:FF Y:E6 P:E5 SP:F9 CYC: 94 SL:181\nFB55  18        CLC                             A:A5 X:FF Y:E6 P:E5 SP:F9 CYC:103 SL:181\nFB56  A9 B3     LDA #$B3                        A:A5 X:FF Y:E6 P:E4 SP:F9 CYC:109 SL:181\nFB58  60        RTS                             A:B3 X:FF Y:E6 P:E4 SP:F9 CYC:115 SL:181\nF28A  3F 48 05 *RLA $0548,X @ 0647 = A5         A:B3 X:FF Y:E6 P:E4 SP:FB CYC:133 SL:181\nF28D  EA        NOP                             A:02 X:FF Y:E6 P:65 SP:FB CYC:154 SL:181\nF28E  EA        NOP                             A:02 X:FF Y:E6 P:65 SP:FB CYC:160 SL:181\nF28F  EA        NOP                             A:02 X:FF Y:E6 P:65 SP:FB CYC:166 SL:181\nF290  EA        NOP                             A:02 X:FF Y:E6 P:65 SP:FB CYC:172 SL:181\nF291  20 59 FB  JSR $FB59                       A:02 X:FF Y:E6 P:65 SP:FB CYC:178 SL:181\nFB59  50 1A     BVC $FB75                       A:02 X:FF Y:E6 P:65 SP:F9 CYC:196 SL:181\nFB5B  90 18     BCC $FB75                       A:02 X:FF Y:E6 P:65 SP:F9 CYC:202 SL:181\nFB5D  30 16     BMI $FB75                       A:02 X:FF Y:E6 P:65 SP:F9 CYC:208 SL:181\nFB5F  C9 02     CMP #$02                        A:02 X:FF Y:E6 P:65 SP:F9 CYC:214 SL:181\nFB61  D0 12     BNE $FB75                       A:02 X:FF Y:E6 P:67 SP:F9 CYC:220 SL:181\nFB63  60        RTS                             A:02 X:FF Y:E6 P:67 SP:F9 CYC:226 SL:181\nF294  AD 47 06  LDA $0647 = 4A                  A:02 X:FF Y:E6 P:67 SP:FB CYC:244 SL:181\nF297  C9 4A     CMP #$4A                        A:4A X:FF Y:E6 P:65 SP:FB CYC:256 SL:181\nF299  F0 02     BEQ $F29D                       A:4A X:FF Y:E6 P:67 SP:FB CYC:262 SL:181\nF29D  C8        INY                             A:4A X:FF Y:E6 P:67 SP:FB CYC:271 SL:181\nF29E  A9 29     LDA #$29                        A:4A X:FF Y:E7 P:E5 SP:FB CYC:277 SL:181\nF2A0  8D 47 06  STA $0647 = 4A                  A:29 X:FF Y:E7 P:65 SP:FB CYC:283 SL:181\nF2A3  20 64 FB  JSR $FB64                       A:29 X:FF Y:E7 P:65 SP:FB CYC:295 SL:181\nFB64  B8        CLV                             A:29 X:FF Y:E7 P:65 SP:F9 CYC:313 SL:181\nFB65  18        CLC                             A:29 X:FF Y:E7 P:25 SP:F9 CYC:319 SL:181\nFB66  A9 42     LDA #$42                        A:29 X:FF Y:E7 P:24 SP:F9 CYC:325 SL:181\nFB68  60        RTS                             A:42 X:FF Y:E7 P:24 SP:F9 CYC:331 SL:181\nF2A6  3F 48 05 *RLA $0548,X @ 0647 = 29         A:42 X:FF Y:E7 P:24 SP:FB CYC:  8 SL:182\nF2A9  EA        NOP                             A:42 X:FF Y:E7 P:24 SP:FB CYC: 29 SL:182\nF2AA  EA        NOP                             A:42 X:FF Y:E7 P:24 SP:FB CYC: 35 SL:182\nF2AB  EA        NOP                             A:42 X:FF Y:E7 P:24 SP:FB CYC: 41 SL:182\nF2AC  EA        NOP                             A:42 X:FF Y:E7 P:24 SP:FB CYC: 47 SL:182\nF2AD  20 69 FB  JSR $FB69                       A:42 X:FF Y:E7 P:24 SP:FB CYC: 53 SL:182\nFB69  70 0A     BVS $FB75                       A:42 X:FF Y:E7 P:24 SP:F9 CYC: 71 SL:182\nFB6B  F0 08     BEQ $FB75                       A:42 X:FF Y:E7 P:24 SP:F9 CYC: 77 SL:182\nFB6D  30 06     BMI $FB75                       A:42 X:FF Y:E7 P:24 SP:F9 CYC: 83 SL:182\nFB6F  B0 04     BCS $FB75                       A:42 X:FF Y:E7 P:24 SP:F9 CYC: 89 SL:182\nFB71  C9 42     CMP #$42                        A:42 X:FF Y:E7 P:24 SP:F9 CYC: 95 SL:182\nFB73  F0 02     BEQ $FB77                       A:42 X:FF Y:E7 P:27 SP:F9 CYC:101 SL:182\nFB77  60        RTS                             A:42 X:FF Y:E7 P:27 SP:F9 CYC:110 SL:182\nF2B0  AD 47 06  LDA $0647 = 52                  A:42 X:FF Y:E7 P:27 SP:FB CYC:128 SL:182\nF2B3  C9 52     CMP #$52                        A:52 X:FF Y:E7 P:25 SP:FB CYC:140 SL:182\nF2B5  F0 02     BEQ $F2B9                       A:52 X:FF Y:E7 P:27 SP:FB CYC:146 SL:182\nF2B9  C8        INY                             A:52 X:FF Y:E7 P:27 SP:FB CYC:155 SL:182\nF2BA  A9 37     LDA #$37                        A:52 X:FF Y:E8 P:A5 SP:FB CYC:161 SL:182\nF2BC  8D 47 06  STA $0647 = 52                  A:37 X:FF Y:E8 P:25 SP:FB CYC:167 SL:182\nF2BF  20 68 FA  JSR $FA68                       A:37 X:FF Y:E8 P:25 SP:FB CYC:179 SL:182\nFA68  24 01     BIT $01 = FF                    A:37 X:FF Y:E8 P:25 SP:F9 CYC:197 SL:182\nFA6A  38        SEC                             A:37 X:FF Y:E8 P:E5 SP:F9 CYC:206 SL:182\nFA6B  A9 75     LDA #$75                        A:37 X:FF Y:E8 P:E5 SP:F9 CYC:212 SL:182\nFA6D  60        RTS                             A:75 X:FF Y:E8 P:65 SP:F9 CYC:218 SL:182\nF2C2  3F 48 05 *RLA $0548,X @ 0647 = 37         A:75 X:FF Y:E8 P:65 SP:FB CYC:236 SL:182\nF2C5  EA        NOP                             A:65 X:FF Y:E8 P:64 SP:FB CYC:257 SL:182\nF2C6  EA        NOP                             A:65 X:FF Y:E8 P:64 SP:FB CYC:263 SL:182\nF2C7  EA        NOP                             A:65 X:FF Y:E8 P:64 SP:FB CYC:269 SL:182\nF2C8  EA        NOP                             A:65 X:FF Y:E8 P:64 SP:FB CYC:275 SL:182\nF2C9  20 6E FA  JSR $FA6E                       A:65 X:FF Y:E8 P:64 SP:FB CYC:281 SL:182\nFA6E  50 76     BVC $FAE6                       A:65 X:FF Y:E8 P:64 SP:F9 CYC:299 SL:182\nFA70  F0 74     BEQ $FAE6                       A:65 X:FF Y:E8 P:64 SP:F9 CYC:305 SL:182\nFA72  30 72     BMI $FAE6                       A:65 X:FF Y:E8 P:64 SP:F9 CYC:311 SL:182\nFA74  B0 70     BCS $FAE6                       A:65 X:FF Y:E8 P:64 SP:F9 CYC:317 SL:182\nFA76  C9 65     CMP #$65                        A:65 X:FF Y:E8 P:64 SP:F9 CYC:323 SL:182\nFA78  D0 6C     BNE $FAE6                       A:65 X:FF Y:E8 P:67 SP:F9 CYC:329 SL:182\nFA7A  60        RTS                             A:65 X:FF Y:E8 P:67 SP:F9 CYC:335 SL:182\nF2CC  AD 47 06  LDA $0647 = 6F                  A:65 X:FF Y:E8 P:67 SP:FB CYC: 12 SL:183\nF2CF  C9 6F     CMP #$6F                        A:6F X:FF Y:E8 P:65 SP:FB CYC: 24 SL:183\nF2D1  F0 02     BEQ $F2D5                       A:6F X:FF Y:E8 P:67 SP:FB CYC: 30 SL:183\nF2D5  60        RTS                             A:6F X:FF Y:E8 P:67 SP:FB CYC: 39 SL:183\nC647  20 D6 F2  JSR $F2D6                       A:6F X:FF Y:E8 P:67 SP:FD CYC: 57 SL:183\nF2D6  A9 FF     LDA #$FF                        A:6F X:FF Y:E8 P:67 SP:FB CYC: 75 SL:183\nF2D8  85 01     STA $01 = FF                    A:FF X:FF Y:E8 P:E5 SP:FB CYC: 81 SL:183\nF2DA  A0 E9     LDY #$E9                        A:FF X:FF Y:E8 P:E5 SP:FB CYC: 90 SL:183\nF2DC  A2 02     LDX #$02                        A:FF X:FF Y:E9 P:E5 SP:FB CYC: 96 SL:183\nF2DE  A9 47     LDA #$47                        A:FF X:02 Y:E9 P:65 SP:FB CYC:102 SL:183\nF2E0  85 47     STA $47 = 6F                    A:47 X:02 Y:E9 P:65 SP:FB CYC:108 SL:183\nF2E2  A9 06     LDA #$06                        A:47 X:02 Y:E9 P:65 SP:FB CYC:117 SL:183\nF2E4  85 48     STA $48 = 06                    A:06 X:02 Y:E9 P:65 SP:FB CYC:123 SL:183\nF2E6  A9 A5     LDA #$A5                        A:06 X:02 Y:E9 P:65 SP:FB CYC:132 SL:183\nF2E8  8D 47 06  STA $0647 = 6F                  A:A5 X:02 Y:E9 P:E5 SP:FB CYC:138 SL:183\nF2EB  20 1D FB  JSR $FB1D                       A:A5 X:02 Y:E9 P:E5 SP:FB CYC:150 SL:183\nFB1D  24 01     BIT $01 = FF                    A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:168 SL:183\nFB1F  18        CLC                             A:A5 X:02 Y:E9 P:E5 SP:F9 CYC:177 SL:183\nFB20  A9 B3     LDA #$B3                        A:A5 X:02 Y:E9 P:E4 SP:F9 CYC:183 SL:183\nFB22  60        RTS                             A:B3 X:02 Y:E9 P:E4 SP:F9 CYC:189 SL:183\nF2EE  43 45    *SRE ($45,X) @ 47 = 0647 = A5    A:B3 X:02 Y:E9 P:E4 SP:FB CYC:207 SL:183\nF2F0  EA        NOP                             A:E1 X:02 Y:E9 P:E5 SP:FB CYC:231 SL:183\nF2F1  EA        NOP                             A:E1 X:02 Y:E9 P:E5 SP:FB CYC:237 SL:183\nF2F2  EA        NOP                             A:E1 X:02 Y:E9 P:E5 SP:FB CYC:243 SL:183\nF2F3  EA        NOP                             A:E1 X:02 Y:E9 P:E5 SP:FB CYC:249 SL:183\nF2F4  20 23 FB  JSR $FB23                       A:E1 X:02 Y:E9 P:E5 SP:FB CYC:255 SL:183\nFB23  50 50     BVC $FB75                       A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:273 SL:183\nFB25  90 4E     BCC $FB75                       A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:279 SL:183\nFB27  10 4C     BPL $FB75                       A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:285 SL:183\nFB29  C9 E1     CMP #$E1                        A:E1 X:02 Y:E9 P:E5 SP:F9 CYC:291 SL:183\nFB2B  D0 48     BNE $FB75                       A:E1 X:02 Y:E9 P:67 SP:F9 CYC:297 SL:183\nFB2D  60        RTS                             A:E1 X:02 Y:E9 P:67 SP:F9 CYC:303 SL:183\nF2F7  AD 47 06  LDA $0647 = 52                  A:E1 X:02 Y:E9 P:67 SP:FB CYC:321 SL:183\nF2FA  C9 52     CMP #$52                        A:52 X:02 Y:E9 P:65 SP:FB CYC:333 SL:183\nF2FC  F0 02     BEQ $F300                       A:52 X:02 Y:E9 P:67 SP:FB CYC:339 SL:183\nF300  C8        INY                             A:52 X:02 Y:E9 P:67 SP:FB CYC: 10 SL:184\nF301  A9 29     LDA #$29                        A:52 X:02 Y:EA P:E5 SP:FB CYC: 16 SL:184\nF303  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:EA P:65 SP:FB CYC: 22 SL:184\nF306  20 2E FB  JSR $FB2E                       A:29 X:02 Y:EA P:65 SP:FB CYC: 34 SL:184\nFB2E  B8        CLV                             A:29 X:02 Y:EA P:65 SP:F9 CYC: 52 SL:184\nFB2F  18        CLC                             A:29 X:02 Y:EA P:25 SP:F9 CYC: 58 SL:184\nFB30  A9 42     LDA #$42                        A:29 X:02 Y:EA P:24 SP:F9 CYC: 64 SL:184\nFB32  60        RTS                             A:42 X:02 Y:EA P:24 SP:F9 CYC: 70 SL:184\nF309  43 45    *SRE ($45,X) @ 47 = 0647 = 29    A:42 X:02 Y:EA P:24 SP:FB CYC: 88 SL:184\nF30B  EA        NOP                             A:56 X:02 Y:EA P:25 SP:FB CYC:112 SL:184\nF30C  EA        NOP                             A:56 X:02 Y:EA P:25 SP:FB CYC:118 SL:184\nF30D  EA        NOP                             A:56 X:02 Y:EA P:25 SP:FB CYC:124 SL:184\nF30E  EA        NOP                             A:56 X:02 Y:EA P:25 SP:FB CYC:130 SL:184\nF30F  20 33 FB  JSR $FB33                       A:56 X:02 Y:EA P:25 SP:FB CYC:136 SL:184\nFB33  70 40     BVS $FB75                       A:56 X:02 Y:EA P:25 SP:F9 CYC:154 SL:184\nFB35  F0 3E     BEQ $FB75                       A:56 X:02 Y:EA P:25 SP:F9 CYC:160 SL:184\nFB37  30 3C     BMI $FB75                       A:56 X:02 Y:EA P:25 SP:F9 CYC:166 SL:184\nFB39  90 3A     BCC $FB75                       A:56 X:02 Y:EA P:25 SP:F9 CYC:172 SL:184\nFB3B  C9 56     CMP #$56                        A:56 X:02 Y:EA P:25 SP:F9 CYC:178 SL:184\nFB3D  D0 36     BNE $FB75                       A:56 X:02 Y:EA P:27 SP:F9 CYC:184 SL:184\nFB3F  60        RTS                             A:56 X:02 Y:EA P:27 SP:F9 CYC:190 SL:184\nF312  AD 47 06  LDA $0647 = 14                  A:56 X:02 Y:EA P:27 SP:FB CYC:208 SL:184\nF315  C9 14     CMP #$14                        A:14 X:02 Y:EA P:25 SP:FB CYC:220 SL:184\nF317  F0 02     BEQ $F31B                       A:14 X:02 Y:EA P:27 SP:FB CYC:226 SL:184\nF31B  C8        INY                             A:14 X:02 Y:EA P:27 SP:FB CYC:235 SL:184\nF31C  A9 37     LDA #$37                        A:14 X:02 Y:EB P:A5 SP:FB CYC:241 SL:184\nF31E  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:EB P:25 SP:FB CYC:247 SL:184\nF321  20 40 FB  JSR $FB40                       A:37 X:02 Y:EB P:25 SP:FB CYC:259 SL:184\nFB40  24 01     BIT $01 = FF                    A:37 X:02 Y:EB P:25 SP:F9 CYC:277 SL:184\nFB42  38        SEC                             A:37 X:02 Y:EB P:E5 SP:F9 CYC:286 SL:184\nFB43  A9 75     LDA #$75                        A:37 X:02 Y:EB P:E5 SP:F9 CYC:292 SL:184\nFB45  60        RTS                             A:75 X:02 Y:EB P:65 SP:F9 CYC:298 SL:184\nF324  43 45    *SRE ($45,X) @ 47 = 0647 = 37    A:75 X:02 Y:EB P:65 SP:FB CYC:316 SL:184\nF326  EA        NOP                             A:6E X:02 Y:EB P:65 SP:FB CYC:340 SL:184\nF327  EA        NOP                             A:6E X:02 Y:EB P:65 SP:FB CYC:  5 SL:185\nF328  EA        NOP                             A:6E X:02 Y:EB P:65 SP:FB CYC: 11 SL:185\nF329  EA        NOP                             A:6E X:02 Y:EB P:65 SP:FB CYC: 17 SL:185\nF32A  20 46 FB  JSR $FB46                       A:6E X:02 Y:EB P:65 SP:FB CYC: 23 SL:185\nFB46  50 2D     BVC $FB75                       A:6E X:02 Y:EB P:65 SP:F9 CYC: 41 SL:185\nFB48  F0 2B     BEQ $FB75                       A:6E X:02 Y:EB P:65 SP:F9 CYC: 47 SL:185\nFB4A  30 29     BMI $FB75                       A:6E X:02 Y:EB P:65 SP:F9 CYC: 53 SL:185\nFB4C  90 27     BCC $FB75                       A:6E X:02 Y:EB P:65 SP:F9 CYC: 59 SL:185\nFB4E  C9 6E     CMP #$6E                        A:6E X:02 Y:EB P:65 SP:F9 CYC: 65 SL:185\nFB50  D0 23     BNE $FB75                       A:6E X:02 Y:EB P:67 SP:F9 CYC: 71 SL:185\nFB52  60        RTS                             A:6E X:02 Y:EB P:67 SP:F9 CYC: 77 SL:185\nF32D  AD 47 06  LDA $0647 = 1B                  A:6E X:02 Y:EB P:67 SP:FB CYC: 95 SL:185\nF330  C9 1B     CMP #$1B                        A:1B X:02 Y:EB P:65 SP:FB CYC:107 SL:185\nF332  F0 02     BEQ $F336                       A:1B X:02 Y:EB P:67 SP:FB CYC:113 SL:185\nF336  C8        INY                             A:1B X:02 Y:EB P:67 SP:FB CYC:122 SL:185\nF337  A9 A5     LDA #$A5                        A:1B X:02 Y:EC P:E5 SP:FB CYC:128 SL:185\nF339  85 47     STA $47 = 47                    A:A5 X:02 Y:EC P:E5 SP:FB CYC:134 SL:185\nF33B  20 1D FB  JSR $FB1D                       A:A5 X:02 Y:EC P:E5 SP:FB CYC:143 SL:185\nFB1D  24 01     BIT $01 = FF                    A:A5 X:02 Y:EC P:E5 SP:F9 CYC:161 SL:185\nFB1F  18        CLC                             A:A5 X:02 Y:EC P:E5 SP:F9 CYC:170 SL:185\nFB20  A9 B3     LDA #$B3                        A:A5 X:02 Y:EC P:E4 SP:F9 CYC:176 SL:185\nFB22  60        RTS                             A:B3 X:02 Y:EC P:E4 SP:F9 CYC:182 SL:185\nF33E  47 47    *SRE $47 = A5                    A:B3 X:02 Y:EC P:E4 SP:FB CYC:200 SL:185\nF340  EA        NOP                             A:E1 X:02 Y:EC P:E5 SP:FB CYC:215 SL:185\nF341  EA        NOP                             A:E1 X:02 Y:EC P:E5 SP:FB CYC:221 SL:185\nF342  EA        NOP                             A:E1 X:02 Y:EC P:E5 SP:FB CYC:227 SL:185\nF343  EA        NOP                             A:E1 X:02 Y:EC P:E5 SP:FB CYC:233 SL:185\nF344  20 23 FB  JSR $FB23                       A:E1 X:02 Y:EC P:E5 SP:FB CYC:239 SL:185\nFB23  50 50     BVC $FB75                       A:E1 X:02 Y:EC P:E5 SP:F9 CYC:257 SL:185\nFB25  90 4E     BCC $FB75                       A:E1 X:02 Y:EC P:E5 SP:F9 CYC:263 SL:185\nFB27  10 4C     BPL $FB75                       A:E1 X:02 Y:EC P:E5 SP:F9 CYC:269 SL:185\nFB29  C9 E1     CMP #$E1                        A:E1 X:02 Y:EC P:E5 SP:F9 CYC:275 SL:185\nFB2B  D0 48     BNE $FB75                       A:E1 X:02 Y:EC P:67 SP:F9 CYC:281 SL:185\nFB2D  60        RTS                             A:E1 X:02 Y:EC P:67 SP:F9 CYC:287 SL:185\nF347  A5 47     LDA $47 = 52                    A:E1 X:02 Y:EC P:67 SP:FB CYC:305 SL:185\nF349  C9 52     CMP #$52                        A:52 X:02 Y:EC P:65 SP:FB CYC:314 SL:185\nF34B  F0 02     BEQ $F34F                       A:52 X:02 Y:EC P:67 SP:FB CYC:320 SL:185\nF34F  C8        INY                             A:52 X:02 Y:EC P:67 SP:FB CYC:329 SL:185\nF350  A9 29     LDA #$29                        A:52 X:02 Y:ED P:E5 SP:FB CYC:335 SL:185\nF352  85 47     STA $47 = 52                    A:29 X:02 Y:ED P:65 SP:FB CYC:  0 SL:186\nF354  20 2E FB  JSR $FB2E                       A:29 X:02 Y:ED P:65 SP:FB CYC:  9 SL:186\nFB2E  B8        CLV                             A:29 X:02 Y:ED P:65 SP:F9 CYC: 27 SL:186\nFB2F  18        CLC                             A:29 X:02 Y:ED P:25 SP:F9 CYC: 33 SL:186\nFB30  A9 42     LDA #$42                        A:29 X:02 Y:ED P:24 SP:F9 CYC: 39 SL:186\nFB32  60        RTS                             A:42 X:02 Y:ED P:24 SP:F9 CYC: 45 SL:186\nF357  47 47    *SRE $47 = 29                    A:42 X:02 Y:ED P:24 SP:FB CYC: 63 SL:186\nF359  EA        NOP                             A:56 X:02 Y:ED P:25 SP:FB CYC: 78 SL:186\nF35A  EA        NOP                             A:56 X:02 Y:ED P:25 SP:FB CYC: 84 SL:186\nF35B  EA        NOP                             A:56 X:02 Y:ED P:25 SP:FB CYC: 90 SL:186\nF35C  EA        NOP                             A:56 X:02 Y:ED P:25 SP:FB CYC: 96 SL:186\nF35D  20 33 FB  JSR $FB33                       A:56 X:02 Y:ED P:25 SP:FB CYC:102 SL:186\nFB33  70 40     BVS $FB75                       A:56 X:02 Y:ED P:25 SP:F9 CYC:120 SL:186\nFB35  F0 3E     BEQ $FB75                       A:56 X:02 Y:ED P:25 SP:F9 CYC:126 SL:186\nFB37  30 3C     BMI $FB75                       A:56 X:02 Y:ED P:25 SP:F9 CYC:132 SL:186\nFB39  90 3A     BCC $FB75                       A:56 X:02 Y:ED P:25 SP:F9 CYC:138 SL:186\nFB3B  C9 56     CMP #$56                        A:56 X:02 Y:ED P:25 SP:F9 CYC:144 SL:186\nFB3D  D0 36     BNE $FB75                       A:56 X:02 Y:ED P:27 SP:F9 CYC:150 SL:186\nFB3F  60        RTS                             A:56 X:02 Y:ED P:27 SP:F9 CYC:156 SL:186\nF360  A5 47     LDA $47 = 14                    A:56 X:02 Y:ED P:27 SP:FB CYC:174 SL:186\nF362  C9 14     CMP #$14                        A:14 X:02 Y:ED P:25 SP:FB CYC:183 SL:186\nF364  F0 02     BEQ $F368                       A:14 X:02 Y:ED P:27 SP:FB CYC:189 SL:186\nF368  C8        INY                             A:14 X:02 Y:ED P:27 SP:FB CYC:198 SL:186\nF369  A9 37     LDA #$37                        A:14 X:02 Y:EE P:A5 SP:FB CYC:204 SL:186\nF36B  85 47     STA $47 = 14                    A:37 X:02 Y:EE P:25 SP:FB CYC:210 SL:186\nF36D  20 40 FB  JSR $FB40                       A:37 X:02 Y:EE P:25 SP:FB CYC:219 SL:186\nFB40  24 01     BIT $01 = FF                    A:37 X:02 Y:EE P:25 SP:F9 CYC:237 SL:186\nFB42  38        SEC                             A:37 X:02 Y:EE P:E5 SP:F9 CYC:246 SL:186\nFB43  A9 75     LDA #$75                        A:37 X:02 Y:EE P:E5 SP:F9 CYC:252 SL:186\nFB45  60        RTS                             A:75 X:02 Y:EE P:65 SP:F9 CYC:258 SL:186\nF370  47 47    *SRE $47 = 37                    A:75 X:02 Y:EE P:65 SP:FB CYC:276 SL:186\nF372  EA        NOP                             A:6E X:02 Y:EE P:65 SP:FB CYC:291 SL:186\nF373  EA        NOP                             A:6E X:02 Y:EE P:65 SP:FB CYC:297 SL:186\nF374  EA        NOP                             A:6E X:02 Y:EE P:65 SP:FB CYC:303 SL:186\nF375  EA        NOP                             A:6E X:02 Y:EE P:65 SP:FB CYC:309 SL:186\nF376  20 46 FB  JSR $FB46                       A:6E X:02 Y:EE P:65 SP:FB CYC:315 SL:186\nFB46  50 2D     BVC $FB75                       A:6E X:02 Y:EE P:65 SP:F9 CYC:333 SL:186\nFB48  F0 2B     BEQ $FB75                       A:6E X:02 Y:EE P:65 SP:F9 CYC:339 SL:186\nFB4A  30 29     BMI $FB75                       A:6E X:02 Y:EE P:65 SP:F9 CYC:  4 SL:187\nFB4C  90 27     BCC $FB75                       A:6E X:02 Y:EE P:65 SP:F9 CYC: 10 SL:187\nFB4E  C9 6E     CMP #$6E                        A:6E X:02 Y:EE P:65 SP:F9 CYC: 16 SL:187\nFB50  D0 23     BNE $FB75                       A:6E X:02 Y:EE P:67 SP:F9 CYC: 22 SL:187\nFB52  60        RTS                             A:6E X:02 Y:EE P:67 SP:F9 CYC: 28 SL:187\nF379  A5 47     LDA $47 = 1B                    A:6E X:02 Y:EE P:67 SP:FB CYC: 46 SL:187\nF37B  C9 1B     CMP #$1B                        A:1B X:02 Y:EE P:65 SP:FB CYC: 55 SL:187\nF37D  F0 02     BEQ $F381                       A:1B X:02 Y:EE P:67 SP:FB CYC: 61 SL:187\nF381  C8        INY                             A:1B X:02 Y:EE P:67 SP:FB CYC: 70 SL:187\nF382  A9 A5     LDA #$A5                        A:1B X:02 Y:EF P:E5 SP:FB CYC: 76 SL:187\nF384  8D 47 06  STA $0647 = 1B                  A:A5 X:02 Y:EF P:E5 SP:FB CYC: 82 SL:187\nF387  20 1D FB  JSR $FB1D                       A:A5 X:02 Y:EF P:E5 SP:FB CYC: 94 SL:187\nFB1D  24 01     BIT $01 = FF                    A:A5 X:02 Y:EF P:E5 SP:F9 CYC:112 SL:187\nFB1F  18        CLC                             A:A5 X:02 Y:EF P:E5 SP:F9 CYC:121 SL:187\nFB20  A9 B3     LDA #$B3                        A:A5 X:02 Y:EF P:E4 SP:F9 CYC:127 SL:187\nFB22  60        RTS                             A:B3 X:02 Y:EF P:E4 SP:F9 CYC:133 SL:187\nF38A  4F 47 06 *SRE $0647 = A5                  A:B3 X:02 Y:EF P:E4 SP:FB CYC:151 SL:187\nF38D  EA        NOP                             A:E1 X:02 Y:EF P:E5 SP:FB CYC:169 SL:187\nF38E  EA        NOP                             A:E1 X:02 Y:EF P:E5 SP:FB CYC:175 SL:187\nF38F  EA        NOP                             A:E1 X:02 Y:EF P:E5 SP:FB CYC:181 SL:187\nF390  EA        NOP                             A:E1 X:02 Y:EF P:E5 SP:FB CYC:187 SL:187\nF391  20 23 FB  JSR $FB23                       A:E1 X:02 Y:EF P:E5 SP:FB CYC:193 SL:187\nFB23  50 50     BVC $FB75                       A:E1 X:02 Y:EF P:E5 SP:F9 CYC:211 SL:187\nFB25  90 4E     BCC $FB75                       A:E1 X:02 Y:EF P:E5 SP:F9 CYC:217 SL:187\nFB27  10 4C     BPL $FB75                       A:E1 X:02 Y:EF P:E5 SP:F9 CYC:223 SL:187\nFB29  C9 E1     CMP #$E1                        A:E1 X:02 Y:EF P:E5 SP:F9 CYC:229 SL:187\nFB2B  D0 48     BNE $FB75                       A:E1 X:02 Y:EF P:67 SP:F9 CYC:235 SL:187\nFB2D  60        RTS                             A:E1 X:02 Y:EF P:67 SP:F9 CYC:241 SL:187\nF394  AD 47 06  LDA $0647 = 52                  A:E1 X:02 Y:EF P:67 SP:FB CYC:259 SL:187\nF397  C9 52     CMP #$52                        A:52 X:02 Y:EF P:65 SP:FB CYC:271 SL:187\nF399  F0 02     BEQ $F39D                       A:52 X:02 Y:EF P:67 SP:FB CYC:277 SL:187\nF39D  C8        INY                             A:52 X:02 Y:EF P:67 SP:FB CYC:286 SL:187\nF39E  A9 29     LDA #$29                        A:52 X:02 Y:F0 P:E5 SP:FB CYC:292 SL:187\nF3A0  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:F0 P:65 SP:FB CYC:298 SL:187\nF3A3  20 2E FB  JSR $FB2E                       A:29 X:02 Y:F0 P:65 SP:FB CYC:310 SL:187\nFB2E  B8        CLV                             A:29 X:02 Y:F0 P:65 SP:F9 CYC:328 SL:187\nFB2F  18        CLC                             A:29 X:02 Y:F0 P:25 SP:F9 CYC:334 SL:187\nFB30  A9 42     LDA #$42                        A:29 X:02 Y:F0 P:24 SP:F9 CYC:340 SL:187\nFB32  60        RTS                             A:42 X:02 Y:F0 P:24 SP:F9 CYC:  5 SL:188\nF3A6  4F 47 06 *SRE $0647 = 29                  A:42 X:02 Y:F0 P:24 SP:FB CYC: 23 SL:188\nF3A9  EA        NOP                             A:56 X:02 Y:F0 P:25 SP:FB CYC: 41 SL:188\nF3AA  EA        NOP                             A:56 X:02 Y:F0 P:25 SP:FB CYC: 47 SL:188\nF3AB  EA        NOP                             A:56 X:02 Y:F0 P:25 SP:FB CYC: 53 SL:188\nF3AC  EA        NOP                             A:56 X:02 Y:F0 P:25 SP:FB CYC: 59 SL:188\nF3AD  20 33 FB  JSR $FB33                       A:56 X:02 Y:F0 P:25 SP:FB CYC: 65 SL:188\nFB33  70 40     BVS $FB75                       A:56 X:02 Y:F0 P:25 SP:F9 CYC: 83 SL:188\nFB35  F0 3E     BEQ $FB75                       A:56 X:02 Y:F0 P:25 SP:F9 CYC: 89 SL:188\nFB37  30 3C     BMI $FB75                       A:56 X:02 Y:F0 P:25 SP:F9 CYC: 95 SL:188\nFB39  90 3A     BCC $FB75                       A:56 X:02 Y:F0 P:25 SP:F9 CYC:101 SL:188\nFB3B  C9 56     CMP #$56                        A:56 X:02 Y:F0 P:25 SP:F9 CYC:107 SL:188\nFB3D  D0 36     BNE $FB75                       A:56 X:02 Y:F0 P:27 SP:F9 CYC:113 SL:188\nFB3F  60        RTS                             A:56 X:02 Y:F0 P:27 SP:F9 CYC:119 SL:188\nF3B0  AD 47 06  LDA $0647 = 14                  A:56 X:02 Y:F0 P:27 SP:FB CYC:137 SL:188\nF3B3  C9 14     CMP #$14                        A:14 X:02 Y:F0 P:25 SP:FB CYC:149 SL:188\nF3B5  F0 02     BEQ $F3B9                       A:14 X:02 Y:F0 P:27 SP:FB CYC:155 SL:188\nF3B9  C8        INY                             A:14 X:02 Y:F0 P:27 SP:FB CYC:164 SL:188\nF3BA  A9 37     LDA #$37                        A:14 X:02 Y:F1 P:A5 SP:FB CYC:170 SL:188\nF3BC  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:F1 P:25 SP:FB CYC:176 SL:188\nF3BF  20 40 FB  JSR $FB40                       A:37 X:02 Y:F1 P:25 SP:FB CYC:188 SL:188\nFB40  24 01     BIT $01 = FF                    A:37 X:02 Y:F1 P:25 SP:F9 CYC:206 SL:188\nFB42  38        SEC                             A:37 X:02 Y:F1 P:E5 SP:F9 CYC:215 SL:188\nFB43  A9 75     LDA #$75                        A:37 X:02 Y:F1 P:E5 SP:F9 CYC:221 SL:188\nFB45  60        RTS                             A:75 X:02 Y:F1 P:65 SP:F9 CYC:227 SL:188\nF3C2  4F 47 06 *SRE $0647 = 37                  A:75 X:02 Y:F1 P:65 SP:FB CYC:245 SL:188\nF3C5  EA        NOP                             A:6E X:02 Y:F1 P:65 SP:FB CYC:263 SL:188\nF3C6  EA        NOP                             A:6E X:02 Y:F1 P:65 SP:FB CYC:269 SL:188\nF3C7  EA        NOP                             A:6E X:02 Y:F1 P:65 SP:FB CYC:275 SL:188\nF3C8  EA        NOP                             A:6E X:02 Y:F1 P:65 SP:FB CYC:281 SL:188\nF3C9  20 46 FB  JSR $FB46                       A:6E X:02 Y:F1 P:65 SP:FB CYC:287 SL:188\nFB46  50 2D     BVC $FB75                       A:6E X:02 Y:F1 P:65 SP:F9 CYC:305 SL:188\nFB48  F0 2B     BEQ $FB75                       A:6E X:02 Y:F1 P:65 SP:F9 CYC:311 SL:188\nFB4A  30 29     BMI $FB75                       A:6E X:02 Y:F1 P:65 SP:F9 CYC:317 SL:188\nFB4C  90 27     BCC $FB75                       A:6E X:02 Y:F1 P:65 SP:F9 CYC:323 SL:188\nFB4E  C9 6E     CMP #$6E                        A:6E X:02 Y:F1 P:65 SP:F9 CYC:329 SL:188\nFB50  D0 23     BNE $FB75                       A:6E X:02 Y:F1 P:67 SP:F9 CYC:335 SL:188\nFB52  60        RTS                             A:6E X:02 Y:F1 P:67 SP:F9 CYC:  0 SL:189\nF3CC  AD 47 06  LDA $0647 = 1B                  A:6E X:02 Y:F1 P:67 SP:FB CYC: 18 SL:189\nF3CF  C9 1B     CMP #$1B                        A:1B X:02 Y:F1 P:65 SP:FB CYC: 30 SL:189\nF3D1  F0 02     BEQ $F3D5                       A:1B X:02 Y:F1 P:67 SP:FB CYC: 36 SL:189\nF3D5  A9 A5     LDA #$A5                        A:1B X:02 Y:F1 P:67 SP:FB CYC: 45 SL:189\nF3D7  8D 47 06  STA $0647 = 1B                  A:A5 X:02 Y:F1 P:E5 SP:FB CYC: 51 SL:189\nF3DA  A9 48     LDA #$48                        A:A5 X:02 Y:F1 P:E5 SP:FB CYC: 63 SL:189\nF3DC  85 45     STA $45 = 48                    A:48 X:02 Y:F1 P:65 SP:FB CYC: 69 SL:189\nF3DE  A9 05     LDA #$05                        A:48 X:02 Y:F1 P:65 SP:FB CYC: 78 SL:189\nF3E0  85 46     STA $46 = 05                    A:05 X:02 Y:F1 P:65 SP:FB CYC: 84 SL:189\nF3E2  A0 FF     LDY #$FF                        A:05 X:02 Y:F1 P:65 SP:FB CYC: 93 SL:189\nF3E4  20 1D FB  JSR $FB1D                       A:05 X:02 Y:FF P:E5 SP:FB CYC: 99 SL:189\nFB1D  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:E5 SP:F9 CYC:117 SL:189\nFB1F  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC:126 SL:189\nFB20  A9 B3     LDA #$B3                        A:05 X:02 Y:FF P:E4 SP:F9 CYC:132 SL:189\nFB22  60        RTS                             A:B3 X:02 Y:FF P:E4 SP:F9 CYC:138 SL:189\nF3E7  53 45    *SRE ($45),Y = 0548 @ 0647 = A5  A:B3 X:02 Y:FF P:E4 SP:FB CYC:156 SL:189\nF3E9  EA        NOP                             A:E1 X:02 Y:FF P:E5 SP:FB CYC:180 SL:189\nF3EA  EA        NOP                             A:E1 X:02 Y:FF P:E5 SP:FB CYC:186 SL:189\nF3EB  08        PHP                             A:E1 X:02 Y:FF P:E5 SP:FB CYC:192 SL:189\nF3EC  48        PHA                             A:E1 X:02 Y:FF P:E5 SP:FA CYC:201 SL:189\nF3ED  A0 F2     LDY #$F2                        A:E1 X:02 Y:FF P:E5 SP:F9 CYC:210 SL:189\nF3EF  68        PLA                             A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:216 SL:189\nF3F0  28        PLP                             A:E1 X:02 Y:F2 P:E5 SP:FA CYC:228 SL:189\nF3F1  20 23 FB  JSR $FB23                       A:E1 X:02 Y:F2 P:E5 SP:FB CYC:240 SL:189\nFB23  50 50     BVC $FB75                       A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:258 SL:189\nFB25  90 4E     BCC $FB75                       A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:264 SL:189\nFB27  10 4C     BPL $FB75                       A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:270 SL:189\nFB29  C9 E1     CMP #$E1                        A:E1 X:02 Y:F2 P:E5 SP:F9 CYC:276 SL:189\nFB2B  D0 48     BNE $FB75                       A:E1 X:02 Y:F2 P:67 SP:F9 CYC:282 SL:189\nFB2D  60        RTS                             A:E1 X:02 Y:F2 P:67 SP:F9 CYC:288 SL:189\nF3F4  AD 47 06  LDA $0647 = 52                  A:E1 X:02 Y:F2 P:67 SP:FB CYC:306 SL:189\nF3F7  C9 52     CMP #$52                        A:52 X:02 Y:F2 P:65 SP:FB CYC:318 SL:189\nF3F9  F0 02     BEQ $F3FD                       A:52 X:02 Y:F2 P:67 SP:FB CYC:324 SL:189\nF3FD  A0 FF     LDY #$FF                        A:52 X:02 Y:F2 P:67 SP:FB CYC:333 SL:189\nF3FF  A9 29     LDA #$29                        A:52 X:02 Y:FF P:E5 SP:FB CYC:339 SL:189\nF401  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:FF P:65 SP:FB CYC:  4 SL:190\nF404  20 2E FB  JSR $FB2E                       A:29 X:02 Y:FF P:65 SP:FB CYC: 16 SL:190\nFB2E  B8        CLV                             A:29 X:02 Y:FF P:65 SP:F9 CYC: 34 SL:190\nFB2F  18        CLC                             A:29 X:02 Y:FF P:25 SP:F9 CYC: 40 SL:190\nFB30  A9 42     LDA #$42                        A:29 X:02 Y:FF P:24 SP:F9 CYC: 46 SL:190\nFB32  60        RTS                             A:42 X:02 Y:FF P:24 SP:F9 CYC: 52 SL:190\nF407  53 45    *SRE ($45),Y = 0548 @ 0647 = 29  A:42 X:02 Y:FF P:24 SP:FB CYC: 70 SL:190\nF409  EA        NOP                             A:56 X:02 Y:FF P:25 SP:FB CYC: 94 SL:190\nF40A  EA        NOP                             A:56 X:02 Y:FF P:25 SP:FB CYC:100 SL:190\nF40B  08        PHP                             A:56 X:02 Y:FF P:25 SP:FB CYC:106 SL:190\nF40C  48        PHA                             A:56 X:02 Y:FF P:25 SP:FA CYC:115 SL:190\nF40D  A0 F3     LDY #$F3                        A:56 X:02 Y:FF P:25 SP:F9 CYC:124 SL:190\nF40F  68        PLA                             A:56 X:02 Y:F3 P:A5 SP:F9 CYC:130 SL:190\nF410  28        PLP                             A:56 X:02 Y:F3 P:25 SP:FA CYC:142 SL:190\nF411  20 33 FB  JSR $FB33                       A:56 X:02 Y:F3 P:25 SP:FB CYC:154 SL:190\nFB33  70 40     BVS $FB75                       A:56 X:02 Y:F3 P:25 SP:F9 CYC:172 SL:190\nFB35  F0 3E     BEQ $FB75                       A:56 X:02 Y:F3 P:25 SP:F9 CYC:178 SL:190\nFB37  30 3C     BMI $FB75                       A:56 X:02 Y:F3 P:25 SP:F9 CYC:184 SL:190\nFB39  90 3A     BCC $FB75                       A:56 X:02 Y:F3 P:25 SP:F9 CYC:190 SL:190\nFB3B  C9 56     CMP #$56                        A:56 X:02 Y:F3 P:25 SP:F9 CYC:196 SL:190\nFB3D  D0 36     BNE $FB75                       A:56 X:02 Y:F3 P:27 SP:F9 CYC:202 SL:190\nFB3F  60        RTS                             A:56 X:02 Y:F3 P:27 SP:F9 CYC:208 SL:190\nF414  AD 47 06  LDA $0647 = 14                  A:56 X:02 Y:F3 P:27 SP:FB CYC:226 SL:190\nF417  C9 14     CMP #$14                        A:14 X:02 Y:F3 P:25 SP:FB CYC:238 SL:190\nF419  F0 02     BEQ $F41D                       A:14 X:02 Y:F3 P:27 SP:FB CYC:244 SL:190\nF41D  A0 FF     LDY #$FF                        A:14 X:02 Y:F3 P:27 SP:FB CYC:253 SL:190\nF41F  A9 37     LDA #$37                        A:14 X:02 Y:FF P:A5 SP:FB CYC:259 SL:190\nF421  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:FF P:25 SP:FB CYC:265 SL:190\nF424  20 40 FB  JSR $FB40                       A:37 X:02 Y:FF P:25 SP:FB CYC:277 SL:190\nFB40  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC:295 SL:190\nFB42  38        SEC                             A:37 X:02 Y:FF P:E5 SP:F9 CYC:304 SL:190\nFB43  A9 75     LDA #$75                        A:37 X:02 Y:FF P:E5 SP:F9 CYC:310 SL:190\nFB45  60        RTS                             A:75 X:02 Y:FF P:65 SP:F9 CYC:316 SL:190\nF427  53 45    *SRE ($45),Y = 0548 @ 0647 = 37  A:75 X:02 Y:FF P:65 SP:FB CYC:334 SL:190\nF429  EA        NOP                             A:6E X:02 Y:FF P:65 SP:FB CYC: 17 SL:191\nF42A  EA        NOP                             A:6E X:02 Y:FF P:65 SP:FB CYC: 23 SL:191\nF42B  08        PHP                             A:6E X:02 Y:FF P:65 SP:FB CYC: 29 SL:191\nF42C  48        PHA                             A:6E X:02 Y:FF P:65 SP:FA CYC: 38 SL:191\nF42D  A0 F4     LDY #$F4                        A:6E X:02 Y:FF P:65 SP:F9 CYC: 47 SL:191\nF42F  68        PLA                             A:6E X:02 Y:F4 P:E5 SP:F9 CYC: 53 SL:191\nF430  28        PLP                             A:6E X:02 Y:F4 P:65 SP:FA CYC: 65 SL:191\nF431  20 46 FB  JSR $FB46                       A:6E X:02 Y:F4 P:65 SP:FB CYC: 77 SL:191\nFB46  50 2D     BVC $FB75                       A:6E X:02 Y:F4 P:65 SP:F9 CYC: 95 SL:191\nFB48  F0 2B     BEQ $FB75                       A:6E X:02 Y:F4 P:65 SP:F9 CYC:101 SL:191\nFB4A  30 29     BMI $FB75                       A:6E X:02 Y:F4 P:65 SP:F9 CYC:107 SL:191\nFB4C  90 27     BCC $FB75                       A:6E X:02 Y:F4 P:65 SP:F9 CYC:113 SL:191\nFB4E  C9 6E     CMP #$6E                        A:6E X:02 Y:F4 P:65 SP:F9 CYC:119 SL:191\nFB50  D0 23     BNE $FB75                       A:6E X:02 Y:F4 P:67 SP:F9 CYC:125 SL:191\nFB52  60        RTS                             A:6E X:02 Y:F4 P:67 SP:F9 CYC:131 SL:191\nF434  AD 47 06  LDA $0647 = 1B                  A:6E X:02 Y:F4 P:67 SP:FB CYC:149 SL:191\nF437  C9 1B     CMP #$1B                        A:1B X:02 Y:F4 P:65 SP:FB CYC:161 SL:191\nF439  F0 02     BEQ $F43D                       A:1B X:02 Y:F4 P:67 SP:FB CYC:167 SL:191\nF43D  A0 F5     LDY #$F5                        A:1B X:02 Y:F4 P:67 SP:FB CYC:176 SL:191\nF43F  A2 FF     LDX #$FF                        A:1B X:02 Y:F5 P:E5 SP:FB CYC:182 SL:191\nF441  A9 A5     LDA #$A5                        A:1B X:FF Y:F5 P:E5 SP:FB CYC:188 SL:191\nF443  85 47     STA $47 = 1B                    A:A5 X:FF Y:F5 P:E5 SP:FB CYC:194 SL:191\nF445  20 1D FB  JSR $FB1D                       A:A5 X:FF Y:F5 P:E5 SP:FB CYC:203 SL:191\nFB1D  24 01     BIT $01 = FF                    A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:221 SL:191\nFB1F  18        CLC                             A:A5 X:FF Y:F5 P:E5 SP:F9 CYC:230 SL:191\nFB20  A9 B3     LDA #$B3                        A:A5 X:FF Y:F5 P:E4 SP:F9 CYC:236 SL:191\nFB22  60        RTS                             A:B3 X:FF Y:F5 P:E4 SP:F9 CYC:242 SL:191\nF448  57 48    *SRE $48,X @ 47 = A5             A:B3 X:FF Y:F5 P:E4 SP:FB CYC:260 SL:191\nF44A  EA        NOP                             A:E1 X:FF Y:F5 P:E5 SP:FB CYC:278 SL:191\nF44B  EA        NOP                             A:E1 X:FF Y:F5 P:E5 SP:FB CYC:284 SL:191\nF44C  EA        NOP                             A:E1 X:FF Y:F5 P:E5 SP:FB CYC:290 SL:191\nF44D  EA        NOP                             A:E1 X:FF Y:F5 P:E5 SP:FB CYC:296 SL:191\nF44E  20 23 FB  JSR $FB23                       A:E1 X:FF Y:F5 P:E5 SP:FB CYC:302 SL:191\nFB23  50 50     BVC $FB75                       A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:320 SL:191\nFB25  90 4E     BCC $FB75                       A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:326 SL:191\nFB27  10 4C     BPL $FB75                       A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:332 SL:191\nFB29  C9 E1     CMP #$E1                        A:E1 X:FF Y:F5 P:E5 SP:F9 CYC:338 SL:191\nFB2B  D0 48     BNE $FB75                       A:E1 X:FF Y:F5 P:67 SP:F9 CYC:  3 SL:192\nFB2D  60        RTS                             A:E1 X:FF Y:F5 P:67 SP:F9 CYC:  9 SL:192\nF451  A5 47     LDA $47 = 52                    A:E1 X:FF Y:F5 P:67 SP:FB CYC: 27 SL:192\nF453  C9 52     CMP #$52                        A:52 X:FF Y:F5 P:65 SP:FB CYC: 36 SL:192\nF455  F0 02     BEQ $F459                       A:52 X:FF Y:F5 P:67 SP:FB CYC: 42 SL:192\nF459  C8        INY                             A:52 X:FF Y:F5 P:67 SP:FB CYC: 51 SL:192\nF45A  A9 29     LDA #$29                        A:52 X:FF Y:F6 P:E5 SP:FB CYC: 57 SL:192\nF45C  85 47     STA $47 = 52                    A:29 X:FF Y:F6 P:65 SP:FB CYC: 63 SL:192\nF45E  20 2E FB  JSR $FB2E                       A:29 X:FF Y:F6 P:65 SP:FB CYC: 72 SL:192\nFB2E  B8        CLV                             A:29 X:FF Y:F6 P:65 SP:F9 CYC: 90 SL:192\nFB2F  18        CLC                             A:29 X:FF Y:F6 P:25 SP:F9 CYC: 96 SL:192\nFB30  A9 42     LDA #$42                        A:29 X:FF Y:F6 P:24 SP:F9 CYC:102 SL:192\nFB32  60        RTS                             A:42 X:FF Y:F6 P:24 SP:F9 CYC:108 SL:192\nF461  57 48    *SRE $48,X @ 47 = 29             A:42 X:FF Y:F6 P:24 SP:FB CYC:126 SL:192\nF463  EA        NOP                             A:56 X:FF Y:F6 P:25 SP:FB CYC:144 SL:192\nF464  EA        NOP                             A:56 X:FF Y:F6 P:25 SP:FB CYC:150 SL:192\nF465  EA        NOP                             A:56 X:FF Y:F6 P:25 SP:FB CYC:156 SL:192\nF466  EA        NOP                             A:56 X:FF Y:F6 P:25 SP:FB CYC:162 SL:192\nF467  20 33 FB  JSR $FB33                       A:56 X:FF Y:F6 P:25 SP:FB CYC:168 SL:192\nFB33  70 40     BVS $FB75                       A:56 X:FF Y:F6 P:25 SP:F9 CYC:186 SL:192\nFB35  F0 3E     BEQ $FB75                       A:56 X:FF Y:F6 P:25 SP:F9 CYC:192 SL:192\nFB37  30 3C     BMI $FB75                       A:56 X:FF Y:F6 P:25 SP:F9 CYC:198 SL:192\nFB39  90 3A     BCC $FB75                       A:56 X:FF Y:F6 P:25 SP:F9 CYC:204 SL:192\nFB3B  C9 56     CMP #$56                        A:56 X:FF Y:F6 P:25 SP:F9 CYC:210 SL:192\nFB3D  D0 36     BNE $FB75                       A:56 X:FF Y:F6 P:27 SP:F9 CYC:216 SL:192\nFB3F  60        RTS                             A:56 X:FF Y:F6 P:27 SP:F9 CYC:222 SL:192\nF46A  A5 47     LDA $47 = 14                    A:56 X:FF Y:F6 P:27 SP:FB CYC:240 SL:192\nF46C  C9 14     CMP #$14                        A:14 X:FF Y:F6 P:25 SP:FB CYC:249 SL:192\nF46E  F0 02     BEQ $F472                       A:14 X:FF Y:F6 P:27 SP:FB CYC:255 SL:192\nF472  C8        INY                             A:14 X:FF Y:F6 P:27 SP:FB CYC:264 SL:192\nF473  A9 37     LDA #$37                        A:14 X:FF Y:F7 P:A5 SP:FB CYC:270 SL:192\nF475  85 47     STA $47 = 14                    A:37 X:FF Y:F7 P:25 SP:FB CYC:276 SL:192\nF477  20 40 FB  JSR $FB40                       A:37 X:FF Y:F7 P:25 SP:FB CYC:285 SL:192\nFB40  24 01     BIT $01 = FF                    A:37 X:FF Y:F7 P:25 SP:F9 CYC:303 SL:192\nFB42  38        SEC                             A:37 X:FF Y:F7 P:E5 SP:F9 CYC:312 SL:192\nFB43  A9 75     LDA #$75                        A:37 X:FF Y:F7 P:E5 SP:F9 CYC:318 SL:192\nFB45  60        RTS                             A:75 X:FF Y:F7 P:65 SP:F9 CYC:324 SL:192\nF47A  57 48    *SRE $48,X @ 47 = 37             A:75 X:FF Y:F7 P:65 SP:FB CYC:  1 SL:193\nF47C  EA        NOP                             A:6E X:FF Y:F7 P:65 SP:FB CYC: 19 SL:193\nF47D  EA        NOP                             A:6E X:FF Y:F7 P:65 SP:FB CYC: 25 SL:193\nF47E  EA        NOP                             A:6E X:FF Y:F7 P:65 SP:FB CYC: 31 SL:193\nF47F  EA        NOP                             A:6E X:FF Y:F7 P:65 SP:FB CYC: 37 SL:193\nF480  20 46 FB  JSR $FB46                       A:6E X:FF Y:F7 P:65 SP:FB CYC: 43 SL:193\nFB46  50 2D     BVC $FB75                       A:6E X:FF Y:F7 P:65 SP:F9 CYC: 61 SL:193\nFB48  F0 2B     BEQ $FB75                       A:6E X:FF Y:F7 P:65 SP:F9 CYC: 67 SL:193\nFB4A  30 29     BMI $FB75                       A:6E X:FF Y:F7 P:65 SP:F9 CYC: 73 SL:193\nFB4C  90 27     BCC $FB75                       A:6E X:FF Y:F7 P:65 SP:F9 CYC: 79 SL:193\nFB4E  C9 6E     CMP #$6E                        A:6E X:FF Y:F7 P:65 SP:F9 CYC: 85 SL:193\nFB50  D0 23     BNE $FB75                       A:6E X:FF Y:F7 P:67 SP:F9 CYC: 91 SL:193\nFB52  60        RTS                             A:6E X:FF Y:F7 P:67 SP:F9 CYC: 97 SL:193\nF483  A5 47     LDA $47 = 1B                    A:6E X:FF Y:F7 P:67 SP:FB CYC:115 SL:193\nF485  C9 1B     CMP #$1B                        A:1B X:FF Y:F7 P:65 SP:FB CYC:124 SL:193\nF487  F0 02     BEQ $F48B                       A:1B X:FF Y:F7 P:67 SP:FB CYC:130 SL:193\nF48B  A9 A5     LDA #$A5                        A:1B X:FF Y:F7 P:67 SP:FB CYC:139 SL:193\nF48D  8D 47 06  STA $0647 = 1B                  A:A5 X:FF Y:F7 P:E5 SP:FB CYC:145 SL:193\nF490  A0 FF     LDY #$FF                        A:A5 X:FF Y:F7 P:E5 SP:FB CYC:157 SL:193\nF492  20 1D FB  JSR $FB1D                       A:A5 X:FF Y:FF P:E5 SP:FB CYC:163 SL:193\nFB1D  24 01     BIT $01 = FF                    A:A5 X:FF Y:FF P:E5 SP:F9 CYC:181 SL:193\nFB1F  18        CLC                             A:A5 X:FF Y:FF P:E5 SP:F9 CYC:190 SL:193\nFB20  A9 B3     LDA #$B3                        A:A5 X:FF Y:FF P:E4 SP:F9 CYC:196 SL:193\nFB22  60        RTS                             A:B3 X:FF Y:FF P:E4 SP:F9 CYC:202 SL:193\nF495  5B 48 05 *SRE $0548,Y @ 0647 = A5         A:B3 X:FF Y:FF P:E4 SP:FB CYC:220 SL:193\nF498  EA        NOP                             A:E1 X:FF Y:FF P:E5 SP:FB CYC:241 SL:193\nF499  EA        NOP                             A:E1 X:FF Y:FF P:E5 SP:FB CYC:247 SL:193\nF49A  08        PHP                             A:E1 X:FF Y:FF P:E5 SP:FB CYC:253 SL:193\nF49B  48        PHA                             A:E1 X:FF Y:FF P:E5 SP:FA CYC:262 SL:193\nF49C  A0 F8     LDY #$F8                        A:E1 X:FF Y:FF P:E5 SP:F9 CYC:271 SL:193\nF49E  68        PLA                             A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:277 SL:193\nF49F  28        PLP                             A:E1 X:FF Y:F8 P:E5 SP:FA CYC:289 SL:193\nF4A0  20 23 FB  JSR $FB23                       A:E1 X:FF Y:F8 P:E5 SP:FB CYC:301 SL:193\nFB23  50 50     BVC $FB75                       A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:319 SL:193\nFB25  90 4E     BCC $FB75                       A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:325 SL:193\nFB27  10 4C     BPL $FB75                       A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:331 SL:193\nFB29  C9 E1     CMP #$E1                        A:E1 X:FF Y:F8 P:E5 SP:F9 CYC:337 SL:193\nFB2B  D0 48     BNE $FB75                       A:E1 X:FF Y:F8 P:67 SP:F9 CYC:  2 SL:194\nFB2D  60        RTS                             A:E1 X:FF Y:F8 P:67 SP:F9 CYC:  8 SL:194\nF4A3  AD 47 06  LDA $0647 = 52                  A:E1 X:FF Y:F8 P:67 SP:FB CYC: 26 SL:194\nF4A6  C9 52     CMP #$52                        A:52 X:FF Y:F8 P:65 SP:FB CYC: 38 SL:194\nF4A8  F0 02     BEQ $F4AC                       A:52 X:FF Y:F8 P:67 SP:FB CYC: 44 SL:194\nF4AC  A0 FF     LDY #$FF                        A:52 X:FF Y:F8 P:67 SP:FB CYC: 53 SL:194\nF4AE  A9 29     LDA #$29                        A:52 X:FF Y:FF P:E5 SP:FB CYC: 59 SL:194\nF4B0  8D 47 06  STA $0647 = 52                  A:29 X:FF Y:FF P:65 SP:FB CYC: 65 SL:194\nF4B3  20 2E FB  JSR $FB2E                       A:29 X:FF Y:FF P:65 SP:FB CYC: 77 SL:194\nFB2E  B8        CLV                             A:29 X:FF Y:FF P:65 SP:F9 CYC: 95 SL:194\nFB2F  18        CLC                             A:29 X:FF Y:FF P:25 SP:F9 CYC:101 SL:194\nFB30  A9 42     LDA #$42                        A:29 X:FF Y:FF P:24 SP:F9 CYC:107 SL:194\nFB32  60        RTS                             A:42 X:FF Y:FF P:24 SP:F9 CYC:113 SL:194\nF4B6  5B 48 05 *SRE $0548,Y @ 0647 = 29         A:42 X:FF Y:FF P:24 SP:FB CYC:131 SL:194\nF4B9  EA        NOP                             A:56 X:FF Y:FF P:25 SP:FB CYC:152 SL:194\nF4BA  EA        NOP                             A:56 X:FF Y:FF P:25 SP:FB CYC:158 SL:194\nF4BB  08        PHP                             A:56 X:FF Y:FF P:25 SP:FB CYC:164 SL:194\nF4BC  48        PHA                             A:56 X:FF Y:FF P:25 SP:FA CYC:173 SL:194\nF4BD  A0 F9     LDY #$F9                        A:56 X:FF Y:FF P:25 SP:F9 CYC:182 SL:194\nF4BF  68        PLA                             A:56 X:FF Y:F9 P:A5 SP:F9 CYC:188 SL:194\nF4C0  28        PLP                             A:56 X:FF Y:F9 P:25 SP:FA CYC:200 SL:194\nF4C1  20 33 FB  JSR $FB33                       A:56 X:FF Y:F9 P:25 SP:FB CYC:212 SL:194\nFB33  70 40     BVS $FB75                       A:56 X:FF Y:F9 P:25 SP:F9 CYC:230 SL:194\nFB35  F0 3E     BEQ $FB75                       A:56 X:FF Y:F9 P:25 SP:F9 CYC:236 SL:194\nFB37  30 3C     BMI $FB75                       A:56 X:FF Y:F9 P:25 SP:F9 CYC:242 SL:194\nFB39  90 3A     BCC $FB75                       A:56 X:FF Y:F9 P:25 SP:F9 CYC:248 SL:194\nFB3B  C9 56     CMP #$56                        A:56 X:FF Y:F9 P:25 SP:F9 CYC:254 SL:194\nFB3D  D0 36     BNE $FB75                       A:56 X:FF Y:F9 P:27 SP:F9 CYC:260 SL:194\nFB3F  60        RTS                             A:56 X:FF Y:F9 P:27 SP:F9 CYC:266 SL:194\nF4C4  AD 47 06  LDA $0647 = 14                  A:56 X:FF Y:F9 P:27 SP:FB CYC:284 SL:194\nF4C7  C9 14     CMP #$14                        A:14 X:FF Y:F9 P:25 SP:FB CYC:296 SL:194\nF4C9  F0 02     BEQ $F4CD                       A:14 X:FF Y:F9 P:27 SP:FB CYC:302 SL:194\nF4CD  A0 FF     LDY #$FF                        A:14 X:FF Y:F9 P:27 SP:FB CYC:311 SL:194\nF4CF  A9 37     LDA #$37                        A:14 X:FF Y:FF P:A5 SP:FB CYC:317 SL:194\nF4D1  8D 47 06  STA $0647 = 14                  A:37 X:FF Y:FF P:25 SP:FB CYC:323 SL:194\nF4D4  20 40 FB  JSR $FB40                       A:37 X:FF Y:FF P:25 SP:FB CYC:335 SL:194\nFB40  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC: 12 SL:195\nFB42  38        SEC                             A:37 X:FF Y:FF P:E5 SP:F9 CYC: 21 SL:195\nFB43  A9 75     LDA #$75                        A:37 X:FF Y:FF P:E5 SP:F9 CYC: 27 SL:195\nFB45  60        RTS                             A:75 X:FF Y:FF P:65 SP:F9 CYC: 33 SL:195\nF4D7  5B 48 05 *SRE $0548,Y @ 0647 = 37         A:75 X:FF Y:FF P:65 SP:FB CYC: 51 SL:195\nF4DA  EA        NOP                             A:6E X:FF Y:FF P:65 SP:FB CYC: 72 SL:195\nF4DB  EA        NOP                             A:6E X:FF Y:FF P:65 SP:FB CYC: 78 SL:195\nF4DC  08        PHP                             A:6E X:FF Y:FF P:65 SP:FB CYC: 84 SL:195\nF4DD  48        PHA                             A:6E X:FF Y:FF P:65 SP:FA CYC: 93 SL:195\nF4DE  A0 FA     LDY #$FA                        A:6E X:FF Y:FF P:65 SP:F9 CYC:102 SL:195\nF4E0  68        PLA                             A:6E X:FF Y:FA P:E5 SP:F9 CYC:108 SL:195\nF4E1  28        PLP                             A:6E X:FF Y:FA P:65 SP:FA CYC:120 SL:195\nF4E2  20 46 FB  JSR $FB46                       A:6E X:FF Y:FA P:65 SP:FB CYC:132 SL:195\nFB46  50 2D     BVC $FB75                       A:6E X:FF Y:FA P:65 SP:F9 CYC:150 SL:195\nFB48  F0 2B     BEQ $FB75                       A:6E X:FF Y:FA P:65 SP:F9 CYC:156 SL:195\nFB4A  30 29     BMI $FB75                       A:6E X:FF Y:FA P:65 SP:F9 CYC:162 SL:195\nFB4C  90 27     BCC $FB75                       A:6E X:FF Y:FA P:65 SP:F9 CYC:168 SL:195\nFB4E  C9 6E     CMP #$6E                        A:6E X:FF Y:FA P:65 SP:F9 CYC:174 SL:195\nFB50  D0 23     BNE $FB75                       A:6E X:FF Y:FA P:67 SP:F9 CYC:180 SL:195\nFB52  60        RTS                             A:6E X:FF Y:FA P:67 SP:F9 CYC:186 SL:195\nF4E5  AD 47 06  LDA $0647 = 1B                  A:6E X:FF Y:FA P:67 SP:FB CYC:204 SL:195\nF4E8  C9 1B     CMP #$1B                        A:1B X:FF Y:FA P:65 SP:FB CYC:216 SL:195\nF4EA  F0 02     BEQ $F4EE                       A:1B X:FF Y:FA P:67 SP:FB CYC:222 SL:195\nF4EE  A0 FB     LDY #$FB                        A:1B X:FF Y:FA P:67 SP:FB CYC:231 SL:195\nF4F0  A2 FF     LDX #$FF                        A:1B X:FF Y:FB P:E5 SP:FB CYC:237 SL:195\nF4F2  A9 A5     LDA #$A5                        A:1B X:FF Y:FB P:E5 SP:FB CYC:243 SL:195\nF4F4  8D 47 06  STA $0647 = 1B                  A:A5 X:FF Y:FB P:E5 SP:FB CYC:249 SL:195\nF4F7  20 1D FB  JSR $FB1D                       A:A5 X:FF Y:FB P:E5 SP:FB CYC:261 SL:195\nFB1D  24 01     BIT $01 = FF                    A:A5 X:FF Y:FB P:E5 SP:F9 CYC:279 SL:195\nFB1F  18        CLC                             A:A5 X:FF Y:FB P:E5 SP:F9 CYC:288 SL:195\nFB20  A9 B3     LDA #$B3                        A:A5 X:FF Y:FB P:E4 SP:F9 CYC:294 SL:195\nFB22  60        RTS                             A:B3 X:FF Y:FB P:E4 SP:F9 CYC:300 SL:195\nF4FA  5F 48 05 *SRE $0548,X @ 0647 = A5         A:B3 X:FF Y:FB P:E4 SP:FB CYC:318 SL:195\nF4FD  EA        NOP                             A:E1 X:FF Y:FB P:E5 SP:FB CYC:339 SL:195\nF4FE  EA        NOP                             A:E1 X:FF Y:FB P:E5 SP:FB CYC:  4 SL:196\nF4FF  EA        NOP                             A:E1 X:FF Y:FB P:E5 SP:FB CYC: 10 SL:196\nF500  EA        NOP                             A:E1 X:FF Y:FB P:E5 SP:FB CYC: 16 SL:196\nF501  20 23 FB  JSR $FB23                       A:E1 X:FF Y:FB P:E5 SP:FB CYC: 22 SL:196\nFB23  50 50     BVC $FB75                       A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 40 SL:196\nFB25  90 4E     BCC $FB75                       A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 46 SL:196\nFB27  10 4C     BPL $FB75                       A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 52 SL:196\nFB29  C9 E1     CMP #$E1                        A:E1 X:FF Y:FB P:E5 SP:F9 CYC: 58 SL:196\nFB2B  D0 48     BNE $FB75                       A:E1 X:FF Y:FB P:67 SP:F9 CYC: 64 SL:196\nFB2D  60        RTS                             A:E1 X:FF Y:FB P:67 SP:F9 CYC: 70 SL:196\nF504  AD 47 06  LDA $0647 = 52                  A:E1 X:FF Y:FB P:67 SP:FB CYC: 88 SL:196\nF507  C9 52     CMP #$52                        A:52 X:FF Y:FB P:65 SP:FB CYC:100 SL:196\nF509  F0 02     BEQ $F50D                       A:52 X:FF Y:FB P:67 SP:FB CYC:106 SL:196\nF50D  C8        INY                             A:52 X:FF Y:FB P:67 SP:FB CYC:115 SL:196\nF50E  A9 29     LDA #$29                        A:52 X:FF Y:FC P:E5 SP:FB CYC:121 SL:196\nF510  8D 47 06  STA $0647 = 52                  A:29 X:FF Y:FC P:65 SP:FB CYC:127 SL:196\nF513  20 2E FB  JSR $FB2E                       A:29 X:FF Y:FC P:65 SP:FB CYC:139 SL:196\nFB2E  B8        CLV                             A:29 X:FF Y:FC P:65 SP:F9 CYC:157 SL:196\nFB2F  18        CLC                             A:29 X:FF Y:FC P:25 SP:F9 CYC:163 SL:196\nFB30  A9 42     LDA #$42                        A:29 X:FF Y:FC P:24 SP:F9 CYC:169 SL:196\nFB32  60        RTS                             A:42 X:FF Y:FC P:24 SP:F9 CYC:175 SL:196\nF516  5F 48 05 *SRE $0548,X @ 0647 = 29         A:42 X:FF Y:FC P:24 SP:FB CYC:193 SL:196\nF519  EA        NOP                             A:56 X:FF Y:FC P:25 SP:FB CYC:214 SL:196\nF51A  EA        NOP                             A:56 X:FF Y:FC P:25 SP:FB CYC:220 SL:196\nF51B  EA        NOP                             A:56 X:FF Y:FC P:25 SP:FB CYC:226 SL:196\nF51C  EA        NOP                             A:56 X:FF Y:FC P:25 SP:FB CYC:232 SL:196\nF51D  20 33 FB  JSR $FB33                       A:56 X:FF Y:FC P:25 SP:FB CYC:238 SL:196\nFB33  70 40     BVS $FB75                       A:56 X:FF Y:FC P:25 SP:F9 CYC:256 SL:196\nFB35  F0 3E     BEQ $FB75                       A:56 X:FF Y:FC P:25 SP:F9 CYC:262 SL:196\nFB37  30 3C     BMI $FB75                       A:56 X:FF Y:FC P:25 SP:F9 CYC:268 SL:196\nFB39  90 3A     BCC $FB75                       A:56 X:FF Y:FC P:25 SP:F9 CYC:274 SL:196\nFB3B  C9 56     CMP #$56                        A:56 X:FF Y:FC P:25 SP:F9 CYC:280 SL:196\nFB3D  D0 36     BNE $FB75                       A:56 X:FF Y:FC P:27 SP:F9 CYC:286 SL:196\nFB3F  60        RTS                             A:56 X:FF Y:FC P:27 SP:F9 CYC:292 SL:196\nF520  AD 47 06  LDA $0647 = 14                  A:56 X:FF Y:FC P:27 SP:FB CYC:310 SL:196\nF523  C9 14     CMP #$14                        A:14 X:FF Y:FC P:25 SP:FB CYC:322 SL:196\nF525  F0 02     BEQ $F529                       A:14 X:FF Y:FC P:27 SP:FB CYC:328 SL:196\nF529  C8        INY                             A:14 X:FF Y:FC P:27 SP:FB CYC:337 SL:196\nF52A  A9 37     LDA #$37                        A:14 X:FF Y:FD P:A5 SP:FB CYC:  2 SL:197\nF52C  8D 47 06  STA $0647 = 14                  A:37 X:FF Y:FD P:25 SP:FB CYC:  8 SL:197\nF52F  20 40 FB  JSR $FB40                       A:37 X:FF Y:FD P:25 SP:FB CYC: 20 SL:197\nFB40  24 01     BIT $01 = FF                    A:37 X:FF Y:FD P:25 SP:F9 CYC: 38 SL:197\nFB42  38        SEC                             A:37 X:FF Y:FD P:E5 SP:F9 CYC: 47 SL:197\nFB43  A9 75     LDA #$75                        A:37 X:FF Y:FD P:E5 SP:F9 CYC: 53 SL:197\nFB45  60        RTS                             A:75 X:FF Y:FD P:65 SP:F9 CYC: 59 SL:197\nF532  5F 48 05 *SRE $0548,X @ 0647 = 37         A:75 X:FF Y:FD P:65 SP:FB CYC: 77 SL:197\nF535  EA        NOP                             A:6E X:FF Y:FD P:65 SP:FB CYC: 98 SL:197\nF536  EA        NOP                             A:6E X:FF Y:FD P:65 SP:FB CYC:104 SL:197\nF537  EA        NOP                             A:6E X:FF Y:FD P:65 SP:FB CYC:110 SL:197\nF538  EA        NOP                             A:6E X:FF Y:FD P:65 SP:FB CYC:116 SL:197\nF539  20 46 FB  JSR $FB46                       A:6E X:FF Y:FD P:65 SP:FB CYC:122 SL:197\nFB46  50 2D     BVC $FB75                       A:6E X:FF Y:FD P:65 SP:F9 CYC:140 SL:197\nFB48  F0 2B     BEQ $FB75                       A:6E X:FF Y:FD P:65 SP:F9 CYC:146 SL:197\nFB4A  30 29     BMI $FB75                       A:6E X:FF Y:FD P:65 SP:F9 CYC:152 SL:197\nFB4C  90 27     BCC $FB75                       A:6E X:FF Y:FD P:65 SP:F9 CYC:158 SL:197\nFB4E  C9 6E     CMP #$6E                        A:6E X:FF Y:FD P:65 SP:F9 CYC:164 SL:197\nFB50  D0 23     BNE $FB75                       A:6E X:FF Y:FD P:67 SP:F9 CYC:170 SL:197\nFB52  60        RTS                             A:6E X:FF Y:FD P:67 SP:F9 CYC:176 SL:197\nF53C  AD 47 06  LDA $0647 = 1B                  A:6E X:FF Y:FD P:67 SP:FB CYC:194 SL:197\nF53F  C9 1B     CMP #$1B                        A:1B X:FF Y:FD P:65 SP:FB CYC:206 SL:197\nF541  F0 02     BEQ $F545                       A:1B X:FF Y:FD P:67 SP:FB CYC:212 SL:197\nF545  60        RTS                             A:1B X:FF Y:FD P:67 SP:FB CYC:221 SL:197\nC64A  A5 00     LDA $00 = 00                    A:1B X:FF Y:FD P:67 SP:FD CYC:239 SL:197\nC64C  85 11     STA $11 = 00                    A:00 X:FF Y:FD P:67 SP:FD CYC:248 SL:197\nC64E  A9 00     LDA #$00                        A:00 X:FF Y:FD P:67 SP:FD CYC:257 SL:197\nC650  85 00     STA $00 = 00                    A:00 X:FF Y:FD P:67 SP:FD CYC:263 SL:197\nC652  20 46 F5  JSR $F546                       A:00 X:FF Y:FD P:67 SP:FD CYC:272 SL:197\nF546  A9 FF     LDA #$FF                        A:00 X:FF Y:FD P:67 SP:FB CYC:290 SL:197\nF548  85 01     STA $01 = FF                    A:FF X:FF Y:FD P:E5 SP:FB CYC:296 SL:197\nF54A  A0 01     LDY #$01                        A:FF X:FF Y:FD P:E5 SP:FB CYC:305 SL:197\nF54C  A2 02     LDX #$02                        A:FF X:FF Y:01 P:65 SP:FB CYC:311 SL:197\nF54E  A9 47     LDA #$47                        A:FF X:02 Y:01 P:65 SP:FB CYC:317 SL:197\nF550  85 47     STA $47 = 1B                    A:47 X:02 Y:01 P:65 SP:FB CYC:323 SL:197\nF552  A9 06     LDA #$06                        A:47 X:02 Y:01 P:65 SP:FB CYC:332 SL:197\nF554  85 48     STA $48 = 06                    A:06 X:02 Y:01 P:65 SP:FB CYC:338 SL:197\nF556  A9 A5     LDA #$A5                        A:06 X:02 Y:01 P:65 SP:FB CYC:  6 SL:198\nF558  8D 47 06  STA $0647 = 1B                  A:A5 X:02 Y:01 P:E5 SP:FB CYC: 12 SL:198\nF55B  20 E9 FA  JSR $FAE9                       A:A5 X:02 Y:01 P:E5 SP:FB CYC: 24 SL:198\nFAE9  24 01     BIT $01 = FF                    A:A5 X:02 Y:01 P:E5 SP:F9 CYC: 42 SL:198\nFAEB  18        CLC                             A:A5 X:02 Y:01 P:E5 SP:F9 CYC: 51 SL:198\nFAEC  A9 B2     LDA #$B2                        A:A5 X:02 Y:01 P:E4 SP:F9 CYC: 57 SL:198\nFAEE  60        RTS                             A:B2 X:02 Y:01 P:E4 SP:F9 CYC: 63 SL:198\nF55E  63 45    *RRA ($45,X) @ 47 = 0647 = A5    A:B2 X:02 Y:01 P:E4 SP:FB CYC: 81 SL:198\nF560  EA        NOP                             A:05 X:02 Y:01 P:25 SP:FB CYC:105 SL:198\nF561  EA        NOP                             A:05 X:02 Y:01 P:25 SP:FB CYC:111 SL:198\nF562  EA        NOP                             A:05 X:02 Y:01 P:25 SP:FB CYC:117 SL:198\nF563  EA        NOP                             A:05 X:02 Y:01 P:25 SP:FB CYC:123 SL:198\nF564  20 EF FA  JSR $FAEF                       A:05 X:02 Y:01 P:25 SP:FB CYC:129 SL:198\nFAEF  70 2A     BVS $FB1B                       A:05 X:02 Y:01 P:25 SP:F9 CYC:147 SL:198\nFAF1  90 28     BCC $FB1B                       A:05 X:02 Y:01 P:25 SP:F9 CYC:153 SL:198\nFAF3  30 26     BMI $FB1B                       A:05 X:02 Y:01 P:25 SP:F9 CYC:159 SL:198\nFAF5  C9 05     CMP #$05                        A:05 X:02 Y:01 P:25 SP:F9 CYC:165 SL:198\nFAF7  D0 22     BNE $FB1B                       A:05 X:02 Y:01 P:27 SP:F9 CYC:171 SL:198\nFAF9  60        RTS                             A:05 X:02 Y:01 P:27 SP:F9 CYC:177 SL:198\nF567  AD 47 06  LDA $0647 = 52                  A:05 X:02 Y:01 P:27 SP:FB CYC:195 SL:198\nF56A  C9 52     CMP #$52                        A:52 X:02 Y:01 P:25 SP:FB CYC:207 SL:198\nF56C  F0 02     BEQ $F570                       A:52 X:02 Y:01 P:27 SP:FB CYC:213 SL:198\nF570  C8        INY                             A:52 X:02 Y:01 P:27 SP:FB CYC:222 SL:198\nF571  A9 29     LDA #$29                        A:52 X:02 Y:02 P:25 SP:FB CYC:228 SL:198\nF573  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:02 P:25 SP:FB CYC:234 SL:198\nF576  20 FA FA  JSR $FAFA                       A:29 X:02 Y:02 P:25 SP:FB CYC:246 SL:198\nFAFA  B8        CLV                             A:29 X:02 Y:02 P:25 SP:F9 CYC:264 SL:198\nFAFB  18        CLC                             A:29 X:02 Y:02 P:25 SP:F9 CYC:270 SL:198\nFAFC  A9 42     LDA #$42                        A:29 X:02 Y:02 P:24 SP:F9 CYC:276 SL:198\nFAFE  60        RTS                             A:42 X:02 Y:02 P:24 SP:F9 CYC:282 SL:198\nF579  63 45    *RRA ($45,X) @ 47 = 0647 = 29    A:42 X:02 Y:02 P:24 SP:FB CYC:300 SL:198\nF57B  EA        NOP                             A:57 X:02 Y:02 P:24 SP:FB CYC:324 SL:198\nF57C  EA        NOP                             A:57 X:02 Y:02 P:24 SP:FB CYC:330 SL:198\nF57D  EA        NOP                             A:57 X:02 Y:02 P:24 SP:FB CYC:336 SL:198\nF57E  EA        NOP                             A:57 X:02 Y:02 P:24 SP:FB CYC:  1 SL:199\nF57F  20 FF FA  JSR $FAFF                       A:57 X:02 Y:02 P:24 SP:FB CYC:  7 SL:199\nFAFF  70 1A     BVS $FB1B                       A:57 X:02 Y:02 P:24 SP:F9 CYC: 25 SL:199\nFB01  30 18     BMI $FB1B                       A:57 X:02 Y:02 P:24 SP:F9 CYC: 31 SL:199\nFB03  B0 16     BCS $FB1B                       A:57 X:02 Y:02 P:24 SP:F9 CYC: 37 SL:199\nFB05  C9 57     CMP #$57                        A:57 X:02 Y:02 P:24 SP:F9 CYC: 43 SL:199\nFB07  D0 12     BNE $FB1B                       A:57 X:02 Y:02 P:27 SP:F9 CYC: 49 SL:199\nFB09  60        RTS                             A:57 X:02 Y:02 P:27 SP:F9 CYC: 55 SL:199\nF582  AD 47 06  LDA $0647 = 14                  A:57 X:02 Y:02 P:27 SP:FB CYC: 73 SL:199\nF585  C9 14     CMP #$14                        A:14 X:02 Y:02 P:25 SP:FB CYC: 85 SL:199\nF587  F0 02     BEQ $F58B                       A:14 X:02 Y:02 P:27 SP:FB CYC: 91 SL:199\nF58B  C8        INY                             A:14 X:02 Y:02 P:27 SP:FB CYC:100 SL:199\nF58C  A9 37     LDA #$37                        A:14 X:02 Y:03 P:25 SP:FB CYC:106 SL:199\nF58E  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:03 P:25 SP:FB CYC:112 SL:199\nF591  20 0A FB  JSR $FB0A                       A:37 X:02 Y:03 P:25 SP:FB CYC:124 SL:199\nFB0A  24 01     BIT $01 = FF                    A:37 X:02 Y:03 P:25 SP:F9 CYC:142 SL:199\nFB0C  38        SEC                             A:37 X:02 Y:03 P:E5 SP:F9 CYC:151 SL:199\nFB0D  A9 75     LDA #$75                        A:37 X:02 Y:03 P:E5 SP:F9 CYC:157 SL:199\nFB0F  60        RTS                             A:75 X:02 Y:03 P:65 SP:F9 CYC:163 SL:199\nF594  63 45    *RRA ($45,X) @ 47 = 0647 = 37    A:75 X:02 Y:03 P:65 SP:FB CYC:181 SL:199\nF596  EA        NOP                             A:11 X:02 Y:03 P:25 SP:FB CYC:205 SL:199\nF597  EA        NOP                             A:11 X:02 Y:03 P:25 SP:FB CYC:211 SL:199\nF598  EA        NOP                             A:11 X:02 Y:03 P:25 SP:FB CYC:217 SL:199\nF599  EA        NOP                             A:11 X:02 Y:03 P:25 SP:FB CYC:223 SL:199\nF59A  20 10 FB  JSR $FB10                       A:11 X:02 Y:03 P:25 SP:FB CYC:229 SL:199\nFB10  70 09     BVS $FB1B                       A:11 X:02 Y:03 P:25 SP:F9 CYC:247 SL:199\nFB12  30 07     BMI $FB1B                       A:11 X:02 Y:03 P:25 SP:F9 CYC:253 SL:199\nFB14  90 05     BCC $FB1B                       A:11 X:02 Y:03 P:25 SP:F9 CYC:259 SL:199\nFB16  C9 11     CMP #$11                        A:11 X:02 Y:03 P:25 SP:F9 CYC:265 SL:199\nFB18  D0 01     BNE $FB1B                       A:11 X:02 Y:03 P:27 SP:F9 CYC:271 SL:199\nFB1A  60        RTS                             A:11 X:02 Y:03 P:27 SP:F9 CYC:277 SL:199\nF59D  AD 47 06  LDA $0647 = 9B                  A:11 X:02 Y:03 P:27 SP:FB CYC:295 SL:199\nF5A0  C9 9B     CMP #$9B                        A:9B X:02 Y:03 P:A5 SP:FB CYC:307 SL:199\nF5A2  F0 02     BEQ $F5A6                       A:9B X:02 Y:03 P:27 SP:FB CYC:313 SL:199\nF5A6  C8        INY                             A:9B X:02 Y:03 P:27 SP:FB CYC:322 SL:199\nF5A7  A9 A5     LDA #$A5                        A:9B X:02 Y:04 P:25 SP:FB CYC:328 SL:199\nF5A9  85 47     STA $47 = 47                    A:A5 X:02 Y:04 P:A5 SP:FB CYC:334 SL:199\nF5AB  20 E9 FA  JSR $FAE9                       A:A5 X:02 Y:04 P:A5 SP:FB CYC:  2 SL:200\nFAE9  24 01     BIT $01 = FF                    A:A5 X:02 Y:04 P:A5 SP:F9 CYC: 20 SL:200\nFAEB  18        CLC                             A:A5 X:02 Y:04 P:E5 SP:F9 CYC: 29 SL:200\nFAEC  A9 B2     LDA #$B2                        A:A5 X:02 Y:04 P:E4 SP:F9 CYC: 35 SL:200\nFAEE  60        RTS                             A:B2 X:02 Y:04 P:E4 SP:F9 CYC: 41 SL:200\nF5AE  67 47    *RRA $47 = A5                    A:B2 X:02 Y:04 P:E4 SP:FB CYC: 59 SL:200\nF5B0  EA        NOP                             A:05 X:02 Y:04 P:25 SP:FB CYC: 74 SL:200\nF5B1  EA        NOP                             A:05 X:02 Y:04 P:25 SP:FB CYC: 80 SL:200\nF5B2  EA        NOP                             A:05 X:02 Y:04 P:25 SP:FB CYC: 86 SL:200\nF5B3  EA        NOP                             A:05 X:02 Y:04 P:25 SP:FB CYC: 92 SL:200\nF5B4  20 EF FA  JSR $FAEF                       A:05 X:02 Y:04 P:25 SP:FB CYC: 98 SL:200\nFAEF  70 2A     BVS $FB1B                       A:05 X:02 Y:04 P:25 SP:F9 CYC:116 SL:200\nFAF1  90 28     BCC $FB1B                       A:05 X:02 Y:04 P:25 SP:F9 CYC:122 SL:200\nFAF3  30 26     BMI $FB1B                       A:05 X:02 Y:04 P:25 SP:F9 CYC:128 SL:200\nFAF5  C9 05     CMP #$05                        A:05 X:02 Y:04 P:25 SP:F9 CYC:134 SL:200\nFAF7  D0 22     BNE $FB1B                       A:05 X:02 Y:04 P:27 SP:F9 CYC:140 SL:200\nFAF9  60        RTS                             A:05 X:02 Y:04 P:27 SP:F9 CYC:146 SL:200\nF5B7  A5 47     LDA $47 = 52                    A:05 X:02 Y:04 P:27 SP:FB CYC:164 SL:200\nF5B9  C9 52     CMP #$52                        A:52 X:02 Y:04 P:25 SP:FB CYC:173 SL:200\nF5BB  F0 02     BEQ $F5BF                       A:52 X:02 Y:04 P:27 SP:FB CYC:179 SL:200\nF5BF  C8        INY                             A:52 X:02 Y:04 P:27 SP:FB CYC:188 SL:200\nF5C0  A9 29     LDA #$29                        A:52 X:02 Y:05 P:25 SP:FB CYC:194 SL:200\nF5C2  85 47     STA $47 = 52                    A:29 X:02 Y:05 P:25 SP:FB CYC:200 SL:200\nF5C4  20 FA FA  JSR $FAFA                       A:29 X:02 Y:05 P:25 SP:FB CYC:209 SL:200\nFAFA  B8        CLV                             A:29 X:02 Y:05 P:25 SP:F9 CYC:227 SL:200\nFAFB  18        CLC                             A:29 X:02 Y:05 P:25 SP:F9 CYC:233 SL:200\nFAFC  A9 42     LDA #$42                        A:29 X:02 Y:05 P:24 SP:F9 CYC:239 SL:200\nFAFE  60        RTS                             A:42 X:02 Y:05 P:24 SP:F9 CYC:245 SL:200\nF5C7  67 47    *RRA $47 = 29                    A:42 X:02 Y:05 P:24 SP:FB CYC:263 SL:200\nF5C9  EA        NOP                             A:57 X:02 Y:05 P:24 SP:FB CYC:278 SL:200\nF5CA  EA        NOP                             A:57 X:02 Y:05 P:24 SP:FB CYC:284 SL:200\nF5CB  EA        NOP                             A:57 X:02 Y:05 P:24 SP:FB CYC:290 SL:200\nF5CC  EA        NOP                             A:57 X:02 Y:05 P:24 SP:FB CYC:296 SL:200\nF5CD  20 FF FA  JSR $FAFF                       A:57 X:02 Y:05 P:24 SP:FB CYC:302 SL:200\nFAFF  70 1A     BVS $FB1B                       A:57 X:02 Y:05 P:24 SP:F9 CYC:320 SL:200\nFB01  30 18     BMI $FB1B                       A:57 X:02 Y:05 P:24 SP:F9 CYC:326 SL:200\nFB03  B0 16     BCS $FB1B                       A:57 X:02 Y:05 P:24 SP:F9 CYC:332 SL:200\nFB05  C9 57     CMP #$57                        A:57 X:02 Y:05 P:24 SP:F9 CYC:338 SL:200\nFB07  D0 12     BNE $FB1B                       A:57 X:02 Y:05 P:27 SP:F9 CYC:  3 SL:201\nFB09  60        RTS                             A:57 X:02 Y:05 P:27 SP:F9 CYC:  9 SL:201\nF5D0  A5 47     LDA $47 = 14                    A:57 X:02 Y:05 P:27 SP:FB CYC: 27 SL:201\nF5D2  C9 14     CMP #$14                        A:14 X:02 Y:05 P:25 SP:FB CYC: 36 SL:201\nF5D4  F0 02     BEQ $F5D8                       A:14 X:02 Y:05 P:27 SP:FB CYC: 42 SL:201\nF5D8  C8        INY                             A:14 X:02 Y:05 P:27 SP:FB CYC: 51 SL:201\nF5D9  A9 37     LDA #$37                        A:14 X:02 Y:06 P:25 SP:FB CYC: 57 SL:201\nF5DB  85 47     STA $47 = 14                    A:37 X:02 Y:06 P:25 SP:FB CYC: 63 SL:201\nF5DD  20 0A FB  JSR $FB0A                       A:37 X:02 Y:06 P:25 SP:FB CYC: 72 SL:201\nFB0A  24 01     BIT $01 = FF                    A:37 X:02 Y:06 P:25 SP:F9 CYC: 90 SL:201\nFB0C  38        SEC                             A:37 X:02 Y:06 P:E5 SP:F9 CYC: 99 SL:201\nFB0D  A9 75     LDA #$75                        A:37 X:02 Y:06 P:E5 SP:F9 CYC:105 SL:201\nFB0F  60        RTS                             A:75 X:02 Y:06 P:65 SP:F9 CYC:111 SL:201\nF5E0  67 47    *RRA $47 = 37                    A:75 X:02 Y:06 P:65 SP:FB CYC:129 SL:201\nF5E2  EA        NOP                             A:11 X:02 Y:06 P:25 SP:FB CYC:144 SL:201\nF5E3  EA        NOP                             A:11 X:02 Y:06 P:25 SP:FB CYC:150 SL:201\nF5E4  EA        NOP                             A:11 X:02 Y:06 P:25 SP:FB CYC:156 SL:201\nF5E5  EA        NOP                             A:11 X:02 Y:06 P:25 SP:FB CYC:162 SL:201\nF5E6  20 10 FB  JSR $FB10                       A:11 X:02 Y:06 P:25 SP:FB CYC:168 SL:201\nFB10  70 09     BVS $FB1B                       A:11 X:02 Y:06 P:25 SP:F9 CYC:186 SL:201\nFB12  30 07     BMI $FB1B                       A:11 X:02 Y:06 P:25 SP:F9 CYC:192 SL:201\nFB14  90 05     BCC $FB1B                       A:11 X:02 Y:06 P:25 SP:F9 CYC:198 SL:201\nFB16  C9 11     CMP #$11                        A:11 X:02 Y:06 P:25 SP:F9 CYC:204 SL:201\nFB18  D0 01     BNE $FB1B                       A:11 X:02 Y:06 P:27 SP:F9 CYC:210 SL:201\nFB1A  60        RTS                             A:11 X:02 Y:06 P:27 SP:F9 CYC:216 SL:201\nF5E9  A5 47     LDA $47 = 9B                    A:11 X:02 Y:06 P:27 SP:FB CYC:234 SL:201\nF5EB  C9 9B     CMP #$9B                        A:9B X:02 Y:06 P:A5 SP:FB CYC:243 SL:201\nF5ED  F0 02     BEQ $F5F1                       A:9B X:02 Y:06 P:27 SP:FB CYC:249 SL:201\nF5F1  C8        INY                             A:9B X:02 Y:06 P:27 SP:FB CYC:258 SL:201\nF5F2  A9 A5     LDA #$A5                        A:9B X:02 Y:07 P:25 SP:FB CYC:264 SL:201\nF5F4  8D 47 06  STA $0647 = 9B                  A:A5 X:02 Y:07 P:A5 SP:FB CYC:270 SL:201\nF5F7  20 E9 FA  JSR $FAE9                       A:A5 X:02 Y:07 P:A5 SP:FB CYC:282 SL:201\nFAE9  24 01     BIT $01 = FF                    A:A5 X:02 Y:07 P:A5 SP:F9 CYC:300 SL:201\nFAEB  18        CLC                             A:A5 X:02 Y:07 P:E5 SP:F9 CYC:309 SL:201\nFAEC  A9 B2     LDA #$B2                        A:A5 X:02 Y:07 P:E4 SP:F9 CYC:315 SL:201\nFAEE  60        RTS                             A:B2 X:02 Y:07 P:E4 SP:F9 CYC:321 SL:201\nF5FA  6F 47 06 *RRA $0647 = A5                  A:B2 X:02 Y:07 P:E4 SP:FB CYC:339 SL:201\nF5FD  EA        NOP                             A:05 X:02 Y:07 P:25 SP:FB CYC: 16 SL:202\nF5FE  EA        NOP                             A:05 X:02 Y:07 P:25 SP:FB CYC: 22 SL:202\nF5FF  EA        NOP                             A:05 X:02 Y:07 P:25 SP:FB CYC: 28 SL:202\nF600  EA        NOP                             A:05 X:02 Y:07 P:25 SP:FB CYC: 34 SL:202\nF601  20 EF FA  JSR $FAEF                       A:05 X:02 Y:07 P:25 SP:FB CYC: 40 SL:202\nFAEF  70 2A     BVS $FB1B                       A:05 X:02 Y:07 P:25 SP:F9 CYC: 58 SL:202\nFAF1  90 28     BCC $FB1B                       A:05 X:02 Y:07 P:25 SP:F9 CYC: 64 SL:202\nFAF3  30 26     BMI $FB1B                       A:05 X:02 Y:07 P:25 SP:F9 CYC: 70 SL:202\nFAF5  C9 05     CMP #$05                        A:05 X:02 Y:07 P:25 SP:F9 CYC: 76 SL:202\nFAF7  D0 22     BNE $FB1B                       A:05 X:02 Y:07 P:27 SP:F9 CYC: 82 SL:202\nFAF9  60        RTS                             A:05 X:02 Y:07 P:27 SP:F9 CYC: 88 SL:202\nF604  AD 47 06  LDA $0647 = 52                  A:05 X:02 Y:07 P:27 SP:FB CYC:106 SL:202\nF607  C9 52     CMP #$52                        A:52 X:02 Y:07 P:25 SP:FB CYC:118 SL:202\nF609  F0 02     BEQ $F60D                       A:52 X:02 Y:07 P:27 SP:FB CYC:124 SL:202\nF60D  C8        INY                             A:52 X:02 Y:07 P:27 SP:FB CYC:133 SL:202\nF60E  A9 29     LDA #$29                        A:52 X:02 Y:08 P:25 SP:FB CYC:139 SL:202\nF610  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:08 P:25 SP:FB CYC:145 SL:202\nF613  20 FA FA  JSR $FAFA                       A:29 X:02 Y:08 P:25 SP:FB CYC:157 SL:202\nFAFA  B8        CLV                             A:29 X:02 Y:08 P:25 SP:F9 CYC:175 SL:202\nFAFB  18        CLC                             A:29 X:02 Y:08 P:25 SP:F9 CYC:181 SL:202\nFAFC  A9 42     LDA #$42                        A:29 X:02 Y:08 P:24 SP:F9 CYC:187 SL:202\nFAFE  60        RTS                             A:42 X:02 Y:08 P:24 SP:F9 CYC:193 SL:202\nF616  6F 47 06 *RRA $0647 = 29                  A:42 X:02 Y:08 P:24 SP:FB CYC:211 SL:202\nF619  EA        NOP                             A:57 X:02 Y:08 P:24 SP:FB CYC:229 SL:202\nF61A  EA        NOP                             A:57 X:02 Y:08 P:24 SP:FB CYC:235 SL:202\nF61B  EA        NOP                             A:57 X:02 Y:08 P:24 SP:FB CYC:241 SL:202\nF61C  EA        NOP                             A:57 X:02 Y:08 P:24 SP:FB CYC:247 SL:202\nF61D  20 FF FA  JSR $FAFF                       A:57 X:02 Y:08 P:24 SP:FB CYC:253 SL:202\nFAFF  70 1A     BVS $FB1B                       A:57 X:02 Y:08 P:24 SP:F9 CYC:271 SL:202\nFB01  30 18     BMI $FB1B                       A:57 X:02 Y:08 P:24 SP:F9 CYC:277 SL:202\nFB03  B0 16     BCS $FB1B                       A:57 X:02 Y:08 P:24 SP:F9 CYC:283 SL:202\nFB05  C9 57     CMP #$57                        A:57 X:02 Y:08 P:24 SP:F9 CYC:289 SL:202\nFB07  D0 12     BNE $FB1B                       A:57 X:02 Y:08 P:27 SP:F9 CYC:295 SL:202\nFB09  60        RTS                             A:57 X:02 Y:08 P:27 SP:F9 CYC:301 SL:202\nF620  AD 47 06  LDA $0647 = 14                  A:57 X:02 Y:08 P:27 SP:FB CYC:319 SL:202\nF623  C9 14     CMP #$14                        A:14 X:02 Y:08 P:25 SP:FB CYC:331 SL:202\nF625  F0 02     BEQ $F629                       A:14 X:02 Y:08 P:27 SP:FB CYC:337 SL:202\nF629  C8        INY                             A:14 X:02 Y:08 P:27 SP:FB CYC:  5 SL:203\nF62A  A9 37     LDA #$37                        A:14 X:02 Y:09 P:25 SP:FB CYC: 11 SL:203\nF62C  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:09 P:25 SP:FB CYC: 17 SL:203\nF62F  20 0A FB  JSR $FB0A                       A:37 X:02 Y:09 P:25 SP:FB CYC: 29 SL:203\nFB0A  24 01     BIT $01 = FF                    A:37 X:02 Y:09 P:25 SP:F9 CYC: 47 SL:203\nFB0C  38        SEC                             A:37 X:02 Y:09 P:E5 SP:F9 CYC: 56 SL:203\nFB0D  A9 75     LDA #$75                        A:37 X:02 Y:09 P:E5 SP:F9 CYC: 62 SL:203\nFB0F  60        RTS                             A:75 X:02 Y:09 P:65 SP:F9 CYC: 68 SL:203\nF632  6F 47 06 *RRA $0647 = 37                  A:75 X:02 Y:09 P:65 SP:FB CYC: 86 SL:203\nF635  EA        NOP                             A:11 X:02 Y:09 P:25 SP:FB CYC:104 SL:203\nF636  EA        NOP                             A:11 X:02 Y:09 P:25 SP:FB CYC:110 SL:203\nF637  EA        NOP                             A:11 X:02 Y:09 P:25 SP:FB CYC:116 SL:203\nF638  EA        NOP                             A:11 X:02 Y:09 P:25 SP:FB CYC:122 SL:203\nF639  20 10 FB  JSR $FB10                       A:11 X:02 Y:09 P:25 SP:FB CYC:128 SL:203\nFB10  70 09     BVS $FB1B                       A:11 X:02 Y:09 P:25 SP:F9 CYC:146 SL:203\nFB12  30 07     BMI $FB1B                       A:11 X:02 Y:09 P:25 SP:F9 CYC:152 SL:203\nFB14  90 05     BCC $FB1B                       A:11 X:02 Y:09 P:25 SP:F9 CYC:158 SL:203\nFB16  C9 11     CMP #$11                        A:11 X:02 Y:09 P:25 SP:F9 CYC:164 SL:203\nFB18  D0 01     BNE $FB1B                       A:11 X:02 Y:09 P:27 SP:F9 CYC:170 SL:203\nFB1A  60        RTS                             A:11 X:02 Y:09 P:27 SP:F9 CYC:176 SL:203\nF63C  AD 47 06  LDA $0647 = 9B                  A:11 X:02 Y:09 P:27 SP:FB CYC:194 SL:203\nF63F  C9 9B     CMP #$9B                        A:9B X:02 Y:09 P:A5 SP:FB CYC:206 SL:203\nF641  F0 02     BEQ $F645                       A:9B X:02 Y:09 P:27 SP:FB CYC:212 SL:203\nF645  A9 A5     LDA #$A5                        A:9B X:02 Y:09 P:27 SP:FB CYC:221 SL:203\nF647  8D 47 06  STA $0647 = 9B                  A:A5 X:02 Y:09 P:A5 SP:FB CYC:227 SL:203\nF64A  A9 48     LDA #$48                        A:A5 X:02 Y:09 P:A5 SP:FB CYC:239 SL:203\nF64C  85 45     STA $45 = 48                    A:48 X:02 Y:09 P:25 SP:FB CYC:245 SL:203\nF64E  A9 05     LDA #$05                        A:48 X:02 Y:09 P:25 SP:FB CYC:254 SL:203\nF650  85 46     STA $46 = 05                    A:05 X:02 Y:09 P:25 SP:FB CYC:260 SL:203\nF652  A0 FF     LDY #$FF                        A:05 X:02 Y:09 P:25 SP:FB CYC:269 SL:203\nF654  20 E9 FA  JSR $FAE9                       A:05 X:02 Y:FF P:A5 SP:FB CYC:275 SL:203\nFAE9  24 01     BIT $01 = FF                    A:05 X:02 Y:FF P:A5 SP:F9 CYC:293 SL:203\nFAEB  18        CLC                             A:05 X:02 Y:FF P:E5 SP:F9 CYC:302 SL:203\nFAEC  A9 B2     LDA #$B2                        A:05 X:02 Y:FF P:E4 SP:F9 CYC:308 SL:203\nFAEE  60        RTS                             A:B2 X:02 Y:FF P:E4 SP:F9 CYC:314 SL:203\nF657  73 45    *RRA ($45),Y = 0548 @ 0647 = A5  A:B2 X:02 Y:FF P:E4 SP:FB CYC:332 SL:203\nF659  EA        NOP                             A:05 X:02 Y:FF P:25 SP:FB CYC: 15 SL:204\nF65A  EA        NOP                             A:05 X:02 Y:FF P:25 SP:FB CYC: 21 SL:204\nF65B  08        PHP                             A:05 X:02 Y:FF P:25 SP:FB CYC: 27 SL:204\nF65C  48        PHA                             A:05 X:02 Y:FF P:25 SP:FA CYC: 36 SL:204\nF65D  A0 0A     LDY #$0A                        A:05 X:02 Y:FF P:25 SP:F9 CYC: 45 SL:204\nF65F  68        PLA                             A:05 X:02 Y:0A P:25 SP:F9 CYC: 51 SL:204\nF660  28        PLP                             A:05 X:02 Y:0A P:25 SP:FA CYC: 63 SL:204\nF661  20 EF FA  JSR $FAEF                       A:05 X:02 Y:0A P:25 SP:FB CYC: 75 SL:204\nFAEF  70 2A     BVS $FB1B                       A:05 X:02 Y:0A P:25 SP:F9 CYC: 93 SL:204\nFAF1  90 28     BCC $FB1B                       A:05 X:02 Y:0A P:25 SP:F9 CYC: 99 SL:204\nFAF3  30 26     BMI $FB1B                       A:05 X:02 Y:0A P:25 SP:F9 CYC:105 SL:204\nFAF5  C9 05     CMP #$05                        A:05 X:02 Y:0A P:25 SP:F9 CYC:111 SL:204\nFAF7  D0 22     BNE $FB1B                       A:05 X:02 Y:0A P:27 SP:F9 CYC:117 SL:204\nFAF9  60        RTS                             A:05 X:02 Y:0A P:27 SP:F9 CYC:123 SL:204\nF664  AD 47 06  LDA $0647 = 52                  A:05 X:02 Y:0A P:27 SP:FB CYC:141 SL:204\nF667  C9 52     CMP #$52                        A:52 X:02 Y:0A P:25 SP:FB CYC:153 SL:204\nF669  F0 02     BEQ $F66D                       A:52 X:02 Y:0A P:27 SP:FB CYC:159 SL:204\nF66D  A0 FF     LDY #$FF                        A:52 X:02 Y:0A P:27 SP:FB CYC:168 SL:204\nF66F  A9 29     LDA #$29                        A:52 X:02 Y:FF P:A5 SP:FB CYC:174 SL:204\nF671  8D 47 06  STA $0647 = 52                  A:29 X:02 Y:FF P:25 SP:FB CYC:180 SL:204\nF674  20 FA FA  JSR $FAFA                       A:29 X:02 Y:FF P:25 SP:FB CYC:192 SL:204\nFAFA  B8        CLV                             A:29 X:02 Y:FF P:25 SP:F9 CYC:210 SL:204\nFAFB  18        CLC                             A:29 X:02 Y:FF P:25 SP:F9 CYC:216 SL:204\nFAFC  A9 42     LDA #$42                        A:29 X:02 Y:FF P:24 SP:F9 CYC:222 SL:204\nFAFE  60        RTS                             A:42 X:02 Y:FF P:24 SP:F9 CYC:228 SL:204\nF677  73 45    *RRA ($45),Y = 0548 @ 0647 = 29  A:42 X:02 Y:FF P:24 SP:FB CYC:246 SL:204\nF679  EA        NOP                             A:57 X:02 Y:FF P:24 SP:FB CYC:270 SL:204\nF67A  EA        NOP                             A:57 X:02 Y:FF P:24 SP:FB CYC:276 SL:204\nF67B  08        PHP                             A:57 X:02 Y:FF P:24 SP:FB CYC:282 SL:204\nF67C  48        PHA                             A:57 X:02 Y:FF P:24 SP:FA CYC:291 SL:204\nF67D  A0 0B     LDY #$0B                        A:57 X:02 Y:FF P:24 SP:F9 CYC:300 SL:204\nF67F  68        PLA                             A:57 X:02 Y:0B P:24 SP:F9 CYC:306 SL:204\nF680  28        PLP                             A:57 X:02 Y:0B P:24 SP:FA CYC:318 SL:204\nF681  20 FF FA  JSR $FAFF                       A:57 X:02 Y:0B P:24 SP:FB CYC:330 SL:204\nFAFF  70 1A     BVS $FB1B                       A:57 X:02 Y:0B P:24 SP:F9 CYC:  7 SL:205\nFB01  30 18     BMI $FB1B                       A:57 X:02 Y:0B P:24 SP:F9 CYC: 13 SL:205\nFB03  B0 16     BCS $FB1B                       A:57 X:02 Y:0B P:24 SP:F9 CYC: 19 SL:205\nFB05  C9 57     CMP #$57                        A:57 X:02 Y:0B P:24 SP:F9 CYC: 25 SL:205\nFB07  D0 12     BNE $FB1B                       A:57 X:02 Y:0B P:27 SP:F9 CYC: 31 SL:205\nFB09  60        RTS                             A:57 X:02 Y:0B P:27 SP:F9 CYC: 37 SL:205\nF684  AD 47 06  LDA $0647 = 14                  A:57 X:02 Y:0B P:27 SP:FB CYC: 55 SL:205\nF687  C9 14     CMP #$14                        A:14 X:02 Y:0B P:25 SP:FB CYC: 67 SL:205\nF689  F0 02     BEQ $F68D                       A:14 X:02 Y:0B P:27 SP:FB CYC: 73 SL:205\nF68D  A0 FF     LDY #$FF                        A:14 X:02 Y:0B P:27 SP:FB CYC: 82 SL:205\nF68F  A9 37     LDA #$37                        A:14 X:02 Y:FF P:A5 SP:FB CYC: 88 SL:205\nF691  8D 47 06  STA $0647 = 14                  A:37 X:02 Y:FF P:25 SP:FB CYC: 94 SL:205\nF694  20 0A FB  JSR $FB0A                       A:37 X:02 Y:FF P:25 SP:FB CYC:106 SL:205\nFB0A  24 01     BIT $01 = FF                    A:37 X:02 Y:FF P:25 SP:F9 CYC:124 SL:205\nFB0C  38        SEC                             A:37 X:02 Y:FF P:E5 SP:F9 CYC:133 SL:205\nFB0D  A9 75     LDA #$75                        A:37 X:02 Y:FF P:E5 SP:F9 CYC:139 SL:205\nFB0F  60        RTS                             A:75 X:02 Y:FF P:65 SP:F9 CYC:145 SL:205\nF697  73 45    *RRA ($45),Y = 0548 @ 0647 = 37  A:75 X:02 Y:FF P:65 SP:FB CYC:163 SL:205\nF699  EA        NOP                             A:11 X:02 Y:FF P:25 SP:FB CYC:187 SL:205\nF69A  EA        NOP                             A:11 X:02 Y:FF P:25 SP:FB CYC:193 SL:205\nF69B  08        PHP                             A:11 X:02 Y:FF P:25 SP:FB CYC:199 SL:205\nF69C  48        PHA                             A:11 X:02 Y:FF P:25 SP:FA CYC:208 SL:205\nF69D  A0 0C     LDY #$0C                        A:11 X:02 Y:FF P:25 SP:F9 CYC:217 SL:205\nF69F  68        PLA                             A:11 X:02 Y:0C P:25 SP:F9 CYC:223 SL:205\nF6A0  28        PLP                             A:11 X:02 Y:0C P:25 SP:FA CYC:235 SL:205\nF6A1  20 10 FB  JSR $FB10                       A:11 X:02 Y:0C P:25 SP:FB CYC:247 SL:205\nFB10  70 09     BVS $FB1B                       A:11 X:02 Y:0C P:25 SP:F9 CYC:265 SL:205\nFB12  30 07     BMI $FB1B                       A:11 X:02 Y:0C P:25 SP:F9 CYC:271 SL:205\nFB14  90 05     BCC $FB1B                       A:11 X:02 Y:0C P:25 SP:F9 CYC:277 SL:205\nFB16  C9 11     CMP #$11                        A:11 X:02 Y:0C P:25 SP:F9 CYC:283 SL:205\nFB18  D0 01     BNE $FB1B                       A:11 X:02 Y:0C P:27 SP:F9 CYC:289 SL:205\nFB1A  60        RTS                             A:11 X:02 Y:0C P:27 SP:F9 CYC:295 SL:205\nF6A4  AD 47 06  LDA $0647 = 9B                  A:11 X:02 Y:0C P:27 SP:FB CYC:313 SL:205\nF6A7  C9 9B     CMP #$9B                        A:9B X:02 Y:0C P:A5 SP:FB CYC:325 SL:205\nF6A9  F0 02     BEQ $F6AD                       A:9B X:02 Y:0C P:27 SP:FB CYC:331 SL:205\nF6AD  A0 0D     LDY #$0D                        A:9B X:02 Y:0C P:27 SP:FB CYC:340 SL:205\nF6AF  A2 FF     LDX #$FF                        A:9B X:02 Y:0D P:25 SP:FB CYC:  5 SL:206\nF6B1  A9 A5     LDA #$A5                        A:9B X:FF Y:0D P:A5 SP:FB CYC: 11 SL:206\nF6B3  85 47     STA $47 = 9B                    A:A5 X:FF Y:0D P:A5 SP:FB CYC: 17 SL:206\nF6B5  20 E9 FA  JSR $FAE9                       A:A5 X:FF Y:0D P:A5 SP:FB CYC: 26 SL:206\nFAE9  24 01     BIT $01 = FF                    A:A5 X:FF Y:0D P:A5 SP:F9 CYC: 44 SL:206\nFAEB  18        CLC                             A:A5 X:FF Y:0D P:E5 SP:F9 CYC: 53 SL:206\nFAEC  A9 B2     LDA #$B2                        A:A5 X:FF Y:0D P:E4 SP:F9 CYC: 59 SL:206\nFAEE  60        RTS                             A:B2 X:FF Y:0D P:E4 SP:F9 CYC: 65 SL:206\nF6B8  77 48    *RRA $48,X @ 47 = A5             A:B2 X:FF Y:0D P:E4 SP:FB CYC: 83 SL:206\nF6BA  EA        NOP                             A:05 X:FF Y:0D P:25 SP:FB CYC:101 SL:206\nF6BB  EA        NOP                             A:05 X:FF Y:0D P:25 SP:FB CYC:107 SL:206\nF6BC  EA        NOP                             A:05 X:FF Y:0D P:25 SP:FB CYC:113 SL:206\nF6BD  EA        NOP                             A:05 X:FF Y:0D P:25 SP:FB CYC:119 SL:206\nF6BE  20 EF FA  JSR $FAEF                       A:05 X:FF Y:0D P:25 SP:FB CYC:125 SL:206\nFAEF  70 2A     BVS $FB1B                       A:05 X:FF Y:0D P:25 SP:F9 CYC:143 SL:206\nFAF1  90 28     BCC $FB1B                       A:05 X:FF Y:0D P:25 SP:F9 CYC:149 SL:206\nFAF3  30 26     BMI $FB1B                       A:05 X:FF Y:0D P:25 SP:F9 CYC:155 SL:206\nFAF5  C9 05     CMP #$05                        A:05 X:FF Y:0D P:25 SP:F9 CYC:161 SL:206\nFAF7  D0 22     BNE $FB1B                       A:05 X:FF Y:0D P:27 SP:F9 CYC:167 SL:206\nFAF9  60        RTS                             A:05 X:FF Y:0D P:27 SP:F9 CYC:173 SL:206\nF6C1  A5 47     LDA $47 = 52                    A:05 X:FF Y:0D P:27 SP:FB CYC:191 SL:206\nF6C3  C9 52     CMP #$52                        A:52 X:FF Y:0D P:25 SP:FB CYC:200 SL:206\nF6C5  F0 02     BEQ $F6C9                       A:52 X:FF Y:0D P:27 SP:FB CYC:206 SL:206\nF6C9  C8        INY                             A:52 X:FF Y:0D P:27 SP:FB CYC:215 SL:206\nF6CA  A9 29     LDA #$29                        A:52 X:FF Y:0E P:25 SP:FB CYC:221 SL:206\nF6CC  85 47     STA $47 = 52                    A:29 X:FF Y:0E P:25 SP:FB CYC:227 SL:206\nF6CE  20 FA FA  JSR $FAFA                       A:29 X:FF Y:0E P:25 SP:FB CYC:236 SL:206\nFAFA  B8        CLV                             A:29 X:FF Y:0E P:25 SP:F9 CYC:254 SL:206\nFAFB  18        CLC                             A:29 X:FF Y:0E P:25 SP:F9 CYC:260 SL:206\nFAFC  A9 42     LDA #$42                        A:29 X:FF Y:0E P:24 SP:F9 CYC:266 SL:206\nFAFE  60        RTS                             A:42 X:FF Y:0E P:24 SP:F9 CYC:272 SL:206\nF6D1  77 48    *RRA $48,X @ 47 = 29             A:42 X:FF Y:0E P:24 SP:FB CYC:290 SL:206\nF6D3  EA        NOP                             A:57 X:FF Y:0E P:24 SP:FB CYC:308 SL:206\nF6D4  EA        NOP                             A:57 X:FF Y:0E P:24 SP:FB CYC:314 SL:206\nF6D5  EA        NOP                             A:57 X:FF Y:0E P:24 SP:FB CYC:320 SL:206\nF6D6  EA        NOP                             A:57 X:FF Y:0E P:24 SP:FB CYC:326 SL:206\nF6D7  20 FF FA  JSR $FAFF                       A:57 X:FF Y:0E P:24 SP:FB CYC:332 SL:206\nFAFF  70 1A     BVS $FB1B                       A:57 X:FF Y:0E P:24 SP:F9 CYC:  9 SL:207\nFB01  30 18     BMI $FB1B                       A:57 X:FF Y:0E P:24 SP:F9 CYC: 15 SL:207\nFB03  B0 16     BCS $FB1B                       A:57 X:FF Y:0E P:24 SP:F9 CYC: 21 SL:207\nFB05  C9 57     CMP #$57                        A:57 X:FF Y:0E P:24 SP:F9 CYC: 27 SL:207\nFB07  D0 12     BNE $FB1B                       A:57 X:FF Y:0E P:27 SP:F9 CYC: 33 SL:207\nFB09  60        RTS                             A:57 X:FF Y:0E P:27 SP:F9 CYC: 39 SL:207\nF6DA  A5 47     LDA $47 = 14                    A:57 X:FF Y:0E P:27 SP:FB CYC: 57 SL:207\nF6DC  C9 14     CMP #$14                        A:14 X:FF Y:0E P:25 SP:FB CYC: 66 SL:207\nF6DE  F0 02     BEQ $F6E2                       A:14 X:FF Y:0E P:27 SP:FB CYC: 72 SL:207\nF6E2  C8        INY                             A:14 X:FF Y:0E P:27 SP:FB CYC: 81 SL:207\nF6E3  A9 37     LDA #$37                        A:14 X:FF Y:0F P:25 SP:FB CYC: 87 SL:207\nF6E5  85 47     STA $47 = 14                    A:37 X:FF Y:0F P:25 SP:FB CYC: 93 SL:207\nF6E7  20 0A FB  JSR $FB0A                       A:37 X:FF Y:0F P:25 SP:FB CYC:102 SL:207\nFB0A  24 01     BIT $01 = FF                    A:37 X:FF Y:0F P:25 SP:F9 CYC:120 SL:207\nFB0C  38        SEC                             A:37 X:FF Y:0F P:E5 SP:F9 CYC:129 SL:207\nFB0D  A9 75     LDA #$75                        A:37 X:FF Y:0F P:E5 SP:F9 CYC:135 SL:207\nFB0F  60        RTS                             A:75 X:FF Y:0F P:65 SP:F9 CYC:141 SL:207\nF6EA  77 48    *RRA $48,X @ 47 = 37             A:75 X:FF Y:0F P:65 SP:FB CYC:159 SL:207\nF6EC  EA        NOP                             A:11 X:FF Y:0F P:25 SP:FB CYC:177 SL:207\nF6ED  EA        NOP                             A:11 X:FF Y:0F P:25 SP:FB CYC:183 SL:207\nF6EE  EA        NOP                             A:11 X:FF Y:0F P:25 SP:FB CYC:189 SL:207\nF6EF  EA        NOP                             A:11 X:FF Y:0F P:25 SP:FB CYC:195 SL:207\nF6F0  20 10 FB  JSR $FB10                       A:11 X:FF Y:0F P:25 SP:FB CYC:201 SL:207\nFB10  70 09     BVS $FB1B                       A:11 X:FF Y:0F P:25 SP:F9 CYC:219 SL:207\nFB12  30 07     BMI $FB1B                       A:11 X:FF Y:0F P:25 SP:F9 CYC:225 SL:207\nFB14  90 05     BCC $FB1B                       A:11 X:FF Y:0F P:25 SP:F9 CYC:231 SL:207\nFB16  C9 11     CMP #$11                        A:11 X:FF Y:0F P:25 SP:F9 CYC:237 SL:207\nFB18  D0 01     BNE $FB1B                       A:11 X:FF Y:0F P:27 SP:F9 CYC:243 SL:207\nFB1A  60        RTS                             A:11 X:FF Y:0F P:27 SP:F9 CYC:249 SL:207\nF6F3  A5 47     LDA $47 = 9B                    A:11 X:FF Y:0F P:27 SP:FB CYC:267 SL:207\nF6F5  C9 9B     CMP #$9B                        A:9B X:FF Y:0F P:A5 SP:FB CYC:276 SL:207\nF6F7  F0 02     BEQ $F6FB                       A:9B X:FF Y:0F P:27 SP:FB CYC:282 SL:207\nF6FB  A9 A5     LDA #$A5                        A:9B X:FF Y:0F P:27 SP:FB CYC:291 SL:207\nF6FD  8D 47 06  STA $0647 = 9B                  A:A5 X:FF Y:0F P:A5 SP:FB CYC:297 SL:207\nF700  A0 FF     LDY #$FF                        A:A5 X:FF Y:0F P:A5 SP:FB CYC:309 SL:207\nF702  20 E9 FA  JSR $FAE9                       A:A5 X:FF Y:FF P:A5 SP:FB CYC:315 SL:207\nFAE9  24 01     BIT $01 = FF                    A:A5 X:FF Y:FF P:A5 SP:F9 CYC:333 SL:207\nFAEB  18        CLC                             A:A5 X:FF Y:FF P:E5 SP:F9 CYC:  1 SL:208\nFAEC  A9 B2     LDA #$B2                        A:A5 X:FF Y:FF P:E4 SP:F9 CYC:  7 SL:208\nFAEE  60        RTS                             A:B2 X:FF Y:FF P:E4 SP:F9 CYC: 13 SL:208\nF705  7B 48 05 *RRA $0548,Y @ 0647 = A5         A:B2 X:FF Y:FF P:E4 SP:FB CYC: 31 SL:208\nF708  EA        NOP                             A:05 X:FF Y:FF P:25 SP:FB CYC: 52 SL:208\nF709  EA        NOP                             A:05 X:FF Y:FF P:25 SP:FB CYC: 58 SL:208\nF70A  08        PHP                             A:05 X:FF Y:FF P:25 SP:FB CYC: 64 SL:208\nF70B  48        PHA                             A:05 X:FF Y:FF P:25 SP:FA CYC: 73 SL:208\nF70C  A0 10     LDY #$10                        A:05 X:FF Y:FF P:25 SP:F9 CYC: 82 SL:208\nF70E  68        PLA                             A:05 X:FF Y:10 P:25 SP:F9 CYC: 88 SL:208\nF70F  28        PLP                             A:05 X:FF Y:10 P:25 SP:FA CYC:100 SL:208\nF710  20 EF FA  JSR $FAEF                       A:05 X:FF Y:10 P:25 SP:FB CYC:112 SL:208\nFAEF  70 2A     BVS $FB1B                       A:05 X:FF Y:10 P:25 SP:F9 CYC:130 SL:208\nFAF1  90 28     BCC $FB1B                       A:05 X:FF Y:10 P:25 SP:F9 CYC:136 SL:208\nFAF3  30 26     BMI $FB1B                       A:05 X:FF Y:10 P:25 SP:F9 CYC:142 SL:208\nFAF5  C9 05     CMP #$05                        A:05 X:FF Y:10 P:25 SP:F9 CYC:148 SL:208\nFAF7  D0 22     BNE $FB1B                       A:05 X:FF Y:10 P:27 SP:F9 CYC:154 SL:208\nFAF9  60        RTS                             A:05 X:FF Y:10 P:27 SP:F9 CYC:160 SL:208\nF713  AD 47 06  LDA $0647 = 52                  A:05 X:FF Y:10 P:27 SP:FB CYC:178 SL:208\nF716  C9 52     CMP #$52                        A:52 X:FF Y:10 P:25 SP:FB CYC:190 SL:208\nF718  F0 02     BEQ $F71C                       A:52 X:FF Y:10 P:27 SP:FB CYC:196 SL:208\nF71C  A0 FF     LDY #$FF                        A:52 X:FF Y:10 P:27 SP:FB CYC:205 SL:208\nF71E  A9 29     LDA #$29                        A:52 X:FF Y:FF P:A5 SP:FB CYC:211 SL:208\nF720  8D 47 06  STA $0647 = 52                  A:29 X:FF Y:FF P:25 SP:FB CYC:217 SL:208\nF723  20 FA FA  JSR $FAFA                       A:29 X:FF Y:FF P:25 SP:FB CYC:229 SL:208\nFAFA  B8        CLV                             A:29 X:FF Y:FF P:25 SP:F9 CYC:247 SL:208\nFAFB  18        CLC                             A:29 X:FF Y:FF P:25 SP:F9 CYC:253 SL:208\nFAFC  A9 42     LDA #$42                        A:29 X:FF Y:FF P:24 SP:F9 CYC:259 SL:208\nFAFE  60        RTS                             A:42 X:FF Y:FF P:24 SP:F9 CYC:265 SL:208\nF726  7B 48 05 *RRA $0548,Y @ 0647 = 29         A:42 X:FF Y:FF P:24 SP:FB CYC:283 SL:208\nF729  EA        NOP                             A:57 X:FF Y:FF P:24 SP:FB CYC:304 SL:208\nF72A  EA        NOP                             A:57 X:FF Y:FF P:24 SP:FB CYC:310 SL:208\nF72B  08        PHP                             A:57 X:FF Y:FF P:24 SP:FB CYC:316 SL:208\nF72C  48        PHA                             A:57 X:FF Y:FF P:24 SP:FA CYC:325 SL:208\nF72D  A0 11     LDY #$11                        A:57 X:FF Y:FF P:24 SP:F9 CYC:334 SL:208\nF72F  68        PLA                             A:57 X:FF Y:11 P:24 SP:F9 CYC:340 SL:208\nF730  28        PLP                             A:57 X:FF Y:11 P:24 SP:FA CYC: 11 SL:209\nF731  20 FF FA  JSR $FAFF                       A:57 X:FF Y:11 P:24 SP:FB CYC: 23 SL:209\nFAFF  70 1A     BVS $FB1B                       A:57 X:FF Y:11 P:24 SP:F9 CYC: 41 SL:209\nFB01  30 18     BMI $FB1B                       A:57 X:FF Y:11 P:24 SP:F9 CYC: 47 SL:209\nFB03  B0 16     BCS $FB1B                       A:57 X:FF Y:11 P:24 SP:F9 CYC: 53 SL:209\nFB05  C9 57     CMP #$57                        A:57 X:FF Y:11 P:24 SP:F9 CYC: 59 SL:209\nFB07  D0 12     BNE $FB1B                       A:57 X:FF Y:11 P:27 SP:F9 CYC: 65 SL:209\nFB09  60        RTS                             A:57 X:FF Y:11 P:27 SP:F9 CYC: 71 SL:209\nF734  AD 47 06  LDA $0647 = 14                  A:57 X:FF Y:11 P:27 SP:FB CYC: 89 SL:209\nF737  C9 14     CMP #$14                        A:14 X:FF Y:11 P:25 SP:FB CYC:101 SL:209\nF739  F0 02     BEQ $F73D                       A:14 X:FF Y:11 P:27 SP:FB CYC:107 SL:209\nF73D  A0 FF     LDY #$FF                        A:14 X:FF Y:11 P:27 SP:FB CYC:116 SL:209\nF73F  A9 37     LDA #$37                        A:14 X:FF Y:FF P:A5 SP:FB CYC:122 SL:209\nF741  8D 47 06  STA $0647 = 14                  A:37 X:FF Y:FF P:25 SP:FB CYC:128 SL:209\nF744  20 0A FB  JSR $FB0A                       A:37 X:FF Y:FF P:25 SP:FB CYC:140 SL:209\nFB0A  24 01     BIT $01 = FF                    A:37 X:FF Y:FF P:25 SP:F9 CYC:158 SL:209\nFB0C  38        SEC                             A:37 X:FF Y:FF P:E5 SP:F9 CYC:167 SL:209\nFB0D  A9 75     LDA #$75                        A:37 X:FF Y:FF P:E5 SP:F9 CYC:173 SL:209\nFB0F  60        RTS                             A:75 X:FF Y:FF P:65 SP:F9 CYC:179 SL:209\nF747  7B 48 05 *RRA $0548,Y @ 0647 = 37         A:75 X:FF Y:FF P:65 SP:FB CYC:197 SL:209\nF74A  EA        NOP                             A:11 X:FF Y:FF P:25 SP:FB CYC:218 SL:209\nF74B  EA        NOP                             A:11 X:FF Y:FF P:25 SP:FB CYC:224 SL:209\nF74C  08        PHP                             A:11 X:FF Y:FF P:25 SP:FB CYC:230 SL:209\nF74D  48        PHA                             A:11 X:FF Y:FF P:25 SP:FA CYC:239 SL:209\nF74E  A0 12     LDY #$12                        A:11 X:FF Y:FF P:25 SP:F9 CYC:248 SL:209\nF750  68        PLA                             A:11 X:FF Y:12 P:25 SP:F9 CYC:254 SL:209\nF751  28        PLP                             A:11 X:FF Y:12 P:25 SP:FA CYC:266 SL:209\nF752  20 10 FB  JSR $FB10                       A:11 X:FF Y:12 P:25 SP:FB CYC:278 SL:209\nFB10  70 09     BVS $FB1B                       A:11 X:FF Y:12 P:25 SP:F9 CYC:296 SL:209\nFB12  30 07     BMI $FB1B                       A:11 X:FF Y:12 P:25 SP:F9 CYC:302 SL:209\nFB14  90 05     BCC $FB1B                       A:11 X:FF Y:12 P:25 SP:F9 CYC:308 SL:209\nFB16  C9 11     CMP #$11                        A:11 X:FF Y:12 P:25 SP:F9 CYC:314 SL:209\nFB18  D0 01     BNE $FB1B                       A:11 X:FF Y:12 P:27 SP:F9 CYC:320 SL:209\nFB1A  60        RTS                             A:11 X:FF Y:12 P:27 SP:F9 CYC:326 SL:209\nF755  AD 47 06  LDA $0647 = 9B                  A:11 X:FF Y:12 P:27 SP:FB CYC:  3 SL:210\nF758  C9 9B     CMP #$9B                        A:9B X:FF Y:12 P:A5 SP:FB CYC: 15 SL:210\nF75A  F0 02     BEQ $F75E                       A:9B X:FF Y:12 P:27 SP:FB CYC: 21 SL:210\nF75E  A0 13     LDY #$13                        A:9B X:FF Y:12 P:27 SP:FB CYC: 30 SL:210\nF760  A2 FF     LDX #$FF                        A:9B X:FF Y:13 P:25 SP:FB CYC: 36 SL:210\nF762  A9 A5     LDA #$A5                        A:9B X:FF Y:13 P:A5 SP:FB CYC: 42 SL:210\nF764  8D 47 06  STA $0647 = 9B                  A:A5 X:FF Y:13 P:A5 SP:FB CYC: 48 SL:210\nF767  20 E9 FA  JSR $FAE9                       A:A5 X:FF Y:13 P:A5 SP:FB CYC: 60 SL:210\nFAE9  24 01     BIT $01 = FF                    A:A5 X:FF Y:13 P:A5 SP:F9 CYC: 78 SL:210\nFAEB  18        CLC                             A:A5 X:FF Y:13 P:E5 SP:F9 CYC: 87 SL:210\nFAEC  A9 B2     LDA #$B2                        A:A5 X:FF Y:13 P:E4 SP:F9 CYC: 93 SL:210\nFAEE  60        RTS                             A:B2 X:FF Y:13 P:E4 SP:F9 CYC: 99 SL:210\nF76A  7F 48 05 *RRA $0548,X @ 0647 = A5         A:B2 X:FF Y:13 P:E4 SP:FB CYC:117 SL:210\nF76D  EA        NOP                             A:05 X:FF Y:13 P:25 SP:FB CYC:138 SL:210\nF76E  EA        NOP                             A:05 X:FF Y:13 P:25 SP:FB CYC:144 SL:210\nF76F  EA        NOP                             A:05 X:FF Y:13 P:25 SP:FB CYC:150 SL:210\nF770  EA        NOP                             A:05 X:FF Y:13 P:25 SP:FB CYC:156 SL:210\nF771  20 EF FA  JSR $FAEF                       A:05 X:FF Y:13 P:25 SP:FB CYC:162 SL:210\nFAEF  70 2A     BVS $FB1B                       A:05 X:FF Y:13 P:25 SP:F9 CYC:180 SL:210\nFAF1  90 28     BCC $FB1B                       A:05 X:FF Y:13 P:25 SP:F9 CYC:186 SL:210\nFAF3  30 26     BMI $FB1B                       A:05 X:FF Y:13 P:25 SP:F9 CYC:192 SL:210\nFAF5  C9 05     CMP #$05                        A:05 X:FF Y:13 P:25 SP:F9 CYC:198 SL:210\nFAF7  D0 22     BNE $FB1B                       A:05 X:FF Y:13 P:27 SP:F9 CYC:204 SL:210\nFAF9  60        RTS                             A:05 X:FF Y:13 P:27 SP:F9 CYC:210 SL:210\nF774  AD 47 06  LDA $0647 = 52                  A:05 X:FF Y:13 P:27 SP:FB CYC:228 SL:210\nF777  C9 52     CMP #$52                        A:52 X:FF Y:13 P:25 SP:FB CYC:240 SL:210\nF779  F0 02     BEQ $F77D                       A:52 X:FF Y:13 P:27 SP:FB CYC:246 SL:210\nF77D  C8        INY                             A:52 X:FF Y:13 P:27 SP:FB CYC:255 SL:210\nF77E  A9 29     LDA #$29                        A:52 X:FF Y:14 P:25 SP:FB CYC:261 SL:210\nF780  8D 47 06  STA $0647 = 52                  A:29 X:FF Y:14 P:25 SP:FB CYC:267 SL:210\nF783  20 FA FA  JSR $FAFA                       A:29 X:FF Y:14 P:25 SP:FB CYC:279 SL:210\nFAFA  B8        CLV                             A:29 X:FF Y:14 P:25 SP:F9 CYC:297 SL:210\nFAFB  18        CLC                             A:29 X:FF Y:14 P:25 SP:F9 CYC:303 SL:210\nFAFC  A9 42     LDA #$42                        A:29 X:FF Y:14 P:24 SP:F9 CYC:309 SL:210\nFAFE  60        RTS                             A:42 X:FF Y:14 P:24 SP:F9 CYC:315 SL:210\nF786  7F 48 05 *RRA $0548,X @ 0647 = 29         A:42 X:FF Y:14 P:24 SP:FB CYC:333 SL:210\nF789  EA        NOP                             A:57 X:FF Y:14 P:24 SP:FB CYC: 13 SL:211\nF78A  EA        NOP                             A:57 X:FF Y:14 P:24 SP:FB CYC: 19 SL:211\nF78B  EA        NOP                             A:57 X:FF Y:14 P:24 SP:FB CYC: 25 SL:211\nF78C  EA        NOP                             A:57 X:FF Y:14 P:24 SP:FB CYC: 31 SL:211\nF78D  20 FF FA  JSR $FAFF                       A:57 X:FF Y:14 P:24 SP:FB CYC: 37 SL:211\nFAFF  70 1A     BVS $FB1B                       A:57 X:FF Y:14 P:24 SP:F9 CYC: 55 SL:211\nFB01  30 18     BMI $FB1B                       A:57 X:FF Y:14 P:24 SP:F9 CYC: 61 SL:211\nFB03  B0 16     BCS $FB1B                       A:57 X:FF Y:14 P:24 SP:F9 CYC: 67 SL:211\nFB05  C9 57     CMP #$57                        A:57 X:FF Y:14 P:24 SP:F9 CYC: 73 SL:211\nFB07  D0 12     BNE $FB1B                       A:57 X:FF Y:14 P:27 SP:F9 CYC: 79 SL:211\nFB09  60        RTS                             A:57 X:FF Y:14 P:27 SP:F9 CYC: 85 SL:211\nF790  AD 47 06  LDA $0647 = 14                  A:57 X:FF Y:14 P:27 SP:FB CYC:103 SL:211\nF793  C9 14     CMP #$14                        A:14 X:FF Y:14 P:25 SP:FB CYC:115 SL:211\nF795  F0 02     BEQ $F799                       A:14 X:FF Y:14 P:27 SP:FB CYC:121 SL:211\nF799  C8        INY                             A:14 X:FF Y:14 P:27 SP:FB CYC:130 SL:211\nF79A  A9 37     LDA #$37                        A:14 X:FF Y:15 P:25 SP:FB CYC:136 SL:211\nF79C  8D 47 06  STA $0647 = 14                  A:37 X:FF Y:15 P:25 SP:FB CYC:142 SL:211\nF79F  20 0A FB  JSR $FB0A                       A:37 X:FF Y:15 P:25 SP:FB CYC:154 SL:211\nFB0A  24 01     BIT $01 = FF                    A:37 X:FF Y:15 P:25 SP:F9 CYC:172 SL:211\nFB0C  38        SEC                             A:37 X:FF Y:15 P:E5 SP:F9 CYC:181 SL:211\nFB0D  A9 75     LDA #$75                        A:37 X:FF Y:15 P:E5 SP:F9 CYC:187 SL:211\nFB0F  60        RTS                             A:75 X:FF Y:15 P:65 SP:F9 CYC:193 SL:211\nF7A2  7F 48 05 *RRA $0548,X @ 0647 = 37         A:75 X:FF Y:15 P:65 SP:FB CYC:211 SL:211\nF7A5  EA        NOP                             A:11 X:FF Y:15 P:25 SP:FB CYC:232 SL:211\nF7A6  EA        NOP                             A:11 X:FF Y:15 P:25 SP:FB CYC:238 SL:211\nF7A7  EA        NOP                             A:11 X:FF Y:15 P:25 SP:FB CYC:244 SL:211\nF7A8  EA        NOP                             A:11 X:FF Y:15 P:25 SP:FB CYC:250 SL:211\nF7A9  20 10 FB  JSR $FB10                       A:11 X:FF Y:15 P:25 SP:FB CYC:256 SL:211\nFB10  70 09     BVS $FB1B                       A:11 X:FF Y:15 P:25 SP:F9 CYC:274 SL:211\nFB12  30 07     BMI $FB1B                       A:11 X:FF Y:15 P:25 SP:F9 CYC:280 SL:211\nFB14  90 05     BCC $FB1B                       A:11 X:FF Y:15 P:25 SP:F9 CYC:286 SL:211\nFB16  C9 11     CMP #$11                        A:11 X:FF Y:15 P:25 SP:F9 CYC:292 SL:211\nFB18  D0 01     BNE $FB1B                       A:11 X:FF Y:15 P:27 SP:F9 CYC:298 SL:211\nFB1A  60        RTS                             A:11 X:FF Y:15 P:27 SP:F9 CYC:304 SL:211\nF7AC  AD 47 06  LDA $0647 = 9B                  A:11 X:FF Y:15 P:27 SP:FB CYC:322 SL:211\nF7AF  C9 9B     CMP #$9B                        A:9B X:FF Y:15 P:A5 SP:FB CYC:334 SL:211\nF7B1  F0 02     BEQ $F7B5                       A:9B X:FF Y:15 P:27 SP:FB CYC:340 SL:211\nF7B5  60        RTS                             A:9B X:FF Y:15 P:27 SP:FB CYC:  8 SL:212\nC655  A5 00     LDA $00 = 00                    A:9B X:FF Y:15 P:27 SP:FD CYC: 26 SL:212\nC657  05 10     ORA $10 = 00                    A:00 X:FF Y:15 P:27 SP:FD CYC: 35 SL:212\nC659  05 11     ORA $11 = 00                    A:00 X:FF Y:15 P:27 SP:FD CYC: 44 SL:212\nC65B  F0 0E     BEQ $C66B                       A:00 X:FF Y:15 P:27 SP:FD CYC: 53 SL:212\nC66B  20 89 C6  JSR $C689                       A:00 X:FF Y:15 P:27 SP:FD CYC: 62 SL:212\nC689  A9 02     LDA #$02                        A:00 X:FF Y:15 P:27 SP:FB CYC: 80 SL:212\nC68B  8D 15 40  STA $4015 = FF                  A:02 X:FF Y:15 P:25 SP:FB CYC: 86 SL:212\nC68E  A9 3F     LDA #$3F                        A:02 X:FF Y:15 P:25 SP:FB CYC: 98 SL:212\nC690  8D 04 40  STA $4004 = FF                  A:3F X:FF Y:15 P:25 SP:FB CYC:104 SL:212\nC693  A9 9A     LDA #$9A                        A:3F X:FF Y:15 P:25 SP:FB CYC:116 SL:212\nC695  8D 05 40  STA $4005 = FF                  A:9A X:FF Y:15 P:A5 SP:FB CYC:122 SL:212\nC698  A9 FF     LDA #$FF                        A:9A X:FF Y:15 P:A5 SP:FB CYC:134 SL:212\nC69A  8D 06 40  STA $4006 = FF                  A:FF X:FF Y:15 P:A5 SP:FB CYC:140 SL:212\nC69D  A9 00     LDA #$00                        A:FF X:FF Y:15 P:A5 SP:FB CYC:152 SL:212\nC69F  8D 07 40  STA $4007 = FF                  A:00 X:FF Y:15 P:27 SP:FB CYC:158 SL:212\nC6A2  60        RTS                             A:00 X:FF Y:15 P:27 SP:FB CYC:170 SL:212\nC66E  60        RTS                             A:00 X:FF Y:15 P:27 SP:FD CYC:188 SL:212\n"
  }
]